/* ===== article / guide layout (shared by the SEO content pages) ===== */
/* chrome (header, footer, tokens, buttons, theme) lives in shared-css */

.hero{padding:44px 0 40px;border-bottom:1px solid var(--line)}
.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(32px,4.6vw,54px);line-height:1.04;letter-spacing:-.02em;max-width:22ch}
.hero .lead{color:var(--muted);font-size:clamp(16px,1.7vw,18.5px);margin-top:18px;max-width:62ch}
.hero .qualifier{margin-top:14px;font-family:var(--mono);font-size:13px;color:var(--signal)}
.hero .actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
main section{padding:56px 0;border-bottom:1px solid var(--line)}

.article h2{font-family:var(--display);font-weight:700;font-size:clamp(24px,3vw,34px);letter-spacing:-.015em;margin:44px 0 16px}
.article h2:first-child{margin-top:0}
.article h3{font-family:var(--display);font-weight:700;font-size:clamp(18px,2.2vw,22px);margin:30px 0 12px}
.article p{color:#3A3A41;margin:0 0 16px;max-width:75ch}
.article p.dim{color:var(--muted)}
.article a.inline{color:var(--signal);text-decoration:underline;text-underline-offset:3px}
.article .formula{font-family:var(--mono);font-size:14.5px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:0 0 16px;max-width:75ch;overflow-x:auto}

.toc{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin:0 0 8px;max-width:75ch}
.toc .toc-t{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--muted-2);margin-bottom:12px}
.toc a{display:block;padding:5px 0;color:#3A3A41;font-size:15px}
.toc a:hover{color:var(--signal)}

.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.gcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 22px;box-shadow:0 1px 3px rgba(22,22,27,.05)}
.gcard h3{font-family:var(--display);font-weight:700;font-size:16.5px;margin:0 0 9px}
.gcard p{color:var(--muted);font-size:14.5px;line-height:1.55;margin:0}

.faq details{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px rgba(22,22,27,.05)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 24px;font-family:var(--display);font-weight:700;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:20px;color:var(--muted-2);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg);color:var(--signal)}
.faq details p{color:var(--muted);font-size:15px;line-height:1.65;padding:0 24px 20px;max-width:75ch}

.cta{background:#ECEBE3;text-align:center;border-bottom:0}
.cta h2{font-family:var(--display);font-weight:700;font-size:clamp(24px,3.4vw,38px);letter-spacing:-.015em;max-width:26ch;margin:0 auto}
.cta p{color:var(--muted);margin:14px auto 0;max-width:56ch}
.cta .btn{margin-top:24px}

.related{padding-top:8px}
.related .rel-t{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.2em;color:var(--muted-2);margin:0 0 14px}
.related a{display:inline-block;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 15px;margin:0 8px 10px 0;font-size:13.5px;color:#3A3A41}
.related a:hover{border-color:rgba(24,154,87,.5);color:var(--fg)}

/* shared scene frame */
.hero-media{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.scene-wrap{width:100%;border-radius:16px;border:1px solid var(--line);background:radial-gradient(130% 120% at 50% -10%,#FFFFFF 0%,#F3F2EC 60%,#ECEBE3 100%);overflow:hidden;position:relative}
.scene-hero{aspect-ratio:16/11}
.scene-band{aspect-ratio:16/6;margin:8px 0 26px}
.scene-wrap svg{display:block;width:100%;height:100%}
.scene-wrap .anim{animation-iteration-count:infinite;animation-timing-function:linear}
.scn-line{fill:none;stroke:#C9C8BE;stroke-width:2}
.scn-metal{fill:#D3D2C9}.scn-metal-d{fill:#BEBDB2}
.scn-box{fill:#E6D7B4;stroke:#CDB88E}.scn-box-2{fill:#DFCBA0;stroke:#C6AF83}
.scn-tape{fill:#FFFFFF;fill-opacity:.5}
.scn-paper{fill:#FFFFFF;stroke:#E2DCCB}.scn-pl{fill:#D6D5CC}.scn-code{fill:#222}
.scn-ok{fill:var(--signal)}.scn-okl{fill:var(--signal);fill-opacity:.14}
.scn-warn{fill:#C77B22}.scn-warnl{fill:#F4E8D2}
.scn-ui{fill:#8E8E96;font-family:IBM Plex Mono,monospace}
.scn-ttl{font-family:Space Grotesk,sans-serif;font-weight:700;fill:#16161B}
@keyframes scnScan{0%{transform:translateY(0)}50%{transform:translateY(var(--sweep,60px))}100%{transform:translateY(0)}}
@keyframes scnFade{0%,100%{opacity:0}12%,88%{opacity:1}}
@keyframes scnPop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.scene-wrap .anim{animation:none!important}}

/* responsive */
@media(max-width:820px){.hero-media{grid-template-columns:1fr;gap:24px}.cardgrid{grid-template-columns:1fr}}
@media(max-width:560px){
  main section{padding:44px 0}
  .hero{padding:32px 0 30px}
  .article h2{margin:34px 0 14px}
  .article h3{margin:24px 0 10px}
  .toc{padding:20px 18px}
  .faq summary{padding:16px 18px;font-size:15px}
  .faq details p{padding:0 18px 18px}
  .scene-band{aspect-ratio:16/7}
}

.faq-title{font-family:var(--display);font-weight:700;font-size:clamp(24px,3.4vw,38px);letter-spacing:-.015em;margin-bottom:28px}

/* ===== dark theme overrides (originals were light-only) ===== */
html[data-theme="dark"] .article p{color:#CFCEC6}
html[data-theme="dark"] .toc a,
html[data-theme="dark"] .related a{color:#CFCEC6}
html[data-theme="dark"] .gcard,
html[data-theme="dark"] .toc,
html[data-theme="dark"] .faq details{box-shadow:none}
html[data-theme="dark"] .cta{background:#050506}
/* scenes */
html[data-theme="dark"] .scene-wrap{background:radial-gradient(130% 120% at 50% -10%,#202027 0%,#131317 60%,#0D0D11 100%)}
html[data-theme="dark"] .scn-line{stroke:#3A3A44}
html[data-theme="dark"] .scn-metal{fill:#34343e}
html[data-theme="dark"] .scn-metal-d{fill:#22222a}
html[data-theme="dark"] .scn-box{fill:#4a3d26;stroke:#5c4d30}
html[data-theme="dark"] .scn-box-2{fill:#574a2e;stroke:#6b5a38}
html[data-theme="dark"] .scn-paper{fill:#1A1A20;stroke:#32323b}
html[data-theme="dark"] .scn-pl{fill:#4a4a54}
html[data-theme="dark"] .scn-code{fill:#EDECE4}
html[data-theme="dark"] .scn-ttl{fill:#F5F4F1}
html[data-theme="dark"] .scn-warnl{fill:#3a2f1c}
html[data-theme="dark"] .scene-wrap svg [fill="#FFFFFF"]{fill:#16161b}
html[data-theme="dark"] .scene-wrap svg [fill="#16161B"]{fill:#F5F4F1}
html[data-theme="dark"] .scene-wrap svg [fill="#3A3A41"]{fill:#CFCEC6}
html[data-theme="dark"] .scene-wrap svg [fill="#FDFCF8"]{fill:#141419}
html[data-theme="dark"] .scene-wrap svg [fill="#F7F6F0"],
html[data-theme="dark"] .scene-wrap svg [fill="#EFEEE6"],
html[data-theme="dark"] .scene-wrap svg [fill="#F2F1EA"]{fill:#1D1D22}
html[data-theme="dark"] .scene-wrap svg [stroke="#E2E1D8"],
html[data-theme="dark"] .scene-wrap svg [stroke="#E4E3DB"],
html[data-theme="dark"] .scene-wrap svg [stroke="#E7E6DD"]{stroke:#2A2A31}
