:root{--ink:#15202b;--ink-soft:#3d4a57;--paper:#f3f5f7;--paper-deep:#e7ecf1;--line:#c9d3dc;--accent:#0f6e6a;--accent-deep:#0a524f;--highlight:#d9ece9;--font-display:"Fraunces", "Iowan Old Style", "Palatino Linotype", serif;--font-body:"Figtree", "Avenir Next", "Segoe UI", sans-serif;--max:68rem;--measure:40rem;--space:clamp(1rem, 3vw, 2rem);--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 100% -10%, #d5e8e5 0%, transparent 55%), radial-gradient(ellipse 60% 40% at -10% 20%, #dde4ec 0%, transparent 50%), linear-gradient(180deg, #f7f9fb 0%, var(--paper) 40%, #eef2f5 100%);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}img,svg{max-width:100%;display:block}a{color:var(--accent-deep);text-underline-offset:.18em}a:hover{color:var(--accent)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-weight:550;line-height:1.15}p{margin:0 0 1.1rem}p:last-child{margin-bottom:0}.site-shell{width:min(100% - 2 * var(--space), var(--max));margin-inline:auto}.skip-link{background:var(--ink);color:var(--paper);z-index:20;padding:.5rem .85rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{padding:1.25rem 0 .5rem}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.brand{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:clamp(1.05rem,2.2vw,1.3rem);font-weight:600;text-decoration:none}.brand:hover{color:var(--accent-deep)}.nav{flex-wrap:wrap;gap:1.35rem;display:flex}.nav a{color:var(--ink-soft);font-size:.95rem;font-weight:500;text-decoration:none;position:relative}.nav a:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .28s var(--ease);position:absolute;bottom:-.2rem;left:0;transform:scaleX(0)}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:5rem;padding:2rem 0 3rem;font-size:.92rem}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.site-footer a{color:var(--ink-soft);text-decoration:none}.site-footer a:hover{color:var(--accent-deep)}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(2rem,5vw,4rem);min-height:calc(100vh - 5.5rem);padding:2rem 0 3rem;display:grid}.hero__copy{max-width:34rem}.hero__brand{font-family:var(--font-display);letter-spacing:-.03em;opacity:0;animation:rise .9s var(--ease) 80ms forwards;margin:0 0 1.25rem;font-size:clamp(2.4rem,6vw,4.1rem);font-weight:620;line-height:1.02}.hero__lede{color:var(--ink-soft);opacity:0;max-width:30rem;animation:rise .9s var(--ease) .22s forwards;margin:0 0 1.75rem;font-size:clamp(1.05rem,2vw,1.2rem)}.hero__actions{opacity:0;animation:rise .9s var(--ease) .36s forwards;flex-wrap:wrap;gap:1rem;display:flex}.hero__visual{opacity:0;animation:rise 1.1s var(--ease) .18s forwards}.button{border:1px solid var(--ink);background:var(--ink);min-height:2.75rem;color:var(--paper);transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);justify-content:center;align-items:center;padding:.65rem 1.2rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.button--ghost{color:var(--ink);background:0 0}.button--ghost:hover{background:var(--highlight);border-color:var(--accent);color:var(--accent-deep)}.section{padding:3.5rem 0 1rem}.section__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .65rem;font-size:.78rem;font-weight:700}.section__title{margin:0 0 .75rem;font-size:clamp(1.7rem,3vw,2.25rem)}.section__intro{max-width:36rem;color:var(--ink-soft);margin:0 0 2rem}.post-list{border-top:1px solid var(--line);gap:0;display:grid}.post-item{border-bottom:1px solid var(--line);color:inherit;transition:background .22s var(--ease);grid-template-columns:7.5rem 1fr;gap:1.25rem;padding:1.35rem 0;text-decoration:none;display:grid}.post-item:hover{background:color-mix(in srgb, var(--highlight) 55%, transparent)}.post-item__meta{color:var(--ink-soft);padding-top:.2rem;font-size:.85rem}.post-item__title{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.35rem;font-weight:560}.post-item__desc{color:var(--ink-soft);margin:0;font-size:.98rem}.page-header{max-width:40rem;padding:2.5rem 0 1.5rem}.page-header h1{margin:0 0 .85rem;font-size:clamp(2rem,4.5vw,3rem)}.page-header p{color:var(--ink-soft);font-size:1.08rem}.prose{max-width:var(--measure)}.prose h2{margin:2.2rem 0 .8rem;font-size:1.45rem}.prose h3{margin:1.6rem 0 .55rem;font-size:1.15rem}.prose ul,.prose ol{margin:0 0 1.1rem;padding-left:1.2rem}.prose li{margin-bottom:.4rem}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-soft);font-family:var(--font-display);margin:1.5rem 0;padding:.25rem 0 .25rem 1.1rem;font-size:1.15rem;font-style:italic}.prose .katex{font-size:1.05em}.prose .katex-display{margin:1.35rem 0;padding:.15rem 0;overflow:auto hidden}.post-meta{color:var(--ink-soft);flex-wrap:wrap;gap:.75rem 1.25rem;margin:0 0 2rem;font-size:.92rem;display:flex}.issue-mark{color:var(--accent-deep);font-weight:600}.ball-scene{aspect-ratio:1;width:100%;max-width:28rem;margin-inline:auto}.ball-scene__orb{transform-origin:50%;animation:8s ease-in-out infinite drift}.ball-scene__ring{transform-origin:50%;animation:28s linear infinite spin}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=820px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:1.5rem}.hero__visual{order:-1;max-width:18rem}.post-item{grid-template-columns:1fr;gap:.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.hero__brand,.hero__lede,.hero__actions,.hero__visual{opacity:1}}
