
*{box-sizing:border-box}
:root{--ink:#27221d;--muted:#514b43;--surface:#f7f0e4;--paper:#fffdf8;--line:#ddd1bc;--accent:#80451d;--button:#75401a;--button-text:#fff;--band:#ead8bc}
.mia{--surface:#fff9ea;--paper:#fffef9;--line:#e4d6ad;--accent:#902023;--button:#902023;--band:#ffdb00}
.cae{--ink:#142b3b;--muted:#3e5662;--surface:#eaf3f7;--line:#bed3dd;--accent:#12565c;--button:#12565c;--band:#c7e2e7}
.pro{--ink:#15352a;--muted:#41574c;--surface:#eef4ee;--line:#c9dacd;--accent:#20634b;--button:#20634b;--band:#d7e8db}
.lab{--ink:#273331;--muted:#475654;--surface:#eff3ec;--paper:#fffefa;--line:#cdd8cd;--accent:#225d4b;--button:#225d4b;--band:#dbe9db}
body{margin:0;font:1rem/1.65 system-ui,sans-serif;background:var(--surface);color:var(--ink)}
a{color:var(--accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:.13em}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.skip{position:absolute;left:1rem;top:1rem;transform:translateY(-240%);padding:.5rem;background:var(--paper)}
.skip:focus{transform:none;z-index:2}
.shell{width:min(100% - 2.4rem,70rem);margin:auto}
header{background:var(--paper);border-bottom:1px solid var(--line)}
.bar{min-height:4.7rem;display:flex;gap:1rem 2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:.85rem}
.mark{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);font-weight:850;font-size:1.2rem;text-decoration:none}
.mark img{width:1.9rem;height:1.9rem;object-fit:contain}
nav{display:flex;gap:.5rem 1.4rem;align-items:center;flex-wrap:wrap}
nav a{font-weight:650;text-decoration:none;white-space:nowrap}nav a:hover{text-decoration:underline}
.hero{background:var(--band);border-bottom:1px solid var(--line);padding:clamp(2.6rem,7vw,6rem) 0}
.hero p,.lead{max-width:62ch;color:var(--muted);font-size:clamp(1.06rem,2vw,1.22rem);margin-bottom:0}
.tag{display:block;font-weight:800;letter-spacing:.115em;text-transform:uppercase;font-size:.78rem;color:var(--accent)}
h1,h2,h3{line-height:1.12;letter-spacing:-.025em}
h1{font-size:clamp(2.12rem,6vw,4.1rem);max-width:21ch;margin:.6rem 0 1rem;text-wrap:balance}
h2{font-size:clamp(1.42rem,3.2vw,2.1rem);margin:0 0 .8rem}h3{font-size:1.23rem;margin:.4rem 0}
.reading,.listing{padding-block:clamp(2rem,5vw,3.7rem)}
.reading{max-width:48rem}.reading section{margin:0 0 2.2rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem}
.card,.box{background:var(--paper);border:1px solid var(--line);border-radius:1.1rem;padding:clamp(1rem,3vw,1.7rem)}
.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}
.card p{color:var(--muted)}.button{display:inline-block;background:var(--button);color:var(--button-text);padding:.68rem 1.1rem;border-radius:.55rem;font-weight:750;text-decoration:none}
.sources{overflow-wrap:anywhere;color:var(--muted)}.sources li{margin-bottom:.35rem}
footer{background:var(--paper);border-top:1px solid var(--line);padding:1.2rem 0;color:var(--muted)}
footer .shell{display:flex;gap:.6rem 1.2rem;flex-wrap:wrap}p{margin:.65rem 0 1rem}
.diagram{display:block;width:100%;height:auto;max-width:38rem;margin:auto}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:2rem;align-items:center}
.sheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.9rem}
label{display:block;font-weight:750}input,select,button{font:inherit}input,select{width:100%;max-width:100%;padding:.55rem;border:1px solid var(--muted);border-radius:.4rem;background:var(--paper);color:var(--ink)}
fieldset{min-width:0;border:0;margin:0;padding:0}.estimate{font-size:1.2rem;font-weight:800}.btns{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
button.button{border:0;cursor:pointer}
@media(max-width:710px){.split{grid-template-columns:1fr}.bar{gap:.5rem 1rem}}
@media print{header,footer,.screen,.skip{display:none!important}body{background:white}.hero,.card,.box{background:white;border:0;padding:.2rem 0}input,select{border:1px solid #999}.shell{width:100%}}
