[data-page=tech-blog-post] .article-hero{background:linear-gradient(180deg, var(--mint) 0%, transparent 100%);padding-block:clamp(56px,5vw,80px) clamp(24px,3vw,40px)}[data-page=tech-blog-post] .article-meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;font-size:12px;display:flex}[data-page=tech-blog-post] .article-meta .cat{color:var(--teal-700);background:var(--mint);border-radius:999px;padding:4px 12px}[data-page=tech-blog-post] .article-meta .dot{background:var(--muted-2);border-radius:50%;width:4px;height:4px}[data-page=tech-blog-post] .article-title{letter-spacing:-.03em;max-width:26ch;margin-top:20px;font-size:clamp(32px,4.6vw,58px);line-height:1.08}[data-page=tech-blog-post] .article-lead{color:var(--muted);max-width:62ch;margin-top:20px;font-size:clamp(17px,1.4vw,21px);line-height:1.5}[data-page=tech-blog-post] .hero-figure{margin-top:clamp(32px,4vw,56px)}[data-page=tech-blog-post] .article-body{padding-block:clamp(40px,4vw,64px) clamp(48px,5vw,72px)}[data-page=tech-blog-post] .article-layout{gap:var(--sp-6);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}[data-page=tech-blog-post] .article-body .prose{max-width:72ch;margin-inline:auto}[data-page=tech-blog-post] .prose img{border-radius:var(--r-md);margin-block:8px}[data-page=tech-blog-post] .prose h2{scroll-margin-top:96px}[data-page=tech-blog-post] .toc-desktop{display:none}[data-page=tech-blog-post] .toc{padding:var(--sp-5)}[data-page=tech-blog-post] .toc-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:10.5px;font-weight:500}[data-page=tech-blog-post] .toc summary{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;font-size:10.5px;font-weight:500;list-style:none}[data-page=tech-blog-post] .toc summary::-webkit-details-marker{display:none}[data-page=tech-blog-post] .toc summary:after{content:"+";float:right;color:var(--teal-ia);font-family:var(--sans);font-size:14px}[data-page=tech-blog-post] .toc[open] summary:after{content:"–"}[data-page=tech-blog-post] .toc ol{margin:var(--sp-4) 0 0;counter-reset:toc;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}[data-page=tech-blog-post] .toc li{counter-increment:toc}[data-page=tech-blog-post] .toc a{gap:var(--sp-2);padding:7px var(--sp-2);color:var(--ink-2);border-radius:9px;font-size:13.5px;font-weight:500;line-height:1.4;transition:background .15s,color .15s;display:flex}[data-page=tech-blog-post] .toc a:before{content:counter(toc, decimal-leading-zero);font-family:var(--mono);color:var(--teal-ia);flex-shrink:0;font-size:11px}[data-page=tech-blog-post] .toc a:hover{background:var(--mint);color:var(--teal-700)}@media (min-width:1100px){[data-page=tech-blog-post] .article-layout{grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,4vw,64px)}[data-page=tech-blog-post] .toc-mobile{display:none}[data-page=tech-blog-post] .toc-desktop{display:block;position:sticky;top:96px}}[data-page=tech-blog-post] .author-section{padding-block:var(--sec-y-eng) clamp(56px, 6vw, 88px)}[data-page=tech-blog-post] .author-box{align-items:flex-start;gap:20px;max-width:72ch;margin-inline:auto;padding:26px;transition:border-color .2s,transform .2s;display:flex}[data-page=tech-blog-post] .author-box:hover{border-color:var(--teal);transform:translateY(-2px)}[data-page=tech-blog-post] .author-box .avatar{background:linear-gradient(135deg, var(--teal), var(--deep-teal));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:15px;font-weight:700;display:grid}[data-page=tech-blog-post] .author-box .avatar-img{object-fit:cover;object-position:42% 8%;border-radius:50%;flex-shrink:0;width:52px;height:52px}[data-page=tech-blog-post] .author-box .name{color:var(--ink);font-size:16px;font-weight:700}[data-page=tech-blog-post] .author-box .role{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--teal-ia);font-size:11.5px}[data-page=tech-blog-post] .author-box p{color:var(--muted);margin-top:10px;font-size:14.5px}[data-page=tech-blog-post] .author-box .read{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--teal-ia);align-items:center;gap:6px;margin-top:12px;font-size:12px;display:inline-flex}
