.art-hero{padding:48px 0 0}.art-hero .back{font:500 14px/1 var(--hh-font-body);color:var(--hh-slate);text-decoration:none}.art-hero .back:hover{color:var(--hh-ink)}.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0 14px;font:400 13px/1 var(--hh-font-mono);color:var(--hh-steel)}.art-meta .tg{background:var(--hh-tint-sky);color:var(--hh-tint-sky-ink);font:600 12px/1 var(--hh-font-body);padding:5px 10px;border-radius:6px}.art-author{display:flex;gap:16px;align-items:flex-start;max-width:760px;margin:32px auto 0;padding:20px 22px;background:var(--hh-surface);border:1px solid var(--hh-hairline);border-radius:var(--hh-radius-card)}.art-author-pic{flex:none;width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--hh-tint-sky);display:grid;place-items:center;font:700 20px/1 var(--hh-font-display);color:var(--hh-tint-sky-ink)}.art-author-pic img{width:100%;height:100%;object-fit:cover;display:block}.art-author-lbl{font:600 11px/1 var(--hh-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--hh-steel);margin-bottom:6px}.art-author-name{font:700 17px/1.3 var(--hh-font-display);color:var(--hh-ink-deep)}.art-author-role{font:400 14px/1.4 var(--hh-font-body);color:var(--hh-slate);margin-top:2px}.art-author-exp{font:400 14px/1.5 var(--hh-font-body);color:var(--hh-charcoal);margin-top:6px}.art-meta .upd{background:var(--hh-tint-mint);color:var(--hh-tint-mint-ink);font:600 12px/1 var(--hh-font-body);padding:5px 10px;border-radius:6px}.art-meta .tg-tag{background:var(--hh-surface);color:var(--hh-slate);border:1px solid var(--hh-hairline)}.art-hero h1{font:700 44px/1.15 var(--hh-font-display);letter-spacing:-1.2px;color:var(--hh-ink-deep);margin:0;max-width:820px}.art-cover{position:relative;overflow:hidden;height:300px;border-radius:16px;display:flex;align-items:flex-end;padding:28px;margin-bottom:32px}.art-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.art-cover.has-img{height:auto;aspect-ratio:8/3}.art-cover .cap{position:relative;z-index:1;font:600 12px/1 var(--hh-font-body);background:#ffffffd9;color:var(--hh-ink);padding:6px 11px;border-radius:6px}.art-body{max-width:740px;margin:0 auto;font:400 17px/1.7 var(--hh-font-body);color:var(--hh-charcoal)}.art-body .lead-p{font:500 20px/1.6 var(--hh-font-body);color:var(--hh-ink);margin:0 0 28px}.art-body h2{font:700 28px/1.25 var(--hh-font-display);letter-spacing:-.5px;color:var(--hh-ink-deep);margin:40px 0 16px}.art-body h3{font:700 21px/1.3 var(--hh-font-display);color:var(--hh-ink);margin:28px 0 12px}.art-body p{margin:0 0 18px}.art-body ul,.art-body ol{margin:0 0 22px;padding:0;list-style:none}.art-body li{position:relative;padding-left:26px;margin-bottom:10px}.art-body ul li:before{content:"✓";position:absolute;left:2px;top:0;color:var(--hh-success);font-weight:700}.art-body ol{counter-reset:n}.art-body ol li:before{counter-increment:n;content:counter(n);position:absolute;left:0;top:0;color:var(--hh-primary);font-weight:700}.art-body blockquote{margin:24px 0;padding:18px 24px;border-left:3px solid var(--hh-primary);background:var(--hh-surface);border-radius:0 10px 10px 0;font:500 17px/1.6 var(--hh-font-body);color:var(--hh-ink)}.art-body .callout{background:var(--hh-tint-sky);color:var(--hh-tint-sky-ink);border-radius:12px;padding:20px 24px;margin:24px 0}.art-body .callout p:last-child{margin:0}.art-body img{max-width:100%;border-radius:12px;margin:24px 0}.art-toc{margin:0 0 32px;padding:18px 22px;background:var(--hh-surface);border:1px solid var(--hh-hairline);border-radius:12px}.art-toc summary{cursor:pointer;list-style:none;font:600 12px/1 var(--hh-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--hh-steel)}.art-toc summary::-webkit-details-marker{display:none}.art-toc summary:after{content:"▾";margin-left:6px}.art-toc details:not([open]) summary:after{content:"▸"}.art-toc ol{margin:14px 0 0}.art-toc li{margin-bottom:8px;font:500 15px/1.45 var(--hh-font-body)}.art-toc ul{margin:6px 0 0}.art-toc ul li{padding-left:18px;margin-bottom:4px;font:400 14px/1.45 var(--hh-font-body)}.art-toc ul li:before{content:"–";counter-increment:none;color:var(--hh-steel);font-weight:400}.art-toc a{color:var(--hh-ink);text-decoration:none}.art-toc a:hover{color:var(--hh-primary);text-decoration:underline}.art-body h2[id],.art-body h3[id]{scroll-margin-top:88px}@media(max-width:1023px){.art-hero h1{font-size:32px}.art-cover{height:220px}}
