:root{--paper:#fbfcfe;--ink:#16213a;--ink-soft:#4f5a78;--blue:#2440c8;--blue-wash:#eaeefc;--rule:#e2e6f0;--ok:#1f7a4d;--err:#b42318;--font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body:"Source Serif 4", Georgia, "Times New Roman", serif;--font-ui:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--measure:66ch;--wide:1080px;--gutter:clamp(16px, 4vw, 40px)}@media (prefers-color-scheme:dark){:root{--paper:#0f1626;--ink:#e8ecf6;--ink-soft:#a3adc6;--blue:#8ea2ff;--blue-wash:#1b2542;--rule:#26304a;--ok:#5ccf94;--err:#ff8a7a}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:1.125rem;line-height:1.65}a{color:var(--blue);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;margin:0;line-height:1.12}h1{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:700}h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:650}h3{font-size:1.25rem;font-weight:650}.wrap{max-width:var(--wide);padding:0 var(--gutter);margin:0 auto}.measure{max-width:var(--measure)}.muted{color:var(--ink-soft)}.ui{font-family:var(--font-ui);font-size:1rem}.skip{position:absolute;left:-999px}.skip:focus{left:var(--gutter);background:var(--paper);z-index:10;padding:8px 12px;top:8px}.site-header{border-bottom:1px solid var(--rule)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:68px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:1.45rem;font-weight:700;text-decoration:none;display:inline-flex}.nav{font-family:var(--font-ui);flex-wrap:wrap;gap:clamp(12px,2.4vw,28px);font-size:1rem;display:flex}.nav a{color:var(--ink);border-bottom:2px solid #0000;padding:6px 0;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--blue)}.site-footer{border-top:1px solid var(--rule);font-family:var(--font-ui);color:var(--ink-soft);margin-top:96px;padding:40px 0 56px;font-size:.95rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.site-footer a{color:var(--ink-soft)}.footer-links{flex-wrap:wrap;gap:20px;display:flex}main{min-height:60vh}.hero{padding-top:clamp(56px,10vw,120px);padding-bottom:clamp(40px,7vw,80px)}.hero-line{font-family:var(--font-display);letter-spacing:-.03em;max-width:15ch;margin:0;font-size:clamp(2.6rem,7.4vw,5.6rem);font-weight:700;line-height:1.02}.hero-line .dot{background:var(--blue);vertical-align:baseline;border-radius:50%;width:.2em;height:.2em;margin-left:.06em;display:inline-block}@media (prefers-reduced-motion:no-preference){.hero-line .dot{animation:.9s cubic-bezier(.3,1.5,.5,1) .25s both drop-in}@keyframes drop-in{0%{opacity:0;transform:translateY(-1.4em)}}}.hero-kicker{font-family:var(--font-ui);color:var(--ink-soft);margin:0 0 18px;font-size:1.05rem}.hero-sub{max-width:52ch;color:var(--ink-soft);margin:28px 0 0;font-size:1.2rem}.section{padding-top:56px}.section-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;padding-bottom:14px;display:flex}.section-head a{font-family:var(--font-ui);font-size:1rem}.feature{color:inherit;padding:28px 0 8px;text-decoration:none;display:block}.feature h3{max-width:24ch;font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.1}.feature:hover h3{color:var(--blue)}.feature p{max-width:60ch;color:var(--ink-soft);margin:14px 0 0}.meta{font-family:var(--font-ui);color:var(--ink-soft);margin-top:14px;font-size:.92rem}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--rule)}.post-list a{color:inherit;grid-template-columns:9.5rem 1fr;gap:8px 24px;padding:22px 0;text-decoration:none;display:grid}.post-list a:hover h3{color:var(--blue)}.post-list time{font-family:var(--font-ui);color:var(--ink-soft);padding-top:3px;font-size:.95rem}.post-list p{color:var(--ink-soft);margin:6px 0 0;font-size:1.05rem}@media (max-width:640px){.post-list a{grid-template-columns:1fr}}.rows{margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px 40px;padding:28px 0;display:grid}.row h3{font-size:1.4rem}.row .summary{margin:0}.row .detail{color:var(--ink-soft);margin:0 0 12px;font-size:1.05rem}.row ul{margin:0;padding-left:1.1em;font-size:1.02rem}.row .row-foot{font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:16px;margin-top:14px;font-size:.98rem;display:flex}.badge{font-family:var(--font-ui);background:var(--blue-wash);color:var(--blue);border-radius:999px;margin-top:8px;padding:2px 10px;font-size:.85rem;display:inline-block}@media (max-width:760px){.row{grid-template-columns:1fr}}.mini-rows{margin:0;padding:0;list-style:none}.mini-rows li{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:24px;padding:18px 0;display:flex}.mini-rows h3{font-size:1.15rem}.mini-rows p{color:var(--ink-soft);max-width:56ch;margin:2px 0 0;font-size:1rem}.article-head{padding:clamp(48px,8vw,88px) 0 32px}.article-head h1{max-width:22ch}.article-head .lede{color:var(--ink-soft);max-width:58ch;margin:18px 0 0;font-size:1.25rem}.tags{flex-wrap:wrap;gap:8px;margin-top:18px;padding:0;list-style:none;display:flex}.tags li{font-family:var(--font-ui);color:var(--ink-soft);border:1px solid var(--rule);border-radius:999px;padding:2px 12px;font-size:.88rem}.prose{max-width:var(--measure);font-size:1.2rem;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose p,.prose ul,.prose ol,.prose blockquote{margin-top:1.1em;margin-bottom:0}.prose h2{margin-top:2em;font-size:1.65rem}.prose h3{margin-top:1.6em}.prose blockquote{border-left:3px solid var(--blue);font-family:var(--font-display);letter-spacing:-.01em;margin-left:0;padding:.2em 0 .2em 1.1em;font-size:1.6rem;font-weight:600;line-height:1.3}.prose blockquote p{margin:0}.prose li+li{margin-top:.35em}.prose code{background:var(--blue-wash);border-radius:4px;padding:.1em .35em;font-size:.9em}.prose pre{background:var(--blue-wash);border-radius:8px;padding:16px;font-size:.92rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{border-radius:8px}.back{font-family:var(--font-ui);margin-top:48px;font-size:1rem;display:inline-block}.form{max-width:560px;font-family:var(--font-ui);gap:18px;display:grid}.form label{gap:6px;font-size:1rem;font-weight:500;display:grid}.form input,.form textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:8px;width:100%;padding:12px 14px;font-weight:400}.form input:focus,.form textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:#0000}.form textarea{resize:vertical;min-height:160px}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.btn{font-family:var(--font-ui);cursor:pointer;background:var(--blue);color:#fff;border:0;border-radius:8px;justify-content:center;justify-self:start;align-items:center;padding:12px 22px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn[disabled]{opacity:.6;cursor:progress}@media (prefers-color-scheme:dark){.btn{color:#0f1626}}.status{margin:0;font-size:.98rem}.status.ok{color:var(--ok)}.status.err{color:var(--err)}.subscribe{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px 48px;margin-top:72px;padding:36px 0;display:grid}.subscribe p{color:var(--ink-soft);margin:8px 0 0}.subscribe form{font-family:var(--font-ui);flex-wrap:wrap;gap:10px;display:flex}.subscribe input{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:8px;flex:220px;padding:12px 14px}.subscribe .status{flex-basis:100%}@media (max-width:760px){.subscribe{grid-template-columns:1fr}}.empty{color:var(--ink-soft);padding:32px 0}.page-head{padding:clamp(48px,8vw,88px) 0 24px}.page-head p{max-width:58ch;color:var(--ink-soft);margin:16px 0 0;font-size:1.2rem}.two-col{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;display:grid}@media (max-width:860px){.two-col{grid-template-columns:1fr}}.facts{font-family:var(--font-ui);margin:0;padding:0;font-size:1rem;list-style:none}.facts li{border-bottom:1px solid var(--rule);padding:12px 0}.facts strong{font-weight:600;display:block}.facts span{color:var(--ink-soft)}
