.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--font-sans);font-weight:600;line-height:1;white-space:nowrap;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn:active{transform:translateY(1px)}.btn--md{padding:.7em 1.15em;font-size:.95rem}.btn--lg{padding:.95em 1.5em;font-size:1.02rem}.btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover{background:var(--accent-ink)}.btn--secondary{background:transparent;color:var(--ink);border-color:var(--rule-strong)}.btn--secondary:hover{border-color:var(--ink);background:#2a20160a}.btn--ghost{background:transparent;color:var(--accent-ink);padding-left:.4em;padding-right:.4em}.btn--ghost:hover{color:var(--ink)}.on-dark .btn--secondary{color:var(--on-dark);border-color:var(--rule-dark)}.on-dark .btn--secondary:hover{border-color:var(--on-dark);background:#f3ead714}.logo{display:inline-flex;align-items:anchor-center;gap:1rem}.logo__mark{align-self:center}.logo__word{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.logo__tag{font-family:var(--font-sans);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent-ink);border:1px solid var(--rule-strong);border-radius:999px;padding:.15em .6em}.logo--on-dark .logo__word{color:var(--on-dark)}.logo--on-dark .logo__tag{color:var(--rose);border-color:var(--rule-dark)}.nav{position:sticky;top:0;z-index:50;height:var(--nav-height);display:flex;align-items:center;background:#ffffffdb;-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--rule)}.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.nav__links{display:flex;gap:1.75rem;font-size:.95rem;color:var(--ink-soft)}.nav__links a{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.3}.nav__link-sub{font-size:.75rem;color:var(--ink-faint)}.nav__links a:hover{color:var(--ink)}.nav__links a:hover .nav__link-sub{color:var(--ink-soft)}.nav__actions{display:flex;align-items:center;gap:1rem}.nav__icon-link{display:inline-flex;color:var(--ink-soft)}.nav__icon-link:hover{color:var(--ink)}@media(max-width:760px){.nav__links,.nav__icon-link{display:none}}.footer{background:var(--ink-900);color:var(--on-dark-soft);padding:clamp(3rem,6vw,4.5rem) 0 2rem}.footer__top{display:grid;grid-template-columns:1.2fr 2fr;gap:clamp(2rem,5vw,4rem);padding-bottom:2.5rem;border-bottom:1px solid var(--rule-dark)}.footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.footer__tagline{font-family:var(--font-display);font-style:italic;font-size:1.05rem;color:var(--on-dark);max-width:26ch}.footer__social{display:inline-flex;color:var(--on-dark-soft)}.footer__social:hover{color:var(--on-dark)}.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.footer__col-title{font-family:var(--font-sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--on-dark);margin-bottom:1rem}.footer__col ul{display:flex;flex-direction:column;gap:.7rem}.footer__col a{font-size:.95rem;color:var(--on-dark-soft)}.footer__col a:hover{color:var(--on-dark)}.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:1.75rem;font-size:.88rem}.footer__bottom a{color:var(--rose)}.footer__bottom a:hover{color:var(--on-dark)}@media(max-width:760px){.footer__top{grid-template-columns:1fr}}@media(max-width:520px){.footer__cols{grid-template-columns:1fr 1fr}}.subscribe{background:var(--ink-900);color:var(--on-dark-soft);padding:clamp(3.5rem,7vw,5.5rem) 0}.subscribe__inner{display:flex;flex-direction:column;align-items:center;text-align:center}.subscribe__eyebrow{color:var(--rose)}.subscribe__title{margin-top:.75rem;font-size:clamp(1.8rem,3.5vw,2.4rem);color:var(--on-dark)}.subscribe__lead{margin-top:.9rem;max-width:46ch}.subscribe__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.subscribe__form{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.subscribe__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.subscribe__input{min-width:240px;padding:.85em 1.1em;font:inherit;font-size:.98rem;color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:999px}.subscribe__input:focus-visible{outline:2px solid var(--rose);outline-offset:2px}.subscribe__powered-by{margin-top:1.5rem;font-size:.82rem}.subscribe__powered-by a{color:var(--on-dark-soft);text-decoration:underline;text-underline-offset:3px}.subscribe__powered-by a:hover{color:var(--on-dark)}.masthead{padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--rule)}.masthead__title{font-size:clamp(2.2rem,5vw,3.2rem);margin-top:.75rem}.masthead__lead{margin-top:1rem;color:var(--ink-soft);font-size:clamp(1.05rem,2vw,1.18rem);max-width:58ch}.masthead__cta{margin-top:1.75rem}.post-index{padding:clamp(2rem,4vw,3.5rem) 0 clamp(3rem,6vw,5rem)}.post-index__list>li+li{border-top:1px solid var(--rule)}.post-index__item{display:grid;grid-template-columns:170px 1fr;gap:clamp(1rem,3vw,2.5rem);padding:clamp(1.75rem,3vw,2.5rem) 0}.post-index__date{font-family:var(--font-sans);font-size:.88rem;color:var(--ink-faint);padding-top:.4rem;white-space:nowrap}.post-index__title{font-size:clamp(1.4rem,2.6vw,1.75rem);transition:color .15s ease}.post-index__item:hover .post-index__title{color:var(--accent-ink)}.post-index__description{margin-top:.6rem;color:var(--ink-soft);max-width:62ch}.post-index__more{display:inline-flex;align-items:center;gap:.4em;margin-top:.9rem;font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:var(--accent-ink)}@media(max-width:640px){.post-index__item{grid-template-columns:1fr;gap:.35rem}.post-index__date{padding-top:0}}.post{padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(3.5rem,7vw,6rem)}.post__container{max-width:760px}.post__header{margin-bottom:clamp(2rem,4vw,3rem);padding-bottom:clamp(1.5rem,3vw,2.25rem);border-bottom:1px solid var(--rule)}.post__back{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:var(--accent-ink);margin-bottom:1.75rem}.post__back svg{transform:rotate(180deg)}.post__back:hover{color:var(--ink)}.post__date{display:block;font-family:var(--font-sans);font-size:.88rem;color:var(--ink-faint)}.post__title{margin-top:.6rem;font-size:clamp(2rem,4.5vw,2.9rem)}.post__description{margin-top:1rem;font-family:var(--font-display);font-style:italic;font-size:1.15rem;color:var(--ink-soft)}.prose{font-size:1.06rem}.prose>*+*{margin-top:1.1em}.prose h2,.prose h3,.prose h4{margin-top:2em}.prose h2{font-size:1.7rem}.prose h3{font-size:1.3rem}.prose h4{font-size:1.1rem}.prose a{color:var(--accent-ink);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}.prose a:hover{color:var(--accent)}.prose ul,.prose ol{padding-left:1.4em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li+li{margin-top:.45em}.prose blockquote{margin:1.5em 0;padding:.2em 0 .2em 1.25em;border-left:3px solid var(--accent);font-family:var(--font-display);font-style:italic;color:var(--ink-soft)}.prose hr{border:none;border-top:1px solid var(--rule);margin:2.5em 0}.prose img{border-radius:var(--radius);box-shadow:var(--shadow-md);margin:1.5em auto}.prose table{width:100%;border-collapse:collapse;font-size:.95rem}.prose th,.prose td{text-align:left;padding:.6em .9em;border-bottom:1px solid var(--rule)}.prose th{font-family:var(--font-sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.prose code{font-family:var(--font-mono);font-size:.86em;background:var(--paper-raised);border:1px solid var(--rule);border-radius:6px;padding:.12em .4em}.prose pre{background:var(--ink-900);color:var(--on-dark);border-radius:var(--radius-sm);padding:1.1em 1.3em;overflow-x:auto;line-height:1.55;box-shadow:var(--shadow-sm)}.prose pre code{background:none;border:none;padding:0;font-size:.88rem}.hljs-comment,.hljs-quote{color:var(--on-dark-soft);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-tag,.hljs-name,.hljs-meta{color:#f193b6}.hljs-string,.hljs-regexp,.hljs-addition{color:#a8c78f}.hljs-number,.hljs-literal,.hljs-symbol,.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable{color:var(--rose)}.hljs-title,.hljs-section,.hljs-function,.hljs-title.function_{color:#f0dcc0}.hljs-type,.hljs-class,.hljs-title.class_,.hljs-built_in{color:#d9a8c4}.hljs-deletion{color:#e08585}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}:root{--paper: #f9f1f3;--paper-raised: #fdf9fa;--surface: #ffffff;--ink-900: #23121c;--ink-800: #2d1824;--ink: #301f2a;--ink-soft: #6f5464;--ink-faint: #a78d9c;--on-dark: #f7e9f0;--on-dark-soft: #bb9cad;--accent: #bf1e83;--accent-ink: #97156a;--accent-wash: #f7d9ea;--rose: #e267a3;--green: #3f7d54;--rule: #ecd9e1;--rule-strong: #dfc3cf;--rule-dark: rgba(247, 233, 240, .14);--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--shadow-sm: 0 1px 2px rgba(48, 31, 42, .06), 0 1px 1px rgba(48, 31, 42, .04);--shadow-md: 0 14px 34px -16px rgba(48, 31, 42, .22);--shadow-lg: 0 34px 64px -24px rgba(48, 31, 42, .32);--container: 1080px;--nav-height: 68px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 16px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}p{margin:0}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;line-height:1.1;letter-spacing:-.01em}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.eyebrow{display:inline-block;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--accent)}
