/* Local stylesheet: no external fonts, scripts or trackers. */
:root{--ink:#242424;--accent:#365f8d;--paper:#f7f6f2;--line:#d8d6d0;--white:#fff;}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.68 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
.wrap{width:min(980px,calc(100% - 36px));margin:auto}
.top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:800;text-decoration:none;letter-spacing:-.02em}
.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:18px;background:var(--accent);color:white;font:700 12px/1 system-ui}
nav{display:flex;gap:18px;font:600 13px/1.2 system-ui,sans-serif} nav a{color:var(--ink);text-decoration:none}
.hero{padding:78px 0 46px;max-width:780px} .kicker{color:var(--accent);font:800 12px/1.2 system-ui;letter-spacing:.13em;text-transform:uppercase}
h1{font-size:clamp(2.4rem,8vw,5.6rem);line-height:.98;letter-spacing:-.055em;margin:16px 0 20px}
.lead{font-size:clamp(1.05rem,2.4vw,1.3rem);color:color-mix(in srgb,var(--ink) 70%,transparent);max-width:680px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:8px 0 62px}
.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 16px 45px rgba(15,35,48,.07)}
.card:nth-child(3n+1){border-top:4px solid var(--accent)} .card h2{font-size:1.2rem;line-height:1.25;margin:0 0 10px;letter-spacing:-.015em} .card p{margin:0}
.page{padding:62px 0;max-width:760px} .page h1{font-size:clamp(2.4rem,7vw,4.8rem)} .page h2{margin-top:36px}
.archive{list-style:none;padding:0;margin:35px 0} .archive li{padding:20px 0;border-bottom:1px solid var(--line)} .archive time{display:block;color:var(--accent);font:700 12px/1.5 system-ui}
footer{border-top:1px solid var(--line);padding:28px 0 42px;color:color-mix(in srgb,var(--ink) 65%,transparent);font:13px/1.6 system-ui}
.error{min-height:70vh;display:grid;align-content:center} .error strong{color:var(--accent);font-size:6rem;line-height:1}
@media(max-width:680px){.top{align-items:flex-start}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.grid{grid-template-columns:1fr}.hero{padding-top:54px}}
