@import url("https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;700&display=swap");

:root { --black:#090909; --ink:#111; --paper:#f1eee7; --red:#e31b2c; --muted:#a6a29b; --font-display:"Anton"; --font-sans:"Inter"; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--paper); font-family:var(--font-sans), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
.wrap { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.topbar { height:78px; padding:0 4vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:40px; position:absolute; inset:0 0 auto; z-index:10; border-bottom:1px solid #ffffff2b; }
.brand { font:400 28px/1 var(--font-display), Impact, sans-serif; letter-spacing:.03em; }
.brand span { display:block; font:700 9px/1 var(--font-sans); letter-spacing:.42em; margin-bottom:2px; }
nav { display:flex; gap:34px; font-size:12px; text-transform:uppercase; letter-spacing:.16em; }
nav a, .socials a { transition:color .2s; }
nav a:hover, .socials a:hover { color:var(--red); }
.top-cta { justify-self:end; font-size:12px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid var(--paper); padding:8px 0; }
.menu-button { display:none; border:0; background:transparent; color:var(--paper); font:700 10px/1 var(--font-sans); letter-spacing:.15em; text-transform:uppercase; cursor:pointer; }
.hero { min-height:780px; height:100vh; position:relative; overflow:hidden; display:flex; align-items:center; }
.hero-photo { position:absolute; inset:0; height:100%; object-fit:cover; object-position:68% center; filter:saturate(.78) contrast(1.08); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, #070707 0%, #090909e8 34%, #09090938 70%, #09090972 100%), linear-gradient(0deg,#090909b8,transparent 38%); }
.hero-copy { position:relative; z-index:2; width:min(1180px, calc(100% - 48px)); margin:70px auto 0; }
.eyebrow { margin:0 0 22px; font-size:11px; line-height:1; text-transform:uppercase; letter-spacing:.24em; display:flex; align-items:center; gap:10px; }
.eyebrow span { width:28px; height:2px; background:var(--red); display:inline-block; }
h1,h2,h3 { font-family:var(--font-display), Impact, sans-serif; font-weight:400; margin:0; letter-spacing:-.025em; }
h1 { font-size:clamp(74px, 10vw, 154px); line-height:.82; max-width:900px; }
h1 em, h2 i, h3 i { color:var(--red); font-style:normal; }
.hero-description { max-width:490px; margin:34px 0 0; color:#d1cdc6; line-height:1.7; font-size:15px; }
.hero-actions { display:flex; align-items:center; gap:32px; margin-top:34px; }
.button { display:inline-flex; justify-content:space-between; align-items:center; min-width:210px; padding:17px 19px; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.14em; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-3px); }
.button-red { background:var(--red); color:white; }
.button-light { background:var(--paper); color:var(--ink); }
.text-link { text-transform:uppercase; letter-spacing:.13em; font-size:11px; font-weight:700; border-bottom:1px solid #ffffff88; padding:8px 0; }
.hero-index { position:absolute; right:4vw; bottom:42px; font:400 52px/1 var(--font-display); color:#ffffff20; }
.scroll-label { position:absolute; left:4vw; bottom:32px; text-transform:uppercase; letter-spacing:.2em; font-size:9px; writing-mode:vertical-rl; display:flex; gap:12px; align-items:center; }
.manifesto { display:grid; grid-template-columns:1fr 4fr; gap:30px; padding:120px 0; }
.section-number { margin:5px 0; color:var(--red); font:700 11px/1 var(--font-sans); letter-spacing:.14em; }
.kicker { text-transform:uppercase; font-size:11px; letter-spacing:.17em; color:var(--muted); }
.manifesto h2, .section-heading h2, .press h2, .contact h2 { font-size:clamp(52px, 7vw, 104px); line-height:.9; }
.manifesto h2 span { -webkit-text-stroke:1px var(--paper); color:transparent; }
.manifesto-copy { width:min(540px, 100%); margin:38px 0 0 auto; color:var(--muted); line-height:1.8; }
.shows { padding:110px 0; background:var(--paper); color:var(--ink); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:64px; }
.section-heading > p { color:#6e6a65; line-height:1.7; font-size:13px; }
.gallery { display:grid; grid-template-columns:1.15fr .85fr 1fr; grid-template-rows:390px 300px; gap:10px; width:min(1380px, 100%); margin:auto; padding:0 12px; }
.gallery-item { margin:0; position:relative; overflow:hidden; background:#111; }
.gallery-item img { height:100%; object-fit:cover; filter:saturate(.78) contrast(1.08); transition:transform .6s, filter .5s; }
.gallery-item:hover img { transform:scale(1.035); filter:saturate(1) contrast(1.05); }
.gallery-item figcaption { position:absolute; left:15px; bottom:13px; color:white; font-size:9px; letter-spacing:.2em; }
.item-1 { grid-row:span 2; }
.item-2 { grid-column:2; }
.item-3 { grid-column:3; }
.item-4 { grid-column:2; }
.item-5 { grid-column:3; }
.item-6 { display:none; }
.video-feature { margin-top:120px; display:grid; grid-template-columns:1.45fr .8fr; gap:75px; align-items:center; }
.video-card { position:relative; height:480px; overflow:hidden; background:#111; }
.video-card > img { height:100%; object-fit:cover; }
.play { width:92px; aspect-ratio:1; position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); background:var(--red); border-radius:50%; display:grid; place-items:center; color:white; transition:transform .2s; }
.video-card:hover .play { transform:translate(-50%,-50%) scale(1.08); }
.play b { transform:translateX(2px); }
.video-tag { position:absolute; left:18px; bottom:18px; background:#090909; color:white; padding:10px 12px; font-size:9px; text-transform:uppercase; letter-spacing:.15em; }
.video-copy h3 { font-size:clamp(52px,6vw,84px); line-height:.9; }
.video-copy > p { color:#6e6a65; line-height:1.8; margin:28px 0; }
.press { background:#111; padding:120px 0 80px; }
.press-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; }
.press-intro > p:last-child { color:var(--muted); line-height:1.8; max-width:430px; margin-top:30px; }
.press-card { border:1px solid #ffffff24; padding:12px; }
.press-photo { height:410px; overflow:hidden; position:relative; }
.press-photo img { height:100%; object-fit:cover; }
.press-photo span { position:absolute; bottom:12px; left:12px; background:#090909; padding:9px 11px; text-transform:uppercase; font-size:8px; letter-spacing:.16em; }
.facts { display:grid; grid-template-columns:1fr 1fr; }
.facts div { padding:24px 18px; border-top:1px solid #ffffff24; }
.facts div:nth-child(odd) { border-right:1px solid #ffffff24; }
.facts small { color:var(--red); display:block; text-transform:uppercase; letter-spacing:.15em; margin-bottom:11px; font-size:8px; }
.facts strong { font-size:13px; font-weight:500; }
.assets-row { border-top:1px solid #ffffff24; margin-top:70px; padding-top:42px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.asset-note span { text-transform:uppercase; color:var(--red); font-size:9px; letter-spacing:.16em; }
.asset-note p { color:var(--muted); font-size:13px; }
.contact { min-height:650px; position:relative; display:flex; align-items:center; overflow:hidden; }
.contact > img { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center 35%; filter:grayscale(1) contrast(1.15); }
.contact-overlay { position:absolute; inset:0; background:linear-gradient(90deg,#090909f2 0%,#0909099c 54%,#09090973),linear-gradient(0deg,#090909d9,transparent); }
.contact-copy { position:relative; z-index:1; }
.contact-copy a { display:inline-block; margin-top:38px; font-size:clamp(16px,2vw,26px); border-bottom:2px solid var(--red); padding:0 0 10px; }
footer { padding:42px 4vw; display:grid; grid-template-columns:1fr 1fr auto auto; gap:40px; align-items:end; border-top:1px solid #ffffff1f; }
footer p, footer small { color:#777; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.socials { display:flex; gap:20px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.footer-brand { font-size:22px; }

@media (max-width: 800px) {
  .wrap, .hero-copy { width:min(100% - 30px, 620px); }
  .topbar { height:66px; grid-template-columns:1fr auto; padding:0 15px; }
  nav { display:none; position:absolute; top:66px; left:0; right:0; background:#090909f7; padding:25px 15px; flex-direction:column; gap:22px; border-bottom:1px solid #ffffff2b; }
  nav.is-open { display:flex; }
  .top-cta { display:none; }
  .menu-button { display:block; }
  .hero { min-height:680px; }
  .hero-photo { object-position:62% center; }
  .hero-shade { background:linear-gradient(90deg,#070707f4 0%,#090909bc 58%,#09090955),linear-gradient(0deg,#090909d6,transparent 50%); }
  h1 { font-size:clamp(66px,20vw,100px); }
  .hero-description { max-width:330px; font-size:13px; }
  .hero-index { display:none; }
  .scroll-label { right:15px; left:auto; }
  .manifesto { grid-template-columns:1fr; padding:85px 0; }
  .manifesto-copy { margin-left:0; }
  .shows { padding:80px 0; }
  .section-heading { display:block; }
  .section-heading > p { margin-top:25px; }
  .gallery { grid-template-columns:1fr 1fr; grid-template-rows:360px 240px 240px; }
  .item-1 { grid-column:span 2; grid-row:auto; }
  .item-2,.item-3,.item-4,.item-5 { grid-column:auto; }
  .video-feature { margin-top:75px; grid-template-columns:1fr; gap:40px; }
  .video-card { height:380px; }
  .press { padding-top:85px; }
  .press-grid { grid-template-columns:1fr; gap:55px; }
  .press-photo { height:340px; }
  .assets-row { align-items:flex-start; flex-direction:column; }
  .contact { min-height:570px; }
  footer { grid-template-columns:1fr; gap:18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; }
}
