:root{--bg:#f4efe6;--paper:#fbf7f0;--text:#1d1914;--muted:#6d6458;--link:#8a3418;--link-hover:#5c210e;--rule:#e2d6c4;--measure:39rem;--serif:"Source Serif 4", "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;--sans:"Source Sans 3", ui-sans-serif, system-ui, sans-serif;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--serif);font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.125rem;line-height:1.6}img{max-width:100%;height:auto}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--link-hover)}.skip-link{background:var(--text);color:var(--paper);z-index:10;padding:.4rem .7rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:.75rem}.site-header,.site-main,.site-footer{width:min(var(--measure), calc(100% - 2.5rem));margin-inline:auto}.site-header{padding:3.25rem 0 2.25rem}.wordmark{font-variation-settings:"opsz" 60;letter-spacing:-.02em;color:var(--text);font-size:1.85rem;font-weight:650;line-height:1.15;text-decoration:none}.wordmark:hover{color:var(--text)}.tagline{max-width:34rem;color:var(--muted);margin:.7rem 0 0;font-size:1.02rem;line-height:1.45}.nav{font-family:var(--sans);letter-spacing:.02em;gap:1.35rem;margin-top:1.35rem;font-size:.92rem;font-weight:600;display:flex}.nav a{color:var(--text);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--link)}.nav a[aria-current=page]{text-underline-offset:.28em;text-decoration:underline}.site-main{padding-bottom:4.5rem}.site-footer{color:var(--muted);font-family:var(--sans);padding:0 0 3rem;font-size:.88rem}.site-footer p{border-top:1px solid var(--rule);margin:0;padding-top:1.25rem}.site-footer a{color:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.archive{margin:0;padding:0;list-style:none}.archive-year+.archive-year{margin-top:2.4rem}.year{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .85rem;font-size:.78rem;font-weight:600}.post-list{gap:.7rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}.post-row{grid-template-columns:5.6rem minmax(0,1fr);align-items:baseline;gap:1rem;display:grid}.post-row time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.95rem}.post-row a{color:var(--text);font-weight:500;line-height:1.35;text-decoration:none}.post-row a:hover{color:var(--link);text-underline-offset:.16em;text-decoration:underline}.article-header{margin-bottom:1.5rem}.article-header h1{font-variation-settings:"opsz" 60;letter-spacing:-.028em;margin:0;font-size:clamp(1.85rem,4.5vw,2.55rem);font-weight:650;line-height:1.15}.meta{font-family:var(--sans);color:var(--muted);margin:0 0 .65rem;font-size:.88rem}.hero{margin:0 0 2rem}.hero img,.prose img{background:var(--paper);width:100%;display:block}.prose{font-size:1.2rem;line-height:1.65}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote{margin:0 0 1.15em}.prose h2,.prose h3,.prose h4{letter-spacing:-.02em;margin:1.7em 0 .55em;scroll-margin-top:1rem;font-weight:650;line-height:1.25}.prose h2{font-size:1.4rem}.prose h3{font-size:1.2rem}.prose li+li{margin-top:.3em}.prose blockquote{border-left:2px solid var(--rule);color:#3f382f;margin-left:0;padding:0 0 0 1.1em;font-style:italic}.prose hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}.prose figure{margin:1.5rem 0}.prose iframe{max-width:100%}.prose .youtube{margin:1.5rem 0}.prose .youtube-frame{aspect-ratio:16/9;background:#111;width:100%;position:relative;overflow:hidden}.prose .youtube-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.prose figcaption,.prose img+em{font-family:var(--sans);color:var(--muted);margin-top:.45rem;font-size:.86rem;font-style:normal;display:block}@media (width<=640px){.site-header,.site-main,.site-footer{width:min(var(--measure), calc(100% - 2rem))}.site-header{padding-top:2rem}.post-row{grid-template-columns:1fr;gap:.15rem}.post-row time{font-family:var(--sans);font-size:.8rem}}
