:root {
  --red: #e30613;
  --red-dark: #920008;
  --red-deep: #480004;
  --yellow: #ffd21a;
  --orange: #ff8a00;
  --ink: #0b0909;
  --ink-soft: #171212;
  --cream: #fff7e6;
  --white: #fff;
  --muted: #b9ada4;
  --line: rgba(255,255,255,.14);
  --shadow: 0 24px 70px rgba(0,0,0,.34);
  --wrap: min(1240px, calc(100vw - 48px));
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--cream);
  background: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
::selection { color: var(--ink); background: var(--yellow); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img { max-width: 100%; display: block; }
.wrap { width: var(--wrap); margin-inline: auto; }
.section { position: relative; padding: 132px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.grain {
  position: fixed; inset: -100%; z-index: 80; pointer-events: none; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
  animation: grain .22s steps(2) infinite;
}
@keyframes grain { 0%{transform:translate(0,0)} 25%{transform:translate(3%,-2%)} 50%{transform:translate(-2%,4%)} 75%{transform:translate(4%,2%)} 100%{transform:translate(-3%,-4%)} }

.page-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 110; background: transparent; }
.page-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--yellow),var(--orange),var(--red)); box-shadow: 0 0 18px var(--yellow); }

.site-header {
  position: fixed; z-index: 100; inset: 0 0 auto; height: 92px; padding: 0 max(24px, calc((100vw - 1240px)/2));
  display: flex; align-items: center; justify-content: space-between;
  transition: height .35s ease, background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
  border-bottom: 1px solid transparent;
}
.site-header.scrolled { height: 72px; background: rgba(10,8,8,.82); border-color: rgba(255,255,255,.11); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: .82rem; font-weight: 950; letter-spacing: .15em; }
.brand img { width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 5px 12px rgba(0,0,0,.35)); transition: width .3s, height .3s; }
.site-header.scrolled .brand img { width: 46px; height: 46px; }
.main-nav { display: flex; align-items: center; gap: 31px; font-size: .73rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.main-nav > a:not(.nav-cta) { position: relative; padding: 12px 0; }
.main-nav > a:not(.nav-cta)::after { content:""; position:absolute; left:0; bottom:6px; width:100%; height:2px; background:var(--yellow); transform:scaleX(0); transform-origin:right; transition:transform .28s ease; }
.main-nav > a:hover::after { transform:scaleX(1); transform-origin:left; }
.nav-cta { padding: 13px 21px; color: var(--ink); background: var(--yellow); clip-path: polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%); }
.menu-toggle { display:none; width:48px; height:48px; border:1px solid var(--line); background:rgba(0,0,0,.22); border-radius:50%; }
.menu-toggle span:not(.sr-only) { display:block; width:20px; height:2px; background:#fff; margin:5px auto; transition:transform .3s; }

.hero { position: relative; min-height: 100svh; height: max(760px, 100svh); overflow: hidden; display:flex; align-items:center; isolation:isolate; }
.hero-media { position:absolute; inset:-5%; z-index:-4; background-image:url('assets/hero.webp'); background-size:cover; background-position:center 58%; transform:scale(1.06); will-change:transform; }
.hero-vignette { position:absolute; inset:0; z-index:-3; background:
  radial-gradient(circle at 76% 45%, transparent 0 19%, rgba(0,0,0,.18) 51%, rgba(5,4,4,.78) 96%),
  linear-gradient(90deg,rgba(8,5,5,.88) 0%,rgba(8,5,5,.55) 39%,rgba(8,5,5,.05) 70%),
  linear-gradient(0deg,rgba(11,9,9,.9),transparent 33%);
}
.speed-lines { position:absolute; z-index:-2; inset:0; overflow:hidden; opacity:.55; }
.speed-lines::before, .speed-lines::after { content:""; position:absolute; width:48vw; height:2px; right:-8vw; top:32%; background:linear-gradient(90deg,transparent,var(--yellow),transparent); transform:rotate(-7deg); box-shadow:0 80px 0 rgba(255,210,26,.22),0 190px 0 rgba(255,255,255,.15),0 310px 0 rgba(255,210,26,.18); animation:speed 3.8s ease-in-out infinite; }
.speed-lines::after { top:17%; right:8%; opacity:.45; transform:rotate(-7deg) scale(.7); animation-delay:-1.4s; }
@keyframes speed { 0%,100%{translate:12% 0; opacity:.2} 50%{translate:-9% 0; opacity:.85} }
.hero-content { position:relative; z-index:2; padding-top:76px; }
.hero-logo { width: clamp(112px, 10vw, 156px); filter: drop-shadow(0 16px 28px rgba(0,0,0,.5)); margin-bottom:18px; animation:logo-float 4.5s ease-in-out infinite; }
@keyframes logo-float { 0%,100%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-8px) rotate(1deg)} }
.eyebrow { margin:0 0 20px; color:var(--yellow); font-size:.72rem; line-height:1.2; font-weight:950; letter-spacing:.18em; text-transform:uppercase; }
.hero-eyebrow { display:flex; align-items:center; gap:11px; }
.pulse-dot { width:8px; height:8px; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 0 rgba(255,210,26,.8); animation:pulse 1.7s infinite; }
@keyframes pulse { 70%{box-shadow:0 0 0 10px transparent} 100%{box-shadow:0 0 0 0 transparent} }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family: "Arial Black", Impact, Inter, sans-serif; text-transform:uppercase; letter-spacing:-.055em; }
h1 { margin:0; max-width:840px; font-size:clamp(4.2rem,9vw,9.4rem); line-height:.79; text-shadow:0 10px 38px rgba(0,0,0,.48); }
h1 em,h2 em { color:var(--yellow); font-style:italic; }
#hero-title em { display:inline-block; font-size:.7em; white-space:nowrap; letter-spacing:-.07em; }
.hero-bolt { display:inline-block; color:var(--yellow); font-size:.72em; filter:drop-shadow(0 0 13px rgba(255,210,26,.55)); transform:skew(-8deg); }
.hero-lead { max-width:610px; margin:30px 0 34px; font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.65; color:#f4eadd; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.hero-socials { display:flex; flex-wrap:wrap; gap:28px; margin-top:25px; }
.hero-socials a { display:flex; align-items:center; gap:9px; padding-bottom:5px; border-bottom:1px solid rgba(255,255,255,.24); transition:border-color .25s,color .25s; }
.hero-socials a:hover { color:var(--yellow); border-color:var(--yellow); }
.hero-socials span { color:rgba(255,255,255,.58); font-size:.54rem; font-weight:850; letter-spacing:.16em; }
.hero-socials strong { font-size:.69rem; letter-spacing:.08em; }
.button { min-height:55px; padding:0 25px; display:inline-flex; align-items:center; justify-content:center; gap:20px; border:0; cursor:pointer; font-size:.78rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%); transition:transform .23s ease,filter .23s ease,background .23s ease; }
.button:hover { transform:translateY(-3px); filter:brightness(1.08); }
.button-primary { color:var(--ink); background:var(--yellow); box-shadow:0 13px 40px rgba(255,210,26,.22); }
.button-primary b { font-size:1.2rem; }
.button-ghost { border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.04); backdrop-filter:blur(8px); }
.button-light { color:var(--red-deep); background:#fff; }
.scroll-cue { position:absolute; left:50%; bottom:25px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; font-size:.58rem; letter-spacing:.3em; font-weight:800; opacity:.7; }
.scroll-cue i { width:1px; height:44px; background:linear-gradient(var(--yellow),transparent); animation:scrollcue 1.6s ease-in-out infinite; }
@keyframes scrollcue { 0%{transform:scaleY(0); transform-origin:top} 45%{transform:scaleY(1); transform-origin:top} 55%{transform:scaleY(1); transform-origin:bottom} 100%{transform:scaleY(0); transform-origin:bottom} }
.hero-number { position:absolute; right:-.05em; bottom:-.22em; z-index:0; font-family:Impact,"Arial Black",sans-serif; font-size:clamp(15rem,38vw,39rem); line-height:1; font-style:italic; letter-spacing:-.1em; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.08); opacity:.9; pointer-events:none; }

.ticker { overflow:hidden; border-block:1px solid rgba(31,0,0,.18); color:var(--red-deep); background:var(--yellow); transform:rotate(-1.1deg) scale(1.02); position:relative; z-index:4; }
.ticker-track { width:max-content; display:flex; align-items:center; gap:34px; padding:18px 0; animation:ticker 24s linear infinite; font-family:Impact,"Arial Black",sans-serif; font-size:clamp(1.05rem,2vw,1.7rem); letter-spacing:.08em; }
.ticker-track i { font-style:normal; }
@keyframes ticker { to{transform:translateX(-50%)} }

.story { background:
  radial-gradient(circle at 92% 10%,rgba(227,6,19,.14),transparent 28%),
  linear-gradient(#0b0909,#130b0c 60%,#0b0909); }
.section-intro { display:grid; grid-template-columns:minmax(260px,.62fr) 1.15fr; column-gap:7vw; align-items:start; }
.section-intro .eyebrow { grid-column:1 / -1; }
.section-intro h2,.split-heading h2,.contact h2 { margin:0; font-size:clamp(3rem,6.7vw,7rem); line-height:.89; }
.section-intro .story-title-red { color:var(--red); }
.section-copy { margin:12px 0 0; max-width:620px; color:var(--muted); font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.75; }
.section-copy strong { color:#fff; }
.origin-story { position:relative; overflow:hidden; margin-top:82px; padding:clamp(34px,5vw,68px); display:grid; grid-template-columns:190px 1fr; gap:clamp(34px,6vw,88px); border:1px solid rgba(227,6,19,.38); border-radius:var(--radius); background:linear-gradient(135deg,rgba(227,6,19,.16),rgba(255,255,255,.025) 58%,rgba(255,210,26,.05)); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.origin-story::after { content:""; position:absolute; right:-5%; top:-35%; width:24%; height:165%; background:var(--yellow); opacity:.035; clip-path:polygon(58% 0,100% 0,64% 42%,93% 42%,17% 100%,36% 56%,0 56%); transform:rotate(8deg); pointer-events:none; }
.origin-marker { align-self:start; display:flex; flex-direction:column; align-items:flex-start; color:var(--yellow); font-family:"Arial Black",Impact,sans-serif; font-style:italic; line-height:.8; letter-spacing:-.04em; }
.origin-marker span { font-size:1.1rem; letter-spacing:.14em; }
.origin-marker strong { color:transparent; -webkit-text-stroke:2px var(--red); font-family:Impact,"Arial Black",sans-serif; font-size:9.4rem; line-height:.86; text-shadow:8px 8px 0 rgba(227,6,19,.12); }
.origin-text { position:relative; z-index:1; }
.origin-lead { max-width:850px; margin:0 0 35px; color:#fff7ee; font-size:clamp(1.35rem,2.4vw,2.15rem); line-height:1.42; font-weight:720; letter-spacing:-.025em; }
.origin-lead em { color:var(--yellow); font-style:normal; }
.origin-columns { display:grid; grid-template-columns:1fr 1fr; gap:clamp(25px,4vw,60px); }
.origin-columns p { margin:0; color:var(--muted); line-height:1.75; }
.origin-columns strong { color:var(--yellow); text-transform:uppercase; }
.origin-finale { margin:39px 0 0; padding:30px 0 0; border-top:1px solid var(--line); color:#eaded6; font-size:1.06rem; line-height:1.75; }
.origin-finale strong { color:#fff; font-size:1.2em; }
.story-stage { margin-top:85px; display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(45px,7vw,100px); align-items:center; }
.story-photo { position:relative; margin:0; overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); }
.story-photo::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.16); border-radius:inherit; pointer-events:none; }
.story-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform 1s cubic-bezier(.2,.8,.2,1); }
.story-photo:hover img { transform:scale(1.045); }
.story-photo figcaption { position:absolute; left:19px; bottom:18px; padding:9px 12px; color:#160607; background:var(--yellow); font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.story-steps { display:flex; flex-direction:column; }
.story-step { display:grid; grid-template-columns:68px 1fr; gap:18px; padding:28px 0; border-top:1px solid var(--line); }
.story-step:last-child { border-bottom:1px solid var(--line); }
.story-step > span { color:var(--yellow); font-family:Impact,sans-serif; font-size:1.45rem; font-style:italic; }
.story-step h3 { margin:0 0 8px; font-size:1.3rem; text-transform:uppercase; }
.story-step p { margin:0; color:var(--muted); line-height:1.65; }
.big-quote { position:relative; margin:125px auto 0; max-width:1040px; padding:0; text-align:center; }
.big-quote > span { position:absolute; left:-.25em; top:-.5em; font-family:Georgia,serif; font-size:9rem; color:var(--yellow); opacity:.22; }
.big-quote p { font-family:"Arial Black",Impact,sans-serif; font-size:clamp(2.1rem,4.6vw,4.8rem); line-height:1.04; text-transform:uppercase; letter-spacing:-.045em; }

.cinema-panel { position:relative; min-height:78svh; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; }
.cinema-bg { position:absolute; inset:-6%; z-index:-2; background:url('assets/rear.webp') center 52%/cover no-repeat; will-change:transform; }
.cinema-panel::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(8,5,5,.93) 0%,rgba(8,5,5,.12) 53%,rgba(8,5,5,.1)),linear-gradient(90deg,rgba(8,5,5,.68),transparent 70%); }
.cinema-copy { padding-bottom:9vh; }
.cinema-copy h2 { margin:0; max-width:900px; font-size:clamp(3rem,7vw,7.6rem); line-height:.88; }

.events { background:var(--cream); color:#1a0b0c; }
.events .eyebrow,.collection .eyebrow { color:var(--red); }
.split-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:7vw; align-items:end; }
.split-heading h2 { max-width:780px; }
.split-heading > p { max-width:510px; margin:0 0 6px; color:#6b5550; line-height:1.7; font-size:1.08rem; }
.event-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:72px; }
.event-card { position:relative; min-height:370px; padding:34px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; background:#fff; border:1px solid #eadfd2; border-radius:var(--radius); transition:transform .3s ease,box-shadow .3s ease; }
.event-card:hover { transform:translateY(-8px); box-shadow:0 24px 50px rgba(96,20,20,.12); }
.event-card::before { content:""; position:absolute; width:210px; height:210px; border-radius:50%; right:-80px; top:-90px; background:var(--yellow); opacity:.14; transition:transform .45s; }
.event-card:hover::before { transform:scale(1.25); }
.event-icon { position:absolute; top:36px; right:36px; color:var(--red); font-family:Impact,sans-serif; font-size:3rem; font-style:italic; }
.card-index { color:var(--red); font-family:Impact,sans-serif; font-size:.86rem; letter-spacing:.1em; }
.event-card h3 { margin:0 0 13px; font-family:"Arial Black",Impact,sans-serif; font-size:1.65rem; text-transform:uppercase; }
.event-card > p:last-child { margin:0; color:#715e58; line-height:1.65; }
.event-banner { margin-top:85px; display:grid; grid-template-columns:1.2fr .8fr; min-height:520px; overflow:hidden; background:var(--red); color:#fff; border-radius:var(--radius); box-shadow:0 30px 70px rgba(126,0,5,.2); }
.event-banner > img { width:100%; height:100%; object-fit:cover; }
.event-banner-copy { position:relative; padding:clamp(42px,6vw,80px); display:flex; flex-direction:column; justify-content:center; background:linear-gradient(145deg,var(--red),var(--red-dark)); }
.event-banner-copy .eyebrow { color:var(--yellow); }
.event-banner-copy h3 { margin:0 0 20px; font-family:"Arial Black",Impact,sans-serif; font-size:clamp(2.3rem,4vw,4.3rem); line-height:.95; text-transform:uppercase; letter-spacing:-.05em; }
.event-banner-copy > p:not(.eyebrow) { line-height:1.7; color:#ffe8e2; }
.event-banner-copy .button { align-self:flex-start; margin-top:13px; }

.collection { background:#120b0c; overflow:hidden; }
.collection::before { content:"95"; position:absolute; top:-.18em; right:-.05em; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.035); font-family:Impact,sans-serif; font-size:42vw; line-height:1; font-style:italic; pointer-events:none; }
.collection .split-heading > p { color:var(--muted); }
.launch-copy { display:block; margin-bottom:12px; color:var(--yellow); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; }
.product-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:72px; }
.product-card { padding:11px 11px 27px; background:#1b1414; border:1px solid var(--line); border-radius:var(--radius); transition:transform .3s,border-color .3s; }
.product-card:hover { transform:translateY(-7px); border-color:rgba(255,210,26,.48); }
.product-art { position:relative; aspect-ratio:1/1.08; border-radius:14px; overflow:hidden; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 50% 45%,#74212a,#2a0c10 55%,#10090a); }
.product-art::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(120deg,transparent 0 23px,rgba(255,255,255,.025) 24px 25px); }
.product-art-shirt::after { content:""; position:absolute; width:52%; height:66%; top:18%; left:24%; background:#101010; clip-path:polygon(30% 0,40% 5%,60% 5%,70% 0,100% 18%,86% 36%,75% 29%,75% 100%,25% 100%,25% 29%,14% 36%,0 18%); filter:drop-shadow(0 18px 22px rgba(0,0,0,.45)); }
.product-art-shirt span,.product-art-shirt b { position:absolute; z-index:2; }
.product-art-shirt span { color:var(--yellow); font:italic 700 5rem/1 Impact,sans-serif; text-shadow:4px 4px 0 var(--red); }
.product-art-shirt b { margin-top:78px; font-size:.53rem; letter-spacing:.16em; }
.cap-shape { position:relative; z-index:2; width:57%; aspect-ratio:1.5; padding:42px 30px 0; color:var(--yellow); background:#0d0d0d; border-radius:50% 50% 18% 20% / 80% 80% 20% 20%; text-align:center; font-family:Impact,sans-serif; font-style:italic; font-size:1.7rem; line-height:.75; letter-spacing:-.03em; transform:rotate(-5deg); box-shadow:0 22px 35px rgba(0,0,0,.5); }
.cap-shape::after { content:""; position:absolute; left:-10%; bottom:-15%; width:82%; height:28%; background:#0d0d0d; border-radius:50%; z-index:-1; }
.product-art-sticker img { position:relative; z-index:2; width:63%; transform:rotate(-7deg); filter:drop-shadow(0 25px 20px rgba(0,0,0,.5)); transition:transform .4s; }
.product-card:hover .product-art-sticker img { transform:rotate(2deg) scale(1.06); }
.product-info { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding:22px 11px 17px; border-bottom:1px solid var(--line); }
.product-info p { margin:0 0 6px; color:var(--yellow); font-size:.62rem; font-weight:900; letter-spacing:.16em; }
.product-info h3 { margin:0; font-size:1rem; }
.product-info > span { display:flex; flex-direction:column; align-items:flex-end; gap:4px; color:var(--yellow); font-size:.56rem; font-weight:900; letter-spacing:.1em; text-align:right; }
.product-info > span small { color:var(--muted); font-size:.47rem; line-height:1.2; letter-spacing:.07em; }
.text-link { margin:18px 11px 0; padding:0; border:0; border-bottom:1px solid rgba(255,210,26,.35); color:var(--yellow); background:none; cursor:pointer; font-size:.72rem; line-height:1.7; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.text-link:hover { border-color:var(--yellow); }

.gallery { padding:13px 0 85px; background:#120b0c; overflow:hidden; }
.gallery-row { width:max-content; display:flex; gap:13px; padding-inline:13px; }
.gallery figure { width:min(52vw,680px); height:min(36vw,450px); margin:0; overflow:hidden; border-radius:12px; }
.gallery figure:last-child { width:min(29vw,360px); }
.gallery img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s; }
.gallery figure:hover img { transform:scale(1.04); filter:saturate(1.12); }
.gallery-caption { width:var(--wrap); margin:50px auto 0; font-family:"Arial Black",Impact,sans-serif; font-size:clamp(1.7rem,3.2vw,3.5rem); letter-spacing:-.04em; text-align:center; }
.gallery-caption span { color:var(--yellow); }
.gallery-caption strong { color:var(--red); }

.contact { overflow:hidden; background:linear-gradient(135deg,#c3000b,#7e0007 60%,#500005); }
.contact::before { content:""; position:absolute; inset:0; opacity:.08; background-image:radial-gradient(circle,#fff 1px,transparent 1.5px); background-size:20px 20px; mask-image:linear-gradient(90deg,#000,transparent 62%); }
.contact-lightning { position:absolute; left:36%; top:-15%; width:26%; height:135%; opacity:.09; background:var(--yellow); clip-path:polygon(58% 0,100% 0,63% 42%,91% 42%,18% 100%,36% 56%,0 56%); transform:rotate(8deg); }
.contact-layout { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,8vw,120px); align-items:start; }
.contact-copy { position:sticky; top:120px; }
.contact-copy .eyebrow { color:var(--yellow); }
.contact-copy > p:not(.eyebrow,.contact-note) { max-width:520px; margin:28px 0; color:#ffe0dc; line-height:1.7; }
.email-link { display:inline-block; border-bottom:2px solid var(--yellow); color:var(--yellow); font-weight:900; font-size:1.15rem; }
.contact-note { margin-top:20px; font-size:.8rem; color:#f6b9b5; }
.contact-form { padding:clamp(28px,4vw,50px); border:1px solid rgba(255,255,255,.18); background:rgba(23,0,2,.34); backdrop-filter:blur(10px); border-radius:var(--radius); box-shadow:var(--shadow); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.contact-form label { display:block; margin-bottom:20px; font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; margin-top:9px; padding:15px 14px; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.19); border-radius:8px; outline:none; text-transform:none; transition:border-color .25s,background .25s,box-shadow .25s; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:rgba(255,255,255,.46); }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--yellow); background:rgba(255,255,255,.12); box-shadow:0 0 0 3px rgba(255,210,26,.12); }
.contact-form select option { color:#111; }
.contact-form textarea { resize:vertical; min-height:130px; }
.consent { display:flex!important; gap:11px; align-items:flex-start; color:#ffd9d5; font-weight:500!important; line-height:1.5; letter-spacing:0!important; text-transform:none!important; }
.consent input { appearance:none; flex:0 0 18px; width:18px!important; height:18px; margin:1px 0 0!important; padding:0!important; border-radius:4px; }
.consent input:checked { background:var(--yellow); box-shadow:inset 0 0 0 4px #5f0005; }
.submit-button { width:100%; margin-top:6px; }
.form-status { margin:15px 0 0; min-height:1.2em; color:var(--yellow); font-size:.77rem; text-align:center; }

.site-footer { padding:60px 0 28px; background:#080606; }
.footer-top { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; padding-bottom:43px; }
.footer-top img { width:100px; }
.footer-top p { margin:0; font-family:"Arial Black",Impact,sans-serif; font-size:clamp(1.65rem,3vw,3.1rem); line-height:1; text-transform:uppercase; }
.footer-top p span { color:var(--yellow); }
.footer-top > a { padding:12px 0; border-bottom:1px solid var(--line); font-size:.68rem; letter-spacing:.14em; font-weight:900; }
.footer-bottom { display:flex; justify-content:space-between; gap:25px; padding-top:25px; border-top:1px solid var(--line); color:#887b76; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.footer-bottom p { margin:0; }
.footer-bottom a { color:#d8cbc5; }

.reveal { opacity:0; transform:translateY(38px); transition:opacity .85s cubic-bezier(.2,.75,.2,1),transform .85s cubic-bezier(.2,.75,.2,1); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.event-grid .reveal:nth-child(2),.product-grid .reveal:nth-child(2) { transition-delay:.12s; }
.event-grid .reveal:nth-child(3),.product-grid .reveal:nth-child(3) { transition-delay:.24s; }

@media (max-width: 980px) {
  :root { --wrap:min(100% - 34px,760px); }
  .section { padding:100px 0; }
  .site-header { height:74px; padding:0 18px; }
  .brand img { width:48px; height:48px; }
  .menu-toggle { display:block; position:relative; z-index:2; }
  .main-nav { position:fixed; inset:0; padding:120px 30px 60px; display:flex; flex-direction:column; justify-content:center; gap:21px; background:rgba(9,6,6,.97); font-size:1.15rem; transform:translateX(100%); transition:transform .42s cubic-bezier(.77,0,.18,1); }
  body.menu-open .main-nav { transform:translateX(0); }
  body.menu-open .menu-toggle span:first-child { transform:translateY(3.5px) rotate(45deg); }
  body.menu-open .menu-toggle span:nth-child(2) { transform:translateY(-3.5px) rotate(-45deg); }
  .nav-cta { margin-top:12px; padding:16px 30px; }
  .hero { min-height:780px; height:100svh; }
  .hero-media { background-position:64% center; }
  .hero-vignette { background:linear-gradient(0deg,rgba(8,5,5,.94),rgba(8,5,5,.14) 70%),linear-gradient(90deg,rgba(8,5,5,.72),transparent); }
  .hero-content { align-self:flex-end; padding:0 0 100px; }
  .hero-logo { width:105px; }
  h1 { font-size:clamp(3.7rem,13vw,7rem); }
  .hero-number { display:none; }
  .section-intro,.split-heading,.story-stage,.contact-layout { grid-template-columns:1fr; }
  .section-intro { gap:27px; }
  .section-intro .eyebrow { grid-column:auto; }
  .origin-story { grid-template-columns:140px 1fr; gap:38px; }
  .origin-marker strong { font-size:7rem; }
  .origin-columns { grid-template-columns:1fr; gap:20px; }
  .story-stage { margin-top:65px; }
  .event-grid { grid-template-columns:1fr; }
  .event-card { min-height:285px; }
  .event-banner { grid-template-columns:1fr; }
  .event-banner > img { min-height:430px; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .product-card:last-child { grid-column:1 / -1; width:calc(50% - 9px); justify-self:center; }
  .contact-copy { position:relative; top:auto; }
  .gallery figure { width:72vw; height:50vw; }
  .gallery figure:last-child { width:40vw; }
}

@media (max-width: 640px) {
  :root { --wrap:calc(100vw - 28px); --radius:16px; }
  .section { padding:82px 0; }
  .brand span { display:none; }
  .hero { min-height:700px; }
  .hero-media { inset:-2%; background-position:65% 50%; }
  .hero-logo { width:90px; margin-bottom:10px; }
  h1 { font-size:clamp(3.45rem,18vw,5.6rem); line-height:.82; }
  .hero-lead { margin:22px 0 26px; font-size:.95rem; line-height:1.55; max-width:94%; }
  .hero-actions { align-items:stretch; flex-direction:column; width:min(100%,330px); }
  .button { width:100%; }
  .scroll-cue { display:none; }
  .ticker-track { padding:14px 0; gap:23px; }
  .section-intro h2,.split-heading h2,.contact h2 { font-size:clamp(2.6rem,13vw,4.2rem); }
  .origin-story { margin-top:48px; padding:28px 23px 32px; grid-template-columns:1fr; gap:26px; }
  .origin-marker { flex-direction:row; align-items:flex-end; gap:10px; }
  .origin-marker strong { font-size:5.1rem; line-height:.72; }
  .origin-marker span { font-size:.83rem; padding-bottom:4px; }
  .origin-lead { margin-bottom:26px; font-size:1.28rem; }
  .origin-finale { margin-top:28px; padding-top:25px; font-size:.98rem; }
  .story-stage { gap:40px; margin-top:48px; }
  .story-photo img { aspect-ratio:4/4.3; }
  .story-step { grid-template-columns:50px 1fr; padding:23px 0; }
  .big-quote { margin-top:85px; }
  .big-quote p { font-size:2rem; }
  .cinema-panel { min-height:70svh; }
  .cinema-bg { background-position:65% center; }
  .cinema-copy { padding-bottom:55px; }
  .split-heading { gap:28px; }
  .event-grid,.product-grid { margin-top:48px; }
  .event-card { padding:26px; }
  .event-banner { margin-top:60px; }
  .event-banner > img { min-height:270px; }
  .event-banner-copy { padding:36px 26px 42px; }
  .product-grid { grid-template-columns:1fr; }
  .product-card:last-child { grid-column:auto; width:100%; }
  .gallery { padding-top:4px; }
  .gallery figure { width:85vw; height:63vw; }
  .gallery figure:last-child { width:55vw; }
  .gallery-caption { font-size:1.55rem; }
  .contact-layout { gap:46px; }
  .contact-form { padding:24px 18px; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .footer-top { grid-template-columns:80px 1fr; }
  .footer-top img { width:80px; }
  .footer-top > a { grid-column:1 / -1; }
  .footer-bottom { flex-direction:column; gap:11px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
}
