:root{--blue:#004aac;--navy:#0a1b39;--ink:#1b2a42;--muted:#5b6b82;--line:#dce5ef;--bg:#f4f7fc;--white:#fff;--green:#116e57;--gold:#b06a14;--shadow:0 16px 42px rgba(12,41,83,.07)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrapper{width:min(1160px,calc(100% - 38px));margin-inline:auto}
header.site-header{background:#040033;padding:14px 0}
header.site-header img{display:block;width:170px;max-width:100%;height:auto}
main.wrapper{padding:28px 0 56px}
nav.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:18px}
nav.crumbs a{color:var(--blue)}
h1,h2,h3{color:var(--navy);line-height:1.23;letter-spacing:-.035em}
h1{font-size:clamp(2rem,4vw,3.05rem);margin:8px 0 12px;max-width:880px}
h2{font-size:clamp(1.4rem,2.5vw,1.9rem);margin:5px 0 10px}
h3{font-size:1.15rem;margin:22px 0 10px}
p{margin:0 0 16px}
a{color:var(--blue);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
.eyebrow{font-size:.74rem;font-weight:850;color:var(--blue);letter-spacing:.14em;margin:0 0 8px}
.hero-intro{max-width:790px;color:#40516a;font-size:1.06rem}
.hero-detail{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 24px}
.hero-detail span{background:#e4edfa;color:#174987;font-size:.83rem;border-radius:99px;padding:5px 12px;font-weight:700}
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:clamp(18px,3vw,32px);margin-bottom:22px}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:12px}
.section-head p{max-width:750px;color:var(--muted);margin-bottom:0}
.class-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:25px 0}
.class-box{padding:17px 17px 19px;border:1px solid var(--line);border-top:5px solid #1164cd;border-radius:14px;background:#f9fbff;min-width:0}
.class-b{border-top-color:#1c9d9d}.class-c{border-top-color:#d39132}
.class-box legend{font-size:1rem;font-weight:850;color:var(--navy);padding:0 7px}
.class-box legend span{color:var(--muted);font-size:.72rem;font-weight:600;white-space:nowrap}
.class-box label,.field label{display:block;font-weight:750;font-size:.85rem;margin:11px 0 6px}
.class-box input,.field input,.field select{width:100%;border:1px solid #afc2db;background:#fff;color:#182a46;border-radius:10px;padding:11px 12px;font:inherit;min-width:0}
.class-box input:focus-visible,.field input:focus-visible,.field select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #81b6ff;outline-offset:2px}
.subhead{padding-top:5px;margin-bottom:15px}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px}
.field small{display:block;color:var(--muted);font-size:.76rem;line-height:1.35;margin-top:5px}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:23px}
button,.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-family:inherit;font-weight:700;font-size:.93rem;line-height:1.2;cursor:pointer;min-height:46px;padding:12px 18px;text-decoration:none;transition:background .12s,transform .12s}
button:active,.cta:active{transform:translateY(1px)}
button.primary,.cta{background:var(--blue);border:1px solid var(--blue);color:#fff}
button.primary:hover,.cta:hover{background:#003b8c;color:#fff;text-decoration:none}
.button-soft{background:#eef4ff;color:#0e438c;border:1px solid #c5d6ee;font-weight:750}
.button-soft:hover{background:#deebff}
.form-error{padding:13px 15px;border-radius:10px;background:#fff1f0;border:1px solid #efaaa4;color:#8f211e;margin-top:18px;font-weight:650}
.privacy,.muted{color:var(--muted);font-size:.88rem;line-height:1.55}
.privacy{border-top:1px dashed var(--line);padding-top:15px;margin-top:21px;margin-bottom:0}
.results{border-color:#b0cde9;scroll-margin-top:10px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 28px}
.metric{padding:16px;background:#f2f7ff;border:1px solid #d6e6ff;border-radius:12px;min-width:0}
.metric small{display:block;color:#3d5574;font-size:.76rem;line-height:1.3;min-height:34px}
.metric strong{display:block;font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:850;line-height:1.3;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:8px;overflow-wrap:anywhere}
.warning-box{background:#fff8ed;border:1px solid #e7ba71;padding:15px;border-radius:12px;color:#765017;margin:12px 0}
.warning-box p{margin:0 0 6px}
.warning-box p:last-child{margin-bottom:0}
.distribution{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0 28px}
.class-total{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px}
.class-total strong{display:block;font-size:1.2rem;font-variant-numeric:tabular-nums}
.class-total small{color:var(--muted)}
.progress{height:8px;border-radius:99px;background:#d9e3ef;overflow:hidden;margin:10px 0}
.progress > span{display:block;height:100%;background:#1862cf;border-radius:99px}
.class-total:nth-child(2) .progress>span{background:#1c9d9d}
.class-total:nth-child(3) .progress>span{background:#d39132}
.table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;margin:16px 0}
table{border-collapse:collapse;text-align:right;width:100%;font-size:.88rem;font-variant-numeric:tabular-nums}
th,td{padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
th{background:#edf3fb;font-weight:800;color:#1b3558}
tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:#f8faff}
th:first-child,td:first-child{text-align:left}
td.over{color:#a52b20;font-weight:800}
td.ok{color:#14704f;font-weight:750}
.next-step{display:flex;align-items:center;gap:20px;justify-content:space-between;background:#eaf2ff;border:1px solid #ccdfff;border-radius:16px;margin-top:28px;padding:22px}
.next-step p{max-width:720px;font-size:.91rem}
.next-step h3{margin-top:0}
.next-step .disclosure{font-size:.76rem;color:#4e637e;margin:0}
.next-step .cta{flex-shrink:0}
.guide{line-height:1.78}
.guide h2:not(:first-child){margin-top:22px}
.steps{padding-left:22px}
.steps li{padding-left:6px;margin-bottom:12px}
.example-box{border-left:4px solid #176ad4;background:#edf4ff;padding:15px 20px;border-radius:4px 12px 12px 4px;margin:25px 0}
.example-box h3{margin-top:0}
.example-box p{margin-bottom:0}
.back-link{font-weight:700;margin:28px 0}
@media(max-width:900px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.wrapper{width:calc(100% - 24px)}main.wrapper{padding:19px 0 34px}.panel{border-radius:15px}.class-inputs{grid-template-columns:1fr}.class-box{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:end}.class-box legend{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.metric-grid{gap:8px}.metric{padding:12px}.metric small{min-height:36px}.distribution{grid-template-columns:1fr}.next-step{flex-direction:column;align-items:stretch}.next-step .cta{width:100%}button.primary{width:100%}.section-head .button-soft{width:100%}}
@media(max-width:350px){.metric-grid{grid-template-columns:1fr}.class-box{grid-template-columns:1fr}}
@media print{body{background:#fff;color:#111}header.site-header,nav.crumbs,.hero-detail,#app,.next-step,.back-link,.ent-site-footer,button{display:none!important}main.wrapper{width:100%;padding:0}.panel{box-shadow:none;border:none;padding:0;margin:0}.results{display:block!important}.table-wrap{overflow:visible}table{font-size:10px}th,td{padding:5px}.metric,.class-total{break-inside:avoid}.guide{break-before:page}a{color:#111;text-decoration:none}}
