:root{--ink:#233066;--blue:#233066;--paper:#fff;--ground:#f2f5fa;--yellow:#ffdd48;--red:#d54743;--green:#107568;--line:#dbe1ec}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:5px}button{cursor:pointer}a{color:inherit}header{max-width:1280px;margin:auto;padding:28px 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:18px}header>a:last-child{font-size:14px;text-underline-offset:4px}.brand{text-decoration:none;font-size:15px;font-weight:800;letter-spacing:1.2px}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:.2px;margin-top:4px}main{max-width:1280px;padding:0 36px;margin:auto}.intro{padding:34px 0 28px;position:relative}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.4px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,5vw,72px);line-height:1.02;letter-spacing:-2px;margin:16px 0}h1 br{display:none}h1 em{font-weight:400;position:relative;font-style:italic;box-shadow:inset 0 -16px var(--yellow)}.intro p{margin:16px 0 0;font-size:19px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:30px;align-items:start}.questionnaire{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.steps{display:flex;border-bottom:1px solid var(--line);background:#fafbfd}.steps button{flex:1;background:none;border:0;border-bottom:3px solid transparent;display:flex;gap:10px;padding:20px;color:#64708e;text-align:left;font-size:14px;font-weight:700}.steps button[aria-current]{color:var(--ink);border-bottom-color:var(--ink);background:#edf1fa}form{padding:28px}.section-title{display:flex;gap:16px;align-items:center;margin-bottom:26px}.number{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;font-family:Georgia,serif;font-size:23px}h2{font-family:Georgia,serif;font-size:27px;line-height:1.2;margin:0 0 8px}.section-title p{margin:0;color:#596682;font-size:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}label{display:block;font-size:14px;font-weight:700;color:#303d62}input:not([type=checkbox]),select{width:100%;padding:12px;border:1px solid #bdc7d8;border-radius:6px;margin-top:7px;background:white;color:var(--ink);min-height:47px}input::placeholder{color:#6b7790}small{display:block;font-size:12px;font-weight:400;margin-top:7px;line-height:1.5;color:#5a6580}.wide{grid-column:1/-1}.note{padding:16px;background:#eef2fa;border-left:3px solid var(--blue);font-size:14px;margin:24px 0 0}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.form-actions>span{font-size:12px;color:#5a6580}.primary,.secondary{border-radius:6px;padding:12px 18px;font-size:14px;font-weight:700}.primary{border:1px solid var(--blue);background:var(--blue);color:white}.primary:hover{background:#36498a}.secondary{border:1px solid #bac5d9;background:white;color:var(--ink)}.privacy{font-size:12px;color:#5a6580;text-align:center;padding:0 20px 18px;margin:0}.receipt{background:var(--yellow);padding:25px 28px 30px;position:sticky;top:22px;border-radius:3px 3px 12px 12px;box-shadow:0 10px 25px #2330660b;overflow:hidden}.receipt-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;font-weight:800;letter-spacing:1px;border-bottom:1px dashed #23306670;padding-bottom:17px}.stamp{width:145px;padding:10px;border:2px solid var(--ink);transform:rotate(-8deg);margin:25px 0 24px;font-size:10px;text-align:center;letter-spacing:2px;line-height:1.6}.stamp b{font-size:19px;letter-spacing:3px}.receipt h2{font-size:31px;margin-bottom:14px}.receipt>p{font-size:14px}.balance{font-family:Georgia,serif;font-size:48px;line-height:1.15;margin:26px 0 8px;letter-spacing:-1px}.balance span{font-family:Arial,sans-serif;font-size:16px;letter-spacing:0}.balanceLabel{font-size:12px}.receipt-rule{border-top:1px dashed #23306670;margin:24px 0 18px}.ticket-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:12px}.bars{display:flex;flex-direction:column;gap:5px;margin:20px 0}.bars div{height:7px;border-radius:2px;transition:width .25s}.bars div:first-child{background:var(--ink);width:0}.bars div:last-child{background:var(--green);width:0}.result-note{font-size:12px!important;line-height:1.6}.demo{width:100%;background:var(--ink);color:white;border:0;padding:13px;border-radius:5px;font-size:14px;font-weight:700;margin-top:18px}.quiet{border:0;background:none;color:var(--ink);text-decoration:underline;padding:12px 0;font-size:12px;width:100%}.demo-label{font-size:10px!important;font-weight:800;letter-spacing:1px}.method{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;border-top:1px solid var(--line);margin-top:60px;padding-top:38px}.method h2{font-size:34px;margin-top:16px}.method p{font-size:14px;line-height:1.7;margin-top:0}details{border-top:1px solid #23306630;padding:16px 0;font-size:14px}summary{cursor:pointer;font-weight:700}details p,details ul{margin-top:16px}details li{margin-bottom:10px}.hint{font-size:14px;color:#5a6580}h3{font-size:17px;margin:26px 0 16px}.check{display:flex;align-items:start;gap:10px}.check input{width:20px;height:20px;accent-color:var(--blue)}#healthActualLabel{margin-top:18px}#sensitivity{font-size:12px;background:#ffffff60;padding:14px;margin:16px 0}#breakdownContent .ticket-line{font-size:12px}.sources{margin-top:44px}.source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.source-grid a{border:1px solid var(--line);background:white;border-radius:7px;padding:18px;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.4px}.source-grid a:hover{border-color:var(--ink)}.source-grid b{display:block;font-size:14px;letter-spacing:0;line-height:1.4;margin:8px 0}.source-grid span{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:#5a6580}footer{margin-top:45px;padding:24px 0 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;font-size:12px}footer strong{font-family:Georgia,serif;font-size:17px}[hidden]{display:none!important}.incomplete{color:#65718c}.error{color:#a02e2b}button:disabled{opacity:.55;cursor:wait}@media(max-width:950px){.workspace{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr);gap:20px}.source-grid{grid-template-columns:repeat(2,1fr)}form{padding:22px}.fields{grid-template-columns:1fr}.receipt{padding:22px}h1{font-size:52px}.steps button{padding:16px 12px;gap:6px}.balance{font-size:40px}}@media(max-width:720px){header{padding:20px;align-items:start}main{padding:0 20px}.brand{font-size:12px}header>a:last-child{font-size:12px}.intro{padding-top:28px}h1{font-size:46px;letter-spacing:-1.5px}h1 br{display:block}.eyebrow{font-size:10px;letter-spacing:1px}.workspace{grid-template-columns:1fr}.receipt{position:static}.fields{grid-template-columns:1fr 1fr}.steps button{font-size:12px;padding:16px 10px}.section-title{gap:12px}h2{font-size:24px}.method{grid-template-columns:1fr;gap:20px;margin-top:40px}.method h2{font-size:30px}footer{flex-direction:column}.source-grid{grid-template-columns:1fr 1fr}.receipt-top{font-size:10px}}@media(max-width:430px){.fields,.source-grid{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.steps button{gap:5px}form{padding:18px}}
fieldset{border:1px solid var(--line);border-radius:8px;margin:24px 0 0;padding:20px}legend{font-weight:700;font-size:16px;padding:0 8px}.consent{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.special{margin-top:20px}#payments>.ticket-line,#benefits>.ticket-line{border-bottom:1px solid var(--line);padding:12px 0;align-items:start}#payments>.ticket-line b,#benefits>.ticket-line b{white-space:nowrap;font-size:18px}#payments small,#benefits small{font-size:12px;font-weight:400;max-width:400px}#calculationStatus{padding:16px 0;border-bottom:1px solid var(--line)}.school-summary{font-size:14px}.consent .check{font-weight:400;font-size:14px}

.consent{border:2px solid var(--line);border-radius:8px;padding:20px;background:#f5f7ff;scroll-margin:24px}.consent h3{margin-top:0}.consent p{font-size:14px;line-height:1.6}.consent .check{align-items:flex-start;background:white;padding:16px;border-radius:6px}.consent input[type="checkbox"]{width:22px;height:22px;flex-shrink:0;margin-top:2px}.consent.needs-consent{border-color:#233066;box-shadow:0 0 0 4px #ffdd48}.consent input:focus-visible{outline:3px solid #233066;outline-offset:3px}

button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}#step1 .consent{margin-top:0;margin-bottom:24px}

.stamp[data-verdict="beneficiary"]{color:#a02e2b;border-color:#a02e2b}.stamp[data-verdict="contributor"]{color:#107568;border-color:#107568}.stamp[data-verdict="uncertain"] b{font-size:23px}

.balance[data-sign="negative"]{color:#a02e2b}.balance[data-sign="positive"]{color:#107568}

.retirement-module{margin-top:48px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:8px;scroll-margin:24px}.retirement-module h2{font-family:Georgia,serif;font-size:32px}.retirement-module form{border:0;padding:24px 0}.retirement-module textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:6px}.ret-examples{padding:20px;background:#f5f7ff}.ret-examples button{margin:4px 0}.retirement-module #retResult{padding:20px 0;max-width:900px}.retirement-module .ticket-line{padding:10px 0;border-bottom:1px solid var(--line);gap:20px;flex-wrap:wrap}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;margin:20px 0}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:13px;white-space:nowrap}@media(max-width:720px){.retirement-module{padding:18px}.retirement-module .fields{grid-template-columns:1fr}.retirement-module .ticket-line b{font-size:16px}}

.step{scroll-margin-top:24px}.step h2:focus{outline:none}
