/* NYX page only. Built on assets/css/site.css tokens and components. */

/* Hero */
.nyx-hero__moon{top:clamp(.75rem,-1rem + 4vw,3rem);right:clamp(-7rem,-1rem - 6vw,-2.5rem);width:clamp(7rem,-2rem + 30vw,26rem);opacity:.9}
.nyx-hero__inner{max-width:none}
.nyx-hero__sub{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-6) var(--grid-gap);margin-top:var(--space-6)}
.nyx-hero__cta{display:grid;gap:var(--space-4);justify-items:end}
.nyx-hero__actions{display:flex;gap:var(--space-3)}
.nyx-hero__note{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.02em;color:var(--text-muted)}
.nyx-hero__note .badge__dot{flex:none;color:var(--accent)}

/* Two products */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(3rem,2rem + 3vw,5rem);border-block:1px solid var(--line)}
.duo a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 18px;height:100%;padding:22px 24px 22px 0}
.duo li+li a{padding-left:24px;border-left:1px solid var(--line)}
.duo__key{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:13px}
.duo__name{font-size:var(--fs-h4);font-weight:500;letter-spacing:-.015em;line-height:1.3}
.duo__text{grid-column:2;font-size:var(--fs-sm);color:var(--text-muted);text-wrap:balance}
.duo .arrow{grid-area:1/3/3;color:var(--accent)}
.duo a:hover .arrow{transform:translateX(3px)}

/* Console mockup */
.nyx-console{margin-top:clamp(2.5rem,1.5rem + 3vw,4rem)}
.lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.lane{display:flex;flex-direction:column;gap:14px;min-width:0;padding:20px;border-right:1px solid var(--line)}
.lane:last-child{border-right:0}
.lane--move{background:radial-gradient(120% 90% at 100% 0%,var(--accent-soft),transparent 70%)}
.lane__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lane__title{font-size:15px;font-weight:500;letter-spacing:-.015em}
.lane__foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lane .ui-bars{--bars-h:104px}
.lane__reason{padding:12px 14px;font-size:12.5px;color:var(--text-muted)}
.rates{display:grid;gap:12px}
.rates>div{display:grid;grid-template-columns:7rem minmax(0,1fr) 3rem;align-items:center;gap:12px;font-size:12px}
.rates>div>:first-child{color:var(--text-faint)}
.rates>div>:last-child,.board__table>div>:last-child{text-align:right;font-family:var(--font-mono)}
.rates .ui-progress,.board__table .ui-progress{height:6px}
.rates .ui-progress::after,.board__table .ui-progress::after{background:color-mix(in srgb,var(--accent) 38%,transparent)}
.rates .is-med .ui-progress::after{background:color-mix(in srgb,var(--text) 40%,transparent)}
.rates .is-you .ui-progress::after,.board__table .is-you .ui-progress::after{background:var(--accent)}
.rates .is-you>*{color:var(--accent)}
.move{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.move__from{font-size:1.125rem;color:var(--text-faint);text-decoration:line-through var(--text-ghost)}
.move .arrow{color:var(--accent)}
.move__to{font-size:2.25rem;font-weight:500;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}

/* Destination watch board */
.board__body{display:grid;gap:16px}
.board__top,.board__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px}
.board__search{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 16px 0 12px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface-2)}
.board__note{padding-left:10px;border-left:1px solid var(--line-strong);font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint)}
.board__chips{display:flex;flex-wrap:wrap;gap:6px}
.board__table>div{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 3.5rem minmax(0,1.3fr) 3.5rem;align-items:center;gap:16px;padding:11px 12px;border-bottom:1px solid var(--line);font-size:12.5px}
.board__table>div>:nth-child(3){font-family:var(--font-mono);color:var(--text-muted)}
.board__table>.is-head{padding-block:0 9px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.board__table>.is-head>*{color:inherit;white-space:nowrap}
.board__table>.is-you{border-radius:var(--r-sm);border-bottom-color:transparent;background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line);color:var(--accent)}
.board__table>.is-med{border-bottom:1px dashed var(--line-max);color:var(--text-muted)}
.snaps{display:flex;flex:1;gap:4px}
.snaps i{flex:1;max-width:14px;aspect-ratio:1;border-radius:3px;background:color-mix(in srgb,var(--accent) 20%,transparent)}
.snaps i:last-child{background:var(--accent)}

/* Market spec list */
.spec{display:grid;border-top:1px solid var(--line)}
.spec>div{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:var(--space-4);padding:16px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.spec dt{padding-top:3px}
.spec dd,.waitlist__list span{color:var(--text-muted)}
.spec dd,.step__text{text-wrap:balance}

/* Three questions */
.questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}
.q{gap:var(--space-5);border-radius:var(--r-xl)}
.q__title{font-size:var(--fs-h3);letter-spacing:-.025em;line-height:1.2}
.q__title .serif{display:block;margin-top:6px}
.q__viz{display:grid;align-content:center;gap:12px;min-height:128px;padding:18px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}
.q__text{color:var(--text-muted);font-size:var(--fs-sm)}
.q .err__row{grid-template-columns:4.5rem minmax(0,1fr) 2.5rem;gap:10px;font-size:12px}
.viz-legend{display:flex;justify-content:space-between;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}
.viz-chips{display:flex;flex-wrap:wrap;gap:6px}
.dots{position:relative;height:36px;margin-inline:5px}
.dots::before{content:"";position:absolute;inset:50% 0 auto;height:1px;background:var(--line-strong)}
.dots span,.dots b{position:absolute;left:calc(var(--x) * 1%)}
.dots span{top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:1px solid var(--accent-line);background:var(--surface-3)}
.dots b{inset-block:0;width:2px;margin-left:-1px;border-radius:1px;background:var(--accent)}
.cap{position:relative;height:10px;margin-block:6px;border-radius:5px;background:rgba(255,255,255,.06)}
.cap i{position:absolute;inset:0 auto 0 0;width:calc(var(--w) * 1%);border-radius:inherit;background:var(--accent)}
.cap::after{content:"";position:absolute;inset:-6px 0 -6px auto;width:2px;border-radius:1px;background:var(--text-muted)}

/* Forecasting engine */
.engine{margin-top:var(--head-gap)}
.points{display:grid;gap:var(--space-6)}
.points>div{display:grid;gap:var(--space-2);padding-left:var(--space-5);border-left:1px solid var(--line-strong)}
.points p{color:var(--text-muted);font-size:var(--fs-sm)}
.err{gap:var(--space-6);margin:0}
.err__lead{display:grid;gap:var(--space-3);max-width:28rem;font-size:var(--fs-lead);line-height:1.45;color:var(--text-muted)}
.err__big{font-size:clamp(3.5rem,2.5rem + 3vw,5.5rem);font-weight:500;letter-spacing:-.055em;line-height:.95;color:var(--text)}
.err__group{display:grid;gap:12px}
.err__row{display:grid;grid-template-columns:8.5rem minmax(0,1fr) 3rem;align-items:center;gap:6px 14px;font-size:var(--fs-sm);color:var(--text-muted)}
.err__row>:last-child{text-align:right;font-family:var(--font-mono);color:var(--text)}
.err__bar{height:10px;border-radius:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--text) 24%,transparent) calc(var(--v) * 1%),rgba(255,255,255,.05) 0)}
.err__row--nyx{color:var(--text)}
.err__row--nyx .err__bar{background:linear-gradient(90deg,var(--accent) calc(var(--v) * 1%),rgba(255,255,255,.05) 0)}
.err__cap{font-size:var(--fs-xs);color:var(--text-faint)}

/* Decision record example */
.reason__copy,.waitlist__copy,.faq__aside{--stack:var(--space-5)}
.example{margin:0;user-select:text}
.example__body{display:grid;gap:16px}
.example__unit{margin-top:4px;font-size:15px;font-weight:500;letter-spacing:-.015em}
.example__steps{border-top:1px solid var(--line)}
.example__steps li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text-muted)}
.example__steps .ui-label{padding-top:3px}
.example__reason{display:grid;gap:8px;margin:0;padding:14px 16px;border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft);font-size:14px}
.example__cap{padding:12px 18px;border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--text-faint)}

/* Waitlist */
.waitlist{isolation:isolate;overflow:clip}
.waitlist__list{margin-block:var(--space-3)}
.wl-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--line)}

/* Closing */
.closing .cta-band{isolation:isolate}
.closing__moon{z-index:-1;top:clamp(-4rem,-1rem - 3vw,-2.5rem);right:clamp(-4rem,-1rem - 2vw,-2rem);width:clamp(8rem,2rem + 15vw,19rem);opacity:.85}

@media (max-width:1023px){
  .nyx-hero__sub{grid-template-columns:minmax(0,1fr)}
  .nyx-hero__cta{justify-items:start}
  .lanes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lane:nth-child(2){border-right:0}
  .lane--move{grid-column:1/-1;border-top:1px solid var(--line)}
  .questions{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .duo{grid-template-columns:minmax(0,1fr)}
  .duo a{padding-right:0}
  .duo li+li a{padding-left:0;border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:639px){
  .lanes{grid-template-columns:minmax(0,1fr)}
  .lane{padding:16px;border-right:0}
  .lane:nth-child(2){display:none}
  .board .frame__body{padding:14px}
  .board__table>div{grid-template-columns:minmax(0,1fr) 3rem 3.25rem;gap:12px;padding-inline:10px}
  .board__table>div>:nth-child(2),.board__table>div>:nth-child(4),.snaps i:nth-child(-n+4){display:none}
}
@media (max-width:479px){
  .nyx-hero__cta,.nyx-hero__actions,.closing .cta-band__actions{display:grid}
  .nyx-hero__cta{justify-items:stretch}
  .nyx-hero__note{align-items:flex-start}
  .nyx-hero__note .badge__dot{margin-top:5px}
  .spec>div,.example__steps li{grid-template-columns:minmax(0,1fr)}
  .err .err__row{grid-template-columns:minmax(0,1fr) auto}
  .err .err__bar{grid-area:2/1/3/3}
}
