.retirement-page { --rt-border:#d8e3ef; --rt-soft:#f1f6fc; }
.retirement-page [hidden] { display:none !important; }
.rt-heading { padding-top:42px; padding-bottom:26px; }
.rt-breadcrumb,.rt-reviewed { font-size:12px; color:#53647b; margin:0 0 16px; }
.rt-breadcrumb { overflow-wrap:anywhere; }
.rt-jump-links { display:flex; flex-wrap:wrap; gap:10px 20px; padding:16px 0; border-bottom:1px solid var(--rt-border); font-size:14px; }
.rt-reading h3 { font-size:19px; margin:25px 0 10px; }
.rt-reading h2[id],.rt-reading h3[id] { scroll-margin-top:180px; }
.rt-reading p,.rt-reading li { line-height:1.75; }
.rt-reading ol { padding-left:24px; max-width:880px; }
.rt-source-note { font-size:13px; color:#53647b; }
.rt-eyebrow { color:#225da3; font-size:12px; font-weight:700; letter-spacing:.09em; margin:0 0 10px; }
.rt-heading h1 { font-size:clamp(28px,4vw,43px); line-height:1.16; max-width:900px; margin:0 0 16px; }
.rt-lead { font-size:19px; max-width:790px; color:#4c5d71; margin:0 0 22px; }
.rt-tool-nav { display:flex; flex-wrap:wrap; gap:8px; }
.rt-tool-nav a { padding:9px 14px; border:1px solid var(--rt-border); border-radius:7px; font-size:14px; font-weight:600; }
.rt-tool-nav a[aria-current] { background:#eaf2fc; border-color:#1f5fae; color:#143f78; }
.rt-workspace { display:grid; grid-template-columns:minmax(290px,360px) minmax(0,1fr); gap:24px; align-items:start; padding-bottom:32px; }
.rt-input-panel,.rt-result-panel { border:1px solid var(--rt-border); border-radius:14px; padding:25px; background:#fff; box-shadow:0 5px 20px rgba(31,63,100,.04); min-width:0; }
.rt-input-panel { background:#f8fafd; }
.rt-input-panel h2 { font-size:21px; margin:0 0 20px; }
.rt-result-panel h2 { font-size:27px; line-height:1.25; margin:5px 0 12px; }
.rt-field { display:block; font-weight:600; font-size:14px; margin-bottom:19px; }
.rt-field input,.rt-inline-fields select { display:block; box-sizing:border-box; width:100%; min-width:0; margin-top:7px; padding:11px 12px; border:1px solid #aebdd0; border-radius:6px; background:#fff; color:#17212b; font:inherit; font-weight:400; min-height:46px; }
.rt-field small { display:block; font-weight:400; font-size:12px; line-height:1.5; color:#53647b; margin-top:6px; }
.rt-money-input { display:flex; align-items:center; margin-top:7px; border:1px solid #aebdd0; border-radius:6px; background:#fff; }
.rt-money-input>span { padding-left:13px; color:#53647b; }
.rt-money-input input { border:0; margin-top:0; }
.retirement-page input:focus,.retirement-page select:focus { outline:3px solid #86b8ef; outline-offset:2px; }
.rt-mode { border:0; padding:0; margin:0 0 22px; }
.rt-mode legend,.rt-age-choice legend { font-size:14px; font-weight:600; padding:0; margin:0 0 9px; }
.rt-mode label { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--rt-border); border-radius:6px; background:#fff; font-size:14px; margin-bottom:7px; cursor:pointer; }
.rt-mode input,.rt-check input { width:17px; height:17px; accent-color:#1f5fae; flex-shrink:0; }
.rt-check { display:flex; gap:9px; align-items:center; font-size:14px; margin-bottom:17px; }
.rt-age-choice { border:0; padding:0; margin:20px 0; }
.rt-inline-fields { display:flex; gap:12px; }
.rt-inline-fields label { flex:1; font-size:12px; font-weight:600; }
.rt-submit { width:100%; min-height:48px; font-size:16px; cursor:pointer; border:0; }
.rt-text-button { color:#1f5fae; border:0; background:transparent; padding:9px 0; font:inherit; font-size:13px; text-decoration:underline; cursor:pointer; }
.rt-privacy,.rt-fine { font-size:12px; line-height:1.5; color:#59697d; margin:8px 0 0; }
.rt-help { font-size:13px; color:#53647b; }
.rt-error { background:#fff0ef; border-left:3px solid #ac3025; color:#84241d; padding:12px; font-size:14px; }
.rt-empty { min-height:420px; display:flex; flex-direction:column; justify-content:center; padding:24px; text-align:center; }
.rt-empty-icon { align-self:center; font-size:30px; line-height:64px; width:64px; background:#eaf2fc; border-radius:50%; color:#1f5fae; }
.rt-result-top { display:flex; gap:12px; justify-content:space-between; align-items:center; }
.rt-result-top .rt-eyebrow { margin:0; }
.rt-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:22px 0 18px; }
.rt-card { background:var(--rt-soft); border:1px solid var(--rt-border); border-radius:9px; padding:15px 12px; min-width:0; }
.rt-card span { display:block; font-size:12px; color:#4c5d71; }
.rt-card strong { display:block; font-size:clamp(19px,2.2vw,27px); color:#143f78; margin:7px 0; line-height:1.15; overflow-wrap:anywhere; }
.rt-card small { font-size:12px; color:#4c5d71; }
.rt-notice { background:#f3f7fc; border-left:3px solid #70a1d9; padding:12px 14px; font-size:13px; line-height:1.6; }
.rt-table-wrap { max-width:100%; overflow-x:auto; margin:23px 0; }
.rt-table { border-collapse:collapse; width:100%; font-size:14px; text-align:left; }
.rt-table caption { text-align:left; font-weight:700; padding:0 0 12px; font-size:16px; color:#17212b; }
.rt-table th { background:#f2f6fa; color:#33485f; font-size:12px; font-weight:700; }
.rt-table th,.rt-table td { padding:11px 10px; border-bottom:1px solid #e2e9f1; }
.rt-table td:not(:first-child) { white-space:nowrap; font-variant-numeric:tabular-nums; }
.rt-table tr.rt-selected { background:#eaf3ff; }
.rt-table tr.rt-selected th { background:transparent; }
.rt-table .rt-fra-tag { display:block; color:#235fa3; font-size:11px; font-weight:600; }
.rt-chart svg { width:100%; height:auto; display:block; }
.rt-legend { display:flex; flex-wrap:wrap; gap:14px; font-size:12px; }
.rt-legend i { display:inline-block; width:16px; height:4px; vertical-align:middle; margin-right:5px; }
.rt-reading { padding-top:24px; padding-bottom:32px; }
.rt-reading h2 { font-size:25px; margin:20px 0 13px; }
.rt-reading>p { max-width:900px; }
.rt-reading details,.rt-assumptions { border-top:1px solid var(--rt-border); padding:14px 0; }
.retirement-page summary { cursor:pointer; font-weight:600; }
.retirement-page details p { font-size:14px; line-height:1.7; }
.rt-explain-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:25px 0; }
.rt-explain-grid h3 { font-size:17px; }
.rt-explain-grid p { font-size:14px; color:#53647b; }
.rt-sources { font-size:13px; color:#53647b; }
.rt-sources li { margin-bottom:8px; }
.rt-main-amount { font-size:36px; font-weight:700; color:#143f78; }
.rt-break-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.rt-break-grid strong { font-size:18px; }
@media(max-width:850px) { .rt-workspace { grid-template-columns:minmax(260px,320px) minmax(0,1fr); gap:15px; } .rt-input-panel,.rt-result-panel { padding:19px; } .rt-summary,.rt-break-grid { grid-template-columns:1fr; } .rt-card strong { font-size:24px; } }
@media(max-width:650px) { .rt-heading { padding-top:28px; } .rt-workspace { grid-template-columns:1fr; } .rt-empty { min-height:220px; padding:14px; } .rt-explain-grid { grid-template-columns:1fr; gap:2px; } .rt-tool-nav a { flex:1 1 140px; text-align:center; } .rt-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; } .rt-card { padding:12px 8px; } .rt-card strong { font-size:19px; } .rt-result-panel h2 { font-size:24px; } .rt-table { font-size:13px; } .rt-table th,.rt-table td { padding:10px 7px; } }
@media(prefers-reduced-motion:reduce) { .retirement-page * { scroll-behavior:auto; } }
