/* Retirement Decision Answers. Same system as the Lab page: cool white ground,
   royal navy primary, gold accent, pitch-black bands. Single light look by choice.
   Layout: answer first, sources and review dates visible, one capture per page. */
:root{
  /* Conversion palette. Authority: deep navy and night. Premium: warm ivory paper and muted gold.
     Action: one bright signal gold reserved ONLY for buttons that capture a signup, so the eye
     finds them first. Search and navigation stay navy; nothing else uses the signal color. */
  --paper:#FAF8F3;       /* warm ivory ground: premium paper, not clinical white */
  --card:#FFFFFF;        /* raised surfaces: short answer, inputs */
  --paper-2:#F1ECE1;     /* tinted panels */
  --ink:#0B0D12;         /* near-black text */
  --ink-dim:#4D5263;     /* secondary text */
  --rule:#DDD5C4;        /* warm hairlines */
  --navy:#0E1B4D;        /* authority and trust: headings accents, search, links */
  --navy-deep:#070F30;
  --gold:#B8963A;        /* muted premium gold: rules and labels only */
  --gold-ink:#7A611A;    /* gold that reads as text on ivory */
  --signal:#F2C14E;      /* ACTION color: signup buttons only */
  --signal-hover:#FFD36B;
  --night:#07090F;       /* deep bands */
  --night-ink:#F4F1EA;
  --night-dim:#A9AEBD;
  --night-rule:#23283A;
  --on-navy:#DCE2F2;
  --on-navy-dim:#B7C0DA;
  --ok:#1F6B45; --warn:#8A4B12;
  --f-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --f-body:"Spectral",Georgia,"Times New Roman",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:light;
}
html{-webkit-text-size-adjust:100%}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
[hidden]{display:none!important}
a{color:var(--navy)}
a:hover{color:var(--navy-deep)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1100px;margin:0 auto;padding-inline:20px}
.mono{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--ink);padding:8px 12px;z-index:9}
.skip:focus{left:8px}

/* top bar */
.topbar{background:var(--night)}
.topbar .wrap{display:flex;align-items:center;gap:18px;padding-block:12px;flex-wrap:wrap}
.topbar img{height:44px;width:auto;display:block}
.classline{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;min-width:0}
.classline a{color:var(--night-dim);text-decoration:none}
.classline a:hover{color:var(--gold)}

/* breadcrumb */
.crumbs{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--ink-dim);padding-block:18px 0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--ink-dim)}
.crumbs span[aria-hidden]{color:var(--rule)}

/* type */
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0}
h1{font-weight:900;font-size:clamp(34px,5.2vw,58px);line-height:1.04;letter-spacing:-.015em}
h2{font-weight:800;font-size:clamp(26px,3.4vw,38px);line-height:1.1}
h3{font-weight:700;font-size:22px;line-height:1.25}
.kicker{color:var(--navy);margin:0}
.dim{color:var(--ink-dim)}

/* hub hero */
.hub-hero{padding-block:40px 36px}
.hub-hero h1{max-width:18ch;margin:12px 0 16px}
.hub-hero .lede{max-width:40em;margin:0;font-size:clamp(19px,2.1vw,22px)}

/* ask box */
.ask{margin-top:26px;max-width:760px}
.ask-row{display:flex;background:var(--card);border:2px solid var(--navy)}
.ask-row:focus-within{outline:3px solid var(--gold);outline-offset:2px}
.ask-row label{font-family:var(--f-mono);font-size:13px;color:var(--navy);align-self:center;padding-left:14px}
.ask-row input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:19px;color:var(--ink);padding:15px 12px}
.ask-row input:focus{outline:none}
.ask-row button{border:0;background:var(--navy);color:var(--night-ink);font-family:var(--f-mono);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:0 22px;cursor:pointer}
.ask-row button:hover{background:var(--navy-deep)}
.hits{list-style:none;margin:0;padding:0;border:1px solid var(--rule);border-top:0;background:var(--card)}
.hits a{display:block;padding:10px 14px;text-decoration:none;color:var(--ink);border-top:1px solid var(--paper-2)}
.hits li:first-child a{border-top:0}
.hits a:hover,.hits a:focus-visible{background:var(--paper-2)}
.hits small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.unanswered{margin-top:12px;background:var(--paper-2);border-left:4px solid var(--navy);padding:16px 18px}
.unanswered p{margin:0 0 10px}
.unanswered .fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px}
.field{width:100%;font:inherit;font-size:17px;padding:11px 12px;border:1px solid var(--rule);background:var(--card);color:var(--ink);min-width:0}
.btn{display:inline-block;background:var(--navy);color:var(--night-ink);font-family:var(--f-mono);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:14px 22px;border:0;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--navy-deep);color:var(--night-ink)}
.btn.gold{background:var(--signal);color:var(--ink);box-shadow:0 2px 0 rgba(0,0,0,.25)}
.btn.gold:hover{background:var(--signal-hover);color:var(--ink);transform:translateY(-1px)}
.note{font-size:14px;color:var(--ink-dim);margin:8px 0 0}
.msg-ok{color:var(--ok);font-weight:600}
.msg-err{color:var(--warn);font-weight:600}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips a{font-size:16px;border:1px solid var(--rule);background:var(--card);padding:6px 12px;text-decoration:none;color:var(--ink)}
.chips a:hover{border-color:var(--navy);color:var(--navy)}

/* hub library */
.decisions{padding-block:24px 56px;border-top:1px solid var(--rule)}
.dgrid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;align-items:start}
.dindex{position:sticky;top:calc(env(safe-area-inset-top,0px) + 18px)}
.dindex ol{list-style:none;margin:12px 0 0;padding:0;border-left:1px solid var(--rule)}
.dindex a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-dim);text-decoration:none;font-size:17px;line-height:1.35}
.dindex a:hover{color:var(--ink);border-left-color:var(--navy)}
.dindex .count{font-family:var(--f-mono);font-size:12px;color:var(--ink-dim);margin-top:14px}
.dsec{padding-top:36px;scroll-margin-top:16px}
.dsec:first-child{padding-top:24px}
.dsec h2{margin:6px 0 14px}
.qlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.qlist li{border-bottom:1px solid var(--rule)}
.qlist a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:16px 0;text-decoration:none;color:var(--ink)}
.qlist .q{font-family:var(--f-display);font-weight:700;font-size:21px;line-height:1.3}
.qlist a:hover .q{color:var(--navy)}
.qlist .s{display:block;color:var(--ink-dim);font-size:17px;margin-top:4px}
.qlist .qm{font-family:var(--f-mono);font-size:13px;color:var(--navy);padding-top:4px}

.spot-h{font-family:var(--f-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:28px 0 0;padding-bottom:10px}

/* answer page */
.answer-page{padding-block:20px 48px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.answer-page article{min-width:0;max-width:44em}
.answer-page h1{margin:10px 0 22px;font-size:clamp(32px,4.8vw,52px)}
.short{font-size:clamp(20px,2.3vw,24px);line-height:1.45;font-weight:600;margin:0 0 22px;padding:18px 20px;background:var(--card);border:1px solid var(--rule);border-left:6px solid var(--gold);box-shadow:0 1px 0 var(--rule)}
.short .tag{display:block;font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--gold-ink);margin-bottom:6px}
.body p{margin:0 0 16px}
.personal{margin:26px 0;padding:18px 20px;background:var(--night);color:var(--night-ink)}
.personal .mono{color:var(--signal);display:block;margin-bottom:6px}
.personal p{margin:0 0 12px}
.personal a{color:var(--signal)}
.tool{margin:0 0 22px}
.sources{margin-top:30px;border-top:2px solid var(--ink);padding-top:14px}
.sources h2{font-size:22px;margin-bottom:8px}
.sources ol{margin:0;padding-left:22px;font-size:16px}
.sources li{margin-bottom:6px}
.sources .pub{color:var(--ink-dim)}
.reviewed{font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;color:var(--ink-dim);margin-top:14px;line-height:1.8}
.reviewed b{color:var(--ink);font-weight:600}
.helpful{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:16px}
.helpful button{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--card);border:1px solid var(--rule);padding:8px 14px;cursor:pointer;color:var(--ink)}
.helpful button:hover{border-color:var(--navy)}
aside.rail{position:sticky;top:calc(env(safe-area-inset-top,0px) + 18px);display:grid;gap:22px;min-width:0}
.capture{background:var(--navy);color:var(--night-ink);padding:22px;border-top:4px solid var(--signal)}
.capture .mono{color:var(--signal)}
.capture h2{font-size:24px;color:var(--night-ink);margin:8px 0 8px}
.capture p{margin:0 0 12px;font-size:16px;color:var(--on-navy)}
.capture form{display:grid;gap:8px}
.capture .field{border-color:transparent}
.capture .note{color:var(--on-navy-dim)}
.capture .msg-ok{color:#9FE0B9}
.capture .msg-err{color:#FFD39A}
.related h2{font-size:20px;margin-bottom:6px}
.related ul{list-style:none;margin:0;padding:0}
.related li{border-top:1px solid var(--rule)}
.related a{display:block;padding:10px 0;text-decoration:none;color:var(--ink);font-size:17px;line-height:1.35}
.related a:hover{color:var(--navy)}
.ask-again{border-top:1px solid var(--rule);padding-block:40px}
.ask-again h2{margin:6px 0 4px}

/* hub capture */
.hub-capture{padding-block:0 48px}
.hub-capture .capture{max-width:760px}

/* lab band */
.labband{background:var(--night);color:var(--night-ink);padding-block:48px}
.labband .grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px;align-items:center}
.labband .mono{color:var(--signal)}
.labband h2{margin:10px 0 10px}
.labband p{color:var(--night-dim);margin:0 0 18px}
.terms{border:1px solid var(--night-rule);margin:0;padding:6px 20px}
.terms div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--night-rule);font-variant-numeric:tabular-nums}
.terms div:last-child{border-bottom:0}
.terms dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--signal)}
.terms dd{margin:0;text-align:right}

/* method */
.method{padding-block:44px;border-bottom:1px solid var(--rule)}
.method .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:20px}
.method .steps div{border-top:3px solid var(--navy);padding-top:12px;min-width:0}
.method .steps p{margin:6px 0 0;font-size:16px;color:var(--ink-dim)}
.method .mono{color:var(--navy)}

.ai-connect{margin:26px 0 0;font-size:16px;color:var(--ink-dim);border-top:1px solid var(--rule);padding-top:14px}
.ai-connect .mono{color:var(--navy);margin-right:8px}
.ai-connect code{font-family:var(--f-mono);font-size:14px;background:var(--paper-2);padding:2px 6px;color:var(--ink);overflow-wrap:anywhere}

footer.foot{padding-block:28px 44px;font-size:15px;color:var(--ink-dim)}
footer.foot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
footer.foot a{color:var(--ink-dim)}

@media (max-width:900px){
  .answer-page{grid-template-columns:1fr;gap:28px}
  aside.rail{position:static}
  .dgrid{grid-template-columns:1fr;gap:12px}
  .dindex{position:static}
  .labband .grid{grid-template-columns:1fr}
  .method .steps{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  body{font-size:18px}
  .ask-row{flex-wrap:wrap}
  .ask-row label{display:none}
  .ask-row input{flex-basis:100%}
  .ask-row button{flex:1;padding:14px}
  .unanswered .fields{grid-template-columns:1fr}
  .method .steps{grid-template-columns:1fr}
  .topbar img{height:36px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.classline a.navcta{color:var(--ink);background:var(--signal);padding:8px 12px;font-weight:600;text-decoration:none}
.classline a.navcta:hover{background:var(--signal-hover)}
.classline a:first-child{color:var(--signal)}
@media (max-width:560px){.classline a:not(.navcta):not(:first-child){display:none}}
