.hpl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ft__word{font-size:clamp(2.6rem,10.2vw,11rem);letter-spacing:-.045em;height:.7em}.step__body{opacity:1}.step:not(.is-active) .step__body h3{color:#9a9a9a}.step:not(.is-active) .step__body p,.step:not(.is-active) .step__num{color:#8f8f8f}.art-head .ph__slim{max-width:calc(var(--container) + var(--gutter) * 2)}.art-head .ph__slim>*{max-width:900px}.art-head h1{max-width:20ch;font-size:clamp(2.1rem,1.1rem + 3.4vw,3.6rem)}.art-cat{display:inline-block;margin-bottom:var(--sp-3);padding:.25rem .8rem;border:1px solid rgb(219 236 26 / .45);border-radius:999px;background:rgb(219 236 26 / .08);color:var(--c-brand);font:700 var(--fs-xs) var(--font-heading);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.art-cat:hover{background:var(--c-brand);color:#000}.art-meta{display:flex;flex-wrap:wrap;gap:.35rem .6rem;margin:var(--sp-4) 0 0;color:var(--c-muted);font-size:var(--fs-sm)}.article{display:grid;gap:var(--sp-7);align-items:start}@media (min-width:1000px){.article{grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-8)}.article__side{position:sticky;top:calc(var(--header-h) + var(--sp-5))}}.article__main{min-width:0}.article .prose{max-width:74ch}.prose h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.2rem);margin:var(--sp-7) 0 var(--sp-3);scroll-margin-top:calc(var(--header-h) + 1rem)}.prose h3{font-family:var(--font-heading);font-size:1.2rem;font-weight:600;margin:var(--sp-5) 0 var(--sp-2);scroll-margin-top:calc(var(--header-h) + 1rem)}.prose>p:first-child{font-size:var(--fs-lg);color:rgb(255 255 255 / .88)}.prose p,.prose li{color:rgb(255 255 255 / .8);line-height:1.8}.prose a{color:var(--c-brand);text-underline-offset:3px}.prose a:hover{color:#fff}.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 var(--sp-4)}.prose li{margin-bottom:.45rem}.prose li::marker{color:var(--c-brand)}.prose strong{color:#fff}.prose code{padding:.12rem .4rem;border:1px solid var(--c-border);border-radius:6px;background:rgb(255 255 255 / .06);font-family:var(--font-mono);font-size:.88em;color:#e7f27a}.prose pre{margin:var(--sp-4) 0;padding:var(--sp-4);overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--radius);background:#050505;line-height:1.6}.prose pre code{padding:0;border:0;background:none;color:#e6ecea;font-size:.86rem}.prose blockquote{margin:var(--sp-5) 0;padding:var(--sp-4) var(--sp-5);border-left:3px solid var(--c-brand);border-radius:0 var(--radius) var(--radius) 0;background:rgb(219 236 26 / .06)}.prose blockquote p{margin:0}.prose hr{border:0;border-top:1px solid var(--c-border);margin:var(--sp-6) 0}.prose table{width:100%;border-collapse:collapse;margin:var(--sp-4) 0;font-size:var(--fs-sm)}.prose th,.prose td{padding:.7rem .9rem;border-bottom:1px solid var(--c-border);text-align:left;vertical-align:top}.prose th{font-family:var(--font-heading);color:var(--c-brand)}.prose img{border-radius:var(--radius);height:auto}.toc{margin-bottom:var(--sp-5);border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-card)}.toc summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:.6rem 1.1rem;cursor:pointer;list-style:none;font:600 var(--fs-xs) var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--c-brand)}.toc summary::-webkit-details-marker{display:none}.toc summary::after{content:"+";font-size:1.2rem;color:var(--c-muted)}.toc[open] summary::after{content:"–"}.toc ol{list-style:none;margin:0;padding:0 1.1rem 1rem;display:grid;gap:.15rem}.toc a{display:block;padding:.35rem 0;color:var(--c-muted);text-decoration:none;font-size:var(--fs-sm);line-height:1.35;transition:color .2s}.toc a:hover{color:#fff}.toc__l3 a{padding-left:.9rem;font-size:var(--fs-xs)}.side-cta{display:grid;gap:.6rem;justify-items:start;padding:var(--sp-5);border:1px solid rgb(219 236 26 / .3);border-radius:var(--radius-lg);background:radial-gradient(360px 160px at 100% 0,rgb(219 236 26 / .16),transparent 70%),var(--c-card)}.side-cta b{font:300 1.35rem/1.2 var(--font-editorial)}.side-cta p{margin:0;color:var(--c-muted);font-size:var(--fs-sm)}.post__cat a,.post h3 a{color:inherit;text-decoration:none}.post h3 a:hover{color:var(--c-brand)}.post__meta{margin-top:auto;color:var(--c-muted);font-size:var(--fs-xs)}.post .post__meta+.badge{margin-top:0}@media (prefers-reduced-motion:reduce){.toc a{transition:none}}