:root{--navy:#081e3e;--royal:#004aac;--bright:#176be4;--ink:#1a2c45;--muted:#587089;--pale:#f2f6fc;--line:#d8e2f0;--white:#fff;--warn:#9c411b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f6f8fc;color:var(--ink);font:16px/1.57 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.shell{width:min(100% - 36px,1180px);margin-inline:auto}
.site-head{background:#050e31;padding:13px 0;box-shadow:0 2px 18px #07264b22}
.site-head img{display:block;width:170px;height:auto;max-height:58px;object-fit:contain;object-position:left}
main{padding:26px 0 56px}
a{color:var(--royal);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #84b8ff;outline-offset:2px}
.hero{padding:22px 0 12px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:.88rem}
.kicker{color:#135dc4;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;margin:34px 0 7px}
h1,h2,h3{color:var(--navy);line-height:1.22}
h1{font-size:clamp(1.95rem,4.4vw,3.2rem);letter-spacing:-.045em;margin:7px 0 15px;max-width:900px}
h2{font-size:clamp(1.27rem,2.3vw,1.72rem);letter-spacing:-.025em;margin:0 0 14px}
h3{font-size:1.09rem;margin:22px 0 9px}
.intro{max-width:850px;font-size:1.08rem;line-height:1.7;color:#405875}
.intro-badges{display:flex;flex-wrap:wrap;gap:8px;margin:21px 0}
.intro-badges span{display:inline-flex;align-items:center;gap:6px;background:#e8f1ff;color:#164c94;border:1px solid #c6dcfa;border-radius:100px;padding:5px 12px;font-size:.82rem;font-weight:700}
.card{background:var(--white);border:1px solid var(--line);border-radius:19px;box-shadow:0 7px 24px #092a4d0d;padding:clamp(18px,3vw,30px);margin:22px 0}
.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}
.card-head>div{flex:1 1 470px}
.note{font-size:.92rem;color:var(--muted)}
fieldset{border:0;padding:0;min-width:0;margin:0}
fieldset+fieldset{border-top:1px solid #e3eaf4;margin-top:27px;padding-top:27px}
legend{font-weight:800;color:var(--navy);font-size:1.26rem;margin:0 0 15px;padding:0}
.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:670;min-width:0;color:#253b58}
label small{font-size:.78rem;font-weight:400;line-height:1.4;color:#60748b}
input{width:100%;min-width:0;padding:11px 12px;border:1px solid #bfcfe1;border-radius:10px;background:#fff;color:#102a49;font:inherit}
input:hover{border-color:#739dd7}
input:focus{border-color:var(--royal)}
input::placeholder{color:#8494a4}
button,.buttonlink{font:inherit;font-weight:750;min-height:44px;padding:11px 17px;display:inline-flex;justify-content:center;align-items:center;text-align:center;gap:7px;text-decoration:none;border-radius:10px;border:1px solid transparent;cursor:pointer}
button{background:var(--royal);color:white}
button:hover:not(:disabled){background:#003783}
button.secondary{background:#fff;border-color:#bdd1e9;color:#14518f}
button.secondary:hover:not(:disabled){background:#edf4ff}
button.small{min-height:36px;font-size:.84rem;padding:7px 12px;margin-top:12px}
button:disabled{opacity:.42;cursor:not-allowed}
.piece-rows{display:grid;gap:13px;margin:16px 0 14px}
.piece-row{background:#f8fbff;border:1px solid #d9e5f4;border-radius:14px;padding:14px}
.piece-grid{display:grid;grid-template-columns:minmax(150px,1.6fr) repeat(4,minmax(102px,1fr));gap:13px}
.hint{font-size:.84rem;color:#5f728c}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.error{padding:13px 14px;border-left:4px solid var(--warn);background:#fff2eb;color:#8e3517;border-radius:7px;font-weight:700}
.status{font-size:.9rem;min-height:24px;color:#4e6783}
.section-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#2560ab;margin-bottom:6px}
.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:17px 0 22px}
.metric{background:#f1f6fe;border:1px solid #d7e6fb;border-radius:13px;padding:15px 13px;display:flex;flex-direction:column;justify-content:space-between;gap:9px}
.metric.accent{background:#fff5e9;border-color:#f6d9b7}
.metric span{font-size:.83rem;line-height:1.35;color:#435a78}
.metric strong{font-size:clamp(1.05rem,1.95vw,1.54rem);color:var(--royal);line-height:1.17;letter-spacing:-.035em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.metric.accent strong{color:#8b3e17}
.table-scroll{border:1px solid var(--line);border-radius:12px;overflow-x:auto;max-width:100%}
table{width:100%;min-width:1100px;border-collapse:collapse;font-size:.87rem;font-variant-numeric:tabular-nums}
caption{text-align:left;padding:12px 13px}
th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
thead th{background:#0b2e65;color:#fff;font-size:.75rem;white-space:normal;line-height:1.25}
th:first-child,td:first-child{text-align:left}
tbody th{min-width:115px;white-space:normal;font-weight:700}
tbody tr:nth-child(even){background:#f5f8fd}
tbody tr.needs-stock td:nth-child(7){font-weight:800;color:var(--warn)}
.prose{max-width:980px}
.prose p,.prose li{color:#3b506a}
.prose li{margin:7px 0}
.formula{padding:18px 20px;background:#f1f6ff;border-left:4px solid var(--royal);border-radius:9px;margin:18px 0}
.formula p{margin:7px 0}
.cta{background:linear-gradient(116deg,#092752,#06439c);color:#fff;border:0}
.cta h2,.cta p{color:#fff}
.cta .buttonlink{background:#fff;color:#06418d}
.cta .buttonlink:hover{background:#eff6ff}
.cta .fine{color:#dfebff}
section[hidden],p[hidden],div[hidden]{display:none!important}
@media(max-width:1100px){.piece-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.piece-grid label:first-child{grid-column:span 3}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.shell{width:calc(100% - 26px)}.hero{padding-top:14px}.kicker{margin-top:21px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.piece-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.piece-grid label:first-child{grid-column:span 2}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border-radius:15px;padding:18px}}
@media(max-width:390px){.fields,.piece-grid,.metrics{grid-template-columns:1fr}.piece-grid label:first-child{grid-column:auto}.shell{width:calc(100% - 22px)}.card{padding:15px}.actions button{width:100%}.intro{font-size:1rem}}
@media print{@page{size:landscape;margin:10mm}body{background:white}.site-head,form,.cta,.breadcrumb,.no-print,.ent-site-footer,.prose,.hero,.card-head{display:none!important}main{padding:0}.card{box-shadow:none;border:0;padding:0;margin:0}#results{display:block!important}.metrics{grid-template-columns:repeat(5,1fr)}.table-scroll{overflow:visible}table{min-width:0;font-size:9px}th,td{padding:4px;white-space:normal}thead th{background:#fff;color:#111;border-bottom:2px solid #111}.metric{padding:8px}}
