.num-hero { display:grid; grid-template-columns:minmax(0,.9fr) minmax(26rem,1.1fr); gap:clamp(3rem,8vw,8rem); align-items:center; min-height:min(760px,calc(100vh - 88px)); padding-block:clamp(4rem,8vw,7rem); }
.num-hero__copy h1 { max-width:8ch; margin:0; font-size:clamp(3.8rem,7.4vw,7.5rem); line-height:.9; letter-spacing:-.055em; }
.num-hero__copy > p:not(.eyebrow) { max-width:36rem; margin:2rem 0; color:var(--ivory-muted); font:1.2rem/1.7 var(--serif); }
.num-hero figure { position:relative; margin:0; min-height:34rem; overflow:hidden; border:1px solid var(--line); background:#050707; box-shadow:var(--shadow); }
.num-hero figure::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,7,7,.25),transparent 40%),linear-gradient(0deg,rgba(5,7,7,.82),transparent 48%); content:""; }
.num-hero figure img { width:100%; height:100%; min-height:34rem; object-fit:cover; filter:saturate(.82) contrast(1.04); }
.num-hero figcaption { position:absolute; z-index:2; right:1.4rem; bottom:1.2rem; left:1.4rem; padding-top:1rem; border-top:1px solid var(--line); color:var(--ivory-muted); font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; }

.num-catalog { padding-block:clamp(4rem,8vw,7rem); border-top:1px solid var(--line-soft); }
.num-catalog > header { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:end; margin-bottom:2.4rem; }
.num-catalog h2,.num-start h2,.num-method h2,.num-trace h2,.num-guide h2,.num-interpretation h2,.num-save h2,.num-next h2 { max-width:18ch; margin:0; font-size:clamp(2.2rem,4.2vw,4rem); line-height:1.02; }
.num-catalog > header > p,.num-start__intro > p,.num-method > p,.num-save > div > p { max-width:39rem; margin:0; color:var(--ivory-muted); line-height:1.7; }
.num-practice-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.num-practice { position:relative; display:grid; grid-template-columns:auto 1fr; gap:.6rem 1rem; min-height:18rem; padding:1.5rem; overflow:hidden; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(145deg,rgba(31,59,52,.16),rgba(9,10,9,.78)); text-align:left; cursor:pointer; transition:background 180ms ease,transform 180ms ease; }
.num-practice:hover,.num-practice:focus-visible,.num-practice.is-selected { background:linear-gradient(145deg,rgba(143,116,39,.24),rgba(26,22,35,.78)); }
.num-practice:focus-visible { z-index:2; outline:2px solid var(--gold-light); outline-offset:-3px; }
.num-practice__number { color:var(--gold); font-size:.67rem; letter-spacing:.12em; }
.num-practice__glyph { grid-column:2; align-self:center; justify-self:end; color:rgba(230,201,105,.62); font:clamp(4.5rem,8vw,7rem)/.8 var(--serif); text-shadow:0 0 2rem rgba(212,175,55,.2); }
.num-practice strong { grid-column:1/-1; align-self:end; font:400 1.65rem/1.1 var(--serif); }
.num-practice small { grid-column:1/-1; min-height:3.2em; color:var(--ivory-muted); line-height:1.55; }
.num-practice em { grid-column:1/-1; display:flex; justify-content:space-between; padding-top:.8rem; border-top:1px solid var(--line-soft); color:var(--gold-light); font-size:.7rem; font-style:normal; text-transform:uppercase; letter-spacing:.08em; }

.num-start { display:grid; grid-template-columns:minmax(0,.85fr) minmax(26rem,1.15fr); gap:clamp(3rem,8vw,7rem); padding-block:clamp(4rem,8vw,7rem); scroll-margin-top:2rem; }
.num-start__intro ul { margin:2rem 0 0; padding:0; list-style:none; }
.num-start__intro li { padding:.85rem 0; border-bottom:1px solid var(--line-soft); color:var(--ivory-muted); font-size:.84rem; }
.num-start__intro li::before { margin-right:.7rem; color:var(--gold); content:"◇"; }
.num-form { display:grid; gap:1.2rem; align-self:start; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--line); background:rgba(8,10,9,.72); box-shadow:var(--shadow); }
.num-form label,.num-save form > label { display:grid; gap:.55rem; }
.num-form label > span,.num-save form > label > span,.num-save legend { color:var(--ivory); font-size:.78rem; font-weight:700; }
.num-form label small { color:var(--ivory-muted); font-size:.7rem; }
.num-form input,.num-save select,.num-save input,.num-save textarea { width:100%; min-height:3.4rem; padding:.8rem 1rem; border:1px solid var(--line-soft); border-radius:0; background:#111411; color:var(--ivory); font:inherit; color-scheme:dark; }
.num-form input:focus,.num-save select:focus,.num-save input:focus,.num-save textarea:focus { border-color:var(--gold); outline:1px solid var(--gold); }
.num-error { margin:0; padding:1rem; border-left:3px solid #cf8067; background:rgba(115,48,35,.2); color:#ffd8ca; line-height:1.5; }
.num-method { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding-block:clamp(3rem,6vw,5rem); border-block:1px solid var(--line-soft); }

.num-result { padding-block:clamp(2rem,6vw,5rem); }
.text-link { display:inline-block; margin-bottom:2rem; color:var(--ivory-muted); font-size:.78rem; text-decoration:none; }
.text-link:hover,.text-link:focus-visible { color:var(--gold-light); }
.num-result__header { display:grid; grid-template-columns:1fr minmax(20rem,.72fr); gap:clamp(2rem,7vw,7rem); align-items:center; min-height:30rem; padding-block:2rem 4rem; }
.num-result__header h1 { max-width:10ch; margin:0; font-size:clamp(3.2rem,6vw,6.5rem); line-height:.92; }
.num-result__header p:not(.eyebrow) { max-width:34rem; color:var(--ivory-muted); font:1.15rem/1.65 var(--serif); }
.num-orbit { position:relative; display:grid; width:min(25rem,80vw); aspect-ratio:1; place-items:center; justify-self:center; border:1px solid var(--line); border-radius:50%; background:radial-gradient(circle,rgba(143,116,39,.26),rgba(31,59,52,.08) 48%,transparent 70%); box-shadow:inset 0 0 4rem rgba(0,0,0,.45),0 0 5rem rgba(212,175,55,.08); }
.num-orbit::before,.num-orbit::after,.num-orbit i { position:absolute; border:1px solid var(--line); border-radius:50%; content:""; }
.num-orbit::before { inset:10%; }.num-orbit::after { inset:25%; }.num-orbit i:first-of-type { width:1rem; height:1rem; top:8%; left:48%; background:var(--gold); }.num-orbit i:last-of-type { width:.55rem; height:.55rem; right:14%; bottom:22%; background:var(--ivory); }
.num-orbit span { z-index:2; color:var(--gold-light); font:clamp(5rem,11vw,9rem)/1 var(--serif); letter-spacing:-.06em; text-shadow:0 .08em .3em #000; }
.num-inputs,.num-trace,.num-guide,.num-interpretation,.num-save,.num-next { padding-block:clamp(3rem,7vw,6rem); border-top:1px solid var(--line-soft); }
.num-inputs { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.num-inputs h2 { margin:0; font-size:clamp(2rem,3.5vw,3.4rem); }
.num-inputs dl { display:grid; gap:.7rem; margin:0; }
.num-inputs dl div { display:flex; justify-content:space-between; gap:2rem; padding:.8rem 0; border-bottom:1px solid var(--line-soft); }
.num-inputs dt { color:var(--ivory-muted); }.num-inputs dd { margin:0; color:var(--gold-light); font-variant-numeric:tabular-nums; }
.num-trace > header,.num-interpretation > header { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2.5rem; }
.num-trace ol { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.num-trace li { display:grid; grid-template-columns:3rem minmax(10rem,1fr) minmax(8rem,1fr) 4rem; gap:1rem; align-items:center; min-height:5.2rem; border-bottom:1px solid var(--line-soft); }
.num-trace li > span { color:var(--gold); font-size:.68rem; }.num-trace li div { display:grid; gap:.25rem; }.num-trace li small { color:var(--ivory-muted); }.num-trace li b { color:var(--ivory-muted); font-weight:400; font-variant-numeric:tabular-nums; }.num-trace li em { color:var(--gold-light); font:1.5rem var(--serif); font-style:normal; }
.num-trace > p { color:var(--ivory-muted); font-size:.72rem; }
.num-guide { display:grid; grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr); gap:clamp(2rem,7vw,7rem); align-items:start; }
.num-guide > div:last-child > p { margin-top:0; color:var(--ivory); font:1.15rem/1.72 var(--serif); }
.num-guide aside { margin-top:1.5rem; padding:1.2rem 1.4rem; border-left:2px solid var(--gold); background:rgba(212,175,55,.06); }
.num-guide aside strong,.num-signals>strong,.num-action>strong { color:var(--gold); font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; }
.num-guide aside p { margin:.55rem 0 0; color:var(--ivory-muted); line-height:1.65; }
.num-interpretation > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); gap:1rem; }
.num-interpretation article { padding:clamp(1.5rem,4vw,2.6rem); border:1px solid var(--line); background:linear-gradient(145deg,rgba(31,59,52,.13),rgba(9,10,9,.76)); }
.num-interpretation article > span { color:var(--gold); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; }.num-interpretation h3 { margin:.8rem 0 1rem; font-size:clamp(1.8rem,3vw,2.7rem); }.num-core { color:var(--ivory); font:1.05rem/1.65 var(--serif); }
.num-interpretation dl { margin:2rem 0; }.num-interpretation dl div { padding:1rem 0; border-top:1px solid var(--line-soft); }.num-interpretation dt { margin-bottom:.45rem; color:var(--gold); font-size:.68rem; text-transform:uppercase; }.num-interpretation dd { margin:0; color:var(--ivory-muted); line-height:1.6; }
.num-signals { margin:1.6rem 0 0; padding:1.2rem; border:1px solid var(--line-soft); background:rgba(31,59,52,.12); }
.num-signals ul { display:grid; gap:.65rem; margin:.8rem 0 0; padding:0; list-style:none; }
.num-signals li { color:var(--ivory-muted); line-height:1.55; }
.num-signals li::before { margin-right:.65rem; color:var(--gold); content:"◇"; }
.num-action { padding:1rem 1.1rem; border-left:2px solid var(--gold); background:rgba(212,175,55,.06); }
.num-action p { margin:.55rem 0 0; color:var(--ivory); line-height:1.6; }
.num-interpretation blockquote { margin:2rem 0 0; padding:1.2rem 0 0 1.3rem; border-top:1px solid var(--line); border-left:2px solid var(--gold); color:var(--ivory); font:1.25rem/1.5 var(--serif); }
.num-save { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,8vw,7rem); }
.num-save form { display:grid; gap:1.2rem; }.num-save fieldset { display:grid; gap:.65rem; margin:0; padding:0; border:0; }.num-save legend { margin-bottom:.7rem; }.num-save fieldset label { cursor:pointer; }.num-save fieldset label span { display:block; padding:1rem; border:1px solid var(--line-soft); color:var(--ivory-muted); line-height:1.5; }.num-save fieldset input { position:absolute; opacity:0; }.num-save fieldset input:checked + span,.num-save fieldset input:focus-visible + span { border-color:var(--gold); background:rgba(212,175,55,.08); color:var(--ivory); }
.num-next { display:grid; grid-template-columns:.7fr 1.3fr; gap:3rem; }.num-next > div:last-child { display:grid; }.num-next a { display:grid; grid-template-columns:1fr auto; gap:.4rem 1rem; padding:1.2rem 0; border-bottom:1px solid var(--line-soft); text-decoration:none; }.num-next a strong { font:1.35rem var(--serif); }.num-next a small { grid-column:1; color:var(--ivory-muted); }.num-next a span { grid-column:2; grid-row:1/3; align-self:center; color:var(--gold); }
.num-boundary { display:grid; grid-template-columns:8rem 1fr; gap:2rem; padding:1.4rem 0; border-top:1px solid var(--line); color:var(--ivory-muted); line-height:1.6; }.num-boundary strong { color:var(--gold); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }.num-boundary p { margin:0; }

@media (max-width:900px) {
  .num-hero,.num-start,.num-result__header,.num-save { grid-template-columns:1fr; }
  .num-hero { min-height:auto; }.num-hero figure { min-height:26rem; }.num-hero figure img { min-height:26rem; }
  .num-practice-grid { grid-template-columns:repeat(2,1fr); }
  .num-result__header { min-height:auto; }.num-orbit { order:-1; width:min(19rem,75vw); }
}
@media (max-width:640px) {
  .num-hero,.num-catalog,.num-start,.num-result { width:min(100% - 2rem,1240px); }
  .num-hero { padding-top:2.5rem; gap:2.5rem; }.num-hero__copy h1 { font-size:clamp(3.2rem,17vw,5rem); }.num-hero figure,.num-hero figure img { min-height:22rem; }
  .num-catalog > header,.num-method,.num-inputs,.num-guide,.num-next { grid-template-columns:1fr; }
  .num-practice-grid { grid-template-columns:1fr; }.num-practice { min-height:13rem; }.num-practice__glyph { font-size:4rem; }
  .num-start { gap:2rem; }.num-form { padding:1.2rem; }
  .num-result__header h1 { font-size:3.5rem; }.num-orbit span { font-size:5.5rem; }
  .num-trace > header,.num-interpretation > header { display:block; }.num-trace li { grid-template-columns:2rem 1fr auto; padding:.8rem 0; }.num-trace li b { grid-column:2; }.num-trace li em { grid-column:3; grid-row:1/3; }
  .num-boundary { grid-template-columns:1fr; gap:.5rem; }
}
@media (prefers-reduced-motion:reduce) { .num-practice { transition:none; } html { scroll-behavior:auto; } }
