:root{--blog: #fff;--blog-band: #DCF3F2;--blog-list-bg: #fff;--blog-card: var(--surface-card);--blog-line: color-mix(in srgb, var(--navy) 18%, transparent);--blog-muted: color-mix(in srgb, var(--navy) 62%, #fff);--blog-maxw: 1240px;--blog-rail: 300px}.blog{color:var(--ink)}body:has(.blog){background:var(--blog)}.blog-shell{width:min(100% - var(--gutter) * 2,var(--blog-maxw));margin-inline:auto}.blog-eyebrow{font-size:var(--eyebrow);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blog-muted);margin:0}.blog-eyebrow--link{display:inline-block;text-decoration:none}.blog-eyebrow--link:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.blog-featured{position:relative;overflow:hidden;background:var(--blog-band);padding-block:calc(var(--space-3xl) + var(--space-lg)) var(--space-3xl)}.blog-featured__motif{position:absolute;top:clamp(3rem,7vw,5rem);right:-2vw;width:clamp(160px,18vw,300px);height:auto;opacity:.12;transform:rotate(8deg);pointer-events:none}.blog-featured__fig img,.blog-featured__fig .cover-fallback{transition:transform .5s ease}.blog-featured__figlink:hover img,.blog-featured__figlink:hover .cover-fallback{transform:scale(1.03)}.blog-featured__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(var(--space-lg),4vw,var(--space-2xl));align-items:center}.blog-featured__fig{margin:0;aspect-ratio:16 / 10;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-dark)}.blog-featured__fig img,.blog-featured__fig .cover-fallback{width:100%;height:100%;object-fit:cover}.blog-featured__title{font-family:var(--font-display);font-size:var(--step-4);font-weight:700;line-height:1.06;letter-spacing:-.02em;margin:var(--space-xs) 0 0}.blog-featured__title em{font-family:var(--font-serif);font-style:italic;font-weight:400}.blog-featured a{color:inherit;text-decoration:none}.blog-featured a:hover .blog-featured__title{color:var(--accent-ink)}.blog-dek{font-size:var(--step-1);line-height:1.5;color:var(--blog-muted);max-width:46ch;margin:var(--space-sm) 0 0}.blog-byline{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-lg)}.blog-avatars{display:flex}.blog-avatars img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top center;border:2px solid var(--blog);background:var(--surface-cool)}.blog-featured .blog-avatars img{border-color:var(--blog-band)}.blog-avatars img+img{margin-left:-14px}.blog-byline__name{font-weight:700;margin:0;font-size:var(--step-0)}.blog-byline__date{color:var(--blog-muted);margin:0;font-size:var(--step--1)}.blog-filterbar{border-bottom:1px solid var(--blog-line);padding-block:var(--space-lg)}.blog-filterbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.blog-pills{display:flex;gap:var(--space-2xs);flex-wrap:wrap;list-style:none;margin:0;padding:0}.blog-pill{display:inline-block;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);font-weight:700;font-size:var(--step-0);color:var(--ink);text-decoration:none;background:transparent;border:0;cursor:pointer;transition:background .2s ease,color .2s ease}.blog-pill:hover{background:color-mix(in srgb,var(--amber) 26%,transparent)}.blog-pill[aria-current=true]{background:var(--amber);color:var(--on-amber)}.blog-follow{display:flex;align-items:center;gap:var(--space-xs)}.blog-follow__label{color:var(--blog-muted);font-size:var(--step--1);margin:0}.blog-follow a{color:var(--ink);display:grid;place-items:center}.blog-follow a:hover{color:var(--accent-ink)}.blog-follow svg{width:18px;height:18px;fill:currentColor}.blog-follow__sep{width:1px;height:20px;background:var(--blog-line)}.blog-search{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-md);border-radius:var(--radius-pill);background:var(--surface-dark);color:var(--on-dark);border:0;font:inherit;font-weight:700;font-size:var(--eyebrow);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.blog-search:hover{background:var(--accent-ink)}.blog-search svg{width:14px;height:14px;fill:currentColor}.blog-searchfield{flex:0 0 100%;padding-block:var(--space-md) 0}.blog-searchfield[hidden]{display:none}.blog-searchfield input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--blog-line);border-radius:var(--radius-pill);background:var(--blog-card);color:var(--ink);font:inherit}.blog-searchfield input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.blog-list{background:var(--blog-list-bg);padding-block:0 var(--space-3xl)}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg) var(--space-md);margin-top:var(--space-md)}.blog-card{display:flex;flex-direction:column;background:var(--blog-card);border:1px solid var(--blog-line);border-radius:var(--radius-lg);overflow:hidden;color:inherit;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.blog-card__fig{margin:0;aspect-ratio:16 / 9;background:var(--surface-dark);overflow:hidden}.blog-card__fig img,.blog-card__fig .cover-fallback{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.blog-card:hover .blog-card__fig img,.blog-card:hover .blog-card__fig .cover-fallback{transform:scale(1.04)}@keyframes blog-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.blog-grid.is-entering>*{animation:blog-rise .5s ease backwards}.blog-grid.is-entering>*:nth-child(3n+2){animation-delay:.08s}.blog-grid.is-entering>*:nth-child(3n){animation-delay:.16s}.blog-card__body{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-2xs);flex:1}.blog-card__title{font-family:var(--font-display);font-size:var(--step-2);font-weight:700;line-height:1.2;letter-spacing:-.01em;margin:0}.blog-card:hover .blog-card__title{color:var(--accent-ink)}.blog-card__excerpt{color:var(--blog-muted);font-size:var(--step-0);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card__more{margin-top:var(--space-2xs);display:inline-flex;align-items:center;gap:.35em;color:var(--accent-ink);font-weight:700;font-size:var(--step--1)}.blog-card__more span{transition:transform .25s ease}.blog-card:hover .blog-card__more span{transform:translate(4px)}.blog-card__foot{margin-top:auto;padding-top:var(--space-sm);display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--step--1)}.blog-card__foot img{width:28px;height:28px;border-radius:50%;object-fit:cover;object-position:top center;background:var(--surface-cool)}.blog-card__author{font-weight:700}.blog-card__date{color:var(--blog-muted)}.blog-card[hidden]{display:none}.blog-empty{color:var(--blog-muted);padding-block:var(--space-xl)}.blog-empty[hidden]{display:none}.blog-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding-block:var(--space-xl) 0}.blog-pager button{min-width:40px;height:40px;padding-inline:var(--space-2xs);border-radius:var(--radius-pill);border:1px solid var(--blog-line);background:transparent;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.blog-pager button:hover:not(:disabled){background:color-mix(in srgb,var(--amber) 26%,transparent)}.blog-pager button[aria-current=true]{background:var(--surface-dark);color:var(--on-dark);border-color:var(--surface-dark)}.blog-pager button:disabled{opacity:.35;cursor:default}.blog-pager[hidden]{display:none}.blog-article{position:relative;background:var(--blog);overflow:clip;padding-block:calc(var(--space-3xl) + var(--space-lg)) var(--space-3xl)}.progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:1001}.blog-article__motif{position:absolute;height:auto;opacity:.1;pointer-events:none;z-index:0}.blog-article__motif--star{top:clamp(2rem,6vw,4rem);right:-6vw;width:clamp(300px,40vw,720px);transform:rotate(8deg)}.blog-article__motif--zig{bottom:6vh;left:-6vw;width:clamp(240px,30vw,540px);opacity:.08;transform:rotate(-6deg)}.blog-article__inner{position:relative;z-index:1}.blog-article__inner{display:grid;grid-template-columns:minmax(0,1fr) var(--blog-rail);column-gap:clamp(var(--space-lg),5vw,var(--space-3xl));row-gap:var(--space-md);align-items:start}.blog-hero{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(var(--space-lg),4vw,var(--space-2xl));align-items:center;min-height:calc(100vh - 18rem)}.blog-hero__text{min-width:0}.blog-article__head{max-width:none}.blog-article__title{font-family:var(--font-display);font-size:var(--step-5);font-weight:700;line-height:1.06;letter-spacing:-.025em;margin:var(--space-xs) 0 0}.blog-article__dekrow{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);max-width:none}.blog-readtime{color:var(--blog-muted);font-size:var(--step-0);white-space:nowrap;margin:0}.blog-article__cover{margin:0;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4 / 3;background:var(--surface-dark)}.blog-article__cover img,.blog-article__cover .cover-fallback{width:100%;height:100%;object-fit:cover}.blog-toc{margin:var(--space-lg) 0 0;padding:var(--space-md) var(--space-lg);border:1px solid var(--blog-line);border-radius:var(--radius-md);background:var(--blog-card)}.blog-toc ol{margin:var(--space-2xs) 0 0;padding-left:var(--space-sm);color:var(--blog-muted)}.blog-toc li{margin-block:var(--space-3xs)}.blog-toc a{color:var(--ink);text-decoration:none;font-weight:500}.blog-toc a:hover{color:var(--accent-ink);text-decoration:underline}.blog-toc a.is-active{color:var(--accent-ink);font-weight:700}.blog-prose{margin-top:var(--space-lg);max-width:68ch;font-size:var(--step-1);line-height:1.7}.blog-prose>*+*{margin-top:var(--space-sm)}.blog-prose h2{font-family:var(--font-display);font-size:var(--step-4);font-weight:700;line-height:1.15;letter-spacing:-.015em;margin-top:var(--space-xl);scroll-margin-top:var(--space-3xl)}.blog-prose h3{font-family:var(--font-display);font-size:var(--step-2);font-weight:700;margin-top:var(--space-lg);scroll-margin-top:var(--space-3xl)}.blog-prose a{color:var(--accent-ink);text-underline-offset:3px}.blog-prose img{border-radius:var(--radius-md);max-width:100%;height:auto}.blog-prose .yt-embed{margin:var(--space-lg) 0;max-width:100%;aspect-ratio:16 / 9;position:relative;border-radius:var(--radius-md);overflow:hidden;background:#000}.blog-prose .yt-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.blog-prose table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0;font-size:.95em;line-height:1.5}.blog-prose th,.blog-prose td{padding:.7em .85em;text-align:left;vertical-align:top;border-bottom:1px solid var(--blog-line)}.blog-prose th{font-weight:700;color:var(--navy);border-bottom:2px solid var(--accent)}.blog-prose td:first-child{font-weight:600;color:var(--navy)}.blog-prose tbody tr:last-child td{border-bottom:none}.blog-prose ul,.blog-prose ol{padding-left:var(--space-md)}.blog-prose li+li{margin-top:var(--space-3xs)}.blog-prose blockquote{border-left:3px solid var(--accent);padding-left:var(--space-md);font-family:var(--font-serif);font-style:italic;font-size:var(--step-2);color:var(--blog-muted)}.blog-prose code{background:var(--surface-2);padding:.15em .4em;border-radius:var(--radius-xs);font-size:.9em}.blog-prose pre{background:var(--surface-dark);color:var(--on-dark);padding:var(--space-md);border-radius:var(--radius-md);overflow-x:auto}.blog-prose pre code{background:none;padding:0}.blog-prose pre{position:relative}.copy-btn{position:absolute;top:.7rem;right:.7rem;font-family:var(--font-body);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark);background:color-mix(in srgb,var(--on-dark) 12%,transparent);border:1px solid color-mix(in srgb,var(--on-dark) 35%,transparent);border-radius:var(--radius-lg);padding:.35rem .85rem;cursor:pointer;transition:background .25s,border-color .25s}.copy-btn:hover{background:color-mix(in srgb,var(--on-dark) 22%,transparent)}.copy-btn.is-done{border-color:var(--teal);color:var(--teal)}.blog-rail{position:sticky;top:var(--space-3xl);display:grid;gap:var(--space-lg)}.blog-rail h2{font-family:var(--font-display);font-size:var(--step-1);font-weight:700;margin:0 0 var(--space-sm)}.blog-rail__item{display:block;padding-block:var(--space-sm);border-top:1px solid var(--blog-line);color:inherit;text-decoration:none}.blog-rail__item h3{font-size:var(--step-0);font-weight:700;line-height:1.3;margin:var(--space-3xs) 0 var(--space-3xs)}.blog-rail__item:hover h3{color:var(--accent-ink)}.blog-rail__item p{margin:0;color:var(--blog-muted);font-size:var(--step--1);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-share{display:flex;gap:var(--space-2xs)}.blog-share a,.blog-share button{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--blog-line);background:transparent;color:var(--ink);cursor:pointer}.blog-share a:hover,.blog-share button:hover{background:var(--surface-dark);color:var(--on-dark)}.blog-share svg{width:16px;height:16px;fill:currentColor}.blog-back{display:inline-block;margin-top:var(--space-2xl);color:var(--accent-ink);font-weight:700;text-decoration:none}.blog-back:hover{text-decoration:underline}@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-article__inner{grid-template-columns:minmax(0,1fr)}.blog-rail{position:static}}@media(max-width:760px){.blog-featured__inner,.blog-grid{grid-template-columns:minmax(0,1fr)}.blog-hero{grid-template-columns:minmax(0,1fr);min-height:0}.blog-article__dekrow{flex-direction:column;align-items:flex-start;gap:var(--space-2xs)}.blog-filterbar__inner{align-items:flex-start}}@media(max-width:760px){.blog-featured__motif,.blog-article__motif--zig{display:none}}@media(prefers-reduced-motion:reduce){.blog-card,.blog-card__fig img,.blog-card__fig .cover-fallback,.blog-featured__fig img,.blog-featured__fig .cover-fallback,.blog-card__more span{transition:none}.blog-card:hover,.blog-card:hover .blog-card__fig img,.blog-card:hover .blog-card__fig .cover-fallback,.blog-featured__figlink:hover img,.blog-featured__figlink:hover .cover-fallback,.blog-card:hover .blog-card__more span{transform:none}.blog-grid.is-entering>*{animation:none}}
