.blog-main{position:relative;z-index:1;flex:1}.blog-draft-banner{position:relative;z-index:2;background:color-mix(in oklab,var(--bs-escalate) 12%,transparent);border-bottom:1px solid color-mix(in oklab,var(--bs-escalate) 42%,transparent);color:var(--bs-escalate);font-family:var(--font-mono),ui-monospace,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-align:center;padding:8px 16px;transition:background-color .35s ease,color .35s ease}.blog-draft-banner a{color:var(--bs-ink);text-decoration:underline;text-underline-offset:2px;margin-left:10px;text-transform:none;letter-spacing:.02em}.blog-hero{position:relative;padding-top:clamp(2.6rem,7vw,5rem)}.blog-hero-rules{border-top:5px double var(--bs-rule);border-bottom:1px solid var(--bs-hair-soft);padding:10px 0;margin-bottom:clamp(1.8rem,4.5vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:14px;transition:border-color .35s ease}.blog-hero .blog-eyebrow{display:inline-block;margin:0}.blog-hero h1{margin:0;max-width:20ch}.blog-hero h1 em{font-style:normal}.blog-hero-body{margin-bottom:0}.blog-featured{display:block;margin-top:clamp(2.2rem,5vw,3.4rem);color:inherit;text-decoration:none}.blog-featured:hover{border-color:color-mix(in oklab,var(--bs-accent) 45%,var(--bs-rule))}.blog-featured-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.4rem,3vw,2.4rem);align-items:stretch}.blog-featured-content{display:flex;flex-direction:column;justify-content:center;gap:clamp(.9rem,2vw,1.2rem);padding:clamp(.4rem,1.5vw,1rem) 0}.blog-featured-content h2{margin:0;font-family:var(--font-display),sans-serif;font-stretch:70%;font-weight:800;font-size:clamp(1.7rem,3.6vw,3rem);line-height:.98;letter-spacing:.004em;text-transform:uppercase;text-wrap:balance;color:var(--bs-ink);transition:color .2s ease}.blog-featured:hover .blog-featured-content h2{color:var(--bs-accent-soft)}.blog-featured-content>p{margin:0;max-width:58ch;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.72;color:var(--bs-ink-soft)}.blog-featured-media{position:relative;min-height:280px;border:1px solid var(--bs-rule);transition:border-color .35s ease}.blog-featured-media img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.blog-featured-stamp{position:absolute;right:14px;bottom:12px;z-index:1}.blog-grid-section{padding-top:clamp(2.6rem,6vw,4.2rem)}.blog-runhead{margin-bottom:clamp(1.6rem,3.5vw,2.4rem)}.blog-runhead p{margin:0}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.4vw,24px)}.blog-card{display:flex;flex-direction:column;color:inherit;text-decoration:none}.blog-card:hover{border-color:color-mix(in oklab,var(--bs-accent) 45%,var(--bs-rule))}.blog-card-media{position:relative;aspect-ratio:16/9;border:1px solid var(--bs-hair);margin-bottom:14px;overflow:hidden;transition:border-color .35s ease}.blog-card-media img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.blog-card-body{display:flex;flex-direction:column;gap:.7rem;flex:1}.blog-card-body h3{margin:0;font-family:var(--font-display),sans-serif;font-stretch:72%;font-weight:790;font-size:clamp(1.12rem,1.8vw,1.4rem);line-height:1.05;letter-spacing:.004em;text-transform:uppercase;text-wrap:balance;color:var(--bs-ink);transition:color .2s ease}.blog-card:hover .blog-card-body h3{color:var(--bs-accent-soft)}.blog-card-body>p{margin:0;font-size:.9rem;line-height:1.68;color:var(--bs-ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-media-hatch{position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,var(--bs-hatch-ink) 0 1px,transparent 1px 13px)}.blog-media-hatch:after{content:"✳";position:absolute;inset:0;display:grid;place-items:center;font-size:28px;color:color-mix(in oklab,var(--bs-accent) 55%,transparent)}.blog-card .bs-plate__head .bs-folio,.blog-featured .bs-plate__head .bs-folio{margin-left:auto}.blog-chips{display:flex;align-items:center;gap:.35rem .9rem;flex-wrap:wrap}.blog-chip{font-family:var(--font-mono),ui-monospace,monospace;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--bs-accent);white-space:nowrap}.blog-chip+.blog-chip:before{content:"·";margin-right:.9rem;color:var(--bs-ink-muted)}.blog-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.55rem;font-family:var(--font-mono),ui-monospace,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--bs-ink-muted)}.blog-meta .dot{opacity:.55}.blog-card .blog-meta{margin-top:auto;padding-top:10px;border-top:1px solid var(--bs-hair);transition:border-color .35s ease}.blog-empty{position:relative;margin:clamp(1.5rem,4vw,2.5rem) 0 clamp(3rem,7vw,4.5rem);padding:clamp(3rem,7vw,4.5rem) clamp(1.5rem,4vw,3rem);text-align:center;color:var(--bs-ink-soft)}.blog-empty-hatch{z-index:0}.blog-empty>h2,.blog-empty>p{position:relative;z-index:1}.blog-empty h2{margin:0 0 .8rem;font-family:var(--font-display),sans-serif;font-stretch:70%;font-weight:800;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:.004em;text-transform:uppercase;color:var(--bs-ink)}.blog-empty p{margin:0 auto;max-width:52ch;font-size:clamp(.92rem,1.4vw,1rem);line-height:1.72}.blog-empty a{color:var(--bs-accent);transition:color .2s}.blog-empty a:hover{color:var(--bs-accent-soft)}header.post-hero{position:static;background:transparent;border-bottom:none;backdrop-filter:none}.post-hero{position:relative;padding-top:clamp(2.6rem,6.5vw,4.5rem);padding-bottom:0}.post-cover.bs-container,.post-hero .bs-container{max-width:980px}.post-back{display:inline-block;margin-bottom:clamp(1.4rem,3vw,2rem);text-decoration:none;transition:color .2s}.post-back:hover{color:var(--bs-accent)}.post-hero .blog-chips{margin-bottom:clamp(.9rem,2.2vw,1.2rem)}.post-hero h1{margin:0;font-family:var(--font-display),sans-serif;font-stretch:66%;font-weight:800;font-size:clamp(2.1rem,5.6vw,4.4rem);line-height:.96;letter-spacing:.004em;text-transform:uppercase;text-wrap:balance;color:var(--bs-ink)}.post-hero-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem .8rem;margin-top:clamp(1.4rem,3.2vw,2rem);padding:10px 0;border-top:5px double var(--bs-rule);border-bottom:1px solid var(--bs-hair-soft);font-family:var(--font-mono),ui-monospace,monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--bs-ink-muted);transition:border-color .35s ease,color .35s ease}.post-hero-meta strong{color:var(--bs-ink);font-weight:600}.post-hero-meta .dot{opacity:.55}.post-cover{margin-top:clamp(1.6rem,4vw,2.4rem)}.post-cover-frame{position:relative;border:1px solid var(--bs-rule);outline:1px solid var(--bs-hair);outline-offset:5px;margin:6px;padding:clamp(10px,1.6vw,16px);transition:border-color .35s ease}.post-cover-frame img{width:100%;display:block}.post-wrap{max-width:800px}.post-body{margin:clamp(2.4rem,6vw,3.6rem) 0 clamp(3rem,7vw,4.5rem);font-size:clamp(1rem,1.5vw,1.11rem);line-height:1.8;color:var(--bs-ink-soft);transition:color .35s ease}.post-body>*+*{margin-top:1.15em}.post-body>p:first-child:first-letter{float:left;font-stretch:66%;font-size:3.55em;line-height:.78;padding:.09em .14em 0 0}.post-body h2,.post-body>p:first-child:first-letter{font-family:var(--font-display),sans-serif;font-weight:800;color:var(--bs-ink)}.post-body h2{margin-top:2.2em;padding-top:1.1em;border-top:1px solid var(--bs-hair);font-stretch:72%;font-size:clamp(1.5rem,2.8vw,1.9rem);line-height:1.05;letter-spacing:.004em;text-transform:uppercase;text-wrap:balance;transition:border-color .35s ease}.post-body h3{margin-top:1.8em;font-family:var(--font-display),sans-serif;font-stretch:80%;font-weight:760;font-size:clamp(1.18rem,2.2vw,1.45rem);line-height:1.16;letter-spacing:.002em;color:var(--bs-ink)}.post-body p{margin:0}.post-body a{color:var(--bs-accent);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--bs-accent) 40%,transparent);transition:color .2s,border-color .2s}.post-body a:hover{color:var(--bs-accent-soft);border-color:var(--bs-accent-soft)}.post-body strong{font-weight:700;color:var(--bs-ink)}.post-body blockquote{margin:1.6em 0;padding:.25rem 0 .25rem 1.4rem;border-left:2px solid var(--bs-accent);font-size:1.12em;line-height:1.6;color:var(--bs-ink)}.post-body ol,.post-body ul{padding-left:1.5rem}.post-body li{margin-top:.5em}.post-body li::marker{color:var(--bs-accent);font-family:var(--font-mono),ui-monospace,monospace;font-size:.86em}.post-body code{font-family:var(--font-mono),ui-monospace,monospace;font-size:.86em;background:color-mix(in oklab,var(--bs-ink) 6%,transparent);border:1px solid var(--bs-hair-soft);padding:.1em .4em;color:var(--bs-accent-soft)}.post-body img{max-width:100%;height:auto;display:block;border:1px solid var(--bs-hair)}.post-code{margin:1.8em 0;border:1px solid var(--bs-rule);outline:1px solid var(--bs-hair);outline-offset:4px;transition:border-color .35s ease}.post-code-filename{font-family:var(--font-mono),ui-monospace,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bs-ink-muted);padding:.6rem 1rem;border-bottom:1px solid var(--bs-hair)}.post-code pre{margin:0;padding:1rem 1.15rem;overflow-x:auto;background:color-mix(in oklab,var(--bs-ink) 3%,transparent)}.post-code pre code{background:none;border:none;padding:0;color:var(--bs-ink-soft);font-size:.84rem;line-height:1.7}.post-callout{display:flex;gap:.8rem;margin:1.8em 0;padding:1rem 1.15rem;border:1px solid var(--bs-hair);font-size:.95rem;line-height:1.68;color:var(--bs-ink-soft);transition:border-color .35s ease,color .35s ease}.post-callout-note{border-left:2px solid var(--bs-accent)}.post-callout-warning{border-left:2px solid var(--bs-escalate)}.post-callout-icon{flex-shrink:0;color:var(--bs-accent);line-height:1.68}.post-callout-warning .post-callout-icon{color:var(--bs-escalate)}.post-figure{margin:2em 0}.post-figure img{width:100%;display:block;border:1px solid var(--bs-rule);outline:1px solid var(--bs-hair);outline-offset:4px}.post-figure figcaption{margin-top:14px;padding-top:8px;border-top:1px solid var(--bs-hair);font-family:var(--font-mono),ui-monospace,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--bs-ink-muted)}.post-author-card{margin:0 0 clamp(3rem,7vw,4rem);display:flex;gap:1.2rem;align-items:center}.post-author-avatar{width:56px;height:56px;-o-object-fit:cover;object-fit:cover;flex-shrink:0;border:1px solid var(--bs-rule)}.post-author-avatar-fallback{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:var(--bs-paper);background:var(--bs-grad)}.post-author-avatar-fallback,.post-author-info h4{font-family:var(--font-display),sans-serif;font-stretch:80%}.post-author-info h4{margin:0;font-weight:760;font-size:1.02rem;letter-spacing:.002em;color:var(--bs-ink)}.post-author-info .post-author-role{margin:.2rem 0 .45rem;font-family:var(--font-mono),ui-monospace,monospace;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--bs-accent)}.post-author-info>p{margin:0;font-size:.88rem;line-height:1.68;color:var(--bs-ink-soft)}.post-cta{padding-top:clamp(2rem,5vw,3.5rem)}.post-cta-plate{text-align:center;padding:clamp(2.6rem,6vw,4.2rem) clamp(1.4rem,4vw,3rem)}.post-cta h2{margin:0 auto 1rem;max-width:12ch}.post-cta p{margin:0 auto 1.8rem;max-width:46ch;font-size:clamp(.98rem,1.5vw,1.1rem);line-height:1.7;color:var(--bs-ink-soft)}@media (max-width:960px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-featured-grid{grid-template-columns:minmax(0,1fr)}.blog-featured-media{min-height:220px;order:-1}}@media (max-width:640px){.blog-grid{grid-template-columns:minmax(0,1fr)}.post-author-card{flex-direction:column;align-items:flex-start}}