@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 500;font-display:swap;src:url('fonts/SpaceGrotesk-300.woff2') format('woff2')}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:300 500;font-display:swap;src:url('fonts/AlbertSans-400.woff2') format('woff2')}
@font-face{font-family:'Spline Sans Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/SplineSansMono-400.woff2') format('woff2')}

:root{
  --canvas:#16182B; --canvas-deep:#10121f; --panel:#2A2D3F; --panel-soft:rgba(42,45,63,.55);
  --accent:#C9A96A; --accent-hover:#DCC088; --accent-muted:rgba(201,169,106,.28);
  --t1:#EDEAF2; --t2:#8E8FA3;
  --advisory:#2FD3A0; --fund:#5B8DEF; --labs:#9a6cff;
  --line:rgba(237,234,242,.16); --line-strong:rgba(237,234,242,.52);
  --ease:cubic-bezier(.22,.7,.1,1); --ease2:cubic-bezier(.4,0,.1,1);
  --tshadow:0 1px 2px rgba(8,9,20,.95),0 0 14px rgba(8,9,20,.72),0 0 36px rgba(8,9,20,.78),0 6px 64px rgba(8,9,20,.85);
  --pad:clamp(20px,5vw,64px);
  --display:'Space Grotesk',system-ui,sans-serif; --body:'Albert Sans',system-ui,sans-serif; --mono:'Spline Sans Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;background:var(--canvas);-webkit-text-size-adjust:100%}
body{overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--t1);font-family:var(--body);font-weight:300;font-size:clamp(1rem,1.1vw,1.125rem);line-height:1.65;-webkit-font-smoothing:antialiased;opacity:0;transition:opacity 1s var(--ease2)}
body.ready{opacity:1}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--accent);color:var(--on-accent,#16182B);padding:.7rem 1rem;font-weight:500;transition:top .2s var(--ease)}
.skip:focus{top:12px}
.wrap{width:min(1200px,100% - 2*var(--pad));margin-inline:auto}
.kicker{font-family:var(--mono);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
h1.title,h2.title{font-family:var(--display);font-weight:300;font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.04;letter-spacing:-.025em;margin-top:1rem}
.lede{color:var(--t1);max-width:56ch;margin-top:1.4rem}
.muted{color:var(--t2)}

/* one environment: fixed layer behind everything */
.env{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--canvas)}
.env i{position:absolute;width:90vmax;height:90vmax;border-radius:50%;opacity:.5;will-change:transform}
.env i:nth-child(1){left:-30vmax;top:-40vmax;background:radial-gradient(closest-side,rgba(154,108,255,.16),transparent);animation:drift1 120s ease-in-out infinite alternate}
.env i:nth-child(2){right:-35vmax;bottom:-45vmax;background:radial-gradient(closest-side,rgba(201,169,106,.12),transparent);animation:drift2 140s ease-in-out infinite alternate}
.env::after{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 12% 18%,rgba(237,234,242,.55),transparent),radial-gradient(1px 1px at 78% 8%,rgba(237,234,242,.4),transparent),radial-gradient(1px 1px at 44% 62%,rgba(237,234,242,.35),transparent),radial-gradient(1px 1px at 91% 74%,rgba(237,234,242,.45),transparent),radial-gradient(1px 1px at 27% 88%,rgba(237,234,242,.3),transparent),radial-gradient(1px 1px at 63% 36%,rgba(237,234,242,.3),transparent);opacity:.6}
@keyframes drift1{to{transform:translate3d(14vmax,10vmax,0)}}
@keyframes drift2{to{transform:translate3d(-12vmax,-8vmax,0)}}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(14px,2vw,22px) var(--pad);background:linear-gradient(180deg,rgba(16,18,31,.78),rgba(16,18,31,0));transition:background .5s var(--ease2),backdrop-filter .5s var(--ease2)}
.nav.solid{background:rgba(16,18,31,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav .mark{display:block;height:clamp(18px,1.9vw,26px);width:auto;text-decoration:none}
.nav .mark img{height:100%;width:auto}
.nav ul{display:flex;gap:clamp(14px,2.2vw,34px);list-style:none}
.nav ul a{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--t1);opacity:.82;padding:.5rem 0;transition:opacity .3s var(--ease2),color .3s var(--ease2)}
.nav ul a:hover{opacity:1;color:var(--accent)}
.nav .cta{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--accent);border:1px solid var(--accent);padding:.65rem 1rem;transition:background .3s var(--ease2),color .3s var(--ease2)}
.nav .cta:hover{background:var(--accent);color:var(--on-accent,#16182B)}
@media(max-width:900px){.nav ul{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--accent);color:var(--on-accent,#16182B);font:500 .95rem/1 var(--body);letter-spacing:.03em;text-decoration:none;padding:1.05rem 1.7rem;border:0;border-radius:10px;cursor:pointer;transition:background .3s var(--ease2),transform .3s var(--ease)}
.btn:hover{background:var(--accent-hover);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--t1);border:1px solid var(--line-strong)}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent);background:transparent}
@media(pointer:coarse){.btn,.cities button,.nav .cta{min-height:44px}}

/* HERO */
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--canvas-deep)}
.stage .poster{position:absolute;inset:0;background:center/cover no-repeat}
.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s var(--ease2);will-change:transform;transform:translate3d(.57%,0,0) scale(1.012)}
.stage.video-ready video{opacity:1}
.stage.video-failed video{display:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(10,11,22,0) 38%,rgba(10,11,22,.6) 100%),linear-gradient(180deg,rgba(10,11,22,.5),rgba(10,11,22,0) 22%)}
.ring{position:absolute;left:50%;bottom:calc(8vh + 44px);width:34px;height:34px;margin-left:-17px;color:var(--accent);transform:rotate(-90deg);opacity:.9;transition:opacity .6s var(--ease2);pointer-events:none}
.ring circle{transition:stroke-dashoffset .12s linear}
.stage.video-ready .ring{opacity:0}
.cue{position:absolute;left:50%;bottom:4.5vh;transform:translateX(-50%);font-family:var(--mono);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--t1);display:flex;flex-direction:column;align-items:center;gap:.6rem;transition:opacity .6s var(--ease2);text-shadow:var(--tshadow)}
.cue::after{content:"";width:1px;height:34px;background:linear-gradient(var(--accent),transparent);animation:cue 2.6s var(--ease2) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.stage.scrolled .cue{opacity:0}
.flightctl{position:absolute;right:clamp(24px,6vw,96px);bottom:5vh;z-index:3;display:flex;gap:.6rem;transition:opacity .5s var(--ease2)}
.chipbtn{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--t1);text-decoration:none;padding:.6rem .9rem;background:rgba(10,11,22,.55);border:1px solid rgba(237,234,242,.24);border-radius:10px;cursor:pointer;transition:border-color .3s var(--ease2),color .3s var(--ease2)}
.chipbtn:hover,.chipbtn[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.stage:not(.video-ready) #playflight{display:none}
.stage.ending .flightctl{opacity:0;pointer-events:none}

.bands{position:absolute;inset:0;pointer-events:none}
.band{position:absolute;right:clamp(24px,6vw,96px);bottom:14vh;max-width:min(780px,88vw);text-align:right;opacity:0;text-shadow:var(--tshadow);will-change:opacity}
.band.on{pointer-events:auto}
.band::before{content:"";position:absolute;inset:-64% -54%;z-index:-1;pointer-events:none;opacity:min(1,calc(.45 + 1.4*var(--k,1)));background:radial-gradient(ellipse closest-side at 50% 50%,rgba(10,11,22,calc(var(--s,.72))) 0%,rgba(10,11,22,calc(var(--s,.72)*.9)) 25%,rgba(10,11,22,calc(var(--s,.72)*.68)) 45%,rgba(10,11,22,calc(var(--s,.72)*.42)) 62%,rgba(10,11,22,calc(var(--s,.72)*.2)) 78%,rgba(10,11,22,calc(var(--s,.72)*.06)) 90%,rgba(10,11,22,0) 100%)}
.hl{font-family:var(--display);font-weight:300;font-size:clamp(2.7rem,7.4vw,6.8rem);line-height:.98;letter-spacing:-.035em;color:var(--t1)}
.hl.md{font-size:clamp(2.2rem,5.2vw,4.8rem)}
.hl.sm{font-size:clamp(1.9rem,3.5vw,3.3rem);line-height:1.08}
.hl.stack .w{display:block}
.band .city{font-family:var(--mono);font-size:clamp(.74rem,.95vw,.92rem);letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem;opacity:clamp(0,var(--k,0)*3,1)}
.band .hl.sm{max-width:17ch;margin-left:auto}
.band.pos-tl .hl.sm{margin-left:0;margin-right:auto}
.band-settle .hl{max-width:none}
.band .sub{font-size:clamp(1rem,1.5vw,1.35rem);max-width:30ch;margin:1.1rem 0 0 auto;color:var(--t1)}
.band .hl em{font-style:normal;color:var(--accent)}
.vis{display:block}
.w{display:inline-block;white-space:pre}
.c{display:inline-block}
/* entrances: transform and opacity only, scrubbed by --k */
.fx-rise .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*34px))}
.fx-drift .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-28px))}
.fx-approach .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:scale(calc(.8 + .2*var(--kc)))}
.fx-punch .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);--ks:clamp(0,(var(--k,0) - var(--th,0) - .12)*3.2,1);opacity:var(--kc);transform:scale(calc(.6 + .52*var(--kc) - .12*var(--ks)))}
.fx-scatter .c{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translate(calc((1 - var(--kc))*var(--jx,0px)),calc((1 - var(--kc))*var(--jy,0px))) rotate(calc((1 - var(--kc))*var(--jr,0deg)))}
.fx-weave .c{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*var(--jy,0px)))}
.fx-blur .vis.soft{position:absolute;inset:0;filter:blur(10px);opacity:calc(1 - var(--k,0))}
.fx-blur .vis.sharp{opacity:var(--k,0)}
.fx-blur .stackbox{position:relative;display:inline-block}
.fx-ignite .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3.2,1);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*40px));color:color-mix(in srgb,var(--accent) calc((1 - var(--kc))*100%),var(--t1))}
.band .after{opacity:clamp(0,(var(--k,0) - .62)*4,1);--kb:clamp(0,(var(--k,0) - .78)*5,1)}
.band.pos-tr{top:17vh;bottom:auto}
.band.pos-tl{top:17vh;bottom:auto;right:auto;left:clamp(56px,7vw,110px);text-align:left}
.band.pos-tl .sub{margin:1.1rem auto 0 0}
.hl,.band .sub,.lede,.title{text-wrap:balance}
.band-settle{left:50%;right:auto;bottom:12vh;transform:translateX(-50%);text-align:center;width:min(900px,90vw);max-width:none}
.band-settle::before{background:radial-gradient(ellipse closest-side at 50% 52%,rgba(10,11,22,.72) 0%,rgba(10,11,22,.44) 55%,rgba(10,11,22,0) 100%);inset:-34% -16% -24% -16%}
.band-settle .vmark{width:clamp(34px,4vw,54px);aspect-ratio:703/781;margin:0 auto 1.4rem;background:var(--t1);-webkit-mask:url(v-mark.png) center/contain no-repeat;mask:url(v-mark.png) center/contain no-repeat;opacity:var(--kc0,1)}
.band-settle .hl{font-size:clamp(2.1rem,4.9vw,4.5rem);line-height:1.04}
.band-settle .sub{margin:1.2rem auto 0;max-width:44ch}
.band-settle .after{margin-top:1.8rem;opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}
.band-settle .btn{text-shadow:none}
.band .btn{text-shadow:none}

/* HUD + route rail */
.hud{position:absolute;left:clamp(24px,6vw,96px);bottom:7vh;display:flex;align-items:baseline;gap:.8rem;padding:.6rem .9rem;background:rgba(10,11,22,.55);border:1px solid rgba(237,234,242,.24);border-radius:10px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 3px rgba(10,11,22,.85);opacity:0;transition:opacity .5s var(--ease2)}
.hud.on{opacity:1}
.hud b{font-weight:400;color:var(--t1)}
.hud span{color:var(--accent)}
.rail{position:absolute;left:clamp(14px,2.2vw,34px);top:20vh;height:58vh;width:14px;list-style:none;pointer-events:none}
.rail::before{content:"";position:absolute;left:6px;top:0;bottom:0;width:1px;background:rgba(237,234,242,.28)}
.rail .fill{position:absolute;left:6px;top:0;bottom:0;width:1px;background:var(--accent);transform-origin:top;transform:scaleY(var(--p,0));box-shadow:0 0 10px var(--accent-muted)}
.rail li{position:absolute;left:3px;top:calc(var(--pos)*100%);width:7px;height:7px;margin-top:-3px;border-radius:50%;background:var(--canvas);border:1px solid rgba(237,234,242,.5);transition:background .5s var(--ease2),border-color .5s var(--ease2),transform .5s var(--ease)}
.rail li.lit{background:var(--accent);border-color:var(--accent);transform:scale(1.25)}
.stage.scrolled .rail{opacity:1}
@media(max-height:560px){.hud,.cue,.rail,.flightctl{display:none}}

/* Static hero gate: five conditions, identical to the JS GATES list */
@media (max-width:720px), (orientation:portrait) and (max-width:1024px), (orientation:portrait) and (pointer:coarse), (orientation:landscape) and (pointer:coarse) and (max-height:560px), (prefers-reduced-motion:reduce){
  .hero{height:auto}
  .stage{position:relative;min-height:100vh;min-height:100svh;display:grid;align-items:end;background:#10121f url(hero-static.jpg) 50% 29.69%/cover no-repeat}
  .stage video,.stage .poster,.ring,.hud,.rail,.cue,.flightctl{display:none}
  .vesper{left:50%;top:29.69%;opacity:1}
  .vesper .v{display:block}
  .band-settle .vmark{display:none!important}
  .band:not(.band-settle){display:none}
  .band-settle{position:relative;left:auto;bottom:auto;transform:none;opacity:1!important;margin:0 auto;padding:48vh 0 9vh;padding:48svh 0 9svh;width:min(900px,100% - 2*var(--pad))}
  .band-settle::before{opacity:1}
  .band-settle .after,.band-settle .vmark{opacity:1;transform:none}
  .band-settle .w,.band-settle .c{opacity:1!important;transform:none!important}
}

/* sections */
section{position:relative}
.sec{padding:clamp(80px,12vw,168px) 0}
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--i,0)*110ms)}
.reveal.in{opacity:1;transform:none}
.reveal.in.done{transition-delay:0ms}

/* 1 vision: split, large V */
.vision{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,96px);align-items:center}
.vision .big{position:relative;aspect-ratio:1;display:grid;place-items:center}
.vision .big::before{content:none}
.vision .big .v{position:relative;width:46%;aspect-ratio:703/781;background:linear-gradient(180deg,var(--t1),#b9b6c6);-webkit-mask:url(v-mark.png) center/contain no-repeat;mask:url(v-mark.png) center/contain no-repeat}
@keyframes breathe{from{opacity:.45;transform:scale(.94)}to{opacity:1;transform:scale(1.04)}}
@media(max-width:820px){.vision{grid-template-columns:1fr}.vision .big{max-width:320px;margin:0 auto;order:-1}}

/* 2 houses: card wall */
.houses-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,64px)}
.wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.card{--accent-v:var(--advisory);position:relative;padding:clamp(26px,3vw,40px);min-height:420px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,rgba(42,45,63,.62),rgba(42,45,63,.34));border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .6s var(--ease),border-color .4s var(--ease2)}
.card:hover{transform:translateY(-6px);border-color:var(--line-strong)}
/* the three cards line up whatever the length of their text: mark, number, title and text start at the same height, the link sits on the bottom edge */
.card{justify-content:flex-start}.card>div:last-child{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:clamp(30px,3.4vw,52px)}.card>div:last-child p{margin-bottom:1.3rem}.card .go{margin-top:auto}
.card{--accent-v:#3da98b}.card.fund{--accent-v:#5f84c8}.card.pm{--accent-v:var(--accent)}
.card .halo{position:absolute;left:50%;top:34%;width:78%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent-v) 42%,#16182B),transparent 72%);opacity:.22}
.card::before{content:"";position:absolute;left:clamp(26px,3vw,40px);top:0;width:44px;height:2px;background:var(--accent-v);opacity:.85}
.card .go{display:inline-block;position:relative;margin-top:1.3rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--t1);padding-bottom:.35rem;border-bottom:1px solid var(--accent)}
.card .go::after{content:"\2192";margin-left:.7em;color:var(--accent)}
.card .v{position:relative;align-self:center;margin-top:clamp(18px,3vw,40px);width:clamp(48px,6vw,78px);aspect-ratio:703/781;background:var(--t1);-webkit-mask:url(v-mark.png) center/contain no-repeat;mask:url(v-mark.png) center/contain no-repeat}
.card h3{position:relative;font-family:var(--display);font-weight:300;font-size:clamp(1.7rem,2.4vw,2.3rem);letter-spacing:-.02em;color:var(--t1)}
.card h3 small{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}
.card p{position:relative;margin-top:.8rem;color:var(--t1);max-width:30ch}
@media(max-width:900px){.wall{grid-template-columns:1fr}.card{min-height:300px}}

/* 3 map: full width, readout overlay */
.mapsec{padding-bottom:clamp(60px,8vw,110px)}
.maphead{max-width:760px}
.mapbox{position:relative;margin-top:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(16,18,31,.7),rgba(24,26,45,.7));overflow:hidden}
.mapbox svg{display:block;width:100%;height:auto}
.mapbox .grat{stroke:rgba(237,234,242,.1);stroke-width:.6;fill:none}
.mapbox .eq{stroke:rgba(237,234,242,.2);stroke-dasharray:3 5}
.mapbox .land{fill:none;stroke:rgba(237,234,242,.58);stroke-width:1.9;stroke-linecap:round}
.mapbox .night{fill:rgba(10,11,22,.62)}
.mapbox .dusk{fill:none;stroke:var(--accent);stroke-width:1.1;opacity:.75}
.mapbox .arc{fill:none;stroke:var(--accent);stroke-width:1;opacity:.5;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s var(--ease),opacity .4s var(--ease2),stroke-width .4s var(--ease2);transition-delay:calc(var(--i,0)*110ms)}
.mapbox.in .arc{stroke-dashoffset:0}
.mapbox .arc.act{opacity:1;stroke-width:1.9;transition-delay:0ms}
.mapbox .node{fill:var(--t1)}
.mapbox .node.hub{fill:var(--accent)}
.mapbox .pulse{fill:none;stroke:var(--accent);stroke-width:1;opacity:0}
.mapbox .hit{fill:transparent;cursor:pointer}
.mapbox .gl{fill:var(--accent);opacity:0;transition:opacity .6s var(--ease2)}
.mapbox .gl.vesper{opacity:.28}
.mapbox .act-ring{fill:none;stroke:var(--accent);stroke-width:1.2;opacity:0;transition:opacity .3s}
.mapbox .act-ring.on{opacity:1}
.mapbox .tag{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;fill:var(--t1);text-transform:uppercase;opacity:0;transition:opacity .3s var(--ease2);pointer-events:none}
.mapbox .tag.on{opacity:1}
.readout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2rem;align-items:end;padding:clamp(18px,2.4vw,30px);border-top:1px solid var(--line)}
.readout .r-name{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:-.02em;line-height:1.05}
.readout .r-state{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:.5rem}
.readout .r-time{font-family:var(--display);font-weight:300;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.02em;color:var(--t1);font-variant-numeric:tabular-nums}
.cities{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0 clamp(18px,2.4vw,30px) clamp(18px,2.4vw,30px)}
.cities button{font:400 .7rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t1);background:transparent;border:1px solid var(--line-strong);padding:.7rem .9rem;cursor:pointer;transition:background .3s var(--ease2),color .3s var(--ease2),border-color .3s var(--ease2)}
.cities button:hover{border-color:var(--accent);color:var(--accent)}
.cities button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent,#16182B);border-color:var(--accent)}
.maplegend{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:1rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t2)}
.maplegend i{display:inline-block;width:18px;height:0;border-top:1.5px solid var(--accent);vertical-align:middle;margin-right:.6rem}

/* 4 who: ruled rows */
.who{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,90px)}
.rows{list-style:none;border-top:1px solid var(--line)}
.rows li{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:1.5rem;align-items:baseline;padding:clamp(20px,2.4vw,32px) 0;border-bottom:1px solid var(--line);transition:padding-left .5s var(--ease)}
.rows li:hover{padding-left:12px}
.rows h3{font-family:var(--display);font-weight:300;font-size:clamp(1.3rem,2vw,1.8rem);letter-spacing:-.015em}
.rows p{color:var(--t1)}
@media(max-width:820px){.who{grid-template-columns:1fr}.rows li{grid-template-columns:1fr;gap:.4rem}}

/* 5 how: three staged steps with images */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,34px);margin-top:clamp(36px,5vw,64px);counter-reset:s}
.step{counter-increment:s}
.step .ph{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:14px;background:var(--panel)}
.step .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.6s var(--ease)}
.step:hover .ph img{transform:scale(1.1)}
.step .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,18,31,0) 50%,rgba(16,18,31,.7))}
.step h3{margin-top:1.2rem;font-family:var(--display);font-weight:300;font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:-.02em}
.step h3::before{content:"0" counter(s);display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;color:var(--accent);margin-bottom:.5rem}
.step p{margin-top:.6rem;color:var(--t1);max-width:34ch}
@media(max-width:860px){.steps{grid-template-columns:1fr}.step .ph{aspect-ratio:16/10}}

/* 6 sardinia glimpse: full bleed */
.glimpse{position:relative;min-height:min(80vh,720px);display:grid;align-items:end;overflow:hidden}
.glimpse img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.glimpse::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,24,43,.9),rgba(22,24,43,0) 24%,rgba(22,24,43,0) 56%,rgba(22,24,43,.85))}
.glimpse p{position:relative;z-index:1;z-index:2;font-family:var(--display);font-weight:300;font-size:clamp(1.8rem,4vw,3.4rem);letter-spacing:-.025em;padding:0 var(--pad) clamp(40px,6vw,80px);max-width:22ch;text-shadow:var(--tshadow)}

/* 7 portfolio + team placeholders */
.twin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.panel{padding:clamp(26px,3vw,44px);border:1px solid var(--line);border-radius:18px;background:var(--panel-soft)}
.panel h3{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,2.4vw,2.2rem);letter-spacing:-.02em}
.panel p{margin-top:.8rem;color:var(--t2);max-width:40ch}
.tbc{display:inline-block;margin-top:1.6rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border:1px dashed var(--accent-muted);padding:.5rem .7rem}
@media(max-width:760px){.twin{grid-template-columns:1fr}}

/* 8 beyond: one centred line */
.beyond{text-align:center;padding:clamp(70px,10vw,140px) 0}
.beyond .line{width:1px;height:70px;margin:0 auto 2rem;background:linear-gradient(var(--accent),transparent)}
.beyond p.big{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,3.2vw,2.8rem);letter-spacing:-.02em;max-width:24ch;margin:1rem auto 0}

/* 9 faq */
.faq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(30px,6vw,90px)}
details{border-bottom:1px solid var(--line);padding:1.2rem 0}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;font-family:var(--display);font-weight:300;font-size:clamp(1.15rem,1.7vw,1.5rem);letter-spacing:-.01em;padding:.2rem 0}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--mono);color:var(--accent);transition:transform .4s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:.8rem;color:var(--t1);max-width:62ch}
@media(max-width:820px){.faq{grid-template-columns:1fr}}

/* 10 request */
.request{text-align:center}
.request .card2{max-width:760px;margin:clamp(30px,4vw,48px) auto 0;padding:clamp(26px,4vw,52px);text-align:left;border:1px solid var(--line);border-radius:18px;background:var(--panel-soft)}
.request .big{font-family:var(--display);font-weight:300;font-size:clamp(2.2rem,5.2vw,4.6rem);letter-spacing:-.03em;line-height:1.02;margin-top:1rem}
.f{display:grid;gap:1.1rem}
.f .row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.f label{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t2);margin-bottom:.45rem}
.f input,.f select,.f textarea{width:100%;font:300 1rem/1.4 var(--body);color:var(--t1);background:rgba(16,18,31,.6);border:1px solid var(--line-strong);border-radius:10px;padding:.9rem 1rem;transition:border-color .3s var(--ease2),background .3s var(--ease2)}
.f select option{background:#16182B;color:#EDEAF2}
.f textarea{min-height:130px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--accent);background:rgba(16,18,31,.85)}
.f .actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.f .note{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t2)}
.thanks{display:none;text-align:center;padding:1.5rem 0}
.thanks.on{display:block;animation:fadein 1s var(--ease) both}
.thanks h3{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.02em}
@keyframes fadein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:600px){.f .row2{grid-template-columns:1fr}}

/* footer */
footer{border-top:1px solid var(--line);padding:clamp(40px,6vw,80px) 0 40px;background:rgba(10,11,22,.5)}
.foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem 3rem;align-items:start}
.foot .wm{height:clamp(20px,2.2vw,30px);width:auto}
.foot ul{display:flex;gap:1.6rem;flex-wrap:wrap;list-style:none}
.foot ul a{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--t1);opacity:.85}
.foot ul a:hover{color:var(--accent);opacity:1}
.copy{grid-column:1/-1;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t2)}
@media(max-width:700px){.foot{grid-template-columns:1fr}}


/* live-structure sections */
.goal{margin-top:clamp(40px,6vw,80px);padding-top:clamp(28px,4vw,48px);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:2rem 4rem;align-items:end}
.goal p{font-family:var(--display);font-weight:300;font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.25;letter-spacing:-.015em}
@media(max-width:820px){.goal{grid-template-columns:1fr}}
a.card{text-decoration:none;color:inherit}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(28px,4vw,48px)}
.pa{padding:clamp(26px,3vw,44px);border:1px solid var(--line);border-radius:18px;background:var(--panel-soft)}
.pa h3{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,2.4vw,2.2rem);letter-spacing:-.02em;display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.pa h3 small{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--advisory)}
.pa p{margin-top:1rem;color:var(--t1)}
.pa .bh{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:1.8rem}
.pa ul{list-style:none;margin-top:.8rem}
.pa li{position:relative;padding:.7rem 0 .7rem 1.6rem;border-top:1px solid var(--line);color:var(--t1)}
.pa li::before{content:"";position:absolute;left:0;top:1.25rem;width:.7rem;height:1px;background:var(--accent)}
@media(max-width:860px){.duo{grid-template-columns:1fr}}
.platform{margin-top:clamp(28px,4vw,48px);padding:clamp(28px,4vw,56px);border-radius:18px;background:linear-gradient(120deg,rgba(201,169,106,.14),rgba(154,108,255,.1));border:1px solid var(--accent-muted)}
.platform .pl-text{font-family:var(--display);font-weight:300;font-size:clamp(1.3rem,2.4vw,2.1rem);line-height:1.25;letter-spacing:-.015em;margin-top:1rem;max-width:34ch}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:clamp(28px,4vw,48px);border-top:1px solid var(--line)}
.trio article{padding:clamp(22px,2.6vw,38px) clamp(18px,2.4vw,34px) clamp(22px,2.6vw,38px) 0;border-right:1px solid var(--line);margin-right:clamp(18px,2.4vw,34px)}
.trio article:last-child{border-right:0;margin-right:0}
.trio h3{font-family:var(--display);font-weight:300;font-size:clamp(1.25rem,1.8vw,1.6rem);letter-spacing:-.015em;line-height:1.15}
.trio p{margin-top:.9rem;color:var(--t1);font-size:.97em}
@media(max-width:860px){.trio{grid-template-columns:1fr}.trio article{border-right:0;border-bottom:1px solid var(--line);margin-right:0;padding-right:0}.trio article:last-child{border-bottom:0}}
.chal{margin-top:clamp(50px,7vw,100px)}
.chal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:1.2rem}
.chal h3{font-family:var(--display);font-weight:300;font-size:clamp(1.4rem,2.2vw,1.9rem);letter-spacing:-.02em}
.chal ul{list-style:none;margin-top:.8rem}
.chal li{padding:.8rem 0;border-top:1px solid var(--line);color:var(--t1)}
@media(max-width:760px){.chal-grid{grid-template-columns:1fr}}
.approach{margin-top:clamp(50px,7vw,100px);display:grid;gap:1.4rem;justify-items:start}
.approach .ap-text{font-family:var(--display);font-weight:300;font-size:clamp(1.4rem,2.8vw,2.4rem);line-height:1.2;letter-spacing:-.02em;max-width:30ch}
.pillars-k{margin-top:clamp(60px,8vw,110px)}
.sub-k{margin-top:clamp(30px,4vw,52px)}
.sectors{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.4vw,18px);margin-top:1.2rem}
.sectors li{position:relative;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(16px,1.8vw,24px);border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,rgba(42,45,63,.7),rgba(42,45,63,.25));font-family:var(--display);font-weight:300;font-size:clamp(1.15rem,1.7vw,1.6rem);letter-spacing:-.015em;line-height:1.12;transition:border-color .4s var(--ease2),transform .6s var(--ease)}
.sectors li:hover{border-color:var(--accent);transform:translateY(-4px)}
.sectors li span{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--accent)}
@media(max-width:960px){.sectors{grid-template-columns:repeat(2,minmax(0,1fr))}.sectors li:last-child{grid-column:1/-1}}
.art{margin-top:clamp(40px,6vw,80px);overflow:hidden}
.art .kicker{margin-bottom:1.2rem}
.marq{overflow:hidden;border-block:1px solid var(--line);padding:clamp(18px,2.4vw,34px) 0;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq .track{display:flex;gap:clamp(34px,5vw,80px);width:max-content;animation:marq 80s linear infinite;will-change:transform}
.marq span{font-family:var(--display);font-weight:300;font-size:clamp(1.8rem,4.2vw,3.6rem);letter-spacing:-.025em;white-space:nowrap;color:var(--t1);opacity:.88}
.marq span:nth-child(3n){color:var(--accent)}
@keyframes marq{to{transform:translate3d(-50%,0,0)}}
.tagline{font-family:var(--display);font-weight:300;font-size:clamp(1.2rem,2.2vw,1.9rem);letter-spacing:-.01em;color:var(--accent);margin-top:1rem}
.fund-top{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(30px,6vw,90px);margin-top:clamp(32px,5vw,64px);align-items:start}
.aum{position:sticky;top:110px;display:flex;flex-direction:column;gap:.6rem}
.aum .num{display:inline-block;align-self:flex-start;white-space:nowrap;width:max-content;padding-right:.12em;font-family:var(--display);font-weight:300;font-size:clamp(3.6rem,8.4vw,7.4rem);line-height:.9;letter-spacing:-.05em;background:linear-gradient(180deg,var(--t1),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.aum .lab{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--t2)}
.fund-copy p{color:var(--t1)}
.fund-copy p+p{margin-top:1.2rem}
@media(max-width:860px){.fund-top{grid-template-columns:1fr}.aum{position:static}}
.fund-top.solo{grid-template-columns:1fr;gap:1.4rem}
.fund-top.solo .aum{position:static}
.fund-top.solo .fund-copy{columns:2;column-gap:clamp(30px,6vw,90px)}
.fund-top.solo .fund-copy p{break-inside:avoid}
@media(max-width:860px){.fund-top.solo .fund-copy{columns:1}}
.pill6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:clamp(40px,6vw,80px)}
.pill6 article{padding:clamp(22px,2.4vw,34px);border:1px solid var(--line);border-radius:14px;background:var(--panel-soft);transition:border-color .4s var(--ease2),transform .6s var(--ease)}
.pill6 article:hover{border-color:var(--accent);transform:translateY(-4px)}
.pill6 h3{font-family:var(--display);font-weight:300;font-size:clamp(1.2rem,1.7vw,1.5rem);letter-spacing:-.015em;display:flex;flex-direction:column;gap:.7rem}
.pill6 h3 span{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--accent)}
.pill6 p{margin-top:.9rem;color:var(--t1);font-size:.96em}
@media(max-width:960px){.pill6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pill6{grid-template-columns:1fr}}
.fund-cta{margin-top:clamp(36px,5vw,64px);display:grid;gap:.8rem;justify-items:start}
.fund-cta p:first-child{font-family:var(--display);font-weight:300;font-size:clamp(1.3rem,2.4vw,2rem);letter-spacing:-.015em;max-width:36ch;line-height:1.2}
.fund-cta .btn{margin-top:.6rem}
.people{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.8vw,24px);margin-top:clamp(32px,5vw,64px)}
.person{position:relative}
.person img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:14px;filter:none;transition:filter .6s var(--ease2),transform 1.2s var(--ease)}
.person:hover img{transform:scale(1.03)}
.person{overflow:hidden}
.person div{padding:.9rem 0 0}
.person h3{font-family:var(--display);font-weight:400;font-size:clamp(1rem,1.4vw,1.2rem);letter-spacing:-.01em}
.person h3 a{color:inherit;text-decoration:none;display:inline-flex;align-items:baseline;gap:.5rem;transition:color .3s var(--ease2)}
.person h3 a:hover{color:var(--accent)}
.person .li{font-family:var(--body);font-weight:500;font-size:.62em;line-height:1;padding:.22em .34em;border:1px solid var(--line-strong);border-radius:10px;color:var(--t2);transition:color .3s var(--ease2),border-color .3s var(--ease2)}
.person h3 a:hover .li{color:var(--accent);border-color:var(--accent)}
.person .ai-tile{position:relative;width:100%;aspect-ratio:4/5;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#3a3d52,#22243a);border:1px solid var(--line)}
.person .ai-tile .halo{position:absolute;width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(201,169,106,.5),transparent 72%);animation:halo 6s var(--ease2) infinite alternate -1.5s}
.person .ai-tile .v{position:relative;width:34%;aspect-ratio:703/781;background:var(--t1);-webkit-mask:url(v-mark.png) center/contain no-repeat;mask:url(v-mark.png) center/contain no-repeat}
.person .li.ai{color:var(--accent);border-color:var(--accent-muted);margin-left:.4rem}
.person p{color:var(--t2);font-size:.88em;line-height:1.4;margin-top:.25rem}
@media(max-width:1100px){.people{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:860px){.people{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bb-top{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,90px)}
.bb-copy p{color:var(--t1)}
.bb-copy p+p{margin-top:1.1rem}
@media(max-width:860px){.bb-top{grid-template-columns:1fr}}
.causes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8vw,24px);margin-top:1.2rem}
.cause{padding:clamp(22px,2.6vw,36px);border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}
.cause .logo{height:124px;display:flex;align-items:center;justify-content:flex-start;background:#EDEAF2;border-radius:10px;padding:14px 18px;margin-bottom:1.4rem}
.cause .logo img{max-height:96px;width:auto;max-width:100%;object-fit:contain}
.cause p{color:var(--t1);font-size:.97em}
@media(max-width:900px){.causes{grid-template-columns:1fr}}
.addr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,36px);margin:clamp(30px,4vw,56px) auto 0;max-width:980px;text-align:left}
.addr h3{font-family:var(--mono);font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.addr p{margin-top:.7rem;color:var(--t1);font-size:.97em}
@media(max-width:700px){.addr{grid-template-columns:repeat(2,minmax(0,1fr))}}
.connect{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:clamp(28px,4vw,44px)}
.disc{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.6rem;color:var(--t2);font-size:.88rem;max-width:110ch;display:grid;gap:.8rem}
.disc strong{color:var(--t1);font-weight:400}

.stats{padding:0 0 clamp(70px,10vw,140px)}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:clamp(26px,3.4vw,48px) clamp(16px,2.4vw,36px);display:flex;flex-direction:column;gap:.9rem;border-right:1px solid var(--line)}
.stat:first-child{padding-left:0}.stat:last-child{border-right:0}
.stat .n{font-family:var(--display);font-weight:300;font-size:clamp(2.8rem,6.4vw,5.6rem);line-height:.95;letter-spacing:-.04em;background:linear-gradient(180deg,var(--t1),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em;align-self:flex-start}
.stat .l{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;line-height:1.6;text-transform:uppercase;color:var(--t2);max-width:34ch}
@media(max-width:760px){.stats-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.stat:last-child{border-bottom:0}}


/* advisory */
.adv-title{max-width:22ch}
.adv-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,64px);margin-top:.4rem}
.adv-intro .lede{max-width:none}
@media(max-width:820px){.adv-intro{grid-template-columns:1fr;gap:0}}
.chal6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:1.2rem}
.ch{display:flex;flex-direction:column;padding:clamp(22px,2.4vw,34px);border:1px solid var(--line);border-radius:14px;background:var(--panel-soft);transition:border-color .4s var(--ease2),transform .6s var(--ease)}
.ch:hover{border-color:var(--accent);transform:translateY(-4px)}
.ch .no{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--accent)}
.ch h3{font-family:var(--display);font-weight:300;font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.2;letter-spacing:-.015em;margin-top:.9rem;text-wrap:balance}
.ch dl{margin-top:1.3rem;flex:1}
.ch dt{font-family:var(--mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--t2);margin-top:1rem}
.ch dd{color:var(--t1);font-size:.96em;margin-top:.3rem}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.4rem}
.tags li{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-muted);padding:.4rem .55rem;border-radius:10px}
@media(max-width:1000px){.chal6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.chal6{grid-template-columns:1fr}}
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:1.2rem;border-top:1px solid var(--line-strong)}
.path{padding:clamp(22px,2.6vw,38px) clamp(18px,2.4vw,34px) clamp(22px,2.6vw,38px) 0;border-right:1px solid var(--line);margin-right:clamp(18px,2.4vw,34px)}
.path:last-child{border-right:0;margin-right:0}
.path h3{font-family:var(--display);font-weight:300;font-size:clamp(1.4rem,2.1vw,1.9rem);letter-spacing:-.02em;line-height:1.1}
.path>p{margin-top:.8rem;color:var(--t2)}
.path ul{list-style:none;margin-top:1.1rem}
.path li{position:relative;padding:.7rem 0 .7rem 1.5rem;border-top:1px solid var(--line);color:var(--t1);font-size:.97em}
.path li::before{content:"";position:absolute;left:0;top:1.3rem;width:.7rem;height:1px;background:var(--accent)}
@media(max-width:900px){.paths{grid-template-columns:1fr}.path{border-right:0;margin-right:0;padding-right:0;border-bottom:1px solid var(--line)}.path:last-child{border-bottom:0}}
.flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:1.2rem;counter-reset:f}
.flow li{position:relative;padding:clamp(20px,2.2vw,30px) 0 0;border-top:1px solid var(--accent)}
.flow li span{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--accent)}
.flow h3{font-family:var(--display);font-weight:300;font-size:clamp(1.5rem,2.4vw,2.2rem);letter-spacing:-.02em;margin-top:.5rem}
.flow p{margin-top:.6rem;color:var(--t1);font-size:.96em;max-width:30ch}
@media(max-width:860px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.flow{grid-template-columns:1fr}}
.flow-note{margin-top:clamp(22px,3vw,36px);color:var(--t2);max-width:70ch}
.adv-pillars{margin-top:clamp(32px,4.5vw,56px)}
.breadth{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,36px);margin-top:1.2rem}
.breadth h3{font-family:var(--mono);font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--t1);padding-bottom:.7rem;border-bottom:1px solid var(--line-strong)}
.breadth ul{list-style:none}
.breadth li{padding:.7rem 0;border-bottom:1px solid var(--line);color:var(--t1);font-family:var(--display);font-weight:300;font-size:clamp(1rem,1.3vw,1.15rem)}
@media(max-width:900px){.breadth{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.breadth{grid-template-columns:1fr}}
.adv-trio{margin-top:clamp(40px,6vw,80px)}
#advisory .platform{margin-top:clamp(40px,6vw,80px)}
#advisory .approach{margin-top:clamp(40px,6vw,80px)}

/* reduced motion: final states, no animation (live, in both directions via .rm class) */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important}
  .reveal{opacity:1;transform:none}
  .mapbox .arc{stroke-dashoffset:0}
  body{opacity:1}
}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* ending: the evening star, held by the V (positions follow the film frame under object-fit:cover) */
.stage{--VW:max(100vw,177.778vh);--VH:max(100vh,56.25vw);--sx:50vw;--sy:calc(50vh - .1972*var(--VH))}
@supports(height:100svh){.stage{--VW:max(100vw,177.778svh);--VH:max(100svh,56.25vw);--sy:calc(50svh - .1972*var(--VH))}}
.vesper{position:absolute;left:var(--sx);top:var(--sy);width:0;height:0;z-index:2;pointer-events:none;opacity:0;transition:opacity 1.8s var(--ease2)}
.stage.video-ready.rested .vesper{opacity:1}
.vesper .glow{position:absolute;left:0;top:0;width:clamp(200px,38vh,420px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;mix-blend-mode:screen;background:radial-gradient(circle,rgba(255,249,232,1) 0,rgba(255,243,214,1) 2.6%,rgba(255,226,170,.78) 4.4%,rgba(255,208,146,.42) 8%,rgba(246,188,118,.22) 16%,rgba(246,188,118,.09) 32%,rgba(246,188,118,0) 62%)}
.vesper .glow::before,.vesper .glow::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,240,208,.7),rgba(255,240,208,0))}
.vesper .glow::before{width:118%;height:1px}
.vesper .glow::after{width:1px;height:70%}
.vesper .v{position:absolute;left:0;top:0;width:clamp(72px,13.5vh,132px);aspect-ratio:703/781;transform:translate(-50%,-21%);background:linear-gradient(180deg,#fff,var(--t1));-webkit-mask:url(v-mark.png) center/contain no-repeat;mask:url(v-mark.png) center/contain no-repeat;filter:drop-shadow(0 0 18px rgba(255,226,170,.35))}
.stage.video-ready .band-settle .vmark{display:none}
@media(max-height:640px){.vesper .v{display:none}.stage.video-ready .band-settle .vmark{display:block}}
.chipbtn.skipbtn{border-color:rgba(237,234,242,.5);background:rgba(10,11,22,.7)}
.chipbtn.skipbtn::after{content:"\2193";margin-left:.6em;color:var(--accent)}
.navr{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px)}
.nav .login{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--t1);opacity:.82;padding:.5rem 0;white-space:nowrap;transition:opacity .3s var(--ease2),color .3s var(--ease2)}
.nav .login::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:.7em;vertical-align:.12em}
.nav .login:hover{opacity:1;color:var(--accent)}
.nav ul a{white-space:nowrap}
@media(max-width:1280px){.nav ul{gap:clamp(10px,1.45vw,20px)}}
@media(max-width:1120px){.nav ul{display:none}}
@media(max-width:520px){.nav .login{display:none}}
/* disciplined methodology */
.method{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);margin-top:1.2rem;padding:clamp(26px,3.4vw,52px);border:1px solid var(--line);border-radius:18px;background:linear-gradient(140deg,rgba(47,211,160,.07),rgba(42,45,63,.35) 46%)}
.method h3.mt{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,2.8vw,2.5rem);line-height:1.08;letter-spacing:-.022em;text-wrap:balance}
.method .mi p{margin-top:1.1rem;color:var(--t1);max-width:40ch}
.method .mi p.muted{color:var(--t2)}
.method ol{list-style:none}
.method li{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:.4rem 1rem;padding:clamp(16px,1.9vw,24px) 0;border-top:1px solid var(--line)}
.method li:first-child{border-top:1px solid var(--accent)}
.method li span{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--accent);padding-top:.5rem}
.method li h4{font-family:var(--display);font-weight:300;font-size:clamp(1.25rem,1.9vw,1.7rem);letter-spacing:-.018em;line-height:1.15}
.method li q{display:block;quotes:none;font-style:normal;color:var(--t2);margin-top:.35rem}
.method li p{grid-column:2;color:var(--t1);font-size:.97em;margin-top:.3rem;max-width:52ch}
@media(max-width:860px){.method{grid-template-columns:1fr}}
/* private markets */
.pm3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:clamp(28px,4vw,48px)}
.pm3 article{padding:clamp(22px,2.4vw,34px);border:1px solid var(--line);border-radius:14px;background:var(--panel-soft);transition:border-color .4s var(--ease2),transform .6s var(--ease)}
.pm3 article:hover{border-color:var(--accent-muted);transform:translateY(-3px)}
.pm3 .no{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--fund)}
.pm3 h3{font-family:var(--display);font-weight:300;font-size:clamp(1.3rem,1.9vw,1.7rem);letter-spacing:-.018em;line-height:1.15;margin-top:.9rem}
.pm3 p{margin-top:.8rem;color:var(--t1);font-size:.97em}
@media(max-width:860px){.pm3{grid-template-columns:1fr}}
.room{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,72px);align-items:end;margin-top:clamp(28px,4vw,48px);padding:clamp(28px,4vw,60px);border-radius:18px;border:1px solid var(--accent-muted);background:linear-gradient(120deg,rgba(201,169,106,.13),rgba(91,141,239,.09))}
.room h3{font-family:var(--display);font-weight:300;font-size:clamp(1.8rem,3.4vw,3rem);letter-spacing:-.025em;line-height:1.05;margin-top:1rem}
.room .rt p{margin-top:1.1rem;max-width:46ch;color:var(--t1)}
.room ul{list-style:none;margin-top:1.2rem}
.room li{position:relative;padding:.6rem 0 .6rem 1.5rem;border-top:1px solid var(--line);font-size:.97em}
.room li::before{content:"";position:absolute;left:0;top:1.2rem;width:.7rem;height:1px;background:var(--accent)}
.room .ra{display:flex;flex-wrap:wrap;gap:.8rem}
.pm-note{margin-top:1.4rem;color:var(--t2);font-size:.86em;max-width:86ch}
@media(max-width:860px){.room{grid-template-columns:1fr;align-items:start}}

.labs-note{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2.4rem;margin-top:clamp(14px,1.8vw,22px);padding:clamp(18px,2.2vw,28px) clamp(22px,3.4vw,52px);border:1px solid var(--line);border-radius:18px;background:var(--panel-soft)}
.labs-note .ln{flex:1;min-width:18ch;font-family:var(--display);font-weight:300;font-size:clamp(1.15rem,1.7vw,1.5rem);letter-spacing:-.015em;line-height:1.25}
/* pages */
.page{padding-top:clamp(104px,11vw,156px)}
.page>.sec:first-child{padding-top:0!important}
.nav ul a[aria-current="page"]{color:var(--accent);opacity:1}
.cta-end{padding-top:0}
.cta-end .connect{justify-content:center}

/* phone and reduced-motion hero: the same ending, the star held by the V (kept last so it wins) */
@media (max-width:720px), (orientation:portrait) and (max-width:1024px), (orientation:portrait) and (pointer:coarse), (orientation:landscape) and (pointer:coarse) and (max-height:560px), (prefers-reduced-motion:reduce){
  .stage .vesper{display:block;left:50%;top:29.69%;opacity:1}
  .stage .vesper .v{display:block;width:clamp(64px,11vh,116px)}
  .stage .vesper .glow{width:clamp(180px,34vh,340px)}
  .stage .band-settle .vmark{display:none!important}
}
/* menu for narrow screens */
.mnav{display:none}
.mnav summary{list-style:none;cursor:pointer;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t1);padding:.65rem 0;display:flex;align-items:center;gap:.7em;min-height:44px}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary::before{content:"";width:18px;height:8px;border-top:1px solid var(--t1);border-bottom:1px solid var(--t1)}
.mnav[open] summary{color:var(--accent)}
.mnav[open] summary::before{border-color:var(--accent);height:0;border-bottom:0}
.mnav .mpanel{position:fixed;left:0;right:0;top:0;bottom:0;z-index:-1;display:flex;flex-direction:column;justify-content:center;gap:.2rem;padding:clamp(84px,14vh,120px) var(--pad) 8vh;background:rgba(13,14,26,.98);overflow:auto}
.mnav .mpanel a{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,6.2vw,2.4rem);letter-spacing:-.02em;text-decoration:none;color:var(--t1);padding:.5rem 0;border-bottom:1px solid var(--line)}
.mnav .mpanel a[aria-current="page"],.mnav .mpanel a:hover{color:var(--accent)}
.mnav .mpanel a.small{font-family:var(--mono);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:0;margin-top:1.2rem;color:var(--accent)}
@media(max-width:1120px){.mnav{display:block}}
@media(max-width:400px){.nav .cta{display:none}}

.mnav,.mnav:first-of-type{border:0;padding:0}
.mnav summary{justify-content:flex-start;font-weight:400}
.mnav summary::after{content:none}

/* captions over the film: each caption is one layer that fades and rises as a whole (nothing inside it is restyled while the film plays) */
.band{translate:0 10px;transition:opacity .35s var(--ease2),translate .6s var(--ease)}
.band.on,.band[data-first]{translate:none}
.hud{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(10,11,22,.72)}
html.rm .band{transition:none!important;translate:none}
@media (max-width:720px), (orientation:portrait) and (max-width:1024px), (orientation:portrait) and (pointer:coarse), (orientation:landscape) and (pointer:coarse) and (max-height:560px), (prefers-reduced-motion:reduce){
  .stage .band{translate:none;transition:none}
}
.stage .band{text-shadow:0 1px 2px rgba(8,9,20,.95),0 0 22px rgba(8,9,20,.8)}

/* v10 */
.vision .big .v{width:40%;background:var(--t1)}
.pm4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:1.2rem;border-top:1px solid var(--line-strong)}
.pm4 article{padding:clamp(22px,2.8vw,40px) clamp(20px,3vw,48px) clamp(22px,2.8vw,40px) 0;border-bottom:1px solid var(--line)}
.pm4 article:nth-child(odd){border-right:1px solid var(--line);margin-right:clamp(20px,3vw,48px)}
.pm4 .no{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--accent)}
.pm4 h3{font-family:var(--display);font-weight:300;font-size:clamp(1.35rem,2vw,1.8rem);letter-spacing:-.018em;line-height:1.15;margin-top:.7rem}
.pm4 p{margin-top:.8rem;color:var(--t1);font-size:.97em;max-width:48ch}
@media(max-width:760px){.pm4{grid-template-columns:1fr}.pm4 article:nth-child(odd){border-right:0;margin-right:0}.pm4 article{padding-right:0}}
.roomlink{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem 3rem;margin-top:clamp(36px,5vw,64px);padding:clamp(26px,3.6vw,52px);border-radius:18px;border:1px solid var(--accent-muted);background:linear-gradient(120deg,rgba(201,169,106,.12),rgba(42,45,63,.3))}
.roomlink h3{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:-.025em;line-height:1.05;margin-top:.8rem}
.roomlink p:not(.kicker){margin-top:.8rem;max-width:48ch}
.ben3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:1.2rem}
.ben3 article{padding:clamp(22px,2.4vw,34px);border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}
.ben3 svg{width:44px;height:44px;stroke:var(--accent);fill:none;stroke-width:1;display:block}
.ben3 h3{font-family:var(--display);font-weight:300;font-size:clamp(1.3rem,1.9vw,1.7rem);letter-spacing:-.018em;line-height:1.15;margin-top:1.2rem}
.ben3 ul{list-style:none;margin-top:1rem}
.ben3 li{position:relative;padding:.65rem 0 .65rem 1.5rem;border-top:1px solid var(--line);font-size:.97em}
.ben3 li::before{content:"";position:absolute;left:0;top:1.25rem;width:.7rem;height:1px;background:var(--accent)}
@media(max-width:900px){.ben3{grid-template-columns:1fr}}
.gath{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,64px);margin-top:1.2rem}
.gath h3{font-family:var(--mono);font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--t1);padding-bottom:.8rem;border-bottom:1px solid var(--line-strong)}
.gath ol{list-style:none}
.gath li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:.2rem 1.2rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.gath time,.gath .when{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);padding-top:.3rem}
.gath b{font-family:var(--display);font-weight:300;font-size:clamp(1.1rem,1.5vw,1.35rem);letter-spacing:-.012em;display:block}
.gath span.d{color:var(--t2);font-size:.94em;display:block;margin-top:.2rem}
.gath li.slot b,.gath li.slot .when{color:var(--t2)}
.draft{display:inline-block;margin-top:1rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-accent,#16182B);background:var(--accent);padding:.35rem .6rem;border-radius:10px}
@media(max-width:760px){.gath{grid-template-columns:1fr}.gath li{grid-template-columns:1fr}}
.join3{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:1.2rem}
.join3 li{padding:clamp(18px,2.2vw,28px) 0 0;border-top:1px solid var(--accent)}
.join3 span{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--accent)}
.join3 h3{font-family:var(--display);font-weight:300;font-size:clamp(1.3rem,2vw,1.8rem);letter-spacing:-.02em;margin-top:.5rem}
.join3 p{margin-top:.5rem;color:var(--t1);font-size:.96em;max-width:34ch}
@media(max-width:760px){.join3{grid-template-columns:1fr}}
.prof4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:1.2rem}
.prof4 article{padding:clamp(20px,2.2vw,30px);border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}
.prof4 svg{width:52px;height:52px;stroke:var(--accent);fill:none;stroke-width:1;display:block}
.prof4 h3{font-family:var(--display);font-weight:300;font-size:clamp(1.15rem,1.6vw,1.45rem);letter-spacing:-.015em;line-height:1.15;margin-top:1.1rem}
.prof4 p{margin-top:.6rem;color:var(--t1);font-size:.95em}
@media(max-width:1000px){.prof4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.prof4{grid-template-columns:1fr}}
.params{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(12px,1.6vw,22px);margin-top:clamp(12px,1.6vw,22px)}
.params>div{padding:clamp(22px,2.6vw,38px);border:1px solid var(--line);border-radius:14px}
.params h3{font-family:var(--mono);font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.range{margin-top:1.6rem}
.range .bar{position:relative;height:2px;background:var(--line-strong)}
.range .bar i{position:absolute;top:-4px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--canvas);border:1px solid var(--accent)}
.range .bar i.on{background:var(--accent)}
.range .bar::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent)}
.range ol{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin-top:1rem;font-family:var(--display);font-weight:300;font-size:clamp(.95rem,1.25vw,1.12rem)}
.range ol li:nth-child(2),.range ol li:nth-child(3){text-align:center}
.range ol li:last-child{text-align:right}
.range ol small{display:block;color:var(--t2);font-family:var(--body);font-size:.84em}
.params dl{display:grid;grid-template-columns:auto 1fr;gap:.7rem 1.4rem;margin-top:1.6rem;font-size:.96em}
.params dt{font-family:var(--mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--t2);padding-top:.3rem}
.params ul{list-style:none;margin-top:1.1rem}
.params ul li{position:relative;padding:.7rem 0 .7rem 1.8rem;border-top:1px solid var(--line);font-size:.97em}
.params ul li::before{content:"";position:absolute;left:0;top:1.05rem;width:.9rem;height:.5rem;border-left:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(-45deg)}
@media(max-width:900px){.params{grid-template-columns:1fr}}
@media(max-width:1280px){.nav ul{display:none}.mnav{display:block}}

/* events */
.events{list-style:none;margin-top:1.4rem;border-top:1px solid var(--line-strong)}
.events a{display:grid;grid-template-columns:11rem minmax(0,1.3fr) minmax(0,1fr) auto;gap:.3rem 1.6rem;align-items:baseline;padding:1.25rem 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .4s var(--ease),border-color .3s var(--ease2)}
.events a:hover{padding-left:.6rem;border-color:var(--accent)}
.events .when{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.events b{font-family:var(--display);font-weight:300;font-size:clamp(1.15rem,1.7vw,1.5rem);letter-spacing:-.015em}
.events .d{color:var(--t2)}
.events .go{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t2)}
.events a:hover .go{color:var(--accent)}
.ev-note{margin-top:1.2rem;color:var(--t2)}
.ev-note a{color:var(--accent);text-underline-offset:3px}
@media(max-width:820px){.events a{grid-template-columns:1fr}.events .go{display:none}}
.sectors{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.sectors{grid-template-columns:repeat(2,minmax(0,1fr))}}

.params .people-first{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--accent);font-size:.97em;color:var(--t1)}
.params .people-first strong{display:block;font-family:var(--display);font-weight:300;font-size:clamp(1.15rem,1.6vw,1.4rem);letter-spacing:-.015em;margin-bottom:.4rem}

/* softer edges */
.nav .cta{border-radius:10px}
.draft{border-radius:6px}
.person img,.step .ph,.step .ph img{border-radius:14px}
.step .ph{overflow:hidden}
.mapbox{border-radius:18px}
.btn{border-radius:10px}

/* contact: headquarters, then operational offices */
.addr.hq{grid-template-columns:minmax(0,1fr);max-width:420px;text-align:center}
.addr.hq h3{display:flex;justify-content:center;gap:.9em;font-size:.8rem}
.addr.hq h3 span{color:var(--t2)}
.addr.hq p{font-family:var(--display);font-weight:300;font-size:clamp(1.15rem,1.6vw,1.4rem)}
.addr-k{margin-top:clamp(30px,4vw,52px);color:var(--t2)}
.addr-k+.addr{margin-top:1.2rem}

/* Menu: full-screen panel. The bar must not blur while it is open, or the panel is clipped to the bar. */
.nav.menu-open,.nav:has(.mnav[open]){backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:transparent!important;border-bottom-color:transparent!important}
html.menu-lock,html:has(.mnav[open]){overflow:hidden}
.mnav .mpanel{height:100vh;height:100dvh;justify-content:flex-start;padding-top:clamp(96px,16vh,140px)}
.mnav[open] summary{position:relative;z-index:2}

/* the film has been seen: the hero is one screen showing its ending */
.hero.done{height:100vh!important;height:100svh!important}
/* after the flight: one clear way to watch it again */
.hero.done .stage .flightctl{opacity:1;pointer-events:auto;right:auto;left:50%;transform:translateX(-50%);bottom:calc(12vh - 3.4rem)}
.hero.done .flightctl .skipbtn{display:none}
.hero.done .flightctl .chipbtn{background:transparent;border-color:transparent;color:rgba(237,234,242,.82);text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(237,234,242,.4)}
.hero.done .flightctl .chipbtn:hover{color:#fff;text-decoration-color:#C9A96A}
.hero.done .band-settle{bottom:17vh}
