.blog-page{background:var(--bg);color:var(--fg)}.blog-page .nav-links a[aria-current=page]{color:var(--fg)}.blog{padding-top:140px}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease-out) var(--d,0s), transform .9s var(--ease-out) var(--d,0s);transform:translateY(18px)}.js [data-reveal].in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js [data-reveal]{transition:opacity .3s;transform:none}}.read-progress{z-index:60;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.read-progress i{background:var(--fg);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.blog-page:not(.is-article) .read-progress{display:none}.blog-hero{gap:18px;padding-bottom:48px;display:grid}.blog-hero h1{letter-spacing:-.05em;max-width:14ch;font-size:clamp(2.6rem,6.5vw,5.4rem);line-height:1}.blog-hero .lede{max-width:46ch}.blog-filters{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{font:500 .85rem/1 var(--font);cursor:pointer;color:color-mix(in srgb, var(--fg) 70%, transparent);background:color-mix(in srgb, var(--fg) 6%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fg) 10%, transparent);transition:background-color .2s ease, color .2s ease, transform .12s var(--ease-out);border:0;border-radius:999px;padding:9px 14px}.chip:active{transform:scale(.97)}.chip.is-on{background:var(--fg);color:var(--bg);box-shadow:none}@media (hover:hover) and (pointer:fine){.chip:not(.is-on):hover{color:var(--fg);background:color-mix(in srgb, var(--fg) 10%, transparent)}}.blog-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=820px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-grid .is-featured{grid-column:1/-1}}.post-card{background:linear-gradient(180deg, color-mix(in srgb, var(--fg) 6%, transparent), color-mix(in srgb, var(--fg) 2.5%, transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fg) 10%, transparent), inset 0 1px 0 color-mix(in srgb, var(--fg) 12%, transparent);transition:transform .5s var(--ease-out), box-shadow .3s ease, opacity .9s var(--ease-out) var(--d,0s);border-radius:22px;align-content:start;gap:14px;padding:28px;display:grid;position:relative}.post-card[hidden]{display:none}.post-card-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.post-card-link:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.post-card h3{letter-spacing:-.03em;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2}.post-card.is-featured{background:radial-gradient(120% 120% at 100% 0%, color-mix(in srgb, var(--fg) 10%, transparent), transparent 55%), linear-gradient(180deg, color-mix(in srgb, var(--fg) 7%, transparent), color-mix(in srgb, var(--fg) 2%, transparent));align-content:end;min-height:300px;padding:clamp(28px,4vw,48px)}.post-card.is-featured h3{letter-spacing:-.04em;max-width:24ch;font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.08}.post-card p{color:color-mix(in srgb, var(--fg) 60%, transparent);max-width:60ch}.post-card-meta{color:color-mix(in srgb, var(--fg) 50%, transparent);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.8rem;display:flex}.post-tag{color:var(--fg);background:color-mix(in srgb, var(--fg) 10%, transparent);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-block}.post-card-more{align-items:center;gap:8px;font-size:.9rem;font-weight:500;display:inline-flex}.post-card-more svg{transition:transform .4s var(--ease-out)}@media (hover:hover) and (pointer:fine){.post-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fg) 20%, transparent), inset 0 1px 0 color-mix(in srgb, var(--fg) 16%, transparent), 0 30px 60px -30px color-mix(in srgb, var(--bg) 80%, transparent);transform:translateY(-4px)}.post-card:hover .post-card-more svg{transform:translate(4px)}}.blog-upcoming{gap:28px;margin-top:clamp(80px,12vh,120px);display:grid}@media (width>=900px){.blog-upcoming{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:56px}}.blog-upcoming-head{gap:12px;display:grid}.blog-upcoming-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}.blog-upcoming-head p{color:color-mix(in srgb, var(--fg) 60%, transparent);max-width:40ch}.upcoming-list{margin:0;padding:0;list-style:none}.upcoming-list li{border-top:1px solid color-mix(in srgb, var(--fg) 10%, transparent);grid-template-columns:130px minmax(0,1fr);align-items:baseline;gap:6px 16px;padding:18px 0;display:grid}.upcoming-list .post-tag{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fg) 18%, transparent);color:color-mix(in srgb, var(--fg) 70%, transparent);background:0 0;justify-self:start}.upcoming-title{letter-spacing:-.015em;font-weight:500}.upcoming-status{color:color-mix(in srgb, var(--fg) 45%, transparent);grid-column:2;font-size:.82rem}@media (width<=560px){.upcoming-list li{grid-template-columns:minmax(0,1fr)}.upcoming-status{grid-column:1}}.post-cta{background:var(--fg);color:var(--bg);border-radius:26px;justify-items:start;gap:14px;margin:clamp(80px,12vh,120px) 0 0;padding:clamp(32px,5vw,56px);display:grid}.post-cta .kicker{color:color-mix(in srgb, var(--bg) 50%, transparent)}.post-cta h2{color:var(--bg);font-size:clamp(1.8rem,3.6vw,2.8rem)}.post-cta p{color:color-mix(in srgb, var(--bg) 60%, transparent);max-width:46ch;margin-bottom:8px}.post-cta .btn-primary{background:var(--bg);color:var(--fg);box-shadow:none}.post-cta .btn-primary .btn-icon{background:var(--fg);color:var(--bg)}.post{max-width:1120px}.post-head{border-bottom:1px solid color-mix(in srgb, var(--fg) 10%, transparent);gap:18px;max-width:860px;margin-bottom:48px;padding-bottom:40px;display:grid}.post-head h1{letter-spacing:-.045em;font-size:clamp(2.2rem,5vw,4rem);line-height:1.04}.post-head .lede{max-width:56ch}.crumbs{color:color-mix(in srgb, var(--fg) 50%, transparent);gap:10px;font-size:.85rem;display:flex}.crumbs a{color:color-mix(in srgb, var(--fg) 80%, transparent);text-decoration:none}.post-meta{color:color-mix(in srgb, var(--fg) 50%, transparent);flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:.85rem;display:flex}.post-author{color:var(--fg);align-items:center;gap:8px;display:inline-flex}.post-layout{grid-template-columns:minmax(0,1fr);gap:40px;display:grid}@media (width>=1000px){.post-layout{grid-template-columns:220px minmax(0,1fr);gap:72px}}.post-toc{display:none}@media (width>=1000px){.post-toc{align-self:start;font-size:.85rem;display:block;position:sticky;top:110px}.post-toc>span{color:color-mix(in srgb, var(--fg) 45%, transparent);margin-bottom:12px;font-weight:500;display:block}.post-toc ol{border-left:1px solid color-mix(in srgb, var(--fg) 10%, transparent);gap:10px;margin:0;padding:0 0 0 12px;list-style:none;display:grid}.post-toc a{color:color-mix(in srgb, var(--fg) 50%, transparent);line-height:1.35;text-decoration:none;transition:color .2s;display:block;position:relative}.post-toc a:before{content:"";background:var(--fg);width:1px;transition:transform .3s var(--ease-out);position:absolute;top:0;bottom:0;left:-13px;transform:scaleY(0)}.post-toc a.is-on{color:var(--fg)}.post-toc a.is-on:before{transform:none}}.prose{letter-spacing:-.006em;max-width:68ch;color:color-mix(in srgb, var(--fg) 82%, transparent);font-size:1.1rem;line-height:1.72}.prose>*+*{margin-top:1.15em}.prose h2{letter-spacing:-.03em;color:var(--fg);margin-top:2.2em;scroll-margin-top:110px;font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.2;position:relative}.prose h3{color:var(--fg);margin-top:1.8em;scroll-margin-top:110px;font-size:1.2rem;position:relative}.prose .anchor{color:color-mix(in srgb, var(--fg) 30%, transparent);opacity:0;text-decoration:none;transition:opacity .2s;position:absolute;left:-1.1em}@media (hover:hover) and (pointer:fine){.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:1}}.prose a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 35%, transparent);text-underline-offset:3px;transition:text-decoration-color .2s}.prose a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.prose strong{color:var(--fg);font-weight:600}.prose code{font-family:var(--font-mono);background:color-mix(in srgb, var(--fg) 8%, transparent);border-radius:6px;padding:2px 6px;font-size:.88em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.5em}.prose li::marker{color:color-mix(in srgb, var(--fg) 40%, transparent)}.prose blockquote{border-left:2px solid var(--fg);font-family:var(--font-display);letter-spacing:-.03em;color:var(--fg);margin:1.8em 0;padding:4px 0 4px 24px;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.25}.prose blockquote p{margin:0}.prose hr{background:color-mix(in srgb, var(--fg) 12%, transparent);border:0;height:1px;margin:2.4em 0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--fg) 10%, transparent);padding:10px 12px}.post-more{margin-top:clamp(80px,12vh,120px)}.post-more-title{margin-bottom:24px;font-size:clamp(1.6rem,3vw,2.2rem)}.blog+.footer{margin-top:clamp(100px,14vh,160px)}.post-card-img,.post-cover,.post-figure{background:color-mix(in srgb, var(--fg) 7%, var(--bg));border-radius:16px;position:relative;overflow:hidden}.post-card-img img,.post-cover img,.post-figure img{filter:grayscale()contrast(1.08)brightness(.9);width:100%;height:auto;transition:transform 1.2s var(--ease-out), filter .6s ease;display:block}.post-card-img{aspect-ratio:16/9;margin:-8px -8px 6px}.post-card.is-featured .post-card-img{aspect-ratio:21/9;margin:0 0 10px}.post-card-img img{object-fit:cover;height:100%}.post-card-img:after,.post-cover:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fg) 10%, transparent);pointer-events:none;position:absolute;inset:0}.post-card.is-featured{align-content:start}@media (hover:hover) and (pointer:fine){.post-card:hover .post-card-img img{filter:grayscale()contrast(1.1)brightness();transform:scale(1.04)}}.post-cover{aspect-ratio:20/9;border-radius:22px;margin:0 0 56px}.post-cover img{object-fit:cover;height:100%}.post-cover figcaption,.post-figure figcaption{color:color-mix(in srgb, var(--fg) 60%, transparent);font-size:.72rem;position:absolute;bottom:10px;right:12px}.js .post-cover[data-reveal] img{transform:scale(1.06)}.js .post-cover[data-reveal].in img{transform:none}.prose .post-figure{margin:2em 0}.prose .post-figure figcaption{color:color-mix(in srgb, var(--fg) 50%, transparent);margin-top:10px;padding:0 2px;font-size:.85rem;position:static}.prose .post-figure{background:0 0;border-radius:0;overflow:visible}.prose .post-figure img{border-radius:16px}.post-summary{background:color-mix(in srgb, var(--fg) 4%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fg) 10%, transparent);border-radius:20px;margin:0 0 40px;padding:24px 28px}.post-summary ul{color:color-mix(in srgb, var(--fg) 82%, transparent);gap:8px;margin:12px 0 0;padding-left:1.1em;display:grid}.post-summary li::marker{color:color-mix(in srgb, var(--fg) 40%, transparent)}.legal-tabs{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.legal-tabs a{color:color-mix(in srgb, var(--fg) 70%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fg) 14%, transparent);border-radius:999px;padding:8px 14px;font-size:.85rem;text-decoration:none;transition:background-color .2s,color .2s}.legal-tabs a[aria-current=page]{background:var(--fg);color:var(--bg);box-shadow:none}@media (hover:hover) and (pointer:fine){.legal-tabs a:not([aria-current]):hover{color:var(--fg);background:color-mix(in srgb, var(--fg) 6%, transparent)}}.is-legal .prose h3{font-size:1.08rem}.is-legal .prose{font-size:1.02rem}
