@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&display=swap";:root{--bg: #ffffff;--surface: #f6f6f7;--surface-2: #f0f0f2;--text: #18181b;--muted: #61616b;--faint: #9b9ba4;--line: #ececee;--line-strong: #dcdce0;--accent: #2f5fd0;--accent-ink: #234aa8;--accent-wash: rgba(47, 95, 208, .08);--ingot: #b8734a;--ingot-ink: #7a4f2e;--ingot-hover: #a6653f;--sea: #5c8d89;--code-bg: #f4f4f6;--code-ink: #27272d;--maxw: 688px;--maxw-wide: 1120px;--sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif: "Newsreader", Georgia, "Times New Roman", serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=dark]{--bg: #0e0e11;--surface: #18181c;--surface-2: #1f1f24;--text: #ededf0;--muted: #9a9aa4;--faint: #6c6c76;--line: #26262b;--line-strong: #34343b;--accent: #8aa6ff;--accent-ink: #a7bcff;--accent-wash: rgba(138, 166, 255, .12);--ingot: #d4956a;--ingot-ink: #f0dcc8;--ingot-hover: #e0a67a;--sea: #7aa8a4;--code-bg: #18181c;--code-ink: #d7d7de}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--serif);font-size:19px;line-height:1.75;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .2s ease,color .2s ease}img{max-width:100%;height:auto}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-ink)}::selection{background:var(--accent-wash)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.wide{width:100%;max-width:var(--maxw-wide);margin:0 auto;padding:0 24px}.bleed{width:100%}.masthead{border-bottom:1px solid var(--line)}.masthead .container{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-top:20px;padding-bottom:20px;flex-wrap:wrap}.brand-block{max-width:32ch}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--sans);font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--text)}.brand:hover{color:var(--text);opacity:.7}.brand-logo{width:40px;height:40px;flex-shrink:0;border-radius:8px;display:block}.brand-name{line-height:1.1}.brand-note{margin:5px 0 0;font-family:var(--sans);font-size:14px;line-height:1.45;color:var(--muted);font-weight:400}.nav{display:flex;align-items:center;gap:26px}.nav a{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0;color:var(--muted)}.nav a:hover{color:var(--text)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--line-strong);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;line-height:0;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.theme-toggle:hover{color:var(--text);border-color:var(--muted);background:var(--surface)}.theme-toggle svg{width:16px;height:16px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}.eyebrow{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}.eyebrow a{color:var(--muted)}.eyebrow a:hover{color:var(--text)}.intro{padding-top:28px;padding-bottom:28px}.intro h1{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.55;letter-spacing:0;margin:0;color:var(--text);max-width:60ch}.intro h2{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.55;letter-spacing:0;margin:0;color:var(--text);max-width:60ch}.intro p:not(.eyebrow){font-family:var(--serif);font-size:20px;line-height:1.6;color:var(--text);margin:0;max-width:60ch}.postlist{list-style:none;margin:0 0 96px;padding:0}.postlist li{padding:30px 0;border-top:1px solid var(--line)}.postlist li:last-child{border-bottom:1px solid var(--line)}.postlist .meta{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--faint);display:flex;gap:14px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.postlist .tag{font-size:12px;letter-spacing:.02em;background:var(--surface);border:1px solid transparent;border-radius:999px;padding:2px 10px;color:var(--muted)}a.tag:hover{color:var(--accent-ink);background:var(--accent-wash)}.postlist h2{font-family:var(--sans);font-weight:600;font-size:19px;line-height:1.32;letter-spacing:-.02em;margin:0 0 8px}.postlist h2 a{color:var(--text)}.postlist h2 a:hover{color:var(--accent)}.postlist p{margin:0;color:var(--text);font-size:18px;line-height:1.55;max-width:64ch}.linkgroup{font-family:var(--sans);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:40px 0 0}.linklist{list-style:none;margin:16px 0 40px;padding:0}.linklist li{padding:26px 0;border-top:1px solid var(--line)}.linklist li:last-child{border-bottom:1px solid var(--line)}.linklist h3{font-family:var(--sans);font-weight:600;font-size:19px;line-height:1.32;letter-spacing:-.02em;margin:0 0 6px}.linklist h3 a{color:var(--text)}.linklist h3 a:hover{color:var(--accent)}.linklist p{margin:0;color:var(--text);font-size:17px;line-height:1.55;max-width:64ch}.taglist{list-style:none;margin:16px 0 96px;padding:0;display:flex;flex-wrap:wrap;gap:10px}.taglist li{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:999px;padding:7px 15px;transition:border-color .15s ease,background-color .15s ease}.taglist li:hover{border-color:var(--accent);background:var(--accent-wash)}.taglist a{font-family:var(--sans);font-weight:500;font-size:15px;color:var(--text)}.taglist li:hover a{color:var(--accent-ink)}.taglist .count{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--faint)}.article{padding:56px 0 32px}.about-brand{margin-bottom:36px;max-width:420px}.about-brand img{display:block;width:100%;height:auto;border-radius:10px}.article-head{margin-bottom:38px}.article-head .meta{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--faint);display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:22px}.article-head .meta a{color:var(--faint)}.article-head .meta a:hover{color:var(--accent)}.article-head h1{font-family:var(--sans);font-weight:700;font-size:clamp(28px,4vw,36px);line-height:1.12;letter-spacing:-.03em;margin:0 0 16px;color:var(--text)}.article-head .standfirst{font-family:var(--serif);font-size:21px;line-height:1.55;color:var(--text);margin:0}.prose{font-size:19px;line-height:1.8;color:var(--text)}.prose>*+*{margin-top:1.4em}.prose h2{font-family:var(--sans);font-weight:600;font-size:27px;letter-spacing:-.02em;line-height:1.25;margin-top:2em;color:var(--text)}.prose h3{font-family:var(--sans);font-weight:600;font-size:21px;letter-spacing:-.01em;margin-top:1.7em;color:var(--text)}.prose strong{font-weight:600;color:var(--text)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--line-strong)}.prose a:hover{text-decoration-color:var(--accent)}.prose blockquote{margin:1.8em 0;padding:4px 0 4px 24px;border-left:3px solid var(--accent);color:var(--text);font-style:italic;font-size:1.05em}.prose blockquote p{margin:0}.prose code{font-family:var(--mono);font-size:.84em;background:var(--code-bg);border:1px solid var(--line);padding:.1em .4em;border-radius:5px;color:var(--code-ink)}.prose pre{font-family:var(--mono);font-size:14.5px;background:var(--surface);color:var(--code-ink);border:1px solid var(--line);padding:18px 20px;border-radius:10px;overflow-x:auto;line-height:1.6}.prose pre code{background:none;border:0;padding:0;font-size:inherit}.prose img{border-radius:10px;border:1px solid var(--line)}.prose hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.4em 0}.prose li::marker{color:var(--faint)}.interactive-wrap{padding:12px 0 28px}.site-footer{border-top:1px solid var(--line);margin-top:56px}.site-footer .container{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-top:28px;padding-bottom:44px;font-family:var(--sans);font-size:13px;color:var(--faint)}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--text)}.site-footer .links{display:flex;gap:20px}.backlink{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--muted);display:inline-block;margin:8px 0 0}.backlink:hover{color:var(--accent)}.contact-success{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--accent-ink);background:var(--accent-wash);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:0 0 20px;max-width:520px}.contact-panel{margin:8px 0 0;max-width:520px}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form .field label{display:block;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.contact-form .optional{font-weight:400;color:var(--muted)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;font-family:var(--sans);font-size:15px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg);color:var(--text)}.contact-form textarea{resize:vertical;min-height:140px;line-height:1.5}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.contact-form button[type=submit]{align-self:flex-start;font-family:var(--sans);font-size:15px;font-weight:500;padding:10px 18px;border:0;border-radius:8px;background:var(--text);color:var(--bg);cursor:pointer}.contact-form button[type=submit]:hover{opacity:.85}.contact-pending{font-family:var(--sans);font-size:15px;color:var(--muted);margin:0 0 20px}.contact-alt{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.contact-alt-label{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--text);margin:0 0 10px}.contact-email-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.contact-email{font-family:var(--mono);font-size:15px;color:var(--accent)}.copy-email{font-family:var(--sans);font-size:13px;font-weight:500;padding:6px 12px;border:1px solid var(--line-strong);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.copy-email:hover{color:var(--text);border-color:var(--muted)}.contact-alt-hint{font-family:var(--sans);font-size:13px;color:var(--muted);margin:10px 0 0;line-height:1.45}.newsletter{margin:0 0 48px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.newsletter--above-list{border-bottom:0;margin-bottom:0;padding-bottom:20px}.article .newsletter{margin:32px 0 8px;padding:28px 0}.newsletter-heading{font-family:var(--sans);font-weight:600;font-size:18px;letter-spacing:-.01em;margin:0 0 8px;color:var(--text)}.newsletter-lede{font-family:var(--serif);font-size:17px;line-height:1.55;color:var(--text);margin:0 0 18px;max-width:52ch}.newsletter-form{display:flex;flex-direction:column;gap:10px;max-width:420px}.newsletter-label{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--text)}.newsletter-fields{display:flex;gap:10px;flex-wrap:wrap}.newsletter-form input[type=email]{flex:1 1 200px;min-width:0;font-family:var(--sans);font-size:15px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg);color:var(--text)}.newsletter-form input[type=email]:focus{outline:2px solid var(--sea);outline-offset:1px}.newsletter-form button{font-family:var(--sans);font-size:15px;font-weight:500;padding:10px 18px;border:0;border-radius:8px;background:var(--ingot);color:#fff;cursor:pointer;transition:background-color .15s ease}.newsletter-form button:hover{background:var(--ingot-hover)}.newsletter-powered{margin:4px 0 0;font-family:var(--sans);font-size:12px}.newsletter-powered a{color:var(--muted)}.newsletter-powered a:hover{color:var(--ingot)}.newsletter-pending{font-family:var(--sans);font-size:15px;color:var(--muted);margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){body{font-size:18px}.intro{padding-top:24px;padding-bottom:24px}.contact-form .field-row{grid-template-columns:1fr}.prose{font-size:18px}}
