:root{
  --slate:#0f1320;
  --slate-2:#1c2236;
  --olive:#2f5bff;
  --olive-soft:#e6ebff;
  --amber:#2f5bff;
  --blue:#2f5bff;
  --clay:#2f5bff;
  --lilac:#e6ebff;
  --sky:#e6ebff;
  --blush:#e9eaee;
  --focus:#2f5bff;
  --stone:#f4f5f7;
  --white:#fff;
  --ink:#0f1320;
  --muted:#5b6070;
  --line:rgba(15,19,32,.14);
  --r-lg:28px;
  --r-md:18px;
  --wrap:1240px;
  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --body:"Instrument Sans",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);color:var(--ink);background:var(--stone);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}
h1{font-size:clamp(2.6rem,6.4vw,5.6rem)}
h2{font-size:clamp(2.1rem,4.6vw,4rem)}
h3{font-size:1.35rem;line-height:1.15;letter-spacing:-.015em}
p{text-wrap:pretty}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
.band{padding-block:clamp(64px,9vw,128px)}
.lede{font-size:1.15rem;color:var(--muted);max-width:56ch}
.tag{display:inline-block;font-size:.85rem;font-weight:600;padding:5px 12px;border-radius:99px;background:var(--blush);color:#0f1320}
.tag.amber{background:var(--lilac);color:#1b3bd1}
.skip{position:absolute;left:-999px}
.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px 14px;border-radius:8px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

/* pill buttons with rolling label */
.btn{--h:52px;display:inline-flex;align-items:center;height:var(--h);padding:0 26px;border-radius:99px;border:0;cursor:pointer;font:600 1rem var(--body);text-decoration:none;overflow:hidden;background:var(--clay);color:#fff}
.btn span{display:block;position:relative;height:var(--h);line-height:var(--h);white-space:nowrap;transition:transform .35s cubic-bezier(.6,0,.2,1)}
.btn span::after{content:attr(data-t);position:absolute;left:0;top:100%;white-space:nowrap}
.btn:hover span{transform:translateY(-100%)}
.btn.dark{background:var(--slate);color:#fff}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn.sm{--h:44px;padding:0 20px;font-size:.95rem}

/* nav */
.nav{position:fixed;inset:14px 0 auto;z-index:20}
.nav .bar{display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:99px;padding:8px 8px 8px 24px}
.logo{display:flex;align-items:center;gap:9px;font:600 1.3rem var(--display);letter-spacing:-.045em;text-decoration:none}
.logo svg{width:24px;height:24px;color:var(--slate)}
.nav nav{display:flex;gap:26px;margin-left:auto}
.nav nav a{font-size:.95rem;font-weight:500;text-decoration:none;padding:6px 0}
.nav nav a:hover{color:var(--olive)}
@media(max-width:900px){.nav nav{display:none}.nav .btn{margin-left:auto}}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:var(--slate);overflow:hidden;border-radius:0 0 var(--r-lg) var(--r-lg)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,24,.35) 0%,rgba(10,13,24,.15) 35%,rgba(10,13,24,.82) 100%)}
.hero .wrap{position:relative;z-index:1;padding-block:130px 28px}
.hero h1{max-width:15ch}
.hero .sub{max-width:52ch;font-size:1.2rem;margin-top:22px;color:rgba(255,255,255,.9)}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:44px}
.path{display:flex;flex-direction:column;gap:14px;align-items:flex-start;background:rgba(255,255,255,.12);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.22);border-radius:var(--r-md);padding:22px}
.path small{font-size:.95rem;font-weight:500;opacity:.85}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.stat{background:#fff;color:var(--ink);border-radius:var(--r-md);padding:20px 22px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.stat b{font:500 clamp(1.9rem,3.4vw,2.9rem)/1 var(--display);letter-spacing:-.03em}
.stat span{font-size:.95rem;color:var(--muted);line-height:1.3}
@media(max-width:760px){.paths,.stats{grid-template-columns:1fr}}

/* two sides */
.sides h2{margin-bottom:22px;padding-right:20px}
.sides{display:grid;grid-template-columns:1fr 1fr;gap:14px;row-gap:40px}
.side{position:relative;min-height:520px;border-radius:var(--r-lg);overflow:hidden;background:var(--slate-2);color:#fff;display:flex;align-items:flex-end;padding:22px}
.side>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.side::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,24,0) 40%,rgba(10,13,24,.6))}
.voice{position:relative;z-index:1;background:#fff;color:var(--ink);border-radius:var(--r-md);padding:20px 22px;max-width:400px}
.voice p{font:500 1.2rem/1.3 var(--display);letter-spacing:-.01em;margin-top:10px}
.bridge{background:var(--lilac);color:var(--ink);border-radius:var(--r-lg);padding:clamp(28px,5vw,56px);margin-top:14px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.bridge svg{width:64px;height:64px}
.bridge p{font:500 clamp(1.4rem,2.6vw,2.2rem)/1.2 var(--display);letter-spacing:-.02em;max-width:30ch}
.links{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.linkcard{display:block;text-decoration:none;background:#fff;border-radius:var(--r-md);padding:24px;transition:background .2s}
.linkcard:hover{background:var(--olive-soft)}
.linkcard strong{display:block;font:500 1.35rem/1.2 var(--display);margin-top:10px;letter-spacing:-.015em}
@media(max-width:760px){.sides,.links{grid-template-columns:1fr}.side{min-height:420px}.bridge{grid-template-columns:1fr}}

/* beyond capital */
.beyond{background:var(--white);border-radius:var(--r-lg)}
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px);align-items:start}
.split>div:first-child{position:sticky;top:110px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cell{background:var(--stone);border-radius:var(--r-md);padding:24px}
.cell h3{margin:14px 0 8px}
.cell p{color:var(--muted);font-size:1rem}
@media(max-width:900px){.split{grid-template-columns:1fr}.split>div:first-child{position:static}}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}

/* market */
.market{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.market .photo{border-radius:var(--r-lg);overflow:hidden;min-height:420px;background:var(--slate-2)}
.market .photo img{width:100%;height:100%;object-fit:cover}
.figs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
.fig{background:#fff;border-radius:var(--r-md);padding:20px}
.fig b{display:block;font:500 2.2rem/1 var(--display);letter-spacing:-.03em;margin-bottom:8px}
.fig span{font-size:.95rem;color:var(--muted);line-height:1.35;display:block}
@media(max-width:900px){.market{grid-template-columns:1fr}}

/* approach */
.approach{background:var(--slate);color:#fff;border-radius:var(--r-lg)}
.approach .lede{color:rgba(255,255,255,.75)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px;counter-reset:s}
.step{background:var(--slate-2);border-radius:var(--r-md);padding:24px;counter-increment:s}
.step::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--amber);color:var(--ink);font:600 1rem var(--display);margin-bottom:40px}
.step small{color:var(--amber);font-weight:600;font-size:.95rem}
.step h3{margin:6px 0 10px}
.step p{color:rgba(255,255,255,.75);font-size:1rem}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}

/* criteria + structure */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.panel{background:#fff;border-radius:var(--r-lg);padding:clamp(24px,3.5vw,40px)}
.panel.olive{background:var(--olive);color:#fff}
.panel h3{font-size:1.6rem;margin:14px 0 20px}
.panel ul{list-style:none;padding:0}
.panel li{padding:14px 0 14px 30px;border-top:1px solid var(--line);position:relative;font-size:1rem}
.panel.olive li{border-color:rgba(255,255,255,.25)}
.panel li::before{content:"";position:absolute;left:0;top:21px;width:14px;height:8px;border-left:2px solid var(--olive);border-bottom:2px solid var(--olive);transform:rotate(-45deg)}
.panel.olive li::before{border-color:var(--amber)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
@media(max-width:900px){.cols,.three{grid-template-columns:1fr}}

/* seasons */
.seasons{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.season{position:relative;aspect-ratio:3/4;border-radius:var(--r-lg);overflow:hidden;background:var(--slate-2);color:#fff;display:flex;align-items:flex-end;padding:22px}
.season img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.season::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,13,24,.75))}
.season div{position:relative;z-index:1}
.season small{font-size:.95rem;opacity:.85}
.season strong{display:block;font:500 1.6rem/1.1 var(--display);letter-spacing:-.02em}
@media(max-width:760px){.seasons{grid-template-columns:1fr}.season{aspect-ratio:4/3}}

/* team */
.team{background:var(--white);border-radius:var(--r-lg)}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.person{background:var(--stone);border-radius:var(--r-md);padding:24px}
.avatar{width:72px;height:72px;border-radius:50%;background:var(--slate);color:#fff;display:grid;place-items:center;font:500 1.4rem var(--display);object-fit:cover;margin-bottom:22px}
.person h3{margin:10px 0 10px;font-size:1.5rem}
.person p{color:var(--muted);font-size:1rem}
@media(max-width:900px){.people{grid-template-columns:1fr}}

/* partner */
.partner{position:relative;border-radius:var(--r-lg);overflow:hidden;color:#fff;background:var(--slate);padding:clamp(28px,5vw,64px)}
.partner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.partner::after{content:"";position:absolute;inset:0;background:rgba(10,13,24,.62)}
.partner>*:not(img){position:relative;z-index:1}
.partner h2{max-width:14ch}
.partner .lede{color:rgba(255,255,255,.88);margin-top:18px}
.choose{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(40px,8vw,120px)}
.choice{text-align:left;font:inherit;border:0;cursor:pointer;background:#fff;color:var(--ink);border-radius:var(--r-md);padding:24px;display:flex;flex-direction:column;gap:8px;transition:background .2s}
.choice:hover{background:var(--lilac)}
.choice+.choice:hover{background:var(--amber)}
.choice strong{font:500 1.5rem/1.15 var(--display);letter-spacing:-.02em}
.choice span{color:var(--muted);font-size:1rem}
.choice:hover span{color:var(--ink)}
@media(max-width:760px){.choose{grid-template-columns:1fr}}

/* footer */
footer{padding:56px 0 40px;font-size:.95rem;color:var(--muted)}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
.foot a{text-decoration:none;display:block;padding:3px 0;color:var(--ink)}
.foot a:hover{color:var(--olive)}
.legal{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;max-width:90ch}
@media(max-width:760px){.foot{grid-template-columns:1fr}}

/* dialogs */
dialog{border:0;border-radius:var(--r-lg);padding:0;width:min(560px,100% - 28px);margin:auto;color:var(--ink);background:#fff}
dialog::backdrop{background:rgba(10,13,24,.6);backdrop-filter:blur(4px)}
.dlg{padding:clamp(24px,5vw,40px);position:relative}
.dlg h2{font-size:2rem;margin:14px 0 10px}
.dlg>p{color:var(--muted);margin-bottom:22px}
.x{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;border:0;background:var(--stone);cursor:pointer;font-size:1.3rem;line-height:1}
label{display:block;font-size:.95rem;font-weight:500;margin-bottom:14px}
input[type=text],input[type=email],textarea{display:block;width:100%;margin-top:6px;padding:13px 16px;border-radius:12px;border:1.5px solid var(--line);font:inherit;background:var(--stone)}
textarea{min-height:96px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--muted);font-size:.9rem}
.consent input{margin-top:4px}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn span{transition:none}}
.stat:nth-child(2){background:var(--sky)}
.stat:nth-child(3){background:var(--blue);color:#fff}
.stat:nth-child(3) span{color:rgba(255,255,255,.88)}
.stat:nth-child(2) span{color:rgba(15,19,32,.72)}
.fig:nth-child(1){background:var(--sky)}
.fig:nth-child(4){background:var(--slate);color:#fff}
.fig:nth-child(1) span{color:rgba(15,19,32,.72)}
.fig:nth-child(4) span{color:rgba(255,255,255,.8)}
.linkcard:hover,.choice:hover,.choice+.choice:hover{background:var(--sky)}
.person .avatar{color:#fff}
.person:nth-child(1) .avatar{background:var(--blue)}
.person:nth-child(2) .avatar{background:var(--slate)}
.person:nth-child(3) .avatar{background:var(--sky);color:var(--blue)}
.bridge{background:var(--blue);color:#fff}
.bridge svg{color:#fff}
.approach .step::before{background:var(--blue);color:#fff}
.approach .step small{color:#9db1ff}
.panel.olive{background:var(--slate)}
.panel.olive li::before{border-color:#9db1ff}
.btn.dark:hover,.btn:hover{filter:brightness(1.08)}
.person img.avatar{width:104px;height:104px;object-position:50% 20%}

.first.band{padding-top:clamp(130px,14vw,180px)}
h1.h2{font-size:clamp(2.1rem,4.6vw,4rem)}
.nav nav a[aria-current]{color:var(--blue)}
.menu{display:none}
@media(max-width:900px){
  .nav .bar{flex-wrap:wrap;gap:10px;border-radius:28px}
  .menu{display:inline-flex;align-items:center;height:44px;padding:0 16px;border-radius:99px;border:0;background:var(--stone);font:600 .95rem var(--body);color:var(--ink);cursor:pointer;margin-left:auto}
  .nav .btn{margin-left:0}
  .nav nav{order:9;width:100%;margin:0;flex-direction:column;gap:0;padding:4px 8px 10px}
  .nav nav.open{display:flex}
  .nav nav a{padding:12px 6px;font-size:1.05rem;border-top:1px solid var(--line)}
}
.m-only{display:none}
@media(max-width:560px){.nav .bar>.btn{display:none}.nav nav .m-only{display:block}}
