:root{--bg:#F7F6F3;--panel:#EEECE7;--ink:#14202E;--muted:#5A6573;--line:#D6D3CB;--navy:#0F1E33;--on-navy:#EEF2F6;--accent:#2B6F6A;--accent-ink:#1F544F;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0C1624;--panel:#122135;--ink:#E8EDF3;--muted:#9AA7B6;--line:#243449;--navy:#081120;--accent:#6FB5AD;--accent-ink:#8CCBC3}}
:root[data-theme="dark"]{--bg:#0C1624;--panel:#122135;--ink:#E8EDF3;--muted:#9AA7B6;--line:#243449;--navy:#081120;--accent:#6FB5AD;--accent-ink:#8CCBC3}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 "Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.7rem 1rem;z-index:99}.skip:focus{left:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
header{border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);background:var(--bg);z-index:10}
.bar{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.logo{font-weight:600;letter-spacing:.32em;font-size:1.05rem;text-decoration:none;display:flex;align-items:center;gap:.7rem}
.logo svg{width:22px;height:22px;color:var(--accent)}
nav ul{display:flex;gap:2rem;list-style:none;margin:0;padding:0;align-items:center}
nav a{text-decoration:none;font-size:.97rem;color:var(--muted);padding:.4rem 0;border-bottom:1px solid transparent}
nav a:hover,nav a[aria-current=page]{color:var(--ink);border-color:var(--ink)}
.btn{display:inline-block;text-decoration:none;font:500 1rem/1 inherit;padding:1rem 1.5rem;border:1px solid var(--navy);background:var(--navy);color:var(--on-navy);cursor:pointer;border-radius:2px;transition:background .2s}
.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.ghost:hover{background:var(--panel)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn{background:var(--accent);border-color:var(--accent);color:#06121F}}
nav .btn{padding:.7rem 1.1rem;font-size:.93rem;color:var(--on-navy)}
nav a.btn:hover{color:var(--on-navy);border-color:var(--accent-ink)}
.menu{display:none;background:none;border:1px solid var(--line);color:var(--ink);padding:.6rem .9rem;font:inherit;border-radius:2px}
h1,h2,h3{font-weight:500;letter-spacing:-.02em;line-height:1.12;margin:0}
h1{font-size:clamp(2.5rem,6.2vw,4.9rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
h3{font-size:1.3rem;letter-spacing:-.01em}
p{margin:0 0 1rem;max-width:62ch}
.muted{color:var(--muted)}
.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:3rem;align-items:center;padding:clamp(3rem,9vw,7rem) 0}
.hero p.lead{font-size:1.25rem;color:var(--muted);margin:1.6rem 0 2.2rem;max-width:48ch}
.actions{display:flex;gap:.9rem;flex-wrap:wrap}
.lattice{width:100%;height:auto;color:var(--accent)}
.lattice .l{animation:draw 2.4s ease-out both}
@keyframes draw{from{stroke-dashoffset:400;opacity:0}to{stroke-dashoffset:0;opacity:1}}
.lattice path,.lattice line{stroke-dasharray:400}
@media(prefers-reduced-motion:reduce){.lattice .l{animation:none}html{scroll-behavior:auto}}
section.s{border-top:1px solid var(--line);padding:clamp(3rem,7vw,5.5rem) 0}
.split{display:grid;grid-template-columns:1fr 2fr;gap:3rem}
.split>h2{position:sticky;top:96px;align-self:start}
.rows{margin:0;padding:0;list-style:none}
.rows li{display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:1.5rem;padding:1.4rem 0;border-top:1px solid var(--line)}
.rows li:last-child{border-bottom:1px solid var(--line)}
.rows h3{font-size:1.15rem}.rows p{margin:0;color:var(--muted)}
.tablewrap{overflow-x:auto;border-top:1px solid var(--ink)}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{text-align:left;padding:1rem .8rem 1rem 0;border-bottom:1px solid var(--line);font-size:1rem;vertical-align:top}
th{font-weight:500;color:var(--muted);font-size:.93rem}
td.empty{color:var(--muted);padding:2rem 0}
.note{border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1.2rem;color:var(--muted);margin:2rem 0 0;max-width:60ch}
.band{background:var(--navy);color:var(--on-navy);padding:clamp(3rem,7vw,5rem) 0}
.band .split{align-items:center}.band p{color:#B7C3D1}
.band .btn{background:var(--on-navy);color:var(--navy);border-color:var(--on-navy)}.band .btn:hover{background:#fff;color:var(--navy)}
.page-h{padding:clamp(3rem,7vw,5.5rem) 0 clamp(2rem,4vw,3rem)}
.page-h p{font-size:1.2rem;color:var(--muted);margin-top:1.3rem}
form{display:grid;gap:1.2rem;max-width:620px}
label{display:grid;gap:.4rem;font-size:.97rem;font-weight:500}
input,select,textarea{font:inherit;padding:.85rem .9rem;border:1px solid var(--muted);background:var(--bg);color:var(--ink);border-radius:2px;width:100%}
textarea{min-height:140px;resize:vertical}
.status{min-height:1.5rem;color:var(--accent-ink)}
dl.spec{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:0;margin:0}
dl.spec dt,dl.spec dd{padding:.9rem 0;border-top:1px solid var(--line);margin:0}dl.spec dt{color:var(--muted)}
footer{background:var(--navy);color:#B7C3D1;padding:3.5rem 0 2rem;font-size:.97rem}
footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem}
footer a{display:block;text-decoration:none;padding:.25rem 0;color:#DCE4EC}footer a:hover{text-decoration:underline}
footer .logo{color:#fff;margin-bottom:1rem}footer .legal{border-top:1px solid #243449;margin-top:2.5rem;padding-top:1.2rem;font-size:.9rem}
@media(max-width:860px){
.hero,.split,footer .grid{grid-template-columns:1fr}.split>h2{position:static}
.lattice{max-width:320px}
.rows li{grid-template-columns:1fr;gap:.4rem}
.menu{display:block}
nav ul{display:none;position:absolute;left:0;right:0;top:72px;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;padding:.5rem clamp(1.25rem,4vw,2.5rem) 1.5rem;border-bottom:1px solid var(--line)}
nav ul.open{display:flex}nav li a{display:block;padding:.9rem 0;border-bottom:1px solid var(--line)}
nav .btn{margin-top:1rem;text-align:center}
dl.spec{grid-template-columns:1fr}dl.spec dt{border-bottom:0;padding-bottom:0}dl.spec dd{border-top:0;padding-top:.2rem}
}
.hp{position:absolute;left:-9999px}
.rows h3 a{text-decoration:none}.rows h3 a:hover{text-decoration:underline}
