/* Retirement studio — one surface, one hierarchy. */
.retirement-page{--quiet:#79818f;--rule:#edf0f3;--accent:#317bf3;padding:130px 0 80px;background:#fafbfc;color:#171926}
.retirement-heading{max-width:800px;margin:0 auto 40px;text-align:center}.retirement-heading .back-link{font-size:11px;margin-bottom:25px;color:var(--quiet)}.retirement-heading .eyebrow{font-size:10px;letter-spacing:.13em;color:var(--quiet);margin-bottom:18px}.retirement-heading h1{font-family:var(--font-title,'Inter Display',sans-serif);font-size:clamp(40px,4.3vw,60px);font-weight:700;line-height:1.05;letter-spacing:-.055em}.retirement-heading h1 span{color:#171926}.retirement-heading>p:not(.eyebrow){font-family:Inter,sans-serif;font-size:15px;line-height:1.7;color:var(--quiet);margin-top:18px}.calculator-badges{display:flex;justify-content:center;gap:20px;margin-top:20px;font-size:10px;color:var(--quiet)}.calculator-badges>span{display:flex;align-items:center;gap:6px}.calculator-badges .icon{width:13px;height:13px}
.pension-workspace{display:grid;grid-template-columns:1fr 1fr;align-items:start;max-width:1080px;margin:auto;background:#fff;border:1px solid #e8ebf0;border-radius:30px;box-shadow:0 18px 65px #22345105;overflow:clip}.pension-workspace[hidden]{display:none}.pension-inputs{padding:36px 40px;border:0;min-width:0}.pension-form-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.pension-form-top h2{font-family:var(--font-title,'Inter Display',sans-serif);font-size:23px;letter-spacing:-.04em}.pension-form-top button{border:0;background:none;color:var(--quiet);font:inherit;font-size:10px;padding:8px 0;cursor:pointer}.pension-form-top button:hover{color:#317bf3}
.pension-setting{display:block;border:0;background:none;padding:0;margin:0 0 28px;min-width:0}.pension-setting>legend{font-size:12px;font-weight:500;padding:0;margin-bottom:12px}.profession-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f2f4f7;border-radius:13px;padding:4px;gap:3px}.switch-indicator{display:none}.profession-switch label{cursor:pointer;min-width:0}.profession-switch input{position:absolute;opacity:0;width:1px;height:1px}.profession-switch label>span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:47px;padding:5px;font-size:10px;line-height:1.4;color:#78818f;border-radius:10px;transition:background .2s,color .2s}.profession-switch input:checked+span{background:#fff;color:#171926;box-shadow:0 2px 6px #16263c0c}.profession-switch input:focus-visible+span{outline:2px solid var(--accent)}
.pension-slider>label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;font-weight:500}.pension-slider output{white-space:nowrap;font-size:15px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#171926}.pension-slider input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:3px;margin:21px 0 0;border:0;border-radius:4px;background:linear-gradient(to right,var(--accent) var(--progress,0%),#e9edf2 var(--progress,0%));cursor:pointer}.pension-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border-radius:50%;background:#fff;border:1px solid #d9e0ea;box-shadow:0 2px 5px #172a4120;transition:box-shadow .2s}.pension-slider input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 0 5px #317bf310}.pension-slider input[type=range]::-moz-range-thumb{width:17px;height:17px;border-radius:50%;background:#fff;border:1px solid #d9e0ea;box-shadow:0 2px 5px #172a4120}.pension-slider input:focus-visible{outline:2px solid #317bf3;outline-offset:7px}
.setting-help{display:block;font-size:10px;font-weight:400;line-height:1.6;color:var(--quiet);margin-top:13px}.setting-help strong{font-weight:500;color:#546071}.target-setting .setting-help span{display:block;margin-top:4px}.pension-field{display:block;font-size:12px;font-weight:500;line-height:1.5}.pension-field input,.pension-field select{display:block;width:100%;min-width:0;border:1px solid #e3e8ef;border-radius:10px;padding:11px 12px;margin-top:10px;background:#fff;font:inherit;font-size:14px;font-weight:400;color:#171926}.pension-field input:focus{outline:2px solid #317bf326;border-color:#317bf3}.pension-field input[aria-invalid=true]{border-color:#c44540}.adviser-tax-input{border-top:1px solid var(--rule);padding-top:20px;margin-top:5px}.adviser-tax-input .pension-field input{max-width:130px}.simple-assumptions{font-size:10px;line-height:1.65;color:var(--quiet);margin:20px 0}.pension-personal,.pension-advanced{border-top:1px solid var(--rule)}.pension-personal summary,.pension-advanced summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:18px 0;font-size:12px;font-weight:500;cursor:pointer}.pension-personal summary::-webkit-details-marker,.pension-advanced summary::-webkit-details-marker{display:none}.pension-advanced summary{color:var(--quiet);font-weight:400}.pension-advanced summary .icon{width:14px;height:14px}.personal-grid{padding-top:10px}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 15px;padding:5px 0 20px}.advanced-grid .pension-field{font-size:11px}.pension-check{display:flex;gap:8px;font-size:11px;align-items:center}.pension-check input{accent-color:var(--accent)}.pension-input-error{font-size:12px;color:#b23e3a;padding:12px 0}.avs-auto{border:0;background:none;padding:8px 0;color:#317bf3;font:inherit;font-size:10px;cursor:pointer}.avs-auto[hidden]{display:none}
.pension-results{--signal:#c44540;position:sticky;top:85px;min-width:0;border-left:1px solid var(--rule);padding:32px 40px 26px;background:#fff}.pension-results[data-coverage=near]{--signal:#a96c18}.pension-results[data-coverage=covered]{--signal:#288568}.pension-results[data-coverage=neutral]{--signal:#79818f}.simple-result-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px}.retirement-ring{width:140px;height:140px;position:relative}.retirement-ring svg{width:100%;height:100%;transform:rotate(135deg);overflow:visible}.ring-track,.ring-progress{fill:none;stroke-width:7;stroke-linecap:round}.ring-track{stroke:#f0f2f5;stroke-dasharray:75 25}.ring-progress{stroke:var(--signal);stroke-dasharray:var(--ring-progress,0) 100;transition:stroke-dasharray .5s ease,stroke .3s}.ring-caption{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ring-caption strong{font-family:var(--font-title,'Inter Display',sans-serif);font-size:34px;font-weight:700;letter-spacing:-.05em;color:#171926}.ring-caption span{font-size:9px;color:var(--quiet)}.pension-step{display:none}.pension-results-heading h2{font-family:Inter,sans-serif;font-size:12px;font-weight:400;letter-spacing:0;line-height:1.5;color:var(--quiet);margin:3px 0 9px}.pension-results-heading h2 b{font-weight:400}.simple-monthly{display:flex;justify-content:center;align-items:baseline;gap:8px}.simple-monthly strong{font-family:var(--font-title,'Inter Display',sans-serif);font-size:40px;letter-spacing:-.055em;line-height:1.1}.simple-monthly>span{font-size:11px;color:var(--quiet)}.simple-monthly-note{display:none}.coverage-equation{font-size:10px;color:var(--quiet);line-height:1.5;margin-top:9px}
.adviser-gap{margin:24px 0 22px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.adviser-gap-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;color:var(--quiet)}.adviser-status{color:var(--signal);font-size:9px}.adviser-gap>p{display:flex;align-items:baseline;gap:7px;margin-top:7px}.adviser-gap>p strong{font-family:var(--font-title,'Inter Display',sans-serif);font-size:30px;letter-spacing:-.04em;color:var(--signal)}.adviser-gap>p>span{font-size:11px;color:var(--quiet)}#simple-summary{font-size:10px;line-height:1.6;color:var(--quiet);margin-top:6px}.adviser-pillars-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:17px;gap:10px}.adviser-pillars-heading h3{font-family:Inter,sans-serif;font-size:12px;font-weight:500;letter-spacing:0}.adviser-pillars-heading>span{font-size:9px;color:var(--quiet)}.adviser-pillar{margin-bottom:15px}.adviser-pillar>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px}.adviser-pillar strong{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.adviser-pillar small{font-size:8px;color:var(--quiet);margin-left:4px}.adviser-track{height:5px;background:#eff2f6;border-radius:4px;margin-top:8px;overflow:hidden}.adviser-track i{display:block;height:100%;border-radius:4px;background:#4084ef;transition:width .35s}.adviser-shortfall{display:none}.adviser-chart-note{font-size:9px;color:var(--quiet);margin-top:-2px}.adviser-missing{font-size:10px;line-height:1.55;color:#8b6a33;margin-top:12px}.adviser-missing[hidden]{display:none}.adviser-tax{border-top:1px solid var(--rule);margin-top:18px;padding-top:16px}.adviser-tax>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.adviser-tax>div>span{font-size:11px;color:#546071}.adviser-tax strong{font-size:16px;letter-spacing:-.02em;font-weight:500;white-space:nowrap}.adviser-tax>p{font-size:9px;color:var(--quiet);line-height:1.6;margin-top:7px}.pension-calculation-internals[hidden]{display:none}.pension-next-step{margin-top:20px;text-align:center}.pension-next-step>.button{background:#171926;color:white;border-radius:25px;font-size:12px;min-height:46px;padding:12px 16px;gap:14px}.pension-next-step>.button:hover{background:#30374a}.pension-next-step>p{display:none}.pension-next-step>.text-link{font-size:10px;margin-top:13px;color:var(--quiet)}.pension-context{display:none}.pension-disclaimer{max-width:850px;margin:22px auto 0;text-align:center;font-size:10px;line-height:1.7;color:var(--quiet)}.retirement-page .calculation-assumptions{max-width:1080px;margin:24px auto 0}.retirement-page .calculation-assumptions>div{columns:1}.retirement-page .calculation-assumptions p{font-size:12px}.pension-workspace [id]{scroll-margin-top:100px}
@media(max-width:1050px){.pension-inputs,.pension-results{padding:28px}.pension-workspace{grid-template-columns:1fr 1fr}.simple-monthly strong{font-size:35px}.pension-slider output{font-size:14px}}
@media(max-width:800px){.retirement-page{padding-top:115px}.pension-workspace{grid-template-columns:1fr;max-width:590px;border-radius:24px}.pension-results{position:static;border-left:0;border-top:1px solid var(--rule);padding:30px}.pension-inputs{padding:28px}.retirement-heading{margin-bottom:30px}.retirement-heading h1{font-size:44px}.calculator-badges{font-size:9px;gap:12px}.retirement-ring{width:155px;height:155px}.simple-monthly strong{font-size:42px}.pension-field input{font-size:16px}}
@media(max-width:420px){.pension-inputs,.pension-results{padding:25px 22px}.retirement-heading h1{font-size:40px}.retirement-heading>p:not(.eyebrow){font-size:14px}.pension-form-top h2{font-size:21px}.profession-switch label>span{font-size:9px;min-height:45px}.pension-slider>label{font-size:11px}.pension-slider output{font-size:13px}.calculator-badges{flex-wrap:wrap;gap:7px}.adviser-tax>div{flex-wrap:wrap;gap:6px}.adviser-gap-heading{font-size:10px}.pension-personal summary{font-size:11px}.advanced-grid{grid-template-columns:1fr}.simple-monthly strong{font-size:37px}}
@media(prefers-reduced-motion:reduce){.ring-progress,.adviser-track i{transition:none}}
/* Reference direction: a quiet blue desk with distinct white bento surfaces. */
.retirement-page{background:radial-gradient(ellipse 700px 400px at 50% 420px,#eaf1ff80,transparent),#fafbfc}.retirement-heading{margin-bottom:32px}.pension-workspace{max-width:1160px;padding:20px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);background:#eaf0fa;border:1px solid #e1e9f6;border-radius:34px;overflow:visible;box-shadow:0 25px 70px #244c7d07}.retirement-desk-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:3px 9px 8px;font-size:9px;letter-spacing:.09em;color:#68809f}.desk-live{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:0}.desk-live i{width:5px;height:5px;border-radius:50%;background:#3d8bd0;box-shadow:0 0 0 3px #3d8bd010}.pension-inputs{background:white;border:1px solid #ffffffc9;border-radius:24px;padding:29px 30px}.pension-form-top{margin-bottom:27px}.pension-form-top h2{font-size:24px}.pension-form-top button{padding:7px 10px;border:1px solid #edf0f5;border-radius:20px;font-size:9px}.profession-switch{background:#f0f4fa}.profession-switch input:checked+span{box-shadow:0 2px 8px #273e6110;color:#2567c8}.pension-slider input[type=range]{height:4px}.pension-slider input[type=range]::-webkit-slider-thumb{background:#347ef1;border:3px solid white;width:20px;height:20px;box-shadow:0 2px 7px #2967c630}.pension-slider input[type=range]::-moz-range-thumb{background:#347ef1;border:3px solid white;width:14px;height:14px;box-shadow:0 2px 7px #2967c630}.pension-results{background:transparent;border:0;padding:0;display:grid;gap:14px;top:90px}.simple-result-top{display:grid;grid-template-columns:146px minmax(0,1fr);gap:15px;align-items:center;text-align:left;padding:25px 26px;background:#fff;border-radius:24px;box-shadow:0 3px 15px #20385503}.retirement-ring{width:146px;height:146px}.ring-track,.ring-progress{stroke-width:11}.ring-separators{fill:none;stroke:#fff;stroke-width:12;stroke-dasharray:.16 .64}.ring-caption strong{font-size:36px}.ring-caption span{font-size:8px}.pension-step{display:block;font-size:8px;letter-spacing:.11em;color:#7e90a9;margin-bottom:12px}.pension-results-heading h2{font-size:11px;line-height:1.5}.simple-monthly{justify-content:flex-start;flex-wrap:wrap;column-gap:7px;row-gap:3px}.simple-monthly strong{font-size:36px}.simple-monthly>span{font-size:10px}.coverage-equation{font-size:9px;max-width:220px}.adviser-gap{position:relative;isolation:isolate;overflow:hidden;background:#171926;border:0;border-radius:24px;padding:22px 26px;margin:0}.adviser-gap::after{content:'';position:absolute;z-index:-1;width:180px;height:180px;right:-55px;top:-90px;border:1px solid #ffffff0b;border-radius:50%;box-shadow:0 0 0 24px #ffffff03,0 0 0 48px #ffffff02;pointer-events:none}.adviser-gap-heading{color:#a6b4c8;font-size:11px}.adviser-status{color:#ffd5ce;background:#ffffff0b;border:1px solid #ffffff0b;border-radius:20px;padding:5px 8px;font-size:8px}.adviser-gap>p strong{color:#fff;font-size:34px}.adviser-gap>p>span{color:#a9b4c8}.adviser-gap #simple-summary{color:#acb6c8;font-size:10px;margin-top:7px}.pension-results[data-coverage=covered] .adviser-status{color:#a8e1c5}.pension-results[data-coverage=near] .adviser-status{color:#f0d2a4}.adviser-pillars{border-radius:24px;background:white;padding:22px 26px}.adviser-pillars-heading h3{font-family:var(--font-title,'Inter Display',sans-serif);font-size:18px;letter-spacing:-.035em}.adviser-pillar{margin-bottom:17px}.adviser-track{height:7px;background:#edf2fa}.adviser-track i{background:linear-gradient(90deg,#2374ed,#77aafa)}.adviser-chart-note{font-size:9px}.adviser-missing{font-size:9px;color:#81755f;margin-top:10px}.adviser-tax{background:#fff;border:0;border-radius:20px;margin:0;padding:18px 24px}.adviser-tax>div>span{font-size:11px}.adviser-tax strong{font-size:20px;color:#275da9;letter-spacing:-.04em}.adviser-tax>p{font-size:9px;margin-top:5px}.pension-next-step{margin:0;padding:3px 4px 5px}.pension-next-step>.button{background:#fff;color:#171926;border:1px solid #dce5f3;min-height:47px;box-shadow:0 3px 7px #23497405}.pension-next-step>.button:hover{background:#f7faff;transform:translateY(-1px)}.pension-next-step>.text-link{margin-top:12px;color:#607591;font-size:10px}.pension-disclaimer{margin-top:25px}
@media(max-width:1050px){.pension-workspace{padding:15px;gap:13px}.pension-inputs{padding:25px}.simple-result-top{grid-template-columns:114px minmax(0,1fr);gap:12px;padding:22px}.retirement-ring{width:114px;height:114px}.ring-caption strong{font-size:29px}.ring-caption span{font-size:7px}.simple-monthly strong{font-size:30px}.adviser-gap,.adviser-pillars{padding:22px}.pension-form-top h2{font-size:21px}}
@media(max-width:800px){.pension-workspace{grid-template-columns:1fr;max-width:600px;padding:14px;gap:14px;border-radius:28px}.pension-results{position:static}.retirement-desk-heading{padding:5px 5px 3px;font-size:8px}.desk-live{font-size:9px}.simple-result-top{grid-template-columns:140px minmax(0,1fr);padding:25px}.retirement-ring{width:140px;height:140px}.ring-caption strong{font-size:34px}.ring-caption span{font-size:8px}.simple-monthly strong{font-size:35px}.adviser-gap,.adviser-pillars{padding:23px}.pension-inputs{padding:25px}.adviser-tax>div{flex-wrap:nowrap}}
@media(max-width:420px){.pension-workspace{padding:10px;border-radius:25px;gap:11px}.pension-inputs{padding:23px 18px;border-radius:20px}.simple-result-top{grid-template-columns:105px minmax(0,1fr);padding:21px 15px;gap:10px;border-radius:20px}.retirement-ring{width:105px;height:105px}.ring-caption strong{font-size:28px}.ring-caption span{font-size:6.5px}.simple-monthly strong{font-size:28px}.pension-step{font-size:7px;letter-spacing:.05em}.pension-results-heading h2{font-size:10px}.coverage-equation{font-size:8px}.adviser-gap,.adviser-pillars{padding:20px;border-radius:20px}.adviser-tax{padding:17px 20px}.adviser-tax>div{flex-wrap:wrap}.retirement-desk-heading>span:first-child{letter-spacing:.04em}.adviser-gap-heading{font-size:10px}.adviser-status{font-size:7px;padding:4px 6px}}
.pension-results{--signal:#fa484f}.pension-results[data-coverage=near]{--signal:#f5a126}.pension-results[data-coverage=covered]{--signal:#21be84}.ring-tip{fill:var(--signal);filter:drop-shadow(0 0 3px var(--signal)) drop-shadow(0 0 5px var(--signal));transition:cx .5s,cy .5s,fill .3s}.ring-progress{stroke-width:10}
@media(prefers-reduced-motion:reduce){.ring-tip{transition:none}}
