:root{--ink:#17233c;--muted:#586881;--blue:#004aac;--green:#12714a;--bg:#f3f7fb;--line:#d9e3ed;--white:#fff;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.56 system-ui,-apple-system,"Segoe UI",sans-serif}
.wrapper{width:min(1120px,calc(100% - 36px));margin-inline:auto}
header{background:#061f41;padding:14px 0}header .wrapper{display:flex;align-items:center;justify-content:space-between;gap:20px}header img{max-width:175px;height:auto;display:block}
header nav{display:flex;flex-wrap:wrap;gap:20px}header nav a{color:#e6f2ff;font-size:.92rem;text-decoration:none}
a{color:var(--blue)}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ffb936;outline-offset:3px}
.skip{position:absolute;left:-10000px;top:0;padding:12px;background:white;z-index:10}.skip:focus{left:8px}
main{padding:28px 0 64px}.crumb{font-size:.9rem;color:var(--muted);margin-bottom:25px}.crumb a{font-weight:600}
.hero{padding:36px;position:relative;overflow:hidden;background:linear-gradient(120deg,#0b294c,#123e55 70%,#186650);color:#fff;border-radius:24px;box-shadow:0 16px 30px #0b294c14}
.hero:after{content:"☀";position:absolute;right:4%;top:-80px;font-size:15rem;color:#ffffff12;pointer-events:none}
.hero h1{position:relative;font-size:clamp(1.8rem,4.2vw,3.05rem);line-height:1.12;max-width:840px;margin:12px 0 18px}
.hero p{position:relative;max-width:820px;margin:0;color:#eef8ff}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:800;font-size:.76rem}
.hero .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.hero .chips span{border:1px solid #ffffff6b;border-radius:999px;padding:5px 12px;font-size:.82rem;color:#fff}
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(17px,2.5vw,30px);margin-top:20px;box-shadow:0 5px 20px #0a23450a}
.panel h2{font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.25;margin:0 0 12px}.panel p{margin:8px 0 16px}.muted,small{color:var(--muted)}small{font-size:.83rem}
label{font-weight:650;display:flex;flex-direction:column;gap:6px;font-size:.9rem}
label small{line-height:1.35;font-weight:400}
input{background:#fff;border:1px solid #a8bad0;border-radius:9px;padding:11px 12px;font:inherit;width:100%;color:var(--ink);min-height:45px}
input[aria-invalid="true"]{border:2px solid #b51d38;background:#fff9fa}
.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px;margin:16px 0 24px}
fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-weight:750;font-size:1.12rem;padding-bottom:2px}
fieldset + fieldset{border-top:1px solid var(--line);padding-top:21px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
button,.btn{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--blue);background:var(--blue);color:white;padding:11px 16px;font-weight:700;min-height:45px}
button.secondary{color:var(--blue);background:#eef4ff}button.tertiary{background:white;color:#334563;border-color:#aebdd0}
button:hover{filter:brightness(.95)}button:disabled{opacity:.55;cursor:not-allowed}
.message{padding:13px 16px;border-radius:10px;margin-top:14px;background:#f0f6fc;color:#234365}
.message.error{background:#fff0f2;color:#8a0d27;border:1px solid #edb1bd}
.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.stat{border:1px solid #dbe7e6;background:#f7fbfa;border-radius:13px;padding:17px}
.stat dt{font-weight:650;font-size:.81rem;color:#485e66}
.stat dd{font-size:clamp(1.15rem,2.4vw,1.7rem);line-height:1.2;font-weight:800;margin:8px 0 0;color:#123957;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.stat.primary{background:#edf7f1;border-color:#9bd0b4}.stat.primary dd{color:var(--green)}
.assumptions{margin:16px 0;color:#4a6076;font-size:.91rem}.warnings{border-left:4px solid #c17d1d;background:#fff8e8;padding:12px 17px;border-radius:8px}
.warnings li{margin:7px 0}.tablewrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:12px 14px;text-align:right;border-bottom:1px solid #e5ebf1;white-space:nowrap}th:first-child,td:first-child{text-align:left}th{background:#eff5fa;font-size:.85rem}tbody tr:nth-child(even){background:#f8fafc}
details{border:1px solid #dbe5ed;border-radius:11px;padding:13px 15px;margin-top:12px}summary{font-weight:700;cursor:pointer}
.reference{border-left:4px solid #5f98cd;padding:9px 15px;background:#eef5fc;border-radius:6px}
.refer{background:linear-gradient(115deg,#f1f8ff,#f3faf7);border:1px solid #d5e4f2}.refer .btn{display:inline-block;text-decoration:none}
footer{margin-top:0}
[hidden]{display:none!important}
@media(max-width:850px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}header nav{gap:12px}}
@media(max-width:600px){.wrapper{width:calc(100% - 24px)}header nav{display:none}.hero{padding:24px 19px}.fields{grid-template-columns:1fr}.summary{grid-template-columns:1fr}.panel{padding:18px}.actions button{flex:1 1 150px}th,td{padding:9px 11px}.stat dd{font-size:1.45rem}}
@media print{body{background:white;color:black}header,.crumb,.hero,.inputs-panel,.actions,.refer,.faq,.related,footer,.skip,#error{display:none!important}main{padding:0}.panel{border:0;box-shadow:none;padding:0}.summary{grid-template-columns:repeat(3,1fr)}.stat{break-inside:avoid}.tablewrap{overflow:visible}table{font-size:10pt}.no-print{display:none!important}}
