:root{--ink:#0a1a3a;--muted:#526889;--green:#0b9561;--pale:#eef8f3;--line:#d9e3ea;--paper:#fff;--wash:#f6f9fc;--amber:#8b5700;--amber-bg:#fff5dd;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper)}a{color:#08764f;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:9}.site-header{border-bottom:1px solid var(--line);background:#fff}.nav{max-width:var(--max);margin:auto;padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);font-size:1.35rem;font-weight:800;text-decoration:none}.mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;color:#fff;background:var(--green);font-family:Georgia,serif;font-size:1.6rem}.nav nav{display:flex;gap:1.5rem}.nav nav a{text-decoration:none;color:var(--ink);font-weight:650}.hero{background:linear-gradient(145deg,#f0f8ff,#fbfdfc);border-bottom:1px solid var(--line)}.hero-inner,.layout,.listing{max-width:var(--max);margin:auto;padding:4.5rem 1.5rem}.eyebrow{color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.hero h1{max-width:850px;margin:.5rem 0 1rem;font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.04;letter-spacing:-.045em}.lede{max-width:760px;color:var(--muted);font-size:1.25rem}.trust{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;padding:0;list-style:none}.trust li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem;font-size:.9rem}.listing h1{font-size:clamp(2.3rem,4vw,4rem);line-height:1.1}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2.5rem}.card{border:1px solid var(--line);border-radius:18px;padding:1.7rem;background:#fff;box-shadow:0 12px 35px rgba(12,35,63,.06)}.card .tag{color:var(--green);font-weight:750}.card h2{font-size:1.55rem;line-height:1.2;margin:.5rem 0}.card p{color:var(--muted)}.card a{font-weight:750}.layout{display:grid;grid-template-columns:minmax(0,760px) 280px;gap:4rem}.article h2{font-size:1.8rem;line-height:1.2;margin:3rem 0 .8rem}.article h3{margin-top:2rem}.article p,.article li{font-size:1.08rem}.article li+li{margin-top:.55rem}.callout{border-left:4px solid var(--green);background:var(--pale);padding:1rem 1.25rem;margin:2rem 0}.warning{background:var(--amber-bg);border-color:#e2a62d;color:#5f4108}.toc{position:sticky;top:1rem;align-self:start;border-left:1px solid var(--line);padding-left:1.5rem}.toc strong{display:block;margin-bottom:.7rem}.toc a{display:block;margin:.5rem 0;color:var(--muted)}.meta{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;padding:1rem 0 1.5rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.9rem}.example{border:1px solid var(--line);border-radius:14px;padding:1.25rem;background:var(--wash)}.source-list{padding:0;list-style:none}.source-list li{padding:1rem 0;border-top:1px solid var(--line)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--amber-bg);color:var(--amber);font-size:.75rem;font-weight:750}.footer{border-top:1px solid var(--line);margin-top:3rem}.footer div{max-width:var(--max);margin:auto;padding:2rem 1.5rem;color:var(--muted)}@media(max-width:800px){.nav nav{display:none}.hero-inner,.layout,.listing{padding:3rem 1.2rem}.layout{grid-template-columns:1fr;gap:1rem}.toc{position:static;order:-1;border:1px solid var(--line);border-radius:12px;padding:1rem}.cards{grid-template-columns:1fr}.hero h1{font-size:2.7rem}}

/* Shared article accessibility safeguards. */
body{overflow-wrap:anywhere}:where(a,button,input,[tabindex]):focus-visible{outline:3px solid #075f3d;outline-offset:3px;border-radius:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
