/* Enterprise and Investors pages. Loads after site.css and reuses its tokens.
   Kept out of site.css so the home page payload does not carry any of it.
   Everything a subpage says here is its own: nothing repeats a home section. */

/* ---------- screen-fit scale ----------
   Subpage type and spacing follow the shorter side of the screen, not only its
   width. A 1600 x 780 laptop then reads a page rather than a poster: each key
   section fits in one frame and only its moving part scrolls. */
.h2{font-size:clamp(1.9rem,min(3.3vw,6.2vh),3.5rem)}
.h3{font-size:clamp(1.3rem,min(1.9vw,3.5vh),1.9rem)}
.lead-s{font-size:clamp(1.02rem,min(1.25vw,2.35vh),1.22rem)}
.section{padding-block:clamp(64px,min(9vw,13vh),136px)}

/* ---------- page hero (dark chapter, so a subpage opens with weight) ---------- */
.phero{position:relative;background:var(--night);color:var(--night-text);padding-block:clamp(120px,15vw,210px) clamp(72px,9vw,128px);overflow:hidden}
.phero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-muted) 30%,var(--accent-muted) 70%,transparent)}
.phero__glow{position:absolute;z-index:0;inset:-30% -10% auto auto;width:min(62vw,720px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(212,170,46,.15),rgba(212,170,46,0) 62%);pointer-events:none}
.phero .wrap{position:relative;z-index:1}
.phero .kicker{color:var(--accent);margin-top:22px}
.phero h1{margin-top:18px;font-family:var(--f-display);font-weight:800;font-stretch:114%;font-size:clamp(2.6rem,6.6vw,6rem);line-height:.98;letter-spacing:-.03em;max-width:17ch}
.phero__lead{margin-top:26px;max-width:52ch;font-size:clamp(1.1rem,1.5vw,1.45rem);line-height:1.5;color:var(--night-secondary)}
.phero__cta{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px}
.phero__meta{margin-top:56px;display:flex;flex-wrap:wrap;gap:32px 56px;padding-top:28px;border-top:1px solid rgba(243,238,229,.16)}
.phero__meta div{min-width:130px}
.phero__meta dt{font:500 .72rem/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--night-secondary)}
.phero__meta dd{margin:8px 0 0;font-family:var(--f-display);font-weight:700;font-stretch:110%;font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.1;letter-spacing:-.02em}

/* split hero: copy on the left, a tall image on the right that opens like a curtain */
.phero--split{min-height:100svh;display:flex;align-items:center;padding-block:clamp(88px,13vh,120px) clamp(28px,5vh,56px)}
.phero--split>.wrap{width:100%}
.phero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center}
.phero--split .kicker{margin-top:clamp(12px,2.2vh,22px)}
.phero--split h1{margin-top:clamp(10px,1.8vh,18px);max-width:20ch;font-size:clamp(2.3rem,min(4.8vw,8.4vh),4.9rem)}
.phero--split .phero__lead{margin-top:clamp(14px,2.4vh,24px);font-size:clamp(1.02rem,min(1.3vw,2.4vh),1.3rem)}
.phero--split .phero__cta{margin-top:clamp(20px,3.6vh,36px)}
.phero--split .phero__meta{margin-top:clamp(22px,4vh,40px);padding-top:clamp(16px,2.6vh,26px);gap:14px 28px}
.phero--split .phero__meta div{min-width:0}
.phero--split .phero__meta dd{white-space:nowrap;font-size:clamp(1rem,min(1.2vw,2.5vh),1.25rem)}
.phero__img{position:relative;margin:0;aspect-ratio:4/5;max-height:calc(100svh - 150px);border-radius:var(--radius);overflow:hidden;background:#16254a;animation:curtain 1.5s var(--ease-io) .2s both}
.phero__pan{position:absolute;inset:-9% 0;will-change:transform}
.phero__pan img{width:100%;height:100%;object-fit:cover;animation:settle 2.2s var(--ease) .2s both}
.phero__img::after{content:"";position:absolute;inset:12px;border-radius:calc(var(--radius) - 8px);box-shadow:inset 0 0 0 1px rgba(212,170,46,.45);pointer-events:none}
.phero__cap{position:absolute;left:24px;bottom:22px;z-index:1;padding:7px 12px;border-radius:999px;background:rgba(8,12,24,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:500 .66rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(243,238,229,.86)}
@keyframes curtain{from{clip-path:inset(100% 0 0 0 round var(--radius))}to{clip-path:inset(0 0 0 0 round var(--radius))}}
@keyframes settle{from{transform:scale(1.2)}to{transform:scale(1)}}
/* the copy arrives in reading order while the curtain rises */
.phero__text>*{animation:rise-in .9s var(--ease) both}
.phero__text>:nth-child(2){animation-delay:.08s}.phero__text>:nth-child(3){animation-delay:.16s}.phero__text>:nth-child(4){animation-delay:.28s}.phero__text>:nth-child(5){animation-delay:.38s}.phero__text>:nth-child(6){animation-delay:.5s}
@keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (max-width:900px){
  .phero--split{min-height:0}
  .phero__grid{grid-template-columns:1fr}
  .phero__img{aspect-ratio:4/3;max-height:none}
}

/* crumb back to the home page */
.crumb{position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;font:500 .78rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--night-secondary);transition:color .25s var(--ease)}
.crumb:hover{color:var(--accent)}
.crumb svg{width:14px;height:14px;flex:none}

/* ---------- the ledger: nine jobs change sides as you scroll ---------- */
.ledger__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.ledger__side{position:sticky;top:clamp(84px,12vh,110px)}
.ledger__side .h2{margin-top:14px;max-width:16ch;font-size:clamp(1.8rem,min(2.8vw,5.3vh),3rem)}
.ledger__side .lead-s{margin-top:clamp(12px,2vh,20px);color:var(--text-secondary);max-width:40ch}
.ledger__count{margin-top:clamp(18px,3.4vh,36px);display:flex;align-items:flex-end;gap:18px;padding-top:clamp(14px,2.4vh,24px);border-top:1px solid var(--line)}
.ledger__n{display:block;min-width:1.1ch;font-family:var(--f-display);font-weight:800;font-stretch:125%;font-size:clamp(3.2rem,min(6vw,11vh),6.6rem);line-height:.82;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--ink);transition:color .5s var(--ease),transform .5s var(--ease)}
.ledger__n.is-tick{transform:translateY(-6px)}
.ledger.is-clear .ledger__n{color:var(--accent)}
.ledger__lbl{max-width:13ch;padding-bottom:10px;font:500 .76rem/1.45 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}
.ledger__key{margin-top:clamp(10px,2vh,20px);display:flex;align-items:center;gap:10px}
.ledger__key i{font-style:normal;color:var(--accent);font-weight:700}
.ledger__pill{display:inline-grid;place-items:center;height:30px;padding:0 12px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line-strong);font:500 .66rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}
.ledger__pill--gold{background:var(--accent);box-shadow:none;color:var(--ink)}
.lrows{border-top:1px solid var(--line)}
.lrow{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:18px;align-items:center;padding:clamp(16px,2.6vh,24px) 0;border-bottom:1px solid var(--line)}
.lrow__n{font:500 .74rem/1 var(--f-mono);letter-spacing:.12em;color:var(--text-secondary);transition:color .5s var(--ease)}
.lrow h3{font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:clamp(1.06rem,1.4vw,1.28rem);line-height:1.2;letter-spacing:-.01em}
.lrow__alone{margin-top:7px;font-size:.96rem;line-height:1.5;color:var(--text-secondary)}
/* the strike is a gold rule drawn through the old way of doing it */
.lrow__alone span{background:linear-gradient(var(--accent),var(--accent)) no-repeat 0 58%/0% 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .8s var(--ease),color .6s var(--ease)}
.lrow__who{position:relative;display:grid;min-width:118px;height:36px;overflow:hidden;border-radius:999px}
.lrow__who b{grid-area:1/1;display:grid;place-items:center;padding:0 14px;border-radius:999px;font:500 .7rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;transition:transform .65s var(--ease)}
.lrow__who b:first-child{box-shadow:inset 0 0 0 1.5px var(--line-strong);color:var(--text-secondary)}
.lrow__who b:last-child{background:var(--accent);color:var(--ink);transform:translateY(115%)}
.lrow.is-docked .lrow__n{color:var(--accent)}
.lrow.is-docked .lrow__alone span{background-size:100% 2px;color:rgba(75,85,114,.62)}
.lrow.is-docked .lrow__who b:first-child{transform:translateY(-115%)}
.lrow.is-docked .lrow__who b:last-child{transform:none}
.ledger__sum{margin-top:clamp(40px,5vw,64px);padding:26px 30px;border-radius:var(--radius);background:var(--ink);color:var(--night-text);font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:clamp(1.15rem,1.9vw,1.6rem);line-height:1.25;letter-spacing:-.01em}
.ledger__sum strong{color:var(--accent);font-weight:800}
@media (max-width:860px){
  .ledger__grid{grid-template-columns:1fr}
  .ledger__side{position:relative;top:0}
  .lrow{grid-template-columns:32px minmax(0,1fr);row-gap:12px}
  .lrow__who{grid-column:2;justify-self:start}
}

/* ---------- layers (investors: the model) ---------- */
.layers__grid{margin-top:clamp(28px,5vh,52px);display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
@media (min-width:760px){.layers__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.layers__grid{grid-template-columns:repeat(3,1fr)}}
.layer{background:var(--canvas);padding:clamp(20px,3.2vh,30px) 26px clamp(22px,3.4vh,32px);transition:background-color .4s var(--ease)}
.layer:hover{background:var(--raised)}
.layer__n{font:500 .72rem/1 var(--f-mono);letter-spacing:.14em;color:var(--accent)}
.layer h3{margin-top:14px;font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:1.22rem;letter-spacing:-.015em}
.layer p:not(.layer__n){margin-top:10px;font-size:.97rem;line-height:1.55;color:var(--text-secondary)}

/* ---------- draggable rail of scenarios ---------- */
.cases{background:var(--panel);overflow:hidden}
.cases__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px}
.cases__hint{font:500 .74rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);display:flex;align-items:center;gap:10px}
.cases__hint::before{content:"";width:34px;height:1px;background:var(--line-strong)}
.cases__viewport{--edge-bg:var(--panel);margin-top:clamp(24px,4.6vh,44px);padding-block:10px 18px;overflow-x:auto;scrollbar-width:none}
.cases__viewport::-webkit-scrollbar{display:none}
.cases__viewport.is-draggable{overflow:hidden;cursor:grab;touch-action:pan-y}
.cases__viewport.is-drag{cursor:grabbing}
.cases__track{display:flex;gap:16px;width:max-content;will-change:transform}
/* GSAP deals the cards in with transform, so the hover lift uses translate instead */
.case{width:min(78vw,318px);padding:22px 24px 26px;border-radius:var(--radius);background:var(--raised);border:1px solid var(--line);user-select:none;transition:translate .5s var(--ease),box-shadow .5s var(--ease)}
.case:hover{translate:0 -6px;box-shadow:0 26px 50px -34px rgba(14,26,51,.55)}
.case__ic{width:84px;height:84px;margin:-4px 0 14px -6px;pointer-events:none;transition:transform .6s var(--ease)}
.case:hover .case__ic{transform:translateY(-4px) rotate(-4deg)}
.case__n{font:500 .72rem/1 var(--f-mono);letter-spacing:.14em;color:var(--text-secondary)}
.case h3{margin-top:12px;font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:1.2rem;letter-spacing:-.015em}
.case p:not(.case__n){margin-top:10px;font-size:.95rem;line-height:1.55;color:var(--text-secondary)}
.cases__bar{margin-top:clamp(12px,2.4vh,22px);height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.cases__bar span{display:block;height:100%;width:22%;background:var(--ink);border-radius:2px;transform-origin:left}

/* ---------- your floor: a sticky image that wipes per zone, with a floor plan ---------- */
.fit__head{margin-bottom:clamp(28px,5vh,72px)}
.fit__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,96px)}
.fit__stage{position:sticky;top:12vh;height:76vh;align-self:start}
.fit__frame{position:absolute;inset:0;isolation:isolate;border-radius:var(--radius);overflow:hidden;background:var(--night)}
.fit__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(100% 0 0 0);transform:scale(1.1);transition:clip-path 1.1s var(--ease-io),transform 1.8s var(--ease)}
.fit__img.is-on{clip-path:inset(0);transform:scale(1)}
.fit__plan{position:absolute;left:18px;bottom:18px;z-index:9;width:min(46%,230px);padding:14px 14px 12px;border-radius:18px;background:rgba(10,16,32,.74);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--night-text)}
.fit__plan svg{display:block;width:100%;height:auto}
.fit__shell{fill:none;stroke:rgba(243,238,229,.42);stroke-width:1.5}
.fit__z{fill:rgba(243,238,229,.05);stroke:rgba(243,238,229,.22);stroke-width:1;transition:fill .6s var(--ease),stroke .6s var(--ease)}
.fit__z.is-on{fill:rgba(212,170,46,.34);stroke:var(--accent)}
.fit__desks rect,.fit__table{fill:rgba(243,238,229,.3)}
.fit__door{stroke:var(--accent);stroke-width:3;stroke-linecap:round}
.fit__zone{margin-top:10px;font:500 .68rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.fit__count{position:absolute;left:0;bottom:-40px;font:500 .8rem/1 var(--f-mono);letter-spacing:.12em;color:var(--text-secondary)}
.fit__cur{color:var(--ink)}
.fit__step{min-height:76vh;display:flex;flex-direction:column;justify-content:center;padding-block:6vh;opacity:.32;transition:opacity .6s var(--ease)}
.fit__step.is-on{opacity:1}
.fit__n{margin-bottom:20px;font:500 .8rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.fit__step .h3{max-width:16ch;margin-bottom:16px}
.fit__step>p:not(.fit__n){max-width:42ch;color:var(--text-secondary)}
.fit__img-m{display:none}
@media (max-width:860px){
  .fit__grid{grid-template-columns:1fr}
  .fit__stage{display:none}
  .fit__step{min-height:0;opacity:1;padding-block:32px;border-top:1px solid var(--line)}
  .fit__img-m{display:block;margin-top:26px;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--panel)}
  .fit__img-m img{width:100%;height:100%;object-fit:cover}
}

/* ---------- how an engagement runs: one pinned frame, the cards travel inside it ---------- */
.steps2{background:var(--night);color:var(--night-text);overflow:hidden}
.steps2__frame{min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,5vh,52px);padding-block:clamp(88px,12vh,120px) clamp(36px,6vh,64px)}
.steps2__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:20px 56px;align-items:end}
.steps2 .kicker{color:var(--accent)}
.steps2 .h2{margin-top:14px;max-width:20ch;color:var(--night-text)}
.steps2__intro{max-width:40ch;padding-bottom:6px;color:var(--night-secondary)}
.steps2__clip{--edge-bg:var(--night);overflow-x:auto;scrollbar-width:none;border-radius:var(--radius)}
.steps2__clip::-webkit-scrollbar{display:none}
.steps2__clip.is-pinned{overflow:hidden}
.steps2__track{display:flex;gap:18px;width:max-content;will-change:transform}
.step2{width:clamp(250px,23vw,330px);padding:clamp(20px,3vh,28px) 24px clamp(22px,3.4vh,30px);border-radius:var(--radius);background:rgba(243,238,229,.05);border:1px solid rgba(243,238,229,.14);transition:background-color .45s var(--ease),border-color .45s var(--ease)}
.step2.is-on{background:rgba(243,238,229,.09);border-color:rgba(212,170,46,.6)}
.step2__n{font-family:var(--f-display);font-weight:800;font-stretch:115%;font-size:clamp(1.8rem,min(2.6vw,4.6vh),2.4rem);line-height:1;color:var(--accent)}
.step2 h3{margin-top:clamp(10px,1.8vh,16px);font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:1.18rem;letter-spacing:-.015em}
.step2 p:not(.step2__n){margin-top:10px;font-size:.95rem;line-height:1.5;color:var(--night-secondary)}
.steps2__foot{display:none;align-items:center;gap:18px;margin-top:clamp(16px,3vh,26px)}
.steps2__clip.is-pinned+.steps2__foot{display:flex}
.steps2__count{flex:none;font:500 .78rem/1 var(--f-mono);letter-spacing:.12em;color:var(--night-secondary)}
.steps2__count b{font-weight:500;color:var(--accent)}
.steps2__bar{flex:1;height:2px;border-radius:2px;background:rgba(243,238,229,.14);overflow:hidden}
.steps2__bar span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
@media (max-width:860px){
  .steps2__frame{min-height:0}
  .steps2__head{grid-template-columns:1fr}
}

/* ---------- soft edges where a row runs on past its frame ----------
   A card cut by the frame edge then reads as "more this way", not as a mistake. */
.edge{position:relative}
.edge::before,.edge::after{content:"";position:absolute;top:0;bottom:0;z-index:2;width:clamp(28px,4vw,72px);pointer-events:none;opacity:0;transition:opacity .35s var(--ease)}
.edge::before{left:0;background:linear-gradient(90deg,var(--edge-bg),transparent)}
.edge::after{right:0;background:linear-gradient(270deg,var(--edge-bg),transparent)}
.edge.more-l::before,.edge.more-r::after{opacity:1}

/* ---------- inside a location: the building (investors) ---------- */
.stack{background:var(--night);color:var(--night-text);overflow:hidden;border-radius:clamp(24px,4vw,48px);margin-inline:clamp(8px,1.4vw,20px)}
.stack::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 60% at 85% 100%,rgba(212,170,46,.16),transparent 70%),radial-gradient(ellipse 50% 50% at 10% 0%,rgba(42,88,179,.3),transparent 70%)}
.stack .wrap{position:relative}
.stack__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.stack__text .h2{margin-top:16px;max-width:12ch}
.stack__text .lead-s{margin-top:clamp(14px,2.4vh,22px);color:var(--night-text);max-width:38ch}
.stack__body{margin-top:18px;color:var(--night-secondary);max-width:42ch}
.stack__note{margin-top:clamp(16px,3vh,28px);padding-top:18px;border-top:1px solid rgba(243,238,229,.16);font:500 .74rem/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.bldg{position:relative;display:grid;gap:clamp(6px,1vh,8px);padding-bottom:18px}
.bldg::after{content:"";position:absolute;left:-4%;right:-4%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent) 20%,var(--accent) 80%,transparent)}
.floor{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:16px;margin-left:calc(var(--f)*3.4%);padding:clamp(10px,1.8vh,17px) 20px;border-radius:10px;border:1px solid rgba(243,238,229,.14);background:repeating-linear-gradient(90deg,rgba(243,238,229,.05) 0 1px,transparent 1px 46px),linear-gradient(180deg,rgba(212,170,46,.13),rgba(212,170,46,.03));transition:background-color .4s var(--ease),border-color .4s var(--ease)}
.floor::before{content:"";position:absolute;left:-1px;right:-1px;top:-5px;height:4px;border-radius:2px;background:#D8C9AA;opacity:.7}
.floor:hover{background-color:rgba(212,170,46,.1);border-color:rgba(212,170,46,.5)}
.floor--roof{background:linear-gradient(180deg,rgba(212,170,46,.3),rgba(212,170,46,.08));border-color:rgba(212,170,46,.45)}
.floor__lvl{display:grid;place-items:center;width:clamp(30px,4.8vh,40px);height:clamp(30px,4.8vh,40px);border-radius:50%;background:rgba(243,238,229,.08);font:500 .8rem/1 var(--f-mono);color:var(--accent)}
.floor h3{font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.2;letter-spacing:-.01em}
.floor p{margin-top:4px;font-size:.88rem;color:var(--night-secondary)}
@media (max-width:860px){
  .stack__grid{grid-template-columns:1fr}
  .floor{margin-left:calc(var(--f)*2%)}
}

/* ---------- the playbook: a full-bleed band, then a path that draws itself ---------- */
.play{background:var(--panel);overflow:hidden;padding-top:clamp(28px,4vw,56px)}
.play__band{position:relative;height:clamp(220px,min(40vw,52vh),560px);margin-bottom:clamp(44px,8vh,104px);overflow:hidden;background:var(--night)}
.play__band img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;will-change:transform}
.play__band::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(233,226,214,0) 60%,rgba(233,226,214,.35))}
.path__wrap{margin-top:clamp(32px,5vh,56px);position:relative}
.path__line{position:absolute;left:0;right:0;top:19px;height:2px;background:var(--line);overflow:hidden}
.path__line span{display:block;height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.no-gsap .path__line span{transform:none}
.path__steps{display:grid;gap:34px;position:relative}
@media (min-width:820px){.path__steps{grid-template-columns:repeat(4,1fr);gap:22px}.path__steps--5{grid-template-columns:repeat(5,1fr)}}
.path__step{padding-top:52px;position:relative}
.path__step::before{content:"";position:absolute;left:0;top:12px;width:16px;height:16px;border-radius:50%;background:var(--panel);border:2px solid var(--line-strong);transition:border-color .4s var(--ease),background .4s var(--ease),transform .4s var(--ease)}
.path__step.is-on::before,.no-gsap .path__step::before{border-color:var(--accent);background:var(--accent);transform:scale(1.15)}
.path__n{font:500 .72rem/1 var(--f-mono);letter-spacing:.14em;color:var(--navy);margin-bottom:10px}
.path__step h3{font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:1.16rem;letter-spacing:-.015em}
.path__step p:last-child{margin-top:8px;font-size:.95rem;line-height:1.55;color:var(--text-secondary)}
@media (max-width:819px){.path__line{left:7px;right:auto;top:0;bottom:0;width:2px;height:auto}.path__line span{width:100%;height:100%;transform:scaleY(0);transform-origin:top}.path__step{padding-top:0;padding-left:40px}.path__step::before{top:2px}}

/* ---------- two-track switch (investors) ---------- */
.tracks{background:var(--canvas)}
.tracks__switch{margin:clamp(22px,4vh,40px) auto 0;display:inline-flex;padding:5px;gap:4px;border-radius:999px;background:var(--panel);border:1px solid var(--line);position:relative}
.tracks__switch button{position:relative;z-index:1;padding:12px 22px;border:0;border-radius:999px;background:transparent;font:500 .82rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);transition:color .3s var(--ease)}
.tracks__switch button[aria-selected=true]{color:var(--canvas)}
.tracks__pill{position:absolute;z-index:0;top:5px;bottom:5px;border-radius:999px;background:var(--ink);transition:transform .45s var(--ease),width .45s var(--ease)}
.track__panel[hidden]{display:none!important}
.track__panel{margin-top:clamp(28px,5vh,52px)}
.track__grid{display:grid;gap:34px}
@media (min-width:920px){.track__grid{grid-template-columns:1.05fr .95fr;gap:56px}}
.track__points li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.track__points b{flex:none;width:26px;font:500 .74rem/1.5 var(--f-mono);color:var(--accent)}
.track__points h4{font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:1.12rem;letter-spacing:-.01em}
.track__points p{margin-top:6px;font-size:.96rem;line-height:1.55;color:var(--text-secondary)}
.track__card{align-self:start;padding:34px 30px;border-radius:var(--radius);background:var(--night);color:var(--night-text);position:sticky;top:104px}
.track__card h3{font-family:var(--f-display);font-weight:700;font-stretch:110%;font-size:1.5rem;letter-spacing:-.02em}
.track__card p:not(.track__note){margin-top:14px;color:var(--night-secondary);font-size:1rem;line-height:1.55}
.track__card ul{margin-top:20px;padding-top:18px;border-top:1px solid rgba(243,238,229,.16)}
.track__card li{padding:9px 0 9px 24px;position:relative;color:var(--night-secondary);font-size:.95rem}
.track__card li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:1px;background:var(--accent)}
.track__card .btn{margin-top:26px}
.track__note{margin-top:16px;font-size:.84rem;line-height:1.5;color:var(--night-secondary);opacity:.75}

/* ---------- talk to us: the live form on a subpage ---------- */
.talk__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.talk__intro{position:sticky;top:clamp(84px,12vh,110px)}
.talk__intro .h2{margin-top:16px;max-width:14ch}
.talk__intro .lead-s{margin-top:22px;color:var(--text-secondary);max-width:40ch}
.talk__contact{margin-top:clamp(20px,4vh,36px);border-top:1px solid var(--line)}
.talk__contact li{display:flex;align-items:baseline;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.talk__contact span{flex:none;width:64px;font:500 .72rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
.talk__contact a{font-weight:600;transition:color .25s var(--ease)}
.talk__contact a:hover{color:var(--navy)}
.talk__alt{margin-top:28px}
.talk__alt .link{display:inline}
.talk__alt .link::after{display:inline-block;margin-left:.35em}
.talk__card{padding:clamp(24px,3.4vw,44px);border-radius:28px;background:var(--raised);box-shadow:0 34px 80px -44px rgba(14,26,51,.5),inset 0 0 0 1px var(--line)}
.talk__card .field input,.talk__card .field textarea,.talk__card .field select,.talk__card .picks span{background:var(--canvas)}
.talk__card .picks input:checked+span{background:var(--accent)}
.talk__card .form__fields{animation:rise-in .7s var(--ease) both}
@media (max-width:860px){
  .talk__grid{grid-template-columns:1fr}
  .talk__intro{position:relative;top:0}
}

/* ---------- scroll entrances (GSAP sets the end state; this is the start) ---------- */
.gs-up{opacity:0;transform:translateY(26px)}
.gs-fade{opacity:0}
/* If GSAP never loads, nothing may stay invisible. */
.no-gsap .gs-up,.no-gsap .gs-fade{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.gs-up,.gs-fade{opacity:1!important;transform:none!important}}

/* current page in the header */
.nav__links a[aria-current=page]{color:var(--navy);font-weight:600}
.nav__links a[aria-current=page]::after{transform:scaleX(1)}

/* ---------- phones and touch screens (mobile pass, 2026-09-28; see site.css) ---------- */
@media (pointer:coarse){
  .crumb{min-height:44px}
  .talk__contact li{padding:6px 0;align-items:center}
  .talk__contact a{display:inline-flex;align-items:center;min-height:44px}
  /* an inline link that wraps: padding widens the tap area without moving the lines */
  .talk__alt .link{padding-block:12px}
  .tracks__switch button{min-height:44px}
}
@media (max-width:620px),(pointer:coarse){
  .phero__meta dt,.layer__n,.case__n,.path__n,.cases__hint,.lrow__n,.stack__note,.track__points b,.talk__contact span{font-size:.78rem}
  .ledger__pill,.lrow__who b,.phero__cap,.fit__zone{font-size:.75rem}
}
@media (max-width:620px){
  .tracks__switch button{padding:13px 16px;font:600 .95rem/1.2 var(--f-body);letter-spacing:0;text-transform:none}
}
