/* ============================================================
   CHROME & CONCRETE — minimalist · luxury
   Restrained palette, generous space, quiet motion.
   ============================================================ */

@font-face{font-family:'Sentient';src:url('assets/fonts/sentient-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Sentient';src:url('assets/fonts/sentient-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Sentient';src:url('assets/fonts/sentient-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('assets/fonts/inter-latin-300-normal.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('assets/fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('assets/fonts/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Martian Mono';src:url('assets/fonts/martian-mono-latin-300-normal.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Martian Mono';src:url('assets/fonts/martian-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Martian Mono';src:url('assets/fonts/martian-mono-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Thesignature';src:url('assets/thesignature.woff2') format('woff2'),url('assets/thesignature.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}

:root{
  --bg:#240201;            /* Rich Mahogany */
  --bg-2:#1A0302;          /* deeper mahogany band */
  --surface:#300B09;       /* warm mahogany surface */
  --line:rgba(250,245,229,.12);
  --line-soft:rgba(250,245,229,.06);
  --cream:#FAF5E5;         /* Mist */
  --muted:rgba(250,245,229,.58);
  --faint:rgba(250,245,229,.40);
  --gold:#FF2900;          /* Crimson Carrot (accent, per guidelines) */
  --gold-soft:rgba(255,41,0,.85);
  --ivory:#FAF9F5;         /* Ivory */
  --red:#FF2900;           /* Crimson Carrot (used sparingly) */
  --taupe:#9B7B6E;         /* Dusty Taupe */

  --font-display:'Sentient',Georgia,serif;
  --font-body:'Inter',system-ui,sans-serif;
  --font-mono:'Martian Mono','Inter',monospace;

  --maxw:1180px;
  --pad:clamp(22px,5.5vw,84px);
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--cream);
  font-family:var(--font-body);font-weight:400;
  font-size:17px;line-height:1.5;letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:#240201}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:300;line-height:1.08;letter-spacing:-.015em}
.eyebrow{
  font-family:var(--font-mono);font-weight:400;text-transform:uppercase;
  font-size:11px;letter-spacing:.24em;color:var(--gold);
  display:inline-block;
}
.eyebrow.amber{color:#D8A24A}
.lead{font-size:clamp(18px,2.2vw,22px);line-height:1.6;color:var(--cream);font-weight:300}
.muted{color:var(--muted)}
em,.italic{font-style:italic}
.script{font-family:'Thesignature','Allura',cursive;font-style:normal;font-weight:400;color:var(--red);letter-spacing:0;font-size:2.1em;line-height:.7;position:relative;top:.2em;margin:0 .03em;white-space:nowrap}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
section{padding-block:clamp(52px,8vw,108px)}
.center{text-align:center}
.divider{height:1px;background:var(--line);border:0}
.slide{width:100%;display:block;border-radius:8px;border:1px solid var(--line);transition:border-color .4s var(--ease)}
a:hover>.slide{border-color:var(--gold-soft)}
.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(32px,4.5vw,60px) clamp(24px,4vw,56px);align-items:center;justify-items:center}
.partners a{display:flex;align-items:center;justify-content:center;width:100%}
.partners img{height:clamp(38px,4.2vw,54px);width:auto;max-width:90%;object-fit:contain;opacity:.82;filter:brightness(0) invert(1);transition:opacity .3s var(--ease)}
.partners img:hover{opacity:1}
@media(max-width:720px){.partners{grid-template-columns:repeat(2,1fr);gap:clamp(26px,7vw,40px)}}
/* cinematic video band */
.videoband{position:relative;height:clamp(52vh,64vh,74vh);overflow:hidden;background:var(--bg-2)}
.videoband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.videoband::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,2,1,.14),transparent 26%,transparent 74%,rgba(36,2,1,.22))}
/* founder sign-off in the accent script */
.signoff{font-family:'Thesignature','Allura',cursive;color:var(--red);font-size:clamp(34px,4.6vw,54px);line-height:1;margin-top:8px}
/* ===== click-to-enter experience ===== */
body.locked{overflow:hidden}
#enter{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(rgba(36,2,1,.72),rgba(36,2,1,.86)),var(--enterbg) center/cover no-repeat,var(--bg);
  transition:transform 1.05s var(--ease),opacity .8s var(--ease)}
#enter.gone{transform:translateY(-101%)}
.enter-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:36px;padding:24px;animation:enterUp 1s var(--ease) both}
@keyframes enterUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.enter-logo{height:clamp(30px,5vw,52px);width:auto;filter:brightness(0) invert(1);opacity:.96}
.enter-sub{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.34em;font-size:10.5px;color:var(--muted)}
.enter-btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.34em;font-size:12px;color:var(--cream);background:none;border:0;cursor:pointer;position:relative;padding:12px 2px}
.enter-btn::after{content:"";position:absolute;left:0;bottom:2px;height:1px;width:100%;background:var(--gold-soft);transition:.4s var(--ease)}
.enter-btn:hover{color:var(--gold)}
.enter-hint{width:1px;height:40px;background:linear-gradient(var(--gold-soft),transparent);animation:drop 1.8s var(--ease) infinite}
@keyframes drop{0%{opacity:0;transform:scaleY(.2)}40%{opacity:1}100%{opacity:0;transform:translateY(14px) scaleY(.6)}}
/* ===== immersive event features (Events tab) ===== */
.ev-cover{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden}
.ev-cover .ev-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04)}
.ev-cover.fixed .ev-bg{background-attachment:fixed}
.ev-cover video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ev-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,2,1,.28),transparent 36%,rgba(36,2,1,.82))}
.ev-head{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad) clamp(34px,6vw,76px);text-align:center}
.ev-head .idx{font-family:var(--font-mono);font-size:12px;letter-spacing:.3em;color:var(--gold)}
.ev-head h2{font-size:clamp(40px,8vw,104px);color:#fff;font-weight:300;line-height:.92;letter-spacing:-.03em;margin:.14em 0 .16em}
.ev-head .where{font-family:var(--font-mono);text-transform:uppercase;font-size:12px;letter-spacing:.24em;color:rgba(255,255,255,.88)}
.ev-body{max-width:var(--maxw);margin:0 auto;padding:clamp(28px,4vw,56px) var(--pad);display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,4vw,64px);align-items:start}
.ev-lead{font-size:clamp(20px,2.4vw,27px);font-weight:300;color:#fff;line-height:1.4;letter-spacing:-.01em}
.ev-body p+p{margin-top:1.1em;color:var(--muted)}
.ev-facts{display:flex;gap:clamp(26px,4vw,60px);margin-bottom:20px}
.ev-facts .f .n{font-family:var(--font-display);font-size:clamp(30px,4vw,50px);color:var(--gold);line-height:1;font-weight:300}
.ev-facts .f .gsplit{font-family:var(--font-display);font-size:clamp(30px,4vw,50px);color:var(--gold);line-height:1;font-weight:300;white-space:nowrap}
.ev-facts .f .l{font-family:var(--font-mono);text-transform:uppercase;font-size:10px;letter-spacing:.2em;color:var(--muted);margin-top:10px}
.ev-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.ev-gallery img{aspect-ratio:3/4;object-fit:cover;width:100%;filter:saturate(.9);transition:transform .6s var(--ease),filter .6s var(--ease)}
.ev-gallery img:hover{filter:saturate(1) brightness(1.06);transform:scale(1.03)}
@media(max-width:820px){.ev-body{grid-template-columns:1fr}.ev-cover.fixed .ev-bg{background-attachment:scroll}}
/* centred hero (Story): title over the clouds */
.subhero.centered{align-items:center;justify-content:center;text-align:center}
.subhero.centered .hero-inner{padding-bottom:0;transform:translateY(-12vh);max-width:1000px;margin:0 auto}
.subhero.centered .lead{margin-inline:auto}
/* FAQ accordion */
.faq{max-width:820px;margin:0 auto}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;color:var(--cream);font-family:var(--font-display);font-weight:300;font-size:clamp(19px,2.1vw,25px);padding:26px 44px 26px 0;position:relative;letter-spacing:-.01em}
.faq-q::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--gold);font-family:var(--font-mono);font-size:18px;transition:.3s var(--ease)}
.faq-item.open .faq-q::after{content:"\2013"}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-a p{color:var(--muted);padding:0 0 26px;max-width:60ch;font-size:16px}
/* newsletter */
.news{display:flex;gap:14px;max-width:480px;margin:28px auto 0;align-items:end;flex-wrap:wrap}
.news input{flex:1;min-width:220px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--cream);font-family:var(--font-body);font-size:16px;padding:12px 0;transition:.3s}
.news input:focus{outline:none;border-bottom-color:var(--gold)}
.news input::placeholder{color:var(--faint)}
.news .thanks{width:100%;color:var(--gold);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;font-size:11px;margin-top:8px}

/* consent checkbox — styled to match brand, not the raw browser default */
.news-consent{
  width:100%;display:flex;gap:9px;align-items:flex-start;
  text-align:left;margin-top:14px;cursor:pointer;
}
.news-consent input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;
  width:13px;height:13px;flex-shrink:0;margin-top:2px;
  border:1px solid var(--line);border-radius:2px;
  background:transparent;cursor:pointer;position:relative;
  transition:.25s var(--ease);
}
.news-consent input[type="checkbox"]:hover{border-color:var(--gold-soft)}
.news-consent input[type="checkbox"]:checked{background:var(--gold);border-color:var(--gold)}
.news-consent input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:3px;top:1px;
  width:3px;height:6px;border:solid var(--bg);border-width:0 1.5px 1.5px 0;
  transform:rotate(45deg);
}
.news-consent input[type="checkbox"]:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.news-consent span{font-size:13px;line-height:1.6;color:var(--muted);font-weight:300}
.news-consent span a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-soft)}
.news-consent span a:hover{border-color:var(--gold)}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px var(--pad);
  transition:background .5s var(--ease),padding .5s var(--ease),border-color .5s;
  border-bottom:1px solid transparent;
}
.nav.solid{
  background:rgba(36,2,1,.78);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-bottom-color:var(--line-soft);padding-block:15px;
}
.brand{display:flex;align-items:center}
.brand img{height:40px;width:auto;transition:height .5s var(--ease)}
.nav .brand img{height:26px;filter:brightness(0) invert(1)}
.nav.solid .brand img{height:22px}

.nav-links{display:flex;align-items:center;gap:40px;list-style:none}
.nav-links a,.dropdown>span{
  font-family:var(--font-mono);font-weight:400;text-transform:uppercase;
  font-size:11px;letter-spacing:.26em;color:var(--cream);
  position:relative;padding:6px 0;transition:color .3s;cursor:pointer;
}
.nav-links a:hover,.dropdown:hover>span{color:var(--gold)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .4s var(--ease)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a.active{color:var(--gold)}

.dropdown{position:relative}
.dropdown>span{display:inline-flex;gap:7px;align-items:center}
.dropdown>span::after{content:"";width:4px;height:4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.3s}
.menu{
  position:absolute;top:170%;left:50%;transform:translateX(-50%) translateY(8px);
  background:rgba(30,8,6,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border:1px solid var(--line-soft);border-radius:4px;padding:8px;min-width:240px;
  opacity:0;visibility:hidden;transition:.32s var(--ease);
}
.dropdown:hover .menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.menu a{display:block;padding:12px 16px;border-radius:3px;font-size:10.5px;letter-spacing:.2em}
.menu a::after{display:none}
.menu a:hover{color:var(--gold)}

.burger{display:none;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;cursor:pointer;padding:12px;margin:-12px;z-index:120;-webkit-tap-highlight-color:transparent}
.burger span{width:24px;height:1px;background:var(--cream);transition:.4s var(--ease);will-change:transform,opacity}
.nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============================================================
   BUTTONS — quiet, underline-led
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--font-mono);font-weight:400;text-transform:uppercase;
  font-size:11px;letter-spacing:.24em;
  padding:16px 0;cursor:pointer;transition:.4s var(--ease);
  border:0;background:none;color:var(--cream);position:relative;
}
.btn::after{content:"";position:absolute;left:0;bottom:6px;height:1px;width:100%;background:var(--line);transition:background .4s var(--ease)}
.btn:hover{color:var(--gold)}
.btn:hover::after{background:var(--gold)}
.btn .arr{transition:transform .4s var(--ease)}
.btn:hover .arr{transform:translateX(6px)}
/* primary kept as a refined outline pill, used sparingly */
.btn-primary{padding:16px 34px;border:1px solid var(--line);border-radius:60px}
.btn-primary::after{display:none}
.btn-primary:hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost{padding:16px 34px;border:1px solid var(--line);border-radius:60px}
.btn-ghost::after{display:none}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);animation:slowzoom 22s var(--ease) forwards}
@keyframes slowzoom{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(36,2,1,.45),rgba(36,2,1,.12) 62%,rgba(36,2,1,0) 82%),linear-gradient(180deg,rgba(36,2,1,0) 60%,rgba(36,2,1,.35) 90%,var(--bg) 100%)}
/* Home hero: car sits to the right, headline clears it on the left */
.hero .hero-bg{background-position:center}
@media(max-width:820px){.hero .hero-bg{background-position:65% center}}
/* video heroes */
.hero-video,.subhero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-video{object-position:center center}
.hero::after,.subhero::after{z-index:1}
.hero-inner{z-index:2}
/* video subheroes (Story, Events): minimal wash for max visibility */
.subhero:has(.subhero-video)::after,.subhero.has-video::after{background:none}
.subhero:has(.subhero-video),.subhero.has-video{min-height:100svh;min-height:100vh}
.subhero:has(.subhero-video) .hero-inner,.subhero.has-video .hero-inner{text-shadow:0 2px 34px rgba(0,0,0,.6),0 1px 5px rgba(0,0,0,.5)}
.subhero-video{object-position:center}
.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad) clamp(64px,10vw,120px)}
.hero h1{font-size:clamp(28px,6vw,76px);font-weight:300;color:#fff;max-width:none;white-space:nowrap;margin:.35em 0 .5em;letter-spacing:-.03em}
.hero .lead{max-width:46ch;color:rgba(255,255,255,.9);margin-inline:auto}
/* home hero: centred, lifted over the clouds */
.hero .hero-inner{text-align:center;padding-bottom:0;transform:translateY(-6vh);max-width:900px}
.hero .hero-meta{justify-content:center}
/* kinetic marquee band */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--bg-2)}
.marquee-track{display:inline-flex;white-space:nowrap;animation:marq 34s linear infinite;will-change:transform}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee b{font-family:var(--font-display);font-weight:300;font-size:clamp(24px,4.4vw,56px);color:var(--cream);opacity:.92;padding:22px 0;display:inline-flex;align-items:center}
.marquee b::after{content:"—";color:var(--gold);margin:0 clamp(20px,3.8vw,50px)}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* dynamic hovers */
.principle:hover{transform:translateX(10px)}
.principle:hover .p-no{color:#fff}
.hero-cta{display:flex;flex-wrap:wrap;gap:40px;margin-top:42px}
.hero-meta{display:flex;flex-wrap:wrap;gap:36px;margin-top:38px;font-family:var(--font-mono);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.hero-meta b{color:var(--cream);font-weight:400}
.scroll-hint{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:3;font-family:var(--font-mono);font-weight:400;font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--faint);display:flex;flex-direction:column;align-items:center;gap:10px}
.scroll-hint::after{content:"";width:1px;height:40px;background:linear-gradient(var(--gold-soft),transparent)}

.subhero{position:relative;min-height:62svh;display:flex;align-items:flex-end;overflow:hidden}
.subhero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.subhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,2,1,.18),rgba(36,2,1,0) 45%,rgba(36,2,1,.42) 84%,var(--bg) 100%)}
.subhero .hero-inner{padding-bottom:clamp(52px,8vw,92px)}
.subhero h1{font-size:clamp(32px,6.2vw,72px);font-weight:300;color:#fff;margin:.35em 0 .3em}
/* deck motif: spaced vertical wordmark */
.vlabel{position:absolute;right:clamp(16px,3.5vw,46px);top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:mixed;text-transform:uppercase;font-family:var(--font-mono);font-weight:400;font-size:11px;letter-spacing:.55em;color:rgba(250,245,229,.45);z-index:3;pointer-events:none}
@media(max-width:820px){.vlabel{display:none}}

/* ============================================================
   SECTION HEADERS
   ============================================================ */
.sec-head{max-width:760px;margin-bottom:clamp(54px,8vw,90px)}
.sec-head.center{margin-inline:auto}
.sec-head .eyebrow{margin-bottom:26px}
.sec-head h2{font-size:clamp(27px,4.3vw,48px);font-weight:300;color:#fff;margin-bottom:.5em}
.sec-head p{font-size:clamp(17px,1.9vw,20px);color:var(--muted);max-width:58ch;font-weight:400}
.sec-head.center p{margin-inline:auto}

/* ============================================================
   GRIDS — airy, hairline-led (no heavy boxes)
   ============================================================ */
.grid{display:grid;gap:clamp(36px,5vw,72px)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}

.card{padding-top:30px;border-top:1px solid var(--line);background:none;transition:border-color .5s var(--ease)}
.card:hover{border-top-color:var(--gold-soft)}
.card .num{font-family:var(--font-mono);font-weight:400;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.card h3{font-size:clamp(21px,2.4vw,27px);font-weight:300;color:#fff;margin:.7em 0 .55em}
.card p{color:var(--muted);font-size:16px;font-weight:400}

/* principles — editorial ledger rows */
.principles{border-top:1px solid var(--line)}
.principle{display:grid;grid-template-columns:minmax(90px,0.5fr) 1.1fr 1.6fr;gap:clamp(20px,4vw,60px);align-items:start;padding:clamp(28px,4vw,52px) 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}
.principle .p-no{font-family:var(--font-display);font-weight:300;font-size:clamp(40px,6vw,80px);line-height:.9;color:var(--gold)}
.principle h3{font-size:clamp(22px,2.8vw,32px);font-weight:300;color:#fff;letter-spacing:-.02em}
.principle p{color:var(--muted);font-weight:400;font-size:16px;max-width:52ch}
@media(max-width:820px){
  .principle{grid-template-columns:auto 1fr;gap:20px 24px}
  .principle p{grid-column:1 / -1}
}

.stat{}
.stat .big{font-family:var(--font-display);font-weight:300;font-size:clamp(46px,6vw,80px);line-height:1;color:#fff}
.stat .lbl{font-family:var(--font-mono);font-weight:400;text-transform:uppercase;font-size:10.5px;letter-spacing:.28em;color:var(--muted);margin-top:18px}
.statband{background:var(--bg-2)}

/* ============================================================
   SPLIT / EDITORIAL
   ============================================================ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.split.reverse .split-media{order:2}
.split-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;filter:saturate(.92)}
.split-media.wide img{aspect-ratio:3/2}
.split-text .eyebrow{margin-bottom:24px}
.split-text h2{font-size:clamp(25px,3.7vw,42px);font-weight:300;color:#fff;margin-bottom:.6em;line-height:1.12}
.split-text p+p{margin-top:1.2em}
.split-text p{color:var(--muted);font-weight:400}

/* timeline — minimal rows */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(36px,5vw,64px)}
.tl-item{border-top:1px solid var(--line);padding-top:30px}
.tl-item .yr{font-family:var(--font-display);font-weight:300;font-size:clamp(36px,4.2vw,56px);color:var(--gold)}
.tl-item.cur .yr{color:#fff}
.tl-item h4{font-size:18px;font-weight:400;color:#fff;margin:.55em 0 .5em}
.tl-item p{color:var(--muted);font-size:15px;font-weight:400}

/* quote band */
.quote{background:linear-gradient(rgba(36,2,1,.66),rgba(36,2,1,.66)),var(--qbg) center/cover fixed;text-align:center}
.quote blockquote{font-family:var(--font-display);font-weight:300;font-style:italic;font-size:clamp(26px,4.4vw,50px);line-height:1.25;color:#fff;max-width:20ch;margin:0 auto;letter-spacing:-.01em}
.quote.long blockquote{max-width:30ch;font-size:clamp(21px,3vw,33px)}
.quote .by{font-family:var(--font-mono);font-weight:400;text-transform:uppercase;font-size:10.5px;letter-spacing:.3em;color:var(--gold);margin-top:34px}

/* event feature */
.event{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:flex-end}
.event img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform 1s var(--ease)}
.event:hover img{transform:scale(1.04)}
.event::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(36,2,1,.85))}
.event-body{position:relative;z-index:2;padding:clamp(30px,3.5vw,48px)}
.event-body .when{font-family:var(--font-mono);font-weight:500;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 12px rgba(255,41,0,.45)}
.event-body h3{font-size:clamp(26px,3.2vw,38px);font-weight:300;color:#fff;margin:.5em 0 .3em}
.event-body .when{display:block;margin-top:.3em}
.event-body p{color:rgba(244,239,227,.8);font-weight:400;max-width:42ch;margin-bottom:24px}
.event-link{font-family:var(--font-mono);font-weight:400;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);display:inline-flex;gap:10px;transition:.3s}
.event:hover .event-link{color:var(--gold)}

/* machines — quiet */
.machine{background:none;transition:.5s var(--ease)}
.machine img{aspect-ratio:3/4;object-fit:cover;width:100%;filter:saturate(.9);transition:.6s var(--ease)}
.machine:hover img{filter:saturate(1)}
.machine .m-body{padding:18px 0 0}
.machine h4{font-size:16px;font-weight:400;color:#fff}
.machine .val{font-family:var(--font-mono);font-weight:400;font-size:11px;letter-spacing:.14em;color:var(--gold);margin-top:8px}

/* tiers — uniform, minimal */
.tier{padding-top:32px;border-top:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .5s var(--ease)}
.tier:hover,.tier.feature{border-top-color:var(--gold-soft)}
.tier .t-name{font-family:var(--font-mono);font-weight:400;text-transform:uppercase;letter-spacing:.28em;font-size:11px;color:var(--gold)}
.tier .price{font-family:var(--font-display);font-weight:300;font-size:clamp(32px,3.6vw,46px);color:#fff;margin:.4em 0 .1em}
.tier .price small{font-size:13px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em}
.tier ul{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:14px}
.tier li{position:relative;padding-left:22px;font-size:15px;color:var(--muted);font-weight:400}
.tier li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:1px;background:var(--gold)}

/* schedule */
.sched{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(36px,5vw,64px)}
.sched-day{border-top:1px solid var(--line);padding-top:28px}
.sched-day .d{font-family:var(--font-mono);font-weight:400;text-transform:uppercase;letter-spacing:.26em;font-size:11px;color:var(--gold)}
.sched-day h4{font-size:22px;font-weight:300;color:#fff;margin:.5em 0}
.sched-day p{color:var(--muted);font-size:15px;font-weight:400}

/* gallery */
.gallery{columns:2;column-gap:clamp(18px,2.4vw,28px)}
.gallery img{width:100%;margin-bottom:clamp(18px,2.4vw,28px);break-inside:avoid;filter:saturate(.92);transition:.6s var(--ease)}
.gallery img:hover{filter:saturate(1)}

/* promise / signature */
.promise{text-align:center;max-width:780px;margin:0 auto}
.promise blockquote{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(23px,3.2vw,34px);line-height:1.35;color:#fff}
.promise .sig{height:96px;margin:30px auto 10px;filter:brightness(0) invert(1);opacity:.92}
.promise .who{font-family:var(--font-mono);font-weight:400;text-transform:uppercase;font-size:10.5px;letter-spacing:.28em;color:var(--gold)}

/* CTA */
.cta{background:linear-gradient(rgba(36,2,1,.72),rgba(36,2,1,.84)),var(--ctabg) center/cover;text-align:center}
.cta h2{font-size:clamp(28px,4.4vw,52px);font-weight:300;color:#fff;max-width:17ch;margin:.3em auto .7em}
.cta .eyebrow{margin-bottom:6px}

/* contact form */
.form{display:grid;gap:24px;max-width:620px;margin:0 auto}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form label{font-family:var(--font-mono);font-weight:400;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);display:block;margin-bottom:10px}
.form input,.form textarea{width:100%;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;color:var(--cream);font-family:var(--font-body);font-weight:400;font-size:16px;transition:.3s}
.form input:focus,.form textarea:focus{outline:none;border-bottom-color:var(--gold)}
.form input::placeholder{color:var(--faint)}
.form textarea{min-height:120px;resize:vertical}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--bg-2);border-top:1px solid var(--line-soft);padding-block:clamp(64px,8vw,96px)}
.footer-grid{display:flex;flex-wrap:wrap;gap:48px;justify-content:space-between;align-items:flex-start}
.footer .brand img{height:62px;width:auto;opacity:.95}
.footer .tag{color:var(--muted);max-width:32ch;margin-top:20px;font-size:15px;font-weight:400}
.footer-links{display:flex;gap:72px;flex-wrap:wrap}
.footer-col h5{font-family:var(--font-mono);font-weight:400;text-transform:uppercase;font-size:10px;letter-spacing:.28em;color:var(--gold);margin-bottom:20px}
.footer-col a{display:block;color:var(--muted);font-size:15px;font-weight:400;margin-bottom:13px;transition:.3s}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{margin-top:56px;padding-top:28px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--faint);font-family:var(--font-mono);font-weight:400;letter-spacing:.12em}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.07s}.reveal.d2{transition-delay:.14s}.reveal.d3{transition-delay:.21s}.reveal.d4{transition-delay:.28s}

@media(max-width:960px){.g4{grid-template-columns:repeat(2,1fr);gap:48px}}
@media(max-width:820px){
  .nav-links{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:34px;background:rgba(36,2,1,.98);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateX(100%);transition:transform .55s var(--ease);will-change:transform;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav.open .nav-links{transform:none}
  .nav-links a,.dropdown>span{font-size:14px;-webkit-tap-highlight-color:transparent}
  .menu{position:static;opacity:1;visibility:visible;transform:none;background:none;border:0;padding:0;text-align:center;min-width:auto;margin-top:16px}
  .menu a{padding:9px;font-size:11px}
  .dropdown{text-align:center}.dropdown>span{justify-content:center}
  .burger{display:flex}
  .g3,.g2,.timeline,.split,.sched{grid-template-columns:1fr}
  .split.reverse .split-media{order:0}
  .form .row{grid-template-columns:1fr}
}
@media(max-width:560px){
  .g4{grid-template-columns:1fr 1fr;gap:36px}
  .gallery{columns:1}
  body{font-size:16px}
  .hero-cta{gap:26px}
  .hero .hero-inner{transform:translateY(-3vh)}
}

/* ============================================================
   PARTNER CATEGORIES
   ============================================================ */
.partner-category{margin-bottom:clamp(48px,6vw,80px)}
.partner-category-label{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.partner-category-divider{height:1px;background:var(--line);margin-bottom:clamp(28px,3.5vw,44px)}

/* ============================================================
   COOKIE CONSENT BANNER
   ============================================================ */
#cc-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:var(--bg-2);border-top:1px solid var(--line);
  padding:20px clamp(20px,5vw,60px);
  opacity:0;transform:translateY(16px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.cc-inner{
  max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;gap:28px;flex-wrap:wrap;
}
.cc-text{flex:1;min-width:220px}
.cc-title{
  font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--cream);margin-bottom:6px;
}
.cc-body{font-size:13px;color:var(--muted);line-height:1.65}
.cc-body a{color:var(--gold);text-decoration:underline}
.cc-actions{display:flex;gap:12px;flex-shrink:0}
.cc-btn{
  font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  padding:10px 26px;border-radius:100px;cursor:pointer;
  transition:all .22s var(--ease);white-space:nowrap;
}
.cc-decline{
  background:transparent;color:var(--muted);
  border:1px solid rgba(250,245,229,.25);
}
.cc-decline:hover{color:var(--cream);border-color:rgba(250,245,229,.55)}
.cc-accept{
  background:var(--gold);color:var(--cream);border:1px solid var(--gold);
}
.cc-accept:hover{background:#e02200}
@media(max-width:560px){
  .cc-actions{width:100%;justify-content:flex-end}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
