:root{--navy:#0b2545;--navy2:#13315c;--teal:#0f7c7c;--teal-l:#e3f2f1;--ink:#1b2430;--muted:#4a5565;--bg:#fff;--alt:#f3f6f9;--warn:#fff4d6;--warnb:#a86b00;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:#0a5f60}a:hover{color:var(--navy)}
:focus-visible{outline:3px solid #f2a900;outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:99}.skip:focus{left:8px}
.disclaimer{background:var(--warn);border-bottom:2px solid var(--warnb);font-size:.92rem;padding:8px 0}
.disclaimer a{color:#5a3a00}
.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.logo{background:var(--teal);font-weight:800;letter-spacing:.08em;padding:6px 10px;border-radius:4px}
.brand-text{font-size:.78rem;line-height:1.2;opacity:.9}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px}
nav a{color:#dfe8f2;text-decoration:none;font-size:.88rem;padding:6px 8px;border-radius:4px;display:block}
nav a:hover,nav a[aria-current=page]{background:var(--navy2);color:#fff;box-shadow:inset 0 -3px 0 var(--teal)}
.nav-toggle{display:none;background:var(--teal);color:#fff;border:0;padding:8px 14px;border-radius:4px;font:inherit}
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 60%,var(--teal) 140%);color:#fff;padding:72px 0 64px}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;margin:.2em 0}
.tagline{font-size:clamp(1.2rem,2.5vw,1.6rem);font-style:italic;color:#9fe0dc;margin:.4em 0 .8em}
.band .tagline{color:var(--teal)}
.hero .lead{max-width:780px;font-size:1.1rem;color:#e6edf5}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:#7fd3cd;margin:0}
.page-hero{background:var(--navy);color:#fff;padding:48px 0 40px;border-bottom:5px solid var(--teal)}
.page-hero h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:.15em 0;line-height:1.15}.page-hero .lead{max-width:800px;color:#dbe5ef;font-size:1.08rem}
.band{padding:48px 0}.band.alt{background:var(--alt)}.band.tight{padding:24px 0}
h2{color:var(--navy);font-size:1.7rem;margin:0 0 .6em;border-left:5px solid var(--teal);padding-left:12px}
h3{color:var(--navy2);margin:1.2em 0 .4em}
.btn{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;padding:12px 22px;border-radius:4px;font-weight:600;margin:4px 6px 4px 0}
.btn:hover{background:#0b6262;color:#fff}.btn-ghost{background:transparent;border:2px solid #fff}
.band .btn-ghost{color:var(--navy);border-color:var(--navy)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:16px 0}
.stat{background:#fff;border-top:4px solid var(--teal);padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.08);border-radius:4px}
.alt .stat{background:#fff}.num{display:block;font-size:2rem;font-weight:800;color:var(--navy)}.lbl{color:var(--muted);font-size:.95rem}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.box{background:#fff;border:1px solid #d5dde6;border-radius:6px;padding:4px 20px 16px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{display:block;background:#fff;border:1px solid #d5dde6;border-left:5px solid var(--teal);border-radius:6px;padding:4px 18px 14px;color:var(--ink);text-decoration:none}
a.card:hover{box-shadow:0 4px 12px rgba(11,37,69,.15)}
.facts li{margin-bottom:.6em}
.steps li{margin-bottom:.7em}
.callout{background:var(--teal-l);border-left:5px solid var(--teal);padding:4px 20px;border-radius:4px;margin:20px 0}
.callout.warn{background:var(--warn);border-color:var(--warnb)}
.placeholder{border:3px dashed var(--warnb);background:var(--warn);padding:8px 20px;border-radius:6px}
.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff;font-size:.95rem}
caption{text-align:left;font-weight:700;color:var(--navy);padding:6px 0}
th{background:var(--navy);color:#fff;text-align:left}th,td{padding:10px 12px;border-bottom:1px solid #d5dde6;vertical-align:top}
.gallery{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
.shot{margin:0;background:#fff;border:1px solid #d5dde6;border-radius:6px;overflow:hidden}
.shot img{width:100%;height:auto;display:block}.shot figcaption{font-size:.85rem;color:var(--muted);padding:8px 10px}
.tiers{list-style:none;padding:0}.tiers li{padding:12px 16px;margin-bottom:8px;border-radius:4px;border-left:8px solid}
.t-green{background:#e7f5ea;border-color:#2e7d32}.t-yellow{background:#fff6dc;border-color:#b07a00}.t-red{background:#fbe9e9;border-color:#b3261e}
.timeline{border-left:4px solid var(--teal);padding-left:22px}.tl{position:relative;margin-bottom:22px}
.tl::before{content:"";position:absolute;left:-31px;top:1.3em;width:14px;height:14px;background:var(--navy);border-radius:50%}
.lesson{background:#fff;padding:8px 12px;border-radius:4px}
.qa{background:#fff;border:1px solid #d5dde6;border-radius:6px;margin-bottom:10px;padding:0 18px}
.qa summary{cursor:pointer;list-style:none}.qa summary::-webkit-details-marker{display:none}
.qa summary h3{display:inline-block;margin:.8em 0}.qa summary::before{content:"+";font-weight:800;color:var(--teal);margin-right:10px;font-size:1.3rem}
.qa[open] summary::before{content:"\2212"}.obj{color:var(--muted)}
.sources li{margin-bottom:.7em;word-break:break-word;font-size:.93rem}.sources li:target{background:var(--warn)}
sup.fn a{text-decoration:none;font-size:.75em;padding:0 1px}
.downloads li{margin-bottom:.6em;font-size:1.05rem}.downloads span{color:var(--muted);font-size:.9rem}
.next{text-align:right;margin:0}
.site-footer{background:var(--navy);color:#cfd9e4;padding:32px 0;font-size:.92rem}.site-footer a{color:#9fe0dc}.small{opacity:.8}
@media (max-width:900px){.cols2,.cols3,.g3{grid-template-columns:1fr}.nav-toggle{display:block}
 nav{width:100%;display:none}nav.open{display:block}nav ul{flex-direction:column}nav a{font-size:1rem;padding:10px}}
@media (max-width:560px){.g2{grid-template-columns:1fr}.hero{padding:44px 0}body{font-size:16px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.nav-toggle,.skip{display:none}.disclaimer{border:1px solid #000}}
.langsw{display:flex;gap:4px;align-items:center;font-size:.85rem;order:3}.langsw a,.langsw span{color:#dfe8f2;padding:4px 8px;border:1px solid #3d5a80;border-radius:4px;text-decoration:none}.langsw span[aria-current]{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:700}.langsw a:hover{background:var(--navy2);color:#fff}.langsw .more{border-style:dashed}
.esnote{background:var(--teal-l);font-size:.9rem;padding:6px 0;border-bottom:1px solid #b9dcd9}
.lt-tier{border-left:6px solid var(--teal);padding:4px 14px;margin:14px 0;background:#fff}.lt-tier.t2{border-color:#2f6db0}.lt-tier.t3{border-color:#7a5aa8}
@media (min-width:901px){nav a{font-size:.84rem;padding:6px 6px}.hdr{gap:10px}}

/*navfix*/@media (min-width:901px){nav{order:4;width:100%}nav ul{justify-content:flex-start}}
