/* Topic pages retain the approved Vellaris editorial world. No scroll locks. */
.topic-hero{gap:clamp(32px,5vw,80px);padding-bottom:64px}
.topic-hero>div,.topic-product>div,.topic-local>div{min-width:0}
.topic-hero h1{font-size:clamp(42px,4.8vw,70px);max-width:18ch;line-height:1.06}
.topic-hero .intro{margin:24px 0 28px}
.topic-hero .label{margin-bottom:20px}
.topic-jump{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:16px}
.topic-jump a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.chapter p+p{margin-top:20px}
.topic-product{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;background:var(--surface-warm);padding:48px;margin-bottom:64px;border-radius:var(--radius-lg)}
.topic-product img{display:block;width:100%;height:auto;border-radius:var(--radius-lg)}
.topic-product h2{font-size:clamp(34px,3.5vw,50px);margin-bottom:24px}
.topic-product p{margin-bottom:20px}
.topic-steps{list-style:none;padding:0;margin:32px 0 0;counter-reset:visit}
.topic-steps li{counter-increment:visit;display:grid;grid-template-columns:36px 1fr;gap:16px;padding:24px 0;border-top:1px solid var(--border)}
.topic-steps li::before{content:counter(visit,decimal-leading-zero);font-family:var(--font-display);font-size:28px;line-height:1.2}
.topic-steps h3{font-size:18px;margin:0 0 8px;font-weight:600}
.topic-faq{padding:0 0 64px;max-width:860px}
.topic-faq h2{font-size:clamp(34px,4vw,52px);margin-bottom:28px}
.topic-faq details{border-top:1px solid var(--border);padding:20px 0}
.topic-faq summary{cursor:pointer;font-weight:600;min-height:44px;padding:10px 24px 10px 0}
.topic-faq details p{padding:12px 0 4px}
.topic-sources{font-size:13px;color:var(--muted);padding:24px 0 0;border-top:1px solid var(--border);margin-top:24px}
.topic-sources p+p{margin-top:12px}
.topic-related{padding:0 0 64px}
.topic-related h2{font-size:32px;margin-bottom:16px}
.topic-related nav{display:flex;flex-wrap:wrap;gap:8px 28px}
.topic-related a{display:inline-flex;align-items:center;min-height:48px}
.topic-local{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.topic-local h2{font-size:clamp(38px,4vw,58px)}
.topic-search{margin:0}
.topic-search label{display:block;font-weight:600;margin-bottom:12px}
.topic-search input{width:100%;min-width:0;min-height:56px;border:1px solid var(--muted);border-radius:var(--radius);padding:14px 16px;background:var(--bg);color:var(--fg);font:inherit;caret-color:var(--accent)}
.topic-search input::placeholder{color:var(--muted);opacity:1}
.topic-search .btn{border:0;cursor:pointer;font-family:inherit;margin-top:16px;width:100%}
.next .topic-search p{font-size:13px;line-height:1.6;margin:16px 0 0;color:var(--fg)}
.topic-search .nav-link{margin-top:12px}
::selection{background:var(--accent);color:var(--accent-on)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.btn{transition:transform 150ms cubic-bezier(.23,1,.32,1)}.btn:active{transform:scale(.98)}}
@media(max-width:960px){.topic-hero{gap:32px}.topic-hero h1{font-size:clamp(40px,8.7vw,58px)}.topic-product{grid-template-columns:1fr;padding:24px;gap:28px}.topic-local{grid-template-columns:1fr;gap:20px}.explanation{gap:0}.explanation>.label{margin-bottom:24px}.chapter{padding-bottom:32px;margin-bottom:32px}.topic-product,.topic-related{margin-bottom:0}.topic-faq{padding-top:56px}.topic-related nav{display:block}.topic-related a{display:flex}.topic-hero .btn{width:100%;max-width:460px}.topic-jump{gap:8px 20px}}
