@font-face{font-family:'Archivo Expanded';font-weight:100 900;font-style:normal;font-display:swap;src:url('/fonts/archivo-exp.woff2') format('woff2')}
@font-face{font-family:'Open Sauce One';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/open-sauce-one-400.woff2') format('woff2')}
@font-face{font-family:'Open Sauce One';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/open-sauce-one-600.woff2') format('woff2')}
@font-face{font-family:'Open Sauce One';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/open-sauce-one-700.woff2') format('woff2')}
@font-face{font-family:'Open Sauce One';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/open-sauce-one-400-italic.woff2') format('woff2')}


/* ============ Fonts (self-hosted, embedded) ============
   Body: Open Sauce One (the specified body typeface, embedded).
   Display: Archivo pinned to its Expanded width, standing in for CY Grotesk V3 Wide Bold.
   To use the real CY Grotesk, host its files and uncomment the @font-face below;
   it sits first in --display so it takes priority automatically. */

/* ---- OPTIONAL: drop in licensed CY Grotesk V3 Wide Bold to replace the substitute ----
@font-face{font-family:'CY Grotesk V3 Wide';font-weight:700;font-display:swap;src:url(assets/fonts/CYGroteskV3Wide-Bold.woff2) format('woff2')}
-------------------------------------------------------------------------------------- */

:root{
  --ink:#0A0908;
  --ink-2:#131110;
  --ink-3:#1b1815;
  --brass:#C4A15A;
  --brass-lite:#DcBd83;
  --brass-deep:#9C7C3C;
  --cream:#EFE9DD;
  --paper:#F5F3ED;
  --muted:#A79F90;
  --muted-dim:#7d766a;
  --hair:rgba(196,161,90,.30);
  --hair-soft:rgba(196,161,90,.16);
  --blue:#5E86A6;
  --red:#B4494B;

  --display:'CY Grotesk V3 Wide','Archivo Expanded',sans-serif;
  --body:'Open Sauce One',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --h2:clamp(30px,5vw,60px);
  --track:-0.05em;

  --nav-h:76px;
  --edge:clamp(20px,5vw,84px);
  --maxw:1320px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--ink);color:var(--cream);
  font-family:var(--body);font-weight:400;font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0}
::selection{background:var(--brass);color:var(--ink)}

/* ---- Display type ---- */
.d{
  font-family:var(--display);font-weight:800;font-stretch:125%;
  text-transform:uppercase;letter-spacing:var(--track);line-height:.92;
  color:var(--cream);
}
.d.brass{color:var(--brass)}
/* Consistent primary section heading size across the site */
.sec-title{font-size:var(--h2)}
/* Label / eyebrow (used only where the source deck uses one) */
.label{
  font-family:var(--body);font-weight:600;text-transform:uppercase;
  letter-spacing:.20em;font-size:12.5px;color:var(--brass);
}
.label.pale{color:var(--paper)}
.standfirst{font-style:normal;color:var(--muted);font-size:clamp(17px,2vw,20px);line-height:1.5;max-width:60ch}

/* ---- Layout helpers ---- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--edge)}
section{position:relative}
.rule{height:1px;background:var(--hair);border:0;margin:0}
.hair-top{border-top:1px solid var(--hair-soft)}

/* ---- Buttons ---- */
.btn{
  --bg:var(--brass);--fg:var(--ink);
  display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--body);font-weight:700;text-transform:uppercase;
  letter-spacing:.13em;font-size:13px;line-height:1;
  padding:16px 26px;background:var(--bg);color:var(--fg);
  border:1px solid var(--brass);cursor:pointer;
  transition:background .35s ease,color .35s ease,transform .2s ease;
}
.btn:hover{background:transparent;color:var(--brass)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--paper);border-color:var(--hair)}
.btn.ghost:hover{border-color:var(--brass);color:var(--brass)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{
  outline:2px solid var(--brass-lite);outline-offset:3px;
}
.skip{position:absolute;left:-9999px;top:0;background:var(--brass);color:var(--ink);padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}

/* ---- Decorative diamond motif ---- */
.diamond{position:absolute;pointer-events:none;opacity:.5;z-index:0;
  background:url('/img/diamonds.webp') center/contain no-repeat;
  width:min(38vw,420px);aspect-ratio:1281/1481;}

/* =================== HEADER =================== */
header{position:fixed;inset:0 0 auto 0;height:var(--nav-h);z-index:100;
  display:flex;align-items:center;transition:background .4s ease,border-color .4s ease;
  border-bottom:1px solid transparent;}
header.scrolled{background:rgba(10,9,8,.86);backdrop-filter:blur(10px);border-bottom-color:var(--hair-soft)}
.nav{display:flex;align-items:center;justify-content:space-between;width:100%}
.brandmark{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;
  letter-spacing:-.02em;font-size:16px;line-height:.9;color:var(--paper)}
.brandmark span{display:block}
.navlinks{display:flex;gap:22px;align-items:center}
.navlinks a{font-size:12.5px;letter-spacing:.04em;color:var(--muted);position:relative;padding:6px 0;transition:color .3s;white-space:nowrap}
.navlinks a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--brass);transition:width .35s ease}
.navlinks a:hover{color:var(--paper)}
.navlinks a:hover::after{width:100%}
.nav-cta{display:inline-flex}
.burger{display:none;background:none;border:0;cursor:pointer;width:40px;height:40px;padding:8px}
.burger span{display:block;height:1.6px;background:var(--paper);margin:6px 0;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7.6px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7.6px) rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:99;background:var(--ink);
  display:flex;flex-direction:column;justify-content:center;gap:2px;padding:calc(var(--nav-h) + 12px) var(--edge) 28px;overflow-y:auto;
  transform:translateY(-100%);transition:transform .5s cubic-bezier(.7,0,.2,1);}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu a{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;
  letter-spacing:var(--track);font-size:clamp(21px,5.4vw,34px);color:var(--cream);padding:11px 0;border-bottom:1px solid var(--hair-soft)}
.mobile-menu a:last-of-type{border-bottom:0}
.mobile-menu .mm-cta{margin-top:26px;font-family:var(--body);font-size:13px;letter-spacing:.13em;color:var(--brass)}
@media(max-width:1080px){
  .navlinks,.nav-cta{display:none}
  .burger{display:block}
}

/* =================== HERO =================== */
/* vertical rhythm is height-aware so the hero always resolves to one screen */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;
  padding-top:calc(var(--nav-h) + clamp(16px,3.4svh,64px));padding-bottom:clamp(42px,7.5svh,120px)}
.hero-bg{position:absolute;inset:0;z-index:0;will-change:transform}
.hero-bg img{width:100%;height:120%;object-fit:cover;object-position:center 35%}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,9,8,.55) 0%,rgba(10,9,8,.15) 38%,rgba(10,9,8,.72) 82%,var(--ink) 100%);}
.hero-bg::before{content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(120% 90% at 15% 30%,transparent 40%,rgba(10,9,8,.5) 100%)}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.hero-eyebrow{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero-eyebrow .dot{display:inline-block;width:5px;height:5px;background:var(--brass);border-radius:50%;vertical-align:middle;margin:0 10px}
.hero h1{margin:.16em 0 0}
.hero h1 .l1,.hero h1 .l2{display:block;font-size:clamp(44px,min(13vw,16.5svh),178px);line-height:.9;white-space:nowrap}
.hero h1 .at{color:var(--brass)}
/* keeps the normal size on tall/mobile screens, eases down only on short desktop viewports */
.hero .standfirst{margin-top:clamp(10px,1.9svh,22px);font-size:min(clamp(17px,2vw,20px),max(15px,2.6svh))}

/* prominent, thematic venue / date / time strip */
.hero-info{margin-top:clamp(14px,2.6svh,40px);display:grid;grid-template-columns:repeat(4,auto);gap:0;
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);width:fit-content;max-width:100%}
.hero-info .cell{padding:clamp(10px,1.5svh,16px) clamp(20px,3vw,38px) clamp(10px,1.5svh,16px) 0;position:relative}
.hero-info .cell + .cell{padding-left:clamp(20px,3vw,38px);border-left:1px solid var(--hair-soft)}
.hero-info .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:600}
.hero-info .v{font-family:var(--display);font-weight:700;font-stretch:125%;text-transform:uppercase;letter-spacing:var(--track);
  color:var(--paper);font-size:clamp(15px,1.8vw,21px);line-height:1.05;margin-top:clamp(5px,1svh,9px)}
.hero-actions{margin-top:clamp(14px,2.6svh,36px);display:flex;gap:14px;flex-wrap:wrap}
.hero-scroll{position:absolute;left:var(--edge);bottom:22px;z-index:3;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted-dim);display:flex;align-items:center;gap:10px}
.hero-scroll .line{width:44px;height:1px;background:var(--brass);transform-origin:left;animation:scrollpulse 2.6s ease-in-out infinite}
@keyframes scrollpulse{0%,100%{transform:scaleX(.35);opacity:.5}50%{transform:scaleX(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.hero-scroll .line{animation:none}}
@media(max-width:720px){
  .hero-info{grid-template-columns:1fr 1fr}
  .hero-info .cell{padding:14px 18px 14px 0}
  .hero-info .cell:nth-child(2){border-left:1px solid var(--hair-soft);padding-left:18px}
  .hero-info .cell:nth-child(3),.hero-info .cell:nth-child(4){border-top:1px solid var(--hair-soft)}
  .hero-info .cell:nth-child(3){padding-left:0;border-left:0}
}

/* hero type reveal */
.reveal-mask{overflow:hidden;display:block}
.reveal-mask > *{display:block;transform:translateY(102%);opacity:0}
.hero.loaded .reveal-mask > *{transform:translateY(0);opacity:1;
  transition:transform 1.05s cubic-bezier(.16,1,.3,1),opacity 1.05s ease}
.hero.loaded .r1>*{transition-delay:.05s}
.hero.loaded .r2>*{transition-delay:.18s}
.hero.loaded .r3>*{transition-delay:.34s}
.hero.loaded .r4>*{transition-delay:.44s}
.hero.loaded .r5>*{transition-delay:.58s}

/* =================== GENERIC SECTION RHYTHM =================== */
.sec{padding-block:clamp(44px,7svh,104px);position:relative}
.sec-sm{padding-block:clamp(36px,5.5svh,80px)}

/* down-chevron scroll cue linking to the next section */
.sec-next{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:5;
  width:44px;height:44px;display:grid;place-items:center;color:var(--brass);
  border:1px solid var(--hair);border-radius:50%;background:rgba(10,9,8,.4);
  transition:border-color .3s,color .3s,background .3s;animation:bob 2.4s ease-in-out infinite}
.sec-next:hover{border-color:var(--brass);color:var(--paper);background:rgba(10,9,8,.7)}
.sec-next svg{width:16px;height:16px}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,5px)}}
@media (prefers-reduced-motion:reduce){.sec-next{animation:none}}
@media(max-width:820px){.sec-next{display:none}}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* =================== THE IDEA =================== */
.idea{border-top:1px solid var(--hair-soft);overflow:hidden}
.idea > .wrap > .label{color:var(--muted)}
.idea-grid{display:grid;grid-template-columns:1fr;gap:clamp(30px,5vw,64px)}
.idea-statement{font-size:var(--h2)}
.idea-statement .g{color:var(--brass)}
.idea-lead{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,70px);align-items:end;margin-top:8px}
.idea-body p{max-width:56ch;color:#d7d0c2}
.idea-body p+p{margin-top:1.1em}
.idea-body strong{color:var(--paper);font-weight:700}
.idea-figure{position:relative}
.idea-figure img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(1.02)}
.idea-figure figcaption{margin-top:10px;font-size:12px;letter-spacing:.04em;color:var(--muted-dim)}
.elements{margin-top:clamp(40px,6vw,72px);border-top:1px solid var(--hair)}
.elements-title{margin-top:clamp(20px,2.4vw,28px)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(18px,2.2vw,26px)}
.pillar{padding:26px clamp(18px,2vw,24px);border-right:1px solid var(--hair-soft)}
.pillar:first-child{padding-left:0}
.pillar:last-child{border-right:0;padding-right:0}
.pillar .n{font-family:var(--display);font-weight:700;font-stretch:125%;font-size:14px;color:var(--brass);letter-spacing:0}
.pillar h4{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;letter-spacing:-.02em;
  font-size:clamp(19px,2.4vw,26px);margin-top:10px;color:var(--cream)}
@media(max-width:820px){.idea-lead{grid-template-columns:1fr}.pillars{grid-template-columns:1fr}
  .pillar{border-right:0;border-top:1px solid var(--hair-soft);padding:22px 0}
  .pillar:first-child{border-top:0;padding-top:0}
  /* full-bleed image on narrow screens */
  .idea-figure{margin-inline:calc(var(--edge) * -1)}}

/* =================== THE EXPERIENCE =================== */
.exp{background:var(--ink)}
.exp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.exp-title{font-size:var(--h2)}
.exp-title .stack span{display:block}
.exp-title .g{color:var(--brass)}
.exp-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,2vw,26px);margin-top:clamp(40px,6vw,72px)}
.exp-figure{position:relative;overflow:hidden}
.exp-figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.exp-figure:hover img{transform:scale(1.045)}
.exp-a{grid-column:1/6;aspect-ratio:3/4}
.exp-b{grid-column:6/13;display:flex;flex-direction:column;justify-content:flex-end;gap:22px}
.exp-b .exp-figure{aspect-ratio:16/9}
.exp-copyblock{grid-column:1/6;padding-top:6px}
.exp-copyblock+.exp-copyblock{grid-column:7/13}
.exp-item h4{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;letter-spacing:-.02em;
  font-size:clamp(22px,2.6vw,30px);color:var(--cream)}
.exp-item p{color:#cfc8ba;max-width:46ch;margin-top:12px}
.exp-item .k{color:var(--brass);font-weight:600;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:14px}
.exp-copyrow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,64px);margin-top:clamp(34px,4vw,52px);
  border-top:1px solid var(--hair);padding-top:clamp(30px,4vw,48px)}
@media(max-width:860px){
  .exp-a{grid-column:1/13;aspect-ratio:4/5}
  .exp-b{grid-column:1/13}
  .exp-copyrow{grid-template-columns:1fr;gap:34px}
}

/* =================== QUTUB =================== */
.qutub{position:relative;background:var(--ink);overflow:hidden}
.qutub-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:0;align-items:stretch;min-height:min(88vh,760px)}
.qutub-media{position:relative;overflow:hidden}
.qutub-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
.qutub-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--ink) 100%)}
.qutub-copy{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(38px,min(6vw,7svh),90px) var(--edge) clamp(38px,min(6vw,7svh),90px) clamp(30px,5vw,70px)}
.qutub-copy .label{margin-bottom:20px}
.qutub-copy h2{font-size:var(--h2)}
.qutub-copy h2 .g{color:var(--brass)}
.qutub-copy p{color:#cfc8ba;max-width:44ch;margin-top:22px}
.qutub-facts{display:flex;gap:36px;margin-top:34px;flex-wrap:wrap}
.qutub-facts div .num{font-family:var(--display);font-weight:800;font-stretch:125%;font-size:clamp(24px,3vw,34px);color:var(--paper)}
.qutub-facts div .cap{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}
@media(max-width:900px){.qutub-grid{grid-template-columns:1fr}.qutub-media{min-height:56vh}
  .qutub-media::after{background:linear-gradient(180deg,transparent 55%,var(--ink) 100%)}
  .qutub-copy{padding:clamp(40px,7vw,60px) var(--edge)}}

/* =================== PROGRAMME =================== */
.programme{background:var(--ink-2);position:relative;isolation:isolate;border-block:1px solid var(--hair-soft)}
.programme::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background:url('/img/pattern_monument.webp') center top/cover;mix-blend-mode:screen}
.prog-head{max-width:70ch}
.flow{display:grid;grid-template-columns:1fr;margin-top:clamp(36px,5vw,56px)}
.flow-item{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--hair-soft);align-items:start}
.flow-item:last-child{border-bottom:1px solid var(--hair-soft)}
.flow-mark{width:34px;height:34px;border:1px solid var(--brass);border-radius:50%;display:grid;place-items:center;color:var(--brass);flex:none;margin-top:2px}
.flow-mark svg{width:14px;height:14px}
.flow-body h4{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;letter-spacing:-.015em;
  font-size:clamp(18px,2.2vw,24px);color:var(--cream);display:flex;flex-wrap:wrap;gap:.5em;align-items:baseline}
.flow-body h4 .t{color:var(--brass);font-weight:700;font-size:.78em;letter-spacing:.02em}
.flow-body p{color:var(--muted);margin-top:7px;font-size:15.5px;max-width:74ch}
.flow-body .artists{color:#cfc8ba}
.prog-note{margin-top:18px;font-size:12.5px;color:var(--muted-dim);letter-spacing:.02em}

/* season 1 detail card */
.season1{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,54px);margin-top:clamp(44px,6vw,72px);
  border-top:1px solid var(--hair);padding-top:clamp(34px,4vw,52px)}
.s1-lede .label{margin-bottom:16px}
.s1-lede h3{font-size:var(--h2)}
.s1-lede p{color:var(--muted);margin-top:14px;max-width:40ch}
/* same 2 x 3 box grid as before; type matches the programme flow heading pairing
   (.flow-body h4 / h4 .t) exactly — same faces, sizes, weights, colours, tracking */
.s1-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair-soft);border:1px solid var(--hair-soft)}
.s1-facts div{background:var(--ink-2);padding:clamp(10px,1.7svh,16px) 12px}
.s1-facts .k{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;
  letter-spacing:-.015em;font-size:clamp(18px,2.2vw,24px);line-height:1.1;color:var(--cream);text-wrap:balance}
.s1-facts .v{margin-top:8px;font-family:var(--display);font-weight:700;font-stretch:125%;text-transform:uppercase;
  letter-spacing:.02em;font-size:calc(clamp(18px,2.2vw,24px) * .78);line-height:1.25;color:var(--brass);text-wrap:balance}
.tickets{display:flex;gap:14px;margin-top:clamp(16px,3svh,22px);flex-wrap:wrap}
.ticket{border:1px solid var(--hair);padding:clamp(13px,2.4svh,16px) 20px;min-width:180px}
.ticket .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ticket .p{font-family:var(--display);font-weight:800;font-stretch:125%;font-size:clamp(22px,3vw,30px);color:var(--paper);margin-top:6px}
.ticket .p small{font-family:var(--body);font-weight:400;font-size:12px;letter-spacing:.04em;color:var(--muted);display:block;text-transform:none}
@media(max-width:820px){.season1{grid-template-columns:1fr}.s1-facts{grid-template-columns:1fr}}
/* short desktop viewports: tighten spacing only, so the section clears the fixed header */
@media(min-width:821px) and (max-height:700px){
  .inaugural{padding-block:clamp(28px,5svh,104px)}
  .s1-lede .label{margin-bottom:10px}
  .s1-lede p{margin-top:9px}
  .tickets{margin-top:15px}
}

/* schedule timeline */
.schedule{margin-top:clamp(48px,6vw,80px)}
.sch-title{font-size:var(--h2)}
.sch-track{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,26px);margin-top:34px;position:relative}
.sch-track::before{content:"";position:absolute;top:19px;left:8%;right:8%;height:1px;background:var(--hair)}
.sch-col{position:relative;padding-top:46px}
.sch-col::before{content:"";position:absolute;top:13px;left:0;width:13px;height:13px;background:var(--brass);
  transform:rotate(45deg);box-shadow:0 0 0 5px var(--ink-2)}
.sch-tag{position:absolute;top:0;left:22px;font-family:var(--display);font-weight:700;font-stretch:125%;text-transform:uppercase;
  font-size:12px;letter-spacing:.02em;color:var(--brass)}
.sch-col h4{color:var(--paper);font-weight:700;font-size:15px}
.sch-col ul{list-style:none;margin:12px 0 0;padding:0}
.sch-col li{font-size:13.5px;color:var(--muted);padding:3px 0;border-bottom:1px solid var(--hair-soft)}
.sch-col li b{color:#cfc8ba;font-weight:600}
.sch-foot{margin-top:22px;font-size:12px;letter-spacing:.03em;color:var(--muted-dim);text-transform:uppercase}
@media(max-width:820px){.sch-track{grid-template-columns:1fr;gap:8px}.sch-track::before{display:none}
  .sch-col{padding-top:0;padding-left:26px;border-left:1px solid var(--hair);padding-bottom:26px}
  .sch-col::before{top:4px;left:-7px}.sch-tag{position:static;display:block;margin-bottom:8px}}

/* split standalone sections */
.inaugural{background:var(--ink);padding-block:clamp(34px,6svh,104px)}
.sched-sec{background:var(--ink-2);border-block:1px solid var(--hair-soft)}
#inaugural .season1{margin-top:0;border-top:0;padding-top:0}
#schedule .schedule{margin-top:0}

/* =================== AUDIENCE =================== */
.audience{background:var(--ink)}
.aud-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,84px);align-items:center;margin-top:clamp(34px,5vw,52px)}
.aud-chart{display:flex;flex-direction:column;align-items:center;gap:20px}
.donut{width:min(80vw,360px)}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;width:100%;max-width:360px}
.legend div{display:flex;gap:9px;font-size:13px;color:var(--muted);align-items:flex-start;line-height:1.35}
.legend .sw{width:11px;height:11px;flex:none;margin-top:3px}
.legend b{color:var(--paper);font-weight:600}
.aud-list{display:grid;gap:0}
.aud-row{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--hair-soft);align-items:start}
.aud-row:last-child{border-bottom:1px solid var(--hair-soft)}
.aud-row .mk{width:30px;height:30px;border:1px solid var(--brass);border-radius:50%;display:grid;place-items:center;color:var(--brass);flex:none}
.aud-row .mk svg{width:12px;height:12px}
.aud-row h4{font-family:var(--body);font-weight:700;font-size:16px;color:var(--paper);letter-spacing:.01em}
.aud-row p{color:var(--muted);margin-top:5px;font-size:14.5px;max-width:60ch}
@media(max-width:860px){.aud-grid{grid-template-columns:1fr}}

/* =================== PARTNERSHIPS =================== */
.partners{background:var(--ink-2);position:relative;isolation:isolate;border-block:1px solid var(--hair-soft);overflow:hidden}
.partners::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.42;
  background:url('/img/pattern_monument.webp') center/cover;mix-blend-mode:screen}
.part-head{max-width:64ch}
.part-invite{font-size:var(--h2);margin-top:8px}
.part-invite .g{color:var(--brass)}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);margin-top:clamp(40px,5vw,64px)}
.tier{border:1px solid var(--hair);padding:30px 26px 28px;position:relative;background:rgba(10,9,8,.35);transition:border-color .35s,transform .35s}
.tier:hover{border-color:var(--brass);transform:translateY(-4px)}
.tier .coin{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin-bottom:22px;
  font-family:var(--display);font-weight:800;font-stretch:125%;color:var(--ink);line-height:.9;text-align:center}
.tier .coin .amt{font-size:24px}
.tier .coin .u{font-size:10px;letter-spacing:.02em}
.tier .coin .rn,.addpart .coin .rn{font-size:30px;letter-spacing:0;line-height:1}
.tier.t1 .coin{background:var(--brass)}
.tier.t2 .coin{background:var(--blue)}
.tier.t3 .coin{background:var(--red)}
.tier .role{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;
  font-size:20px;color:var(--cream)}
.tier .persona{color:var(--brass);font-weight:600;font-size:13px;letter-spacing:.02em;margin-top:12px}
.tier .persona span{color:var(--muted);display:block;font-weight:400;letter-spacing:0;margin-top:3px;text-transform:none}
.tier .price{position:absolute;top:30px;right:26px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dim)}
@media(max-width:820px){.tiers{grid-template-columns:1fr}}

.addpart{margin-top:clamp(38px,5vw,58px);border:1px solid var(--hair);padding:clamp(24px,3vw,36px);display:grid;
  grid-template-columns:auto 1fr;gap:clamp(24px,4vw,48px);align-items:center}
.addpart .coin{width:96px;height:96px;border-radius:50%;background:var(--brass);display:grid;place-items:center;flex:none;
  font-family:var(--display);font-weight:800;font-stretch:125%;color:var(--ink);text-align:center;line-height:.9}
.addpart .coin .amt{font-size:30px}
.addpart .coin .u{font-size:11px}
.addpart-body .label{margin-bottom:12px}
.addpart-body p{color:#cfc8ba;font-size:15.5px;line-height:1.7}
.addpart-body p b{color:var(--paper);font-weight:600}
.addpart-body{min-width:0}
.addpart-body .sep{color:var(--brass)}
@media(max-width:640px){.addpart{grid-template-columns:1fr;text-align:center}.addpart .coin{margin-inline:auto}}

/* marketing reach */
.reach{margin-top:clamp(44px,6vw,72px);border-top:1px solid var(--hair);padding-top:clamp(32px,4vw,48px)}
.reach-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,2vw,20px);margin-top:26px}
.stat .fig{font-family:var(--display);font-weight:800;font-stretch:125%;font-size:clamp(26px,3.4vw,42px);color:var(--brass);line-height:1}
.stat .cap{font-size:11.5px;letter-spacing:.06em;color:var(--muted);margin-top:10px;line-height:1.35}
@media(max-width:820px){.reach-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:480px){.reach-grid{grid-template-columns:1fr 1fr}}

/* backed by */
.backed{margin-top:clamp(46px,6vw,74px);border-top:1px solid var(--hair);padding-top:clamp(32px,4vw,48px)}
.backed-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:clamp(26px,4vw,52px);margin-top:26px}
.backed-col .label{margin-bottom:16px}
.backed-col h4{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;
  font-size:19px;color:var(--cream)}
.backed-col p{color:var(--muted);font-size:14px;margin-top:10px;max-width:42ch}
.backed-col p b{color:#cfc8ba;font-weight:600}
.advisors{display:grid;gap:14px}
.advisor{border-top:1px solid var(--hair-soft);padding-top:12px}
.advisor h5{margin:0;font-family:var(--body);font-weight:700;color:var(--paper);font-size:15px}
.advisor p{margin-top:4px;font-size:13px;color:var(--muted);max-width:46ch}
.part-cta{margin-top:clamp(40px,5vw,60px);display:flex;gap:16px;flex-wrap:wrap;align-items:center}
@media(max-width:860px){.backed-grid{grid-template-columns:1fr}}

/* =================== FINAL CTA / FORM =================== */
.final{position:relative;overflow:hidden;background:var(--ink)}
.final-hero{position:relative;padding-block:clamp(80px,12vh,150px);overflow:hidden}
.final-bg{position:absolute;inset:0;z-index:0}
.final-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.5}
.final-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ink) 0%,rgba(10,9,8,.55) 40%,rgba(10,9,8,.75) 100%)}
.final-hero .wrap{position:relative;z-index:2}
.final-eyebrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}
.final-eyebrow .dot{display:inline-block;width:5px;height:5px;background:var(--brass);border-radius:50%;vertical-align:middle}
.final h2{font-size:clamp(38px,10.5vw,150px)}
.final h2 .fl{display:block;white-space:nowrap;line-height:.92}
.final h2 .at{color:var(--brass)}
.final-sub{margin-top:22px;color:#cfc8ba;font-size:clamp(17px,2vw,20px);max-width:52ch}
.final-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}

/* form + contacts */
.engage{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,90px);padding-block:clamp(64px,9vh,120px);border-top:1px solid var(--hair-soft)}
.form-head .label{margin-bottom:14px}
.form-head h3{font-size:var(--h2)}
.form-head p{color:var(--muted);margin-top:12px;max-width:44ch}
form.ei{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/3}
.field label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.field label .req{color:var(--brass)}
.field input,.field select,.field textarea{
  background:var(--ink-2);border:1px solid var(--hair-soft);color:var(--paper);
  font-family:var(--body);font-size:15.5px;padding:14px 15px;border-radius:0;transition:border-color .3s,background .3s}
.field textarea{resize:vertical;min-height:110px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--hair)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brass);background:var(--ink-3);outline:none}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C4A15A' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
.form-actions{grid-column:1/3;display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.form-note{font-size:12.5px;color:var(--muted-dim)}
.form-msg{grid-column:1/3;font-size:14px;padding:14px 16px;border:1px solid var(--brass);color:var(--brass);display:none}
.form-msg.show{display:block}

.contacts{display:flex;flex-direction:column;gap:0}
.contacts .label{margin-bottom:20px}
.contact{border-top:1px solid var(--hair-soft);padding:22px 0}
.contact:last-of-type{border-bottom:1px solid var(--hair-soft)}
.contact h4{font-family:var(--body);font-weight:700;color:var(--paper);font-size:18px}
.contact a{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:15px;margin-top:11px;transition:color .3s}
.contact a:hover{color:var(--brass)}
.contact a svg{width:15px;height:15px;color:var(--brass);flex:none}
.contacts-tail{margin-top:26px}
.contacts-tail a{font-family:var(--display);font-weight:700;font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;
  font-size:clamp(18px,2.4vw,24px);color:var(--paper);transition:color .3s}
.contacts-tail a:hover{color:var(--brass)}
@media(max-width:860px){.engage{grid-template-columns:1fr}form.ei{grid-template-columns:1fr}
  .field.full,.form-actions,.form-msg{grid-column:1/2}}

/* footer */
footer{padding-block:40px;border-top:1px solid var(--hair-soft)}
/* Three columns rather than space-between: with items of unequal width,
   space-between only equalises the gaps, so the middle block drifts off centre
   by half the difference between the brandmark and the copyright. Equal 1fr
   side tracks put the credit line on the page's true centre line instead. The
   outer items are placed explicitly so the middle track stays the middle one
   even when the credit line is blank and only two items render. */
.foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.foot .brandmark{grid-column:1;justify-self:start;font-size:14px}
.foot > .meta:last-child{grid-column:3;justify-self:end}
.foot .meta{font-size:12.5px;color:var(--muted-dim);letter-spacing:.03em;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.foot .meta .dot{width:3px;height:3px;background:var(--brass);transform:rotate(45deg)}
/* Studio credits in the meta line. Underlined on the hairline rather than
   coloured, so they read as links without pulling focus from the copy beside
   them; brass on hover matches every other link on the page. */
.foot .meta a{color:inherit;text-decoration:underline;text-decoration-color:var(--hair-soft);
  text-underline-offset:3px;transition:color .3s,text-decoration-color .3s}
.foot .meta a:hover,.foot .meta a:focus-visible{color:var(--brass);text-decoration-color:var(--brass)}
/* Credit row, under the main footer line. Centred and a step dimmer than
   .meta so it reads as a sign-off rather than a fourth piece of site data.
   The same right-hand nudge as the copyright keeps it clear of the back-to-top
   ring once the two would otherwise overlap. */
.foot-credit{margin-top:18px;padding-top:16px;border-top:1px solid var(--hair-soft);
  font-size:12px;letter-spacing:.03em;color:var(--muted-dim);text-align:center;
  padding-right:max(0px,calc(74px - var(--edge)))}

/* The back-to-top ring sits in the bottom-right corner, which is where this
   row puts the copyright. Nudging just that item aside keeps it clear without
   the footer growing by a single pixel — padding it out to make room made it far
   too tall, and hiding the ring meant it was missing exactly where a way back
   is most useful.

   `max()` so the nudge only applies when the page gutter is narrower than the
   ring needs; on a wide screen --edge already clears it and this is 0. */
.foot > .meta:last-child{padding-right:max(0px,calc(74px - var(--edge)))}

/* Stacked and centred once the three columns no longer fit side by side. */
@media(max-width:860px){
  .foot{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px}
  .foot .brandmark,.foot > .meta:last-child{grid-column:1;justify-self:center}
  .foot .meta{justify-content:center}
}

/* utility */
.pipe{color:var(--brass);padding:0 .35em;font-weight:400}
@media(max-width:400px){ .d{letter-spacing:-.045em} }

/* =================== BACK TO TOP =================== */
/* A hairline brass ring on ink, the same treatment as .btn.ghost and the
   section rules. It sits inside --edge, the same gutter the page content uses,
   so it lines up with the columns rather than floating at an arbitrary inset. */
.ie-fab{
  position:fixed;bottom:16px;z-index:90;
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border:1px solid var(--hair);border-radius:50%;
  color:var(--brass);background:var(--ink-2);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  text-decoration:none;cursor:pointer;padding:0;
  transition:border-color .35s ease,color .35s ease,background .35s ease,transform .2s ease,opacity .35s ease,visibility .35s;
}
.ie-fab svg{width:18px;height:18px;display:block}
.ie-fab:hover,.ie-fab:focus-visible{border-color:var(--brass);color:var(--brass-lite);background:var(--ink-3)}
.ie-fab:active{transform:translateY(1px)}

/* Hidden until there is something to return from. visibility, not display, so
   the fade actually runs and the button leaves the tab order while it is off
   screen. The ring never moves and the footer keeps its height — the footer row
   nudges its copyright clear of it instead. */
.ie-fab-top{right:16px;width:44px;height:44px;opacity:0;visibility:hidden;transform:translateY(12px)}
.ie-fab-top.is-visible{opacity:1;visibility:visible;transform:none}

/* The full-screen menu owns the viewport while it is open. Matched off the menu
   itself, not a body class: this page toggles `.open` on #mobileMenu. The menu
   is z-index 99 against this 90 and covers it anyway; fading stops it showing
   through the slide. */
#mobileMenu.open ~ .ie-fab{opacity:0;visibility:hidden}

@media(max-width:600px){
  .ie-fab-top{width:40px;height:40px}
  .ie-fab svg{width:16px;height:16px}
}

@media(prefers-reduced-motion:reduce){
  /* The lift stays — it is layout, not decoration; only the easing goes. */
  .ie-fab{transition:opacity .01ms,visibility .01ms}
}
