.blog-article{--article-measure: min(42rem, 100%);--article-body: oklch(from var(--text) l c h / .88);--article-body-soft: oklch(from var(--text) l c h / .72);--article-leading: 1.7;--article-para-gap: 1.35rem;--article-section-gap: clamp(2.75rem, 5vw, 3.5rem);padding:clamp(2rem,4vw,3rem) 0 clamp(4rem,10vw,6rem);border-bottom:1px solid var(--line)}.blog-article>.container{display:flex;flex-direction:column}.blog-article__crumb{display:flex;margin-bottom:clamp(1.5rem,3vw,2.25rem);font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-xs)}.blog-article__back{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;transition:color .18s ease}.blog-article__back:hover{color:var(--primary)}.blog-article__back .ph{font-size:1em;line-height:1;transition:transform .18s ease}.blog-article__back:hover .ph{transform:translate(-.1875rem)}.blog-article__hero{width:100%;max-width:var(--article-measure);margin:0 auto clamp(2.5rem,5vw,3.5rem);display:flex;flex-direction:column;gap:.9rem}.blog-article__meta,.blog-article__byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin:0;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-xs);font-weight:500;line-height:1.35;color:oklch(from var(--muted) l c h / .95)}.blog-article__meta time,.blog-article__meta .blog-article__category,.blog-article__meta>span:not(.blog-article__meta-sep){text-transform:uppercase;letter-spacing:.06em;font-variant-numeric:tabular-nums}.blog-article__meta-sep{color:oklch(from var(--muted) l c h / .65);user-select:none}.blog-article__title{margin:.25rem 0;font-family:Google Sans Text,ui-sans-serif,sans-serif;font-size:clamp(1.65rem,1.15rem + 2.4vw,2.85rem);font-weight:500;letter-spacing:-.035em;line-height:1.12;color:var(--text)}.blog-article__dek{margin:0 0 .35rem;max-width:58ch;font-family:Google Sans Text,ui-sans-serif,sans-serif;font-size:clamp(1.05rem,1rem + .35vw,1.2rem);font-weight:400;line-height:1.55;letter-spacing:-.015em;color:var(--article-body-soft)}.blog-article__author{font-weight:500;color:oklch(from var(--muted) l c h / 1)}.blog-article__hero-media{margin:clamp(1.5rem,3vw,2.25rem) 0 0;border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden;background:var(--surface-2);aspect-ratio:16 / 9}.blog-article__hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.blog-article__article-figure{width:100%;max-width:var(--article-measure);margin:0 auto clamp(1.75rem,3vw,2.5rem)}.blog-article__article-figure--hero{margin-top:clamp(1.5rem,3vw,2.25rem);margin-bottom:clamp(2rem,4vw,3rem)}.blog-article__article-figure--hero .blog-article__article-figure-frame{max-height:none;padding:0;overflow:hidden}.blog-article__article-figure--hero .blog-article__article-figure-frame img{width:100%;height:auto;max-height:none;display:block}.blog-article__article-figure-frame{display:flex;align-items:center;justify-content:center;max-height:min(72vh,42rem);min-height:0;padding:clamp(.75rem,2vw,1.25rem);border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface-2)}.blog-article__article-figure-frame img{max-width:100%;max-height:min(72vh,42rem);width:auto;height:auto;object-fit:contain;object-position:center;display:block}.blog-article__body{width:100%;max-width:var(--article-measure);margin:0 auto;font-family:Google Sans Text,ui-sans-serif,sans-serif;font-size:clamp(1.02rem,1rem + .15vw,1.125rem);line-height:var(--article-leading)}.blog-article__body h2{position:relative;font-family:Google Sans Text,ui-sans-serif,sans-serif;font-size:clamp(1.35rem,1.05rem + 1vw,1.65rem);font-weight:500;letter-spacing:-.025em;line-height:1.22;color:var(--text);margin:var(--article-section-gap) 0 1rem}.blog-article__body h2:first-child{margin-top:0}.blog-article__body h3{font-family:Google Sans Text,ui-sans-serif,sans-serif;font-size:clamp(1.05rem,1rem + .25vw,1.15rem);font-weight:500;margin:2rem 0 .75rem;color:var(--text)}.blog-article__body p{margin:0 0 var(--article-para-gap);color:var(--article-body)}.blog-article__body p:last-child{margin-bottom:0}.blog-article__body strong{color:var(--text);font-weight:600}.blog-article__body em{font-style:italic}.blog-article__body a{color:var(--primary);text-decoration:underline;text-underline-offset:.15em;transition:color .18s ease}.blog-article__body a:hover{color:var(--primary-hover)}.blog-article__body ul,.blog-article__body ol{margin:1.5rem 0;padding-left:1.4rem}.blog-article__body ul{list-style:disc}.blog-article__body ol{list-style:decimal}.blog-article__body li{margin-bottom:.65rem;color:var(--article-body)}.blog-article__body li::marker{color:var(--faint)}.blog-article__body li:last-child{margin-bottom:0}.blog-article__body li>p{margin:0 0 .5rem}.blog-article__body li>ul,.blog-article__body li>ol{margin-top:.45rem;margin-bottom:.5rem}.blog-article__body dl{margin:0}.blog-article__body dt{margin:1.1rem 0 0;color:var(--text);font-weight:500}.blog-article__body dt:first-child{margin-top:0}.blog-article__body dd{margin:.35rem 0 0;padding:0;margin-inline-start:0;color:var(--muted)}.blog-article__body blockquote{margin:1.75rem 0;padding:1.15rem 1.35rem 1.15rem 1.25rem;border:none;border-left:3px solid oklch(from var(--primary) l c h / .55);border-radius:0 var(--r-2) var(--r-2) 0;background:oklch(from var(--surface-2) l c h / .85);font-family:Google Sans Text,ui-sans-serif,sans-serif;font-style:normal;font-size:clamp(1.05rem,1rem + .25vw,1.15rem);line-height:1.55;color:var(--text)}.blog-article__body blockquote p{margin:0;color:inherit}.blog-article__body blockquote+blockquote{margin-top:.75rem}.blog-article__body hr{margin:2rem 0;border:none;border-top:1px solid var(--line)}.blog-article__body img{display:block;width:100%;height:auto;margin:1.75rem 0;border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface-2)}.blog-article__body :where(p,li)>img{margin:.85rem 0}.blog-article__body table{display:block;width:100%;max-width:100%;margin:1.5rem 0;border:1px solid var(--line);border-radius:var(--r-2);border-collapse:separate;border-spacing:0;font-family:Google Sans Text,ui-sans-serif,sans-serif;font-size:var(--text-base);line-height:1.5;overflow-x:auto;-webkit-overflow-scrolling:touch}.blog-article__body th,.blog-article__body td{padding:.85rem 1.1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.blog-article__body th{background:var(--surface-2);color:var(--text);font-weight:600;letter-spacing:-.01em}.blog-article__body td{color:var(--article-body)}.blog-article__body tr:last-child td{border-bottom:0}.blog-article__body code{font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;padding:.1em .35em;border-radius:var(--r-1);background:var(--surface-2);color:var(--text)}.blog-article__body pre{margin:1.25rem 0;padding:1rem 1.15rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-2);overflow-x:auto;font-size:var(--text-sm);line-height:1.55}.blog-article__body pre code{background:transparent;padding:0;border-radius:0}@media(prefers-reduced-motion:reduce){.blog-article__back .ph{transition:none}}
