.fx-pension {--pension-ink:#303431;--pension-red:#a71d29;--pension-line:#e2dfd9;--pension-muted:#f7f6f3}
.fx-pension h3,.fx-pension h4,.fx-pension legend {font-family:Lexend,sans-serif}
.fx-pension h3 {font-size:clamp(23px,3vw,33px);letter-spacing:-.03em;line-height:1.18;margin:0 0 10px}
.fx-pension h4 {font-size:clamp(20px,2.2vw,26px);line-height:1.2;margin:0 0 12px}
.fx-pension p {line-height:1.55}
.fx-pension fieldset {min-width:0;border:0;padding:0;margin:0}
.fx-pension legend {font-weight:600;padding:0;margin-bottom:8px}
.fx-pension label {display:block;font-weight:600;line-height:1.35;margin-bottom:7px}
.fx-pension input:not([type=range]),.fx-pension select {width:100%;height:49px;min-width:0;border:2px solid #d8d3cd;border-radius:13px;background:#fff;color:var(--pension-ink);padding:0 12px;font:inherit}
.fx-pension input[type=range] {width:100%;accent-color:var(--pension-red);margin:0;cursor:pointer}
.fx-pension-profile h3 {margin-bottom:24px}
.fx-pension-profile-summary {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 20px}
.fx-pension-profile-summary h3 {margin:0}
.fx-pension-household {display:grid;grid-template-columns:minmax(0,1fr) minmax(195px,260px);gap:18px;align-items:start}
.fx-pension-household small {display:block;margin-top:8px}
.fx-pension-choices {display:flex;flex-wrap:wrap;gap:8px}
.fx-pension-choices button {border:1px solid #d8d3cd;border-radius:999px;padding:9px 14px;min-height:42px;background:#fff;color:var(--pension-ink);cursor:pointer;font:inherit;overflow-wrap:anywhere}
.fx-pension-choices button[aria-pressed=true] {border-color:var(--pension-red);background:#fbedec;color:#921827;font-weight:700}
.fx-pension-people {display:grid;gap:22px;margin-top:24px}
.fx-pension .fx-pension-person {background:var(--pension-muted);border:1px solid var(--pension-line);border-radius:20px;padding:18px clamp(16px,2.5vw,26px)}
.fx-pension-person legend {padding:0 6px;background:#fff;border-radius:6px}
.fx-pension-fields {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fx-pension-fields > div {display:flex;flex-direction:column;min-width:0}
.fx-pension-fields input,.fx-pension-fields select {margin-top:auto}
.fx-pension-salary {margin-top:17px}
.fx-pension-salary-head,.fx-pension-form-actions {display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}
.fx-pension-salary-head strong {color:var(--pension-red);white-space:nowrap}
.fx-pension-salary-controls {display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,175px);gap:18px;align-items:center}
.fx-pension-form-actions {justify-content:flex-start;align-items:center;margin-top:20px}
.fx-pension-pending {padding:15px 0;margin:12px 0;color:#5c615c}
.fx-pension-analysis {margin-top:clamp(36px,6vw,68px)}
.fx-pension-analysis h3 {scroll-margin-top:92px}
.fx-pension-result-head {display:flex;justify-content:space-between;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.fx-pension-result-head p {margin:0;color:#555a56}
.fx-pension-result-head .fx-pension-example {color:var(--pension-red);font-size:14px;font-weight:700;margin-bottom:7px}
.fx-pension-results-grid {display:grid;grid-template-columns:minmax(0,2.35fr) minmax(230px,1fr);gap:22px;align-items:start}
.fx-pension-main-result {min-width:0;border:2px solid var(--pension-line);border-radius:24px;overflow:hidden;background:#fff}
.fx-pension-highest {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;padding:20px clamp(16px,3vw,26px);background:var(--pension-muted)}
.fx-pension-highest strong {color:var(--pension-red);font:600 clamp(25px,3.2vw,40px)/1.12 Lexend,sans-serif;letter-spacing:-.035em}
.fx-pension-highest span:last-child {font-weight:600}
.fx-pension-certificate {border-bottom:1px solid var(--pension-line);padding:14px clamp(16px,3vw,26px)}
.fx-pension-certificate summary,.fx-pension-breakdown summary {cursor:pointer;color:#921827;font-weight:600}
.fx-pension-certificate form {padding:9px 0}
.fx-pension-certificate .fx-pension-fields {grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
.fx-pension-confirmation {color:#20764c}
.fx-pension-confirmation:empty {display:none}
.fx-pension-tabs {display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--pension-line);padding:0 clamp(12px,2vw,22px)}
.fx-pension-tabs button {flex:1 1 auto;min-height:46px;padding:8px 10px;border:0;border-bottom:2px solid transparent;background:#fff;color:var(--pension-ink);font:600 14px/1.35 Lexend,sans-serif;cursor:pointer}
.fx-pension-tabs button[aria-selected=true] {color:var(--pension-red);border-bottom-color:var(--pension-red)}
.fx-pension-tabpanel {padding:clamp(16px,2.8vw,27px)}
.fx-pension-tabpanel > p {margin:0 0 12px;color:#555a56}
.fx-pension-overview {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,144px),1fr));gap:12px}
.fx-pension-scenario {display:grid;justify-items:center;align-content:center;gap:8px;min-width:0;border:1px solid var(--pension-line);border-radius:17px;padding:15px 8px;background:var(--pension-muted);color:var(--pension-ink);font:inherit;cursor:pointer;text-align:center;overflow-wrap:anywhere}
.fx-pension-scenario:hover {border-color:var(--pension-red)}
.fx-pension-scenario-label {font:600 15px/1.35 Lexend,sans-serif}
.fx-pension-scenario strong {font-size:18px}
.fx-pension-ring {display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:conic-gradient(var(--pension-red) var(--gap),#ddd9d3 0)}
.fx-pension-ring > span {display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--pension-muted);font-weight:700}
.fx-pension-detail {display:grid;grid-template-columns:minmax(128px,.85fr) minmax(0,1.35fr);gap:clamp(12px,2.8vw,26px);align-items:center}
.fx-pension-plot {height:190px;display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative;border-bottom:1px solid #c9c6c0;background:repeating-linear-gradient(to top,transparent 0 calc(25% - 1px),#efede9 calc(25% - 1px) 25%)}
.fx-pension-bar {height:100%;width:min(66%,72px);margin:auto;display:flex;flex-direction:column-reverse;overflow:hidden}
.fx-pension-bar i {display:block;width:100%;flex-shrink:0}
.fx-pension-needline {position:absolute;left:0;right:0;z-index:1;border-top:1px dashed #68675d}
.fx-pension-income {background:#454a46}
.fx-pension-state {background:#748e8b}
.fx-pension-occupational {background:#344e4d}
.fx-pension-gap {background:#c32a3b}
.fx-pension-chart-labels {display:grid;grid-template-columns:1fr 1fr;text-align:center;font-size:12px;gap:4px;margin-top:6px}
.fx-pension-numbers {margin:0}
.fx-pension-numbers > div {display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 0;border-bottom:1px solid var(--pension-line)}
.fx-pension-numbers dd {margin:0;text-align:right;white-space:nowrap;font-weight:700}
.fx-pension-gap-row {font-weight:700;color:var(--pension-red)}
.fx-pension-breakdown {margin-top:16px}
.fx-pension-aside {min-width:0;padding:clamp(22px,3vw,32px);border-radius:23px;background:linear-gradient(145deg,#761823,#9d1c2b 70%,#b32333);color:#fff;overflow-wrap:anywhere}
.fx-pension-aside div {border-bottom:1px solid #ffffff57;padding-bottom:14px;margin-bottom:18px}
.fx-pension-aside span {font-weight:700}
.fx-pension-aside p {margin:6px 0}
.fx-pension-aside a {display:inline-flex;color:#fff;font-weight:600;margin-top:13px;text-decoration:underline;text-underline-offset:.17em}
.fx-pension-aside .fx-pension-advice {border:1px solid #fff;border-radius:999px;padding:9px 15px;text-decoration:none}
.fx-pension-aside a:is(:hover,:focus-visible) {color:#fff;text-decoration-color:#ffd5d9;text-decoration-thickness:2px}
.fx-pension-aside .fx-pension-advice:is(:hover,:focus-visible) {background:#fff;color:#841622}
.fx-pension-method ul {padding-left:19px;margin:12px 0}
.fx-pension :is(button,summary,a,input,select):focus-visible {outline:2px solid var(--pension-red);outline-offset:3px}
.fx-pension-aside a:focus-visible {outline-color:#fff}
@media(max-width:930px){
 .fx-pension-results-grid {grid-template-columns:1fr}
 .fx-pension-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
 .fx-pension-household,.fx-pension-detail {grid-template-columns:1fr}
 .fx-pension-certificate .fx-pension-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
 .fx-pension-plot {height:155px}
 .fx-pension-tabs button {flex:1 1 42%}
}
@media(max-width:360px){
 .fx-pension-fields,.fx-pension-certificate .fx-pension-fields {grid-template-columns:1fr}
 .fx-pension-salary-controls {grid-template-columns:1fr;gap:10px}
 .fx-pension-numbers dd {white-space:normal}
}
