/* NEXT SECTIONS, concept pass 2026-10-07 (round four). The shared core for two families rendered inside the live page behind
   ?b=2-N&a=4-N (next.js builds them from next-b.js / next-a.js; no params = the page as it was). Family styles live in
   next-b.css (B2 around the world) and next-a.css (A4 the close). Tokens from capital.css. */
.nx{position:relative;color:var(--cv-ink)}
.nx *{box-sizing:border-box}
.nx .cv-scene{overflow:hidden}
.nx-tall{height:calc(var(--n,3) * 100svh)}
.nx-stick{position:sticky;top:0;height:100svh;min-height:0;box-sizing:border-box}
.nx .cv-wrap{position:relative;z-index:1;width:100%}
.nx .cv-wrap.nx-two{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,5vw,90px);align-items:center}
.edition .nx h2.cv-sub{font-family:var(--title);font-weight:200;font-size:clamp(34px,min(4.4vw,7.2svh),70px);line-height:1.04;letter-spacing:-.02em;margin:0;text-wrap:balance}
.edition .nx h2.cv-sub em{display:inline;width:auto;font-style:normal;background-image:var(--hd-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.nx .cv-caps{margin:0 0 clamp(14px,2.4svh,26px)}
.nx .nx-lede{font-size:clamp(16px,1.2vw,18px);line-height:1.55;font-weight:300;color:var(--cv-mute);max-width:46ch;margin:clamp(18px,3svh,28px) 0 0}
.nx .tz-lede{max-width:52ch}
.nx .nx-g{background-image:var(--hd-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.nx .nx-go{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(22px,3.4svh,34px);border:0;background:none;padding:0;color:var(--cv-ink);font:300 15.5px/1 var(--font);cursor:pointer}
.nx .nx-go svg{width:20px;height:20px;transition:transform .3s var(--cv-ease)}
.nx .nx-go:hover svg{transform:translateX(4px)}
.nx-ribbon{position:absolute;z-index:0;pointer-events:none;width:min(1100px,110vw);height:420px;filter:blur(70px);opacity:.5;
  background:radial-gradient(40% 50% at 25% 60%,rgba(143,162,255,.5),transparent 70%),radial-gradient(35% 45% at 55% 45%,rgba(180,147,255,.55),transparent 70%),radial-gradient(30% 40% at 80% 35%,rgba(231,162,255,.45),transparent 70%);
  animation:cv-drift 18s ease-in-out infinite alternate}
.nx-hint{position:absolute;left:50%;bottom:clamp(18px,3svh,30px);transform:translateX(-50%);z-index:2;font:400 12px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--cv-faint);white-space:nowrap}
.conversation-prompt.nx-has{color:#F4F2F7}

/* the localhost picker, collapsed to a pill until hovered */
.nx-pick{position:fixed;left:16px;bottom:16px;z-index:90;display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:center;padding:10px 12px;border-radius:18px;max-height:38px;overflow:hidden;transition:max-height .35s var(--cv-ease);font:400 11.5px/1 var(--font);letter-spacing:.06em;color:var(--cv-faint);
  background:rgba(10,10,14,.74);box-shadow:inset 0 0 0 .5px rgba(244,242,247,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.nx-pick:hover,.nx-pick:focus-within{max-height:300px}
.nx-pick .nx-pick-h{grid-column:1/-1;font:500 11px/18px var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--cv-mute);margin-bottom:6px}
.nx-pick b{font-weight:500;color:#B3BEFF;letter-spacing:.14em}
.nx-pick b.a{color:#E7A2FF}
.nx-pick span{display:flex;gap:2px}
.nx-pick a{color:var(--cv-faint);text-decoration:none;padding:5px 7px;border-radius:999px;min-width:22px;text-align:center}
.nx-pick a.on{color:#000;background:#F4F2F7}
.nx-pick a:hover:not(.on){color:var(--cv-ink);background:rgba(244,242,247,.1)}
.nx-pick a.x{margin-left:4px;opacity:.7}
.nx-pick hr{grid-column:1/-1;border:0;border-top:.5px solid rgba(244,242,247,.14);margin:4px 0}

@media (max-width:1000px){.nx .cv-wrap.nx-two{grid-template-columns:1fr}}
@media (max-width:700px){.nx-pick{display:none}}
@media (prefers-reduced-motion:reduce){.nx-ribbon{animation:none}}
