:root{--ground: #f7f4ed;--ground-2: #efe9dd;--ground-3: #e6dfd0;--ink: #1b2f28;--ink-2: #4c5f58;--ink-3: #7b8a84;--rule: #d8cfbe;--accent: #4f7a94;--accent-ink: #35586e;--rust: #a84b2a;--radius: 4px;--measure: 34rem;--font-ui: "Cabin", ui-sans-serif, system-ui, "Segoe UI", sans-serif;--font-read: "Bitter", ui-serif, Georgia, "Times New Roman", serif;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--ground: #141d1a;--ground-2: #1c2825;--ground-3: #26332f;--ink: #ece5d8;--ink-2: #b3bdb7;--ink-3: #8b9791;--rule: #33423d;--accent: #7fa9c2;--accent-ink: #a3c6da;--rust: #d4795a}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-read);font-size:1.0625rem;line-height:1.65;display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4,.ui{font-family:var(--font-ui)}h1,h2,h3,h4{line-height:1.2;font-weight:600;margin:0 0 .5em}h1{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.75rem);letter-spacing:-.01em}h2{font-size:1.4rem}h3{font-size:1.1rem}p{margin:0 0 1.15rem}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--rust)}img{max-width:100%;height:auto;display:block}hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}main{flex:1 0 auto}.wrap{width:min(100% - 2.5rem,68rem);margin-inline:auto}.wrap-narrow{width:min(100% - 2.5rem,46rem);margin-inline:auto}.section{padding:3rem 0}.section-tight{padding:1.75rem 0}.visually-hidden-focusable:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.label{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .35rem}.nav{border-bottom:1px solid var(--rule);background:var(--ground-2);position:sticky;top:0;z-index:20}.nav-inner{display:flex;align-items:center;gap:1.25rem;padding:.6rem 0;flex-wrap:wrap}.brand{font-family:var(--font-ui);font-weight:700;font-size:1.05rem;letter-spacing:.02em;color:var(--ink);text-decoration:none;white-space:nowrap}.brand:hover{color:var(--rust)}.rail{display:flex;gap:.15rem;flex-wrap:wrap;margin:0;padding:0;list-style:none}.rail a{display:block;font-family:var(--font-ui);font-size:.82rem;letter-spacing:.02em;color:var(--ink-2);text-decoration:none;padding:.3rem .55rem;border-radius:var(--radius);white-space:nowrap}.rail a:hover,.rail a[aria-current=page]{background:var(--ground-3);color:var(--ink)}.nav-toggle{margin-left:auto;display:none;font-family:var(--font-ui);font-size:.85rem;background:rgba(0,0,0,0);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);padding:.3rem .6rem;cursor:pointer}@media (max-width: 46rem){.nav-toggle{display:block}.rail{flex-basis:100%;flex-direction:column;display:none;padding-bottom:.5rem}.rail.open{display:flex}}.masthead{border-bottom:1px solid var(--rule);padding:3.5rem 0 3rem}.masthead .kicker{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rust);margin:0 0 .9rem}.masthead h1{max-width:20ch}.masthead .lede{font-size:1.2rem;color:var(--ink-2);max-width:46ch;margin-bottom:0}.stats{display:flex;gap:2.25rem;flex-wrap:wrap;margin-top:2rem}.stat-n{font-family:var(--font-ui);font-size:1.6rem;font-weight:700;line-height:1}.stat-l{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.masthead.has-backdrop{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;border-bottom:0;padding:3.5rem 0 clamp(3rem,9vh,6rem);isolation:isolate;background-image:linear-gradient(100deg, rgba(12,20,17,.93) 0%, rgba(12,20,17,.86) 28%, rgba(12,20,17,.55) 55%, rgba(12,20,17,.34) 100%),linear-gradient(to top, rgba(12,20,17,.85) 0%, rgba(12,20,17,.2) 42%, rgba(12,20,17,.38) 100%),url("/media/landing/counter.jpg");background-size:cover,cover,cover;background-position:center,center,center right;background-repeat:no-repeat;background-attachment:fixed,fixed,fixed}.masthead.has-backdrop h1,.masthead.has-backdrop .lede,.masthead.has-backdrop .stat-n,.masthead.has-backdrop .stat-l{color:#f4efe4}.masthead.has-backdrop h1{text-shadow:0 1px 24px rgba(0,0,0,.55)}.masthead.has-backdrop .lede{color:#ddd5c6;text-shadow:0 1px 16px rgba(0,0,0,.5)}.masthead.has-backdrop .kicker{color:#e0855f}.masthead.has-backdrop .stat-l{color:#b2a998}@media (hover: none){.masthead.has-backdrop{background-attachment:scroll,scroll,scroll}}.nav.over-hero{background:rgba(0,0,0,0);border-bottom-color:rgba(244,239,228,.18)}.nav.over-hero .brand,.nav.over-hero .rail a{color:#f4efe4}.nav.over-hero .rail a:hover,.nav.over-hero .rail a[aria-current=page]{background:rgba(244,239,228,.14);color:#fff}.nav.over-hero .nav-toggle{color:#f4efe4;border-color:rgba(244,239,228,.35)}@media (prefers-reduced-motion: reduce){.masthead.has-backdrop{background-attachment:scroll,scroll,scroll}}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill, minmax(15rem, 1fr))}.grid-2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill, minmax(19rem, 1fr))}.card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--ground-2);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.card h2,.card h3{margin:0;font-size:1.05rem}.card a{text-decoration:none;color:var(--ink)}.card a:hover{color:var(--rust)}.card p{margin:0;font-size:.92rem;color:var(--ink-2)}.card .count{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.lane{border-left:3px solid var(--accent)}.lane:nth-child(7n+2){border-left-color:var(--rust)}.lane:nth-child(7n+4){border-left-color:var(--ink-2)}.chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.chips a{display:inline-block;font-family:var(--font-ui);font-size:.82rem;border:1px solid var(--rule);border-radius:var(--radius);padding:.3rem .6rem;text-decoration:none;color:var(--ink-2);background:var(--ground-2)}.chips a:hover{border-color:var(--accent);color:var(--ink)}.chips .n{color:var(--ink-3);font-size:.74rem}.article-head{border-bottom:1px solid var(--rule);padding-bottom:1.25rem;margin-bottom:1.75rem}.article-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:baseline}.article-meta a{font-family:var(--font-ui);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--ink-3)}.article-meta a:hover{color:var(--rust)}.article-meta .sep{color:var(--rule)}.article-layout{display:block}.hero{max-width:var(--measure);max-height:34rem;width:auto;border-radius:var(--radius);border:1px solid var(--rule);margin:0 0 1.75rem}.article-body{max-width:var(--measure)}.article-foot{max-width:var(--measure);margin-top:3rem}.article-body p:first-of-type{font-size:1.12rem}.margin-note{font-family:var(--font-ui);font-size:.88rem;line-height:1.5;color:var(--ink-2);border-left:2px solid var(--rust);padding-left:.85rem;margin:0 0 1.75rem}@media (min-width: 62rem){.article-layout{display:grid;grid-template-columns:var(--measure) minmax(0, 15rem);gap:3rem;align-items:start;justify-content:start}.margin-note{position:sticky;top:5rem;margin:.35rem 0 0}}.article-body table{width:100%;border-collapse:collapse;font-family:var(--font-ui);font-size:.9rem;margin:1.5rem 0}.article-body th,.article-body td{border-bottom:1px solid var(--rule);padding:.5rem .6rem;text-align:left}.article-body th{font-weight:600;color:var(--ink-2)}@media (min-width: 62rem){.article-body table{width:calc(100% + 8rem);max-width:none}}.article-body blockquote{margin:1.5rem 0;padding-left:1rem;border-left:2px solid var(--rule);color:var(--ink-2)}.article-body code{font-size:.9em;background:var(--ground-3);padding:.1em .3em;border-radius:2px}.article-body pre{overflow-x:auto;background:var(--ground-2);padding:1rem;border-radius:var(--radius)}.article-body pre code{background:none;padding:0}.hazard{border-left:3px solid var(--rust);padding-left:1rem;color:var(--ink)}.subscribe{border:1px solid var(--rule);border-top:3px solid var(--rust);border-radius:var(--radius);background:var(--ground-2);padding:1.5rem 1.6rem}.subscribe h2{font-size:1.15rem;margin-bottom:.35rem}.subscribe p{font-size:.95rem;color:var(--ink-2);max-width:48ch}.subscribe form{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.subscribe input[type=email]{flex:1 1 16rem;min-width:0;font-family:var(--font-ui);font-size:.95rem;padding:.55rem .7rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ground);color:var(--ink)}.subscribe button{font-family:var(--font-ui);font-size:.95rem;font-weight:600;padding:.55rem 1.1rem;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--ground);cursor:pointer}.subscribe button:hover{background:var(--rust);border-color:var(--rust)}.subscribe .fine{font-size:.8rem;color:var(--ink-3);margin:.7rem 0 0}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.download{border:1px solid var(--rule);border-top:3px solid var(--accent);border-radius:var(--radius);background:var(--ground-2);padding:1.5rem 1.6rem;margin:1.5rem 0}.download h2{font-size:1.15rem;margin-bottom:.35rem}.download p{font-size:.95rem;color:var(--ink-2);max-width:48ch}.download .get{display:inline-block;margin-top:1rem;font-family:var(--font-ui);font-size:.95rem;font-weight:600;padding:.6rem 1.2rem;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--ground);text-decoration:none}.download .get:hover{background:var(--rust);border-color:var(--rust);color:var(--ground)}.download .meta{font-size:.8rem;color:var(--ink-3);margin:.7rem 0 0}.pager{display:flex;gap:.5rem;margin-top:2.5rem;font-family:var(--font-ui)}.pager a{border:1px solid var(--rule);border-radius:var(--radius);padding:.4rem .9rem;text-decoration:none;color:var(--ink-2);background:var(--ground-2)}.pager a:hover{border-color:var(--accent);color:var(--ink)}.footer{border-top:1px solid var(--rule);background:var(--ground-2);padding:2rem 0;font-family:var(--font-ui);font-size:.85rem;color:var(--ink-2)}.footer-inner{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.footer a{color:var(--ink-2)}.footer a:hover{color:var(--rust)}