/* Reusable PER wizard, scoped to its root. No third-party stylesheet required. */
.per-hero-card h2{font-size:clamp(32px,3vw,44px);color:white;margin:24px 0 20px}
.per-hero-card>p{color:#c7d2e2}.per-hero-card .fine-print{font-size:11px;margin-top:20px}
.per-hero-steps{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:13px;font-size:14px;color:#e9edf3}.per-hero-steps li{display:flex;gap:14px;align-items:center}.per-hero-steps span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #c9a84c75;border-radius:50%;font-size:12px;color:#e4c878}
.per-section{background:#f2f3ef;border-block:1px solid var(--border);scroll-margin-top:115px}
.per-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}.per-section-heading>p{font-size:15px;margin-bottom:4px}
.per-wizard{display:grid;grid-template-columns:260px minmax(0,1fr);background:white;border:1px solid #e3e4df;border-radius:24px;overflow:hidden;box-shadow:0 14px 50px #0d1f3c05;color:var(--ink)}
.per-wizard [hidden]{display:none!important}.per-wizard *{min-width:0}.per-wizard button{touch-action:manipulation}
.per-journey{background:var(--navy);padding:38px 26px;color:#fff}.per-journey>.small-caps{font-size:10px;color:var(--gold-light)}
.per-step-list{list-style:none;padding:0;margin:28px 0 60px;display:grid;gap:25px}.per-step-list button{display:flex;align-items:center;gap:14px;background:none;padding:0;text-align:left;color:#c3cbda;width:100%;font-size:14px;line-height:1.4}.per-step-list button>span:first-child{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border:1px solid #ffffff35;border-radius:50%;font-size:12px}.per-step-list small{display:block;font-size:10px;margin-top:5px;color:#aab8ca}.per-step-list button[aria-current]{color:#efd383}.per-step-list button[aria-current]>span:first-child{background:var(--gold);border-color:var(--gold);color:var(--navy)}.per-step-list button:disabled{cursor:default;opacity:.55}.per-step-list button[data-done=true]>span:first-child{border-color:var(--gold);color:var(--gold-light)}
.per-journey-note{border-top:1px solid #ffffff20;padding-top:27px;display:flex;gap:12px}.per-journey-note>span{color:var(--gold-light)}.per-journey-note p,.per-privacy{font-size:11px;color:#bac6d6;line-height:1.8}.per-privacy{margin-top:26px}
.per-workspace{padding:33px 40px 38px;min-width:0}.per-workspace-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}#per-example{font-size:11px;background:none;padding:6px 0;color:#836720;text-decoration:underline;text-underline-offset:4px}
.per-progress{height:3px;background:#eff0eb;border-radius:9px;margin:16px 0 31px;overflow:hidden}.per-progress>span{display:block;width:25%;height:100%;background:var(--gold);transition:width .2s}
.per-panel h3{font-size:32px;line-height:1.2}.per-panel h3:focus{outline:0}.per-panel-intro{font-size:14px;margin:14px 0 28px;color:var(--muted);line-height:1.7}
.per-fieldset{border:0;margin:0 0 24px;padding:0;position:relative}.per-fieldset legend{font-weight:500;font-size:14px;line-height:1.7;padding:0;margin:0 0 13px;max-width:calc(100% - 42px)}.per-fieldset>.per-help{position:absolute;right:0;top:-34px}.per-fieldset>.per-help-panel{margin:0 0 13px}
.per-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.per-choice{position:relative;cursor:pointer;display:flex}.per-choice input{position:absolute;opacity:0;width:1px;height:1px}.per-choice span{display:flex;align-items:center;justify-content:center;width:100%;min-height:53px;padding:11px 13px;text-align:center;border:1px solid #e1e4e7;border-radius:10px;background:#f8f9f7;font-size:13px;line-height:1.5;transition:background .15s,border .15s}.per-choice:hover span{border-color:#a9b5c6}.per-choice input:checked+span{background:#edf2f8;border:1.5px solid #18375a;color:#0d1f3c;box-shadow:inset 3px 0 var(--gold);font-weight:500}.per-choice input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}.per-choice input[aria-invalid]+span{border-color:#a33d28}
.per-help{flex-shrink:0;border:1px solid #c5ad73;color:#826624;border-radius:50%;height:26px;width:26px;min-width:26px;display:inline-grid;place-items:center;padding:0;background:#fffdf5;font-size:13px;font-weight:500;line-height:1;position:relative}.per-help::after{content:'';position:absolute;inset:-7px}.per-help[aria-expanded=true]{background:var(--navy);color:white;border-color:var(--navy)}.per-help-panel{display:block;flex-basis:100%;font-size:12px;color:#31465b;background:#f0f4f8;border-left:2px solid var(--gold);padding:13px 15px;border-radius:0 7px 7px 0;line-height:1.8;font-weight:400}
.per-label-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;line-height:1.6}.per-label-row label{font-size:14px;font-weight:500}.per-label-row .per-help{margin-left:auto}.per-field{margin-bottom:21px}.per-two-fields{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.per-two-fields .per-field{margin-bottom:14px}
.per-wizard input[type=number]{display:block;width:100%;height:52px;border:1px solid #cbd3dc;border-radius:9px;padding:11px 15px;background:white;color:var(--ink);font:500 17px var(--sans);font-variant-numeric:tabular-nums;box-shadow:none}.per-wizard input::placeholder{font-size:14px;font-weight:400;color:#8390a0;opacity:1}.per-wizard input[aria-invalid=true]{border-color:#a33d28;box-shadow:0 0 0 1px #a33d28}.per-stepper{display:flex;align-items:center;height:52px;border:1px solid #cbd3dc;border-radius:9px;overflow:hidden}.per-stepper input[type=number]{text-align:center;border:0;border-radius:0;padding:10px 0;min-width:35px;height:48px;-moz-appearance:textfield}.per-stepper input::-webkit-inner-spin-button,.per-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.per-stepper button{flex-shrink:0;width:40px;align-self:stretch;background:#f3f5f7;font-size:23px;font-weight:400}.per-stepper button:disabled{opacity:.4;cursor:default}.per-stepper>span{font-size:12px;padding-right:8px}.per-stepper input:focus-visible{outline-offset:-3px}
.per-checkbox{display:flex;align-items:flex-start;gap:11px;margin:1px 0 23px;font-size:12px;line-height:1.7;cursor:pointer}.per-checkbox input{accent-color:var(--navy);width:18px;height:18px;flex-shrink:0;margin-top:2px}.per-checkbox small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.per-field-hint{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 18px}
.per-panel h4{font-size:17px;font-weight:500;font-family:var(--sans);margin:24px 0 17px;letter-spacing:0}.per-details{border-bottom:1px solid #e4e7eb;padding-bottom:14px;margin:17px 0}.per-details summary{cursor:pointer;font-size:12px;color:#54647a;line-height:1.7}.per-details[open] summary{margin-bottom:16px}.per-details p{font-size:12px;line-height:1.8;margin-top:12px}.per-details .per-field{margin-top:14px}.per-text-button{background:none;padding:7px 0;color:#233f60;text-align:left;font-size:13px;text-decoration:underline;text-underline-offset:4px}.per-callout{padding:15px 17px;background:#fbf8ed;border:1px solid #e8ddbc;border-radius:9px;font-size:12px;color:#66582e;line-height:1.8;margin:15px 0 22px}.per-callout button{display:block;font-size:12px;margin-top:6px}
.per-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-top:23px;border-top:1px solid #e7e9ed}.per-navigation .button{min-height:49px;font-size:13px;padding:12px 24px;margin-left:auto}.per-form-error{background:#fff2ed;border-left:2px solid #a33d28;color:#8d3121;font-size:13px;line-height:1.7;padding:12px 16px;margin-top:20px}
.per-cap-preview{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:#f0f4f8;border-radius:10px;margin-bottom:26px;font-size:13px}.per-cap-preview small{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.per-cap-preview strong{font-size:23px;font-weight:500;white-space:nowrap}.per-range{width:100%;height:28px;margin:0;accent-color:var(--gold);cursor:pointer}.per-range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:15px}.per-amount-choices{display:flex;flex-wrap:wrap;gap:8px}.per-amount-choices button{background:#f5f6f3;border:1px solid #e1e4de;border-radius:8px;padding:8px 12px;font-size:12px;min-height:39px}.per-amount-choices button[aria-pressed=true]{border-color:var(--navy);background:#edf2f8}.per-projection-choice{border-top:1px solid #e3e6e9;margin-top:28px;padding-top:23px;font-size:14px}.per-return-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.per-return-row input{max-width:105px}
.per-saving-card{background:var(--navy);padding:26px 29px;border-radius:15px;margin-bottom:23px;color:#fff}.per-saving-card>span{font-size:13px;color:#dce3ed}.per-saving-card>strong{display:block;color:var(--gold-light);font:500 62px/1.25 var(--serif);letter-spacing:-.03em;margin:10px 0;font-variant-numeric:lining-nums tabular-nums}.per-saving-card p{font-size:12px;color:#c5d1df;line-height:1.8}
.per-result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-bottom:22px}.per-result-metrics>div{font-size:12px;color:var(--muted)}.per-result-metrics .per-label-row{margin-bottom:5px}.per-result-metrics strong{display:block;font-size:23px;font-weight:500;color:var(--navy);margin-top:9px}.per-result-metrics .per-help{width:23px;height:23px;min-width:23px;font-size:11px}
.per-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:27px 0 22px}.per-result-heading h4{margin:0}.per-view-tabs{display:flex;border:1px solid #d9dee4;border-radius:8px;padding:3px;gap:3px}.per-view-tabs button{border-radius:5px;background:none;padding:7px 9px;font-size:11px}.per-view-tabs button[aria-pressed=true]{background:var(--navy);color:white}
.per-tax-chart{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:380px;margin:0 auto 28px;text-align:center}.per-chart-column{display:flex;flex-direction:column;align-items:center;font-size:12px}.per-chart-column strong{font-size:17px;font-weight:500;margin-bottom:13px}.per-tax-bar-track{height:155px;display:flex;align-items:flex-end;width:min(100%,90px);border-bottom:1px solid #ccd4de}.per-tax-bar-track>span{display:block;width:100%;background:#24496d;border-radius:5px 5px 0 0;min-height:0;transition:height .2s}#per-tax-after-bar{background:var(--gold)}.per-chart-column>span{color:var(--muted);margin-top:10px}.per-result-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.7}.per-result-table caption{text-align:left;font-size:11px;color:var(--muted);padding-bottom:10px}.per-result-table th{font-weight:400;text-align:left}.per-result-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.per-result-table th,.per-result-table td{padding:11px 8px;border-bottom:1px solid #e2e7ec}.per-result-table thead th{font-weight:500}.per-table-scroll{overflow-x:auto}.per-capital-total{font:500 44px/1.3 var(--serif);color:var(--navy);margin:13px 0}#per-capital-chart{width:100%;height:auto;margin:24px 0}.per-projection-breakdown{font-size:12px;line-height:1.7;padding:0;margin:0 0 15px}.per-projection-breakdown>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #e7ebef}.per-projection-breakdown dt{color:var(--muted)}.per-projection-breakdown dd{margin:0;font-weight:500;white-space:nowrap}
.per-basis{font-size:11px;color:var(--muted);line-height:1.8;margin:24px 0 15px}.per-sources a{text-decoration:underline;text-underline-offset:3px}.per-result-cta{background:#f5f5ef;padding:20px;border-radius:12px;margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.per-result-cta p{font-size:14px;color:var(--navy)}.per-result-cta .button{font-size:12px;min-height:44px;padding:10px 18px}
@media(max-width:1100px){.per-wizard{grid-template-columns:220px minmax(0,1fr)}.per-journey{padding:30px 20px}.per-workspace{padding:28px}.per-two-fields{grid-template-columns:1.25fr 1fr;gap:16px}.per-section-heading>p{font-size:13px}}
@media(max-width:850px){.per-wizard{grid-template-columns:1fr}.per-journey{padding:18px 22px}.per-journey>.small-caps,.per-journey-note,.per-journey .per-privacy{display:none}.per-step-list{display:grid;grid-template-columns:repeat(4,1fr);margin:0;gap:8px}.per-step-list button{display:flex;flex-direction:column;gap:7px;font-size:10px;text-align:center}.per-step-list small{display:none}.per-step-list button>span:first-child{width:27px;height:27px;font-size:11px}.per-section-heading>p{display:none}.per-section-heading{margin-bottom:28px}.per-workspace{padding:26px 28px}.per-panel h3{font-size:30px}}
@media(max-width:540px){.per-wizard{border-radius:16px}.per-section{scroll-margin-top:80px}.per-section-heading h2{font-size:32px}.per-workspace{padding:21px 19px 25px}.per-workspace-top{font-size:10px;gap:9px}#per-example{font-size:10px}.per-progress{margin:13px 0 25px}.per-panel h3{font-size:27px}.per-panel-intro{font-size:13px;margin:13px 0 23px}.per-two-fields{grid-template-columns:1fr;gap:8px}.per-choice span{font-size:12px;padding:10px 8px;min-height:50px}.per-label-row label,.per-fieldset legend{font-size:13px}.per-field-hint{font-size:11px}.per-navigation{flex-wrap:wrap;gap:12px}.per-navigation .button{font-size:12px;padding:12px 16px}.per-navigation .per-text-button{font-size:12px}.per-saving-card{padding:22px}.per-saving-card>strong{font-size:52px}.per-result-metrics{gap:13px}.per-result-metrics>div{font-size:11px}.per-result-metrics strong{font-size:21px}.per-result-heading{flex-wrap:wrap}.per-result-heading h4{font-size:16px}.per-cap-preview{padding:15px;font-size:12px}.per-cap-preview strong{font-size:21px}.per-capital-total{font-size:37px}.per-amount-choices{gap:6px}.per-amount-choices button{font-size:11px;padding:8px 10px}.per-journey{padding:17px 10px}.per-step-list button{font-size:9px}.per-result-cta .button{width:100%}}
@media(prefers-reduced-motion:reduce){.per-wizard *{transition:none!important;scroll-behavior:auto!important}}
@media print{.per-journey,.per-workspace-top,.per-navigation,.per-progress,.per-help,.per-result-cta{display:none}.per-wizard{display:block;border:0}.per-workspace{padding:0}.per-saving-card{background:#fff;border:1px solid #ccc}.per-saving-card>span,.per-saving-card>strong,.per-saving-card p{color:#172b43}}
/* Family and retirement inputs, with educational risk presets. */
.per-age-layout,.per-children-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.per-retirement-preview,.per-family-preview{border:1px solid #e0e6eb;background:#f1f5f8;border-radius:12px;padding:16px 19px;margin-top:1px}
.per-retirement-preview>span,.per-family-preview>span{font-size:12px;color:var(--muted)}
.per-retirement-preview>strong,.per-family-preview>strong{display:block;font-size:27px;font-weight:500;color:var(--navy);margin:4px 0}
.per-retirement-preview small,.per-family-preview small{font-size:11px;line-height:1.6;color:var(--muted);display:block}
.per-retirement-details{margin:0 0 27px}.per-children-layout{margin-top:23px}
#per-reset-parts,#per-reset-years{font-size:11px;margin:-7px 0 15px}
.per-risk-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0}
.per-risk-choice{background:#f8f9f6;border:1px solid #dce2e8;border-radius:11px;display:flex;align-items:center;padding:7px 12px 7px 6px;gap:8px}
.per-risk-select{background:none;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:7px 10px;min-height:64px}
.per-risk-select strong{font-size:22px;font-weight:500;color:var(--navy)}.per-risk-select>span{font-size:11px;color:var(--muted)}
.per-risk-choice:has(.per-risk-select[aria-pressed=true]){border-color:#1b3a60;background:#edf2f8;box-shadow:inset 3px 0 var(--gold)}
.per-risk-profiles>.per-help-panel{grid-column:1/-1;margin:0 0 7px}.per-custom-rate-label{font-size:12px;color:var(--muted)}
@media(max-width:650px){.per-age-layout,.per-children-layout{grid-template-columns:1fr;gap:0}.per-retirement-preview,.per-family-preview{margin:0 0 19px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.per-retirement-preview>strong,.per-family-preview>strong{margin:0 0 0 auto;font-size:23px}.per-retirement-preview small,.per-family-preview small{flex-basis:100%}.per-risk-profiles{gap:8px}.per-risk-choice{padding:7px;flex-direction:column;align-items:stretch;gap:4px}.per-risk-select{padding:4px 0;align-items:center;text-align:center;min-height:60px}.per-risk-choice>.per-help{align-self:center}.per-risk-select strong{font-size:20px}.per-risk-select>span{font-size:10px}}
