@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/fraunces-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/fraunces-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/plexmono-400-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/plexmono-400-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/plexmono-500-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/plexmono-500-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Public Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url("/fonts/publicsans-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Public Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url("/fonts/publicsans-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--color-page:#efede6;--color-surface:#fbfaf6;--color-portrait-fill:#e8e6de;--color-text:#363636;--color-ink:#1b1c19;--color-ink-soft:#56584f;--color-rule:#dedbd2;--color-accent:#14624d;--color-accent-deep:#0e5343;--color-accent-100:#e5f2ed;--color-accent-200:#d0e1da;--color-accent-300:#afcabf;--color-accent-400:#80a899;--color-accent-500:#498470;--color-accent-600:#14624d;--color-accent-700:#0e5343;--color-accent-800:#183f33;--color-accent-900:#1b3029;--color-on-accent:#ffffff;--color-on-accent-soft:rgb(255 255 255 / 0.72);--color-on-accent-border:#ffffff;--color-invert-surface:#1b1c19;--font-display:'Fraunces',Georgia,serif;--font-body:'Public Sans',system-ui,-apple-system,sans-serif;--font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--radius:0px;--rule:1px;--shell-max:1060px;--frame-inset:clamp(14px, 1.379vw + 8.83px, 24px);--frame-margin:clamp(18px, 2.207vw + 9.72px, 34px);--gutter:clamp(26px, 2.759vw + 15.66px, 46px);--fs-display-xl:clamp(38px, 1.655vw + 31.79px, 50px);--fs-display-l:clamp(25px, 0.69vw + 22.41px, 30px);--fs-display-m:clamp(23px, 0.552vw + 20.93px, 27px);--fs-display-s:20px;--fs-lede:16px;--fs-base:15px;--fs-small:14px;--fs-xs:13px;--fs-mono:11px;--fs-mono-s:10px;--ls-mono:0.11em;--ls-display:-0.01em;--ease-grow:cubic-bezier(.2, .7, .2, 1)}*,::after,::before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--color-page)}body{margin:0;background:var(--color-page);color:var(--color-text);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.7;font-weight:400;overflow-x:hidden}a{color:inherit;text-decoration:none}a:hover{color:var(--color-accent)}img{display:block;max-width:100%;height:auto}p{margin:0}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:var(--ls-display);margin:0}:focus{outline:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.mono{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.hp-wrap{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link{position:absolute;left:var(--space-2);top:-100px;z-index:10;background:var(--color-accent);color:var(--color-on-accent);padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase}.skip-link:focus{top:var(--space-2);color:var(--color-on-accent)}.shell{max-width:var(--shell-max);width:calc(100% - (var(--frame-inset) * 2));margin:var(--frame-margin) auto;background:var(--color-surface);border:var(--rule) solid var(--color-rule);color:var(--color-text)}.nav{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);padding:26px var(--gutter);border-bottom:var(--rule) solid var(--color-rule)}.nav-brand{font-family:var(--font-display);font-size:20px;letter-spacing:var(--ls-display);color:var(--color-ink)}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--color-accent);border-bottom:var(--rule) solid transparent;padding-bottom:2px;transition:color .2s,border-bottom-color .2s}.nav-links a:hover,.nav-links a[aria-current=page]{border-bottom-color:var(--color-accent);color:var(--color-accent)}.hero{display:flex;align-items:flex-start;gap:54px;padding:52px var(--gutter) 58px}.hero-body{flex:1 1 auto;min-width:0}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--color-accent);margin-bottom:22px}.hero h1{font-size:var(--fs-display-xl);line-height:1.1;letter-spacing:-.012em;margin-bottom:30px;max-width:15ch;text-wrap:pretty}.lede{font-size:var(--fs-lede);line-height:1.7;max-width:48ch;color:var(--color-ink-soft);text-wrap:pretty}.hero-aside{flex:0 0 176px;width:176px;align-self:center}.portrait-frame{position:relative;aspect-ratio:400/418;border:var(--rule) solid var(--color-rule);background:var(--color-portrait-fill);transition:transform .45s var(--ease-grow)}.portrait{position:absolute;left:0;bottom:0;display:block;width:100%;height:auto;filter:grayscale(1) contrast(1.08)}.hero-aside:hover .portrait-frame{transform:translateY(-5px) rotate(-.75deg)}.accent-rule{height:var(--rule);background:var(--color-accent);transform-origin:left}.band{display:flex;align-items:flex-start;gap:54px;padding:42px var(--gutter);border-bottom:var(--rule) solid var(--color-rule)}.label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--color-ink-soft)}.band-label{flex:0 0 176px;width:176px;padding-top:5px;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--color-ink-soft)}.band-content{flex:1 1 auto;max-width:60ch;min-width:0}.band-content>*+*{margin-top:20px}.band-content p{line-height:1.7;color:var(--color-ink)}.band-content p.muted{color:var(--color-text)}.band-content h2{font-size:var(--fs-display-m);line-height:1.2;text-wrap:pretty}.band-list{border-top:var(--rule) solid var(--color-rule)}.band-list li{padding:11px 0;border-bottom:var(--rule) solid var(--color-rule);line-height:1.7}.band-list a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.writing{padding:42px var(--gutter) 48px;border-bottom:var(--rule) solid var(--color-rule)}.writing-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);margin-bottom:26px}.writing-head h2{font-size:var(--fs-display-m);line-height:1.2}.writing-more{font-size:var(--fs-xs);color:var(--color-accent);white-space:nowrap}.post-list{border-top:var(--rule) solid var(--color-rule)}.post-row{display:flex;align-items:baseline;gap:26px;padding:20px 0;border-bottom:var(--rule) solid var(--color-rule);transition:background .25s,padding .25s}@media (hover:hover){.post-row:hover{background:var(--color-accent-100);padding-left:var(--space-4)}}.post-row:focus-visible{background:var(--color-accent-100);padding-left:var(--space-4)}.post-meta-line{display:contents}.post-index{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.09em;color:var(--color-accent)}.post-date{flex:0 0 96px;width:96px;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--color-ink-soft)}.post-main{flex:1 1 auto;min-width:0}.post-title{display:block;font-family:var(--font-display);font-size:var(--fs-display-s);line-height:1.25;margin-bottom:4px;color:var(--color-accent)}.post-excerpt{display:block;font-size:var(--fs-small);line-height:1.7;color:var(--color-ink-soft)}.usecase{padding:42px var(--gutter) 48px;border-bottom:var(--rule) solid var(--color-rule)}.usecase h2{font-size:var(--fs-display-m);line-height:1.2;max-width:22ch;margin:14px 0 20px;text-wrap:pretty}.usecase p{max-width:58ch;line-height:1.7;color:var(--color-ink-soft)}.usecase p+p{margin-top:20px}.form-stack{max-width:560px;margin-top:26px}.form-field{margin-bottom:18px}.form-field label{display:block;font-family:var(--font-mono);font-size:var(--fs-mono-s);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--color-ink-soft);margin-bottom:7px}.form-field .field-input,.form-field textarea{width:100%;background:var(--color-surface);border:var(--rule) solid var(--color-rule);color:var(--color-ink);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.7;padding:11px 13px;border-radius:var(--radius)}.form-field textarea{min-height:108px;resize:vertical}.form-field .field-input:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.btn-primary{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;background:var(--color-accent);color:var(--color-on-accent);border:var(--rule) solid var(--color-accent);padding:12px 22px;cursor:pointer;border-radius:var(--radius);transition:background .2s,color .2s,border-color .2s}.btn-primary:hover{background:var(--color-invert-surface);border-color:var(--color-invert-surface);color:var(--color-on-accent)}.newsletter{display:flex;align-items:flex-end;justify-content:space-between;gap:46px;padding:46px var(--gutter);background:var(--color-accent);color:var(--color-on-accent)}.newsletter-label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--color-on-accent-soft)}.newsletter h2{font-size:var(--fs-display-l);line-height:1.16;max-width:15ch;margin-top:14px;text-wrap:pretty}.newsletter-form{display:flex;flex:0 0 380px;width:380px;min-width:0}#newsletter{align-items:center}#newsletter>div{flex-shrink:0}#newsletter h2{max-width:24ch}#newsletter .newsletter-form{flex-shrink:1}.newsletter-form .field-input{flex:1 1 auto;min-width:0;background:var(--color-on-accent);border:var(--rule) solid var(--color-on-accent);border-right:none;color:var(--color-ink);font-family:var(--font-body);font-size:var(--fs-small);padding:12px 14px;border-radius:var(--radius)}.newsletter-form .field-input:focus-visible{outline:2px solid var(--color-on-accent-border);outline-offset:1px}.btn-subscribe{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;background:var(--color-on-accent);color:var(--color-accent);border:var(--rule) solid var(--color-on-accent);padding:12px 22px;cursor:pointer;white-space:nowrap;border-radius:var(--radius);transition:background .2s,color .2s,border-color .2s}.btn-subscribe:hover{background:var(--color-invert-surface);border-color:var(--color-invert-surface);color:var(--color-on-accent)}.post-hero{padding:52px var(--gutter) 58px}.post-hero h1{font-size:var(--fs-display-xl);line-height:1.1;letter-spacing:-.012em;max-width:20ch;text-wrap:pretty;margin-bottom:22px}.post-meta{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--color-ink-soft)}.post-body{padding:42px var(--gutter) 48px;max-width:calc(60ch + (var(--gutter) * 2))}.post-body ol,.post-body p,.post-body ul{line-height:1.7;margin:0 0 20px}.post-body ol,.post-body ul{padding-left:var(--space-5);list-style:disc}.post-body li{margin-bottom:var(--space-2)}.post-body h2{font-size:var(--fs-display-m);line-height:1.2;margin:var(--space-8) 0 var(--space-4)}.post-body h3{font-size:var(--fs-display-s);line-height:1.25;margin:var(--space-7) 0 var(--space-3)}.post-body a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.post-body code{font-family:var(--font-mono);font-size:.9em;background:var(--color-accent-100);padding:2px 5px}.post-body pre{font-family:var(--font-mono);background:var(--color-accent-900);color:var(--color-accent-100);padding:var(--space-4);overflow-x:auto;margin:0 0 20px}.post-body pre code{background:0 0;padding:0}.post-body blockquote{margin:0 0 20px;padding-left:var(--space-5);border-left:var(--rule) solid var(--color-accent);font-family:var(--font-display);font-size:var(--fs-lede)}.post-back{padding:0 var(--gutter) 42px}.post-back a{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--color-accent)}.footer{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);padding:24px var(--gutter);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--color-ink-soft)}.footer-links{display:flex;align-items:center;gap:26px}@keyframes drift{to{transform:translateY(-18px)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.anim-aside{animation:drift linear both;animation-timeline:view();animation-range:exit 0% exit 100%}}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;transition-delay:0s!important;scroll-behavior:auto!important}.hero-aside:hover .portrait-frame{transform:none}}@media (max-width:767.98px){.hero{display:block}.hero-aside{width:auto;max-width:176px;margin:32px auto 0}.band{display:block}.band-label{width:auto;padding-top:0;margin-bottom:16px}.band-content{max-width:none}.newsletter{display:block}.newsletter h2{max-width:22ch}.newsletter-form{width:auto;margin-top:24px}.post-row{display:block}.post-meta-line{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:6px}.post-date{width:auto;flex:0 0 auto}}@media (max-width:599.98px){.nav{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.nav-links{flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.writing-head{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.footer{flex-direction:column;gap:var(--space-3)}.footer-links{flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.newsletter-form{flex-direction:column;gap:var(--space-3)}.newsletter-form .field-input{border-right:var(--rule) solid var(--color-on-accent)}.btn-subscribe{text-align:center}}@media (max-width:389.98px){#newsletter h2{font-size:clamp(20px, 6.4vw, 25px)}}@media (max-width:359.98px){.post-meta-line{flex-wrap:wrap;gap:var(--space-1) var(--space-3)}}