
:root{
    --brand:#6D28D9;
    --brand-soft:#A78BFA;
    --ink:#27242D;
    --ink-soft:#716B78;
    --deep:#17151C;
    --paper:#F7F5FA;
    --surface:#FFFFFF;
    --muted:#ECE8F2;
    --accent:#F59E0B;
    --line:#DED8E7;
    --shadow:0 18px 50px rgba(23,21,28,.08);
    --radius:22px;
    --shell:min(1180px,calc(100% - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    color:var(--ink);
    background:var(--paper);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    font-size:16px;
    line-height:1.75;
    text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
code{
    padding:.14em .35em;
    border-radius:6px;
    background:var(--muted);
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:.92em;
}
.shell{width:var(--shell);margin-inline:auto}
.skip-link{
    position:fixed;
    left:16px;
    top:12px;
    z-index:999;
    padding:10px 14px;
    border-radius:10px;
    background:var(--deep);
    color:#fff;
    transform:translateY(-150%);
}
.skip-link:focus{transform:translateY(0)}
.site-header{
    position:sticky;
    top:0;
    z-index:80;
    border-bottom:1px solid rgba(222,216,231,.8);
    background:rgba(247,245,250,.93);
    backdrop-filter:blur(14px);
}
.site-header__inner{
    min-height:74px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:24px;
    align-items:center;
}
.brand-mark{
    display:inline-flex;
    align-items:center;
    gap:11px;
    min-width:max-content;
}
.brand-mark img{
    width:44px;
    height:44px;
    object-fit:cover;
    border-radius:13px;
    background:var(--muted);
}
.brand-mark__text{display:grid;line-height:1.15}
.brand-mark__text strong{font-size:1.06rem;letter-spacing:.02em}
.brand-mark__text small{margin-top:4px;color:var(--ink-soft);font-size:.74rem}
.primary-nav{
    display:flex;
    justify-content:center;
    gap:7px;
    min-width:0;
}
.primary-nav a{
    padding:8px 11px;
    border-radius:10px;
    color:#4e4954;
    font-size:.94rem;
    white-space:nowrap;
}
.primary-nav a:hover,
.primary-nav a[aria-current="page"]{
    color:var(--brand);
    background:#efe9fb;
}
.search-open,
.nav-toggle{
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--surface);
    color:var(--ink);
    padding:9px 13px;
}
.search-open:hover,.nav-toggle:hover{border-color:var(--brand-soft)}
.nav-toggle{display:none}
.search-modal[hidden]{display:none !important}
.search-modal{
    position:fixed;
    inset:0;
    z-index:200;
    display:grid;
    place-items:start center;
    padding-top:min(18vh,140px);
}
.search-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(23,21,28,.66);
}
.search-modal__dialog{
    position:relative;
    width:min(650px,calc(100% - 32px));
    padding:32px;
    border-radius:24px;
    background:var(--surface);
    box-shadow:0 34px 90px rgba(0,0,0,.22);
}
.search-modal__dialog h2{margin:.2rem 0 1.2rem;font-size:clamp(1.6rem,4vw,2.4rem)}
.search-modal__close{
    position:absolute;
    top:14px;
    right:14px;
    width:40px;
    height:40px;
    border:0;
    border-radius:50%;
    background:var(--muted);
    font-size:1.45rem;
}
.search-form label,
.inline-search label{
    display:block;
    margin-bottom:7px;
    color:var(--ink-soft);
    font-size:.9rem;
}
.search-form__row,
.inline-search>div{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
}
.search-form input,
.inline-search input{
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:var(--ink);
    padding:12px 14px;
    outline:none;
}
.search-form input:focus,
.inline-search input:focus{
    border-color:var(--brand);
    box-shadow:0 0 0 3px rgba(109,40,217,.12);
}
.search-form button,
.inline-search button{
    border:0;
    border-radius:12px;
    background:var(--brand);
    color:#fff;
    padding:12px 18px;
    font-weight:700;
}
.eyebrow{
    margin:0 0 9px;
    color:var(--brand);
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.lead{
    color:#4f4a55;
    font-size:clamp(1.02rem,1.8vw,1.18rem);
    line-height:1.85;
}
.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 16px;
    border-radius:12px;
    border:1px solid transparent;
    font-weight:750;
    transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.button:hover{transform:translateY(-1px)}
.button--primary{background:var(--brand);color:#fff}
.button--primary:hover{background:#5f22bf}
.button--ghost{background:transparent;border-color:var(--line);color:var(--brand)}
.button--ghost:hover{border-color:var(--brand-soft);background:#f0ebf8}
.button--light{background:#fff;color:var(--deep)}
.text-link{
    display:inline;
    color:var(--brand);
    font-weight:760;
    text-decoration:underline;
    text-decoration-color:rgba(109,40,217,.28);
    text-underline-offset:4px;
}
.text-link:hover{text-decoration-color:var(--brand)}
.home-intro{
    padding:72px 0 42px;
    overflow:hidden;
}
.home-intro__grid{
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
    gap:54px;
    align-items:center;
}
.home-intro__copy h1{
    max-width:720px;
    margin:.15em 0 .45em;
    color:var(--deep);
    font-size:clamp(2.45rem,5.3vw,5.2rem);
    line-height:1.04;
    letter-spacing:-.045em;
}
.home-intro__copy .lead{max-width:720px}
.home-intro__actions{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}
.home-intro__visual{
    margin:0;
    position:relative;
}
.home-intro__visual:before{
    content:"";
    position:absolute;
    inset:-24px 20% 18% -18px;
    border-radius:40px;
    background:#e9e2f5;
    z-index:-1;
}
.home-intro__visual img{
    width:100%;
    aspect-ratio:5/4;
    object-fit:cover;
    border-radius:30px;
    box-shadow:var(--shadow);
}
.home-intro__visual figcaption{margin-top:10px;color:var(--ink-soft);font-size:.86rem}
.signal-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin:30px 0 0;
}
.signal-list>div{
    padding:14px;
    border-top:2px solid var(--brand-soft);
    background:rgba(255,255,255,.58);
}
.signal-list dt{color:var(--ink-soft);font-size:.75rem}
.signal-list dd{margin:5px 0 0;font-weight:700;font-size:.9rem}
.section{padding:78px 0}
.section--tight{padding:56px 0}
.section--muted{background:var(--muted)}
.section--deep{background:var(--deep);color:#fff}
.section--visual-strip{padding-block:58px}
.section--closing{border-top:1px solid var(--line);padding-bottom:90px}
.section-heading{max-width:780px;margin-bottom:28px}
.section-heading h2,
.split-heading h2,
.topic-rail__intro h2,
.free-explainer h2,
.visual-strip h2,
.dimension-note h2,
.closing-grid h2{
    margin:.08em 0 .35em;
    color:var(--deep);
    font-size:clamp(1.8rem,3.4vw,3rem);
    line-height:1.16;
    letter-spacing:-.025em;
}
.section-heading p:last-child,
.split-heading>p,
.topic-rail__intro p,
.free-explainer p,
.visual-strip p,
.dimension-note p,
.closing-grid p{
    color:var(--ink-soft);
}
.section-heading--light h2{color:#fff}
.section-heading--light p:last-child{color:#bbb5c2}
.section-heading--light .eyebrow{color:var(--brand-soft)}
.split-heading{
    display:grid;
    grid-template-columns:1fr .85fr;
    gap:60px;
    align-items:end;
    margin-bottom:28px;
}
.editorial-band{
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:34px;
    align-items:stretch;
    padding:20px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--surface);
}
.editorial-band figure{margin:0}
.editorial-band figure img{
    width:100%;
    height:100%;
    min-height:410px;
    object-fit:cover;
    border-radius:17px;
}
.editorial-band>div{padding:22px 18px 18px}
.editorial-band h3{margin-top:0;font-size:1.5rem}
.number-list{list-style:none;padding:0;margin:24px 0}
.number-list li{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:18px;
    padding:16px 0;
    border-top:1px solid var(--line);
}
.number-list strong{color:var(--deep)}
.number-list span{color:var(--ink-soft)}
.feature-layout{
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:34px;
    align-items:start;
}
.feature-layout__media{margin:0;position:sticky;top:96px}
.feature-layout__media img{
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    border-radius:24px;
}
.feature-layout .story-row{
    border-color:#3b3742;
}
.feature-layout .story-row__body h3 a{color:#fff}
.feature-layout .story-row__body p{color:#aaa4b0}
.feature-layout .tag{border-color:#433d4a;background:#26222b;color:#c8c2ce}
.feature-layout .text-link{color:var(--brand-soft)}
.story-list{display:grid}
.story-row{
    display:grid;
    grid-template-columns:210px 1fr;
    gap:28px;
    padding:22px 0;
    border-top:1px solid var(--line);
}
.story-row:last-child{border-bottom:1px solid var(--line)}
.story-row__meta{padding-top:3px}
.story-row__body h3{margin:0 0 6px;font-size:1.25rem;line-height:1.35}
.story-row__body h3 a:hover{color:var(--brand)}
.story-row__body p{margin:0 0 9px;color:var(--ink-soft)}
.tag-list{display:flex;flex-wrap:wrap;gap:6px}
.tag{
    display:inline-flex;
    padding:4px 8px;
    border:1px solid var(--line);
    border-radius:999px;
    color:#665f6d;
    background:#fff;
    font-size:.72rem;
}
.topic-rail{
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:58px;
    align-items:start;
}
.topic-rail__intro{position:sticky;top:110px}
.topic-rail__items{display:grid}
.topic-note{
    display:grid;
    grid-template-columns:200px 1fr auto;
    gap:18px;
    align-items:center;
    padding:18px 0;
    border-top:1px solid var(--line);
}
.topic-note:last-child{border-bottom:1px solid var(--line)}
.topic-note>span{font-weight:800}
.topic-note p{margin:0;color:var(--ink-soft);font-size:.94rem}
.topic-note a{color:var(--brand);font-weight:760;white-space:nowrap}
.free-explainer,
.dimension-note,
.visual-strip{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:50px;
    align-items:center;
}
.free-explainer figure,
.dimension-note figure,
.visual-strip figure{margin:0}
.free-explainer img,
.dimension-note img,
.visual-strip img{
    width:100%;
    aspect-ratio:16/11;
    object-fit:cover;
    border-radius:22px;
    box-shadow:var(--shadow);
}
.visual-strip{
    padding:26px;
    border-radius:30px;
    background:var(--deep);
    color:#fff;
}
.visual-strip h2{color:#fff}
.visual-strip p{color:#c3bdc9}
.visual-strip .eyebrow{color:var(--brand-soft)}
.inline-search{margin-top:20px}
.inline-search--dark input{background:#231f28;border-color:#413a49;color:#fff}
.guide-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.guide-grid article{
    padding:20px;
    border:1px solid rgba(109,40,217,.1);
    border-radius:16px;
    background:rgba(255,255,255,.74);
}
.guide-grid h3{margin:.1rem 0 .5rem;font-size:1.03rem}
.guide-grid p{margin:0;color:var(--ink-soft);font-size:.93rem}
.guide-grid--long{grid-template-columns:repeat(2,1fr)}
.section-action{margin-top:24px}
.closing-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:start;
}
.closing-links{display:grid;gap:10px;margin-top:22px}
.closing-links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 0;
    border-top:1px solid var(--line);
    color:var(--brand);
    font-weight:760;
}
.closing-links a:after{content:"→"}
.page-shell{padding-top:18px;padding-bottom:82px}
.breadcrumbs{padding:18px 0 8px;font-size:.82rem;color:var(--ink-soft)}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0}
.breadcrumbs li:not(:last-child):after{content:"/";margin-left:7px;color:#aaa2af}
.breadcrumbs a:hover{color:var(--brand)}
.page-lead{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:52px;
    align-items:center;
    padding:48px 0 42px;
}
.page-lead--narrow{display:block;max-width:860px}
.page-lead h1,
.watch-hero h1,
.dimension-hero h1,
.article-header h1,
.search-page-head h1,
.not-found h1{
    margin:.08em 0 .35em;
    color:var(--deep);
    font-size:clamp(2.3rem,4.7vw,4.8rem);
    line-height:1.06;
    letter-spacing:-.04em;
}
.page-lead figure{margin:0}
.page-lead figure img{
    width:100%;
    aspect-ratio:16/11;
    object-fit:cover;
    border-radius:24px;
}
.page-section{padding:44px 0}
.page-section--muted{
    margin-inline:calc((100vw - min(1180px,calc(100% - 40px))) / -2);
    padding-inline:calc((100vw - min(1180px,calc(100% - 40px))) / 2);
    background:var(--muted);
}
.identity-panel{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:34px;
    padding:28px;
    border-radius:26px;
    background:var(--deep);
    color:#fff;
}
.identity-panel__main{padding:16px}
.identity-panel h2{margin:.1em 0 .4em;font-size:clamp(1.6rem,3vw,2.5rem)}
.identity-panel p{color:#c5beca}
.identity-panel figure{margin:0}
.identity-panel img{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:20px}
.identity-panel figcaption{margin-top:8px;color:#aaa3af;font-size:.82rem}
.comparison-table{
    margin-top:24px;
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    background:#fff;
}
.comparison-row{
    display:grid;
    grid-template-columns:.7fr 1.1fr 1.2fr;
    gap:20px;
    padding:14px 18px;
    border-top:1px solid var(--line);
}
.comparison-row:first-child{border-top:0}
.comparison-row--head{background:var(--deep);color:#fff;font-weight:800}
.callout{
    display:grid;
    grid-template-columns:1fr auto;
    gap:28px;
    align-items:center;
    padding:26px;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
}
.callout h2{margin:0 0 6px;font-size:1.45rem}
.callout p{margin:0;color:var(--ink-soft)}
.callout__links{display:grid;gap:8px;text-align:right}
.callout__links a{color:var(--brand);font-weight:760}
.callout--accent{border-left:5px solid var(--accent)}
.watch-hero{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:44px;
    align-items:center;
    margin:26px 0 24px;
    padding:34px;
    border-radius:28px;
    background:var(--deep);
    color:#fff;
}
.watch-hero h1{color:#fff}
.watch-hero .lead{color:#c6c0cb}
.watch-hero .eyebrow{color:var(--brand-soft)}
.watch-hero figure{margin:0}
.watch-hero img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:20px}
.watch-map{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:50px;
}
.watch-map__intro h2{margin-top:.1em;font-size:2rem;line-height:1.25}
.watch-map__intro p{color:var(--ink-soft)}
.watch-map__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.watch-map__steps article{
    padding:18px;
    border-top:3px solid var(--brand);
    background:#fff;
}
.watch-map__steps span{color:var(--brand);font-weight:900}
.watch-map__steps h3{margin:.5rem 0 .3rem}
.watch-map__steps p{margin:0;color:var(--ink-soft);font-size:.9rem}
.pagination{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin-top:30px;
}
.pagination a{
    min-width:42px;
    padding:8px 11px;
    text-align:center;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.pagination a:hover,
.pagination a[aria-current="page"]{border-color:var(--brand);color:#fff;background:var(--brand)}
.split-media{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:40px;
    align-items:center;
}
.split-media figure{margin:0}
.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px}
.split-media h2{margin:.1em 0 .4em;font-size:2rem;line-height:1.2}
.split-media p{color:var(--ink-soft)}
.link-stack{display:grid;gap:8px;margin-top:22px}
.link-stack a{
    display:grid;
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}
.link-stack a:hover{border-color:var(--brand-soft)}
.link-stack strong{color:var(--deep)}
.link-stack span{margin-top:2px;color:var(--ink-soft);font-size:.88rem}
.link-stack--wide{grid-template-columns:repeat(2,1fr)}
.two-column-notes,
.dimension-rules,
.prose-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}
.two-column-notes article,
.dimension-rules>div,
.prose-grid article,
.privacy-sections article{
    padding:24px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}
.two-column-notes h2,
.dimension-rules h2,
.prose-grid h2,
.privacy-sections h2{margin:.1em 0 .4em;font-size:1.35rem}
.two-column-notes p,
.dimension-rules p,
.prose-grid p,
.privacy-sections p{margin-bottom:0;color:var(--ink-soft)}
.dimension-hero{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:48px;
    align-items:center;
    padding:46px 0;
}
.dimension-hero figure{margin:0}
.dimension-hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px}
.topic-directory{display:grid}
.topic-directory__item{
    display:grid;
    grid-template-columns:80px 1fr 240px;
    gap:26px;
    align-items:center;
    padding:24px 0;
    border-top:1px solid var(--line);
}
.topic-directory__item:last-child{border-bottom:1px solid var(--line)}
.topic-directory__number{
    color:var(--brand-soft);
    font-size:2rem;
    font-weight:900;
}
.topic-directory__item h2{margin:.05em 0 .35em;font-size:1.55rem}
.topic-directory__item p{color:var(--ink-soft)}
.topic-directory__item figure{margin:0}
.topic-directory__item img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px}
.article-header{
    max-width:920px;
    padding:40px 0 28px;
}
.article-header h1{font-size:clamp(2.25rem,4.8vw,4.3rem)}
.article-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:52px;
    align-items:start;
}
.article-content{min-width:0}
.article-cover{margin:0 0 34px}
.article-cover img{
    width:100%;
    max-height:460px;
    object-fit:cover;
    border-radius:24px;
}
.article-content section{
    padding:28px 0;
    border-top:1px solid var(--line);
}
.article-content h2{margin:.1em 0 .6em;font-size:1.7rem;line-height:1.25}
.article-content p{font-size:1.04rem;line-height:1.95}
.check-list{list-style:none;padding:0;margin:20px 0 0}
.check-list li{
    position:relative;
    padding:11px 12px 11px 38px;
    margin:8px 0;
    border-radius:12px;
    background:#fff;
}
.check-list li:before{
    content:"✓";
    position:absolute;
    left:13px;
    top:10px;
    color:var(--brand);
    font-weight:900;
}
.article-return{margin-top:16px}
.article-aside{position:relative}
.sticky-panel{
    position:sticky;
    top:100px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}
.sticky-panel h2{margin:.1em 0 .8em;font-size:1.2rem}
.sticky-panel>a{
    display:grid;
    gap:3px;
    padding:12px 0;
    border-top:1px solid var(--line);
}
.sticky-panel>a:hover strong{color:var(--brand)}
.sticky-panel span{color:var(--ink-soft);font-size:.82rem}
.guide-flow{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.guide-flow article{
    position:relative;
    padding:24px;
    border-radius:18px;
    background:var(--deep);
    color:#fff;
}
.guide-flow span{color:var(--brand-soft);font-weight:900}
.guide-flow h2{margin:.45rem 0 .45rem;font-size:1.28rem}
.guide-flow p{color:#bbb4c0}
.guide-flow a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.faq-list{max-width:900px}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item h2{margin:0}
.faq-item button{
    width:100%;
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    padding:18px 0;
    border:0;
    background:transparent;
    color:var(--deep);
    text-align:left;
    font-weight:760;
}
.faq-item button:after{content:"+";color:var(--brand);font-size:1.3rem}
.faq-item button[aria-expanded="true"]:after{content:"−"}
.faq-answer{padding:0 0 18px;max-width:780px;color:var(--ink-soft)}
.faq-answer[hidden]{display:none!important}
.privacy-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.safety-timeline{list-style:none;margin:0;padding:0}
.safety-timeline li{
    display:grid;
    grid-template-columns:74px 1fr;
    gap:24px;
    padding:24px 0;
    border-top:1px solid var(--line);
}
.safety-timeline li:last-child{border-bottom:1px solid var(--line)}
.safety-timeline>li>span{
    color:var(--brand-soft);
    font-size:1.6rem;
    font-weight:900;
}
.safety-timeline h2{margin:0 0 .35em;font-size:1.4rem}
.safety-timeline p{margin:0;color:var(--ink-soft)}
.search-page-head{max-width:840px;padding:50px 0 24px}
.search-form--page{max-width:720px;margin-top:26px}
.empty-state{
    padding:20px;
    border:1px dashed var(--line);
    border-radius:14px;
    color:var(--ink-soft);
}
.empty-state--large{
    padding:38px;
    background:#fff;
}
.empty-state h2{margin-top:0;color:var(--deep)}
.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.quick-links a{
    padding:7px 11px;
    border-radius:999px;
    background:var(--muted);
    color:var(--brand);
}
.not-found{
    max-width:820px;
    padding:90px 0;
}
.not-found p{max-width:680px;color:var(--ink-soft)}
.not-found__links{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.site-footer{
    border-top:1px solid #332f39;
    background:var(--deep);
    color:#fff;
    padding:62px 0 18px;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.45fr repeat(3,1fr);
    gap:38px;
}
.footer-grid h2{margin:0 0 14px;font-size:.94rem;color:#fff}
.footer-grid>div:not(.footer-about){display:grid;align-content:start;gap:8px}
.footer-grid>div:not(.footer-about) a{color:#bbb5c0;font-size:.88rem}
.footer-grid>div:not(.footer-about) a:hover{color:#fff}
.footer-about p{max-width:420px;color:#aaa4b0;font-size:.9rem}
.brand-mark--footer .brand-mark__text small{color:#aaa4b0}
.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-top:46px;
    padding-top:16px;
    border-top:1px solid #322d37;
    color:#8f8895;
    font-size:.8rem;
}
.back-to-top{
    border:1px solid #46404c;
    border-radius:10px;
    background:transparent;
    color:#c9c2ce;
    padding:7px 10px;
}
body.modal-open{overflow:hidden}
@media (max-width:1080px){
    :root{--shell:min(100% - 32px,980px)}
    .site-header__inner{grid-template-columns:auto auto 1fr auto;gap:12px}
    .nav-toggle{display:block}
    .primary-nav{
        display:none;
        position:absolute;
        top:74px;
        left:16px;
        right:16px;
        padding:12px;
        border:1px solid var(--line);
        border-radius:16px;
        background:#fff;
        box-shadow:var(--shadow);
        justify-content:flex-start;
        flex-wrap:wrap;
    }
    .primary-nav.is-open{display:flex}
    .search-open{justify-self:end}
    .home-intro__grid,
    .page-lead,
    .watch-hero{grid-template-columns:1fr 1fr;gap:30px}
    .home-intro__copy h1{font-size:clamp(2.5rem,6vw,4.2rem)}
    .feature-layout{grid-template-columns:.7fr 1.3fr}
    .topic-rail{gap:34px}
    .article-layout{grid-template-columns:minmax(0,1fr) 280px;gap:34px}
}
@media (max-width:820px){
    :root{--shell:calc(100% - 28px)}
    .site-header__inner{min-height:68px}
    .primary-nav{top:68px}
    .brand-mark__text small{display:none}
    .home-intro{padding-top:44px}
    .home-intro__grid,
    .page-lead,
    .watch-hero,
    .dimension-hero,
    .editorial-band,
    .feature-layout,
    .topic-rail,
    .free-explainer,
    .dimension-note,
    .visual-strip,
    .split-heading,
    .closing-grid,
    .identity-panel,
    .watch-map,
    .split-media,
    .article-layout{
        grid-template-columns:1fr;
    }
    .home-intro__visual{max-width:680px}
    .signal-list{grid-template-columns:1fr 1fr 1fr}
    .feature-layout__media,
    .topic-rail__intro,
    .sticky-panel{position:static}
    .feature-layout__media img{aspect-ratio:16/9}
    .story-row{grid-template-columns:160px 1fr;gap:18px}
    .topic-note{grid-template-columns:150px 1fr}
    .topic-note a{grid-column:2}
    .guide-grid,
    .guide-grid--long,
    .guide-flow,
    .two-column-notes,
    .dimension-rules,
    .prose-grid,
    .privacy-sections{grid-template-columns:1fr 1fr}
    .link-stack--wide{grid-template-columns:1fr 1fr}
    .topic-directory__item{grid-template-columns:60px 1fr}
    .topic-directory__item figure{display:none}
    .article-aside{order:-1}
    .sticky-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
    .sticky-panel>.eyebrow,.sticky-panel>h2{grid-column:1/-1}
    .page-section--muted{
        margin-inline:-14px;
        padding-inline:14px;
    }
    .footer-grid{grid-template-columns:1.3fr 1fr 1fr}
    .footer-grid>div:last-child{grid-column:2/4}
}
@media (max-width:620px){
    body{font-size:15.5px}
    .site-header__inner{grid-template-columns:auto auto 1fr}
    .search-open{
        width:40px;
        overflow:hidden;
        white-space:nowrap;
        color:transparent;
        position:relative;
        padding-inline:0;
    }
    .search-open:after{
        content:"⌕";
        position:absolute;
        inset:0;
        display:grid;
        place-items:center;
        color:var(--ink);
        font-size:1.35rem;
    }
    .brand-mark img{width:40px;height:40px}
    .home-intro__copy h1,
    .page-lead h1,
    .watch-hero h1,
    .dimension-hero h1,
    .article-header h1,
    .search-page-head h1,
    .not-found h1{font-size:clamp(2.2rem,11vw,3.45rem)}
    .home-intro__actions{display:grid}
    .signal-list{grid-template-columns:1fr}
    .section{padding:58px 0}
    .section--tight{padding:44px 0}
    .editorial-band{padding:14px}
    .editorial-band figure img{min-height:260px}
    .number-list li{grid-template-columns:1fr;gap:4px}
    .story-row{grid-template-columns:1fr;gap:8px}
    .story-row__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
    .topic-note{grid-template-columns:1fr;gap:5px}
    .topic-note a{grid-column:1}
    .guide-grid,
    .guide-grid--long,
    .guide-flow,
    .two-column-notes,
    .dimension-rules,
    .prose-grid,
    .privacy-sections,
    .watch-map__steps,
    .link-stack--wide{grid-template-columns:1fr}
    .comparison-row{grid-template-columns:1fr;gap:4px}
    .comparison-row--head{display:none}
    .comparison-row span:first-child{font-weight:800;color:var(--brand)}
    .callout{grid-template-columns:1fr}
    .callout__links{text-align:left}
    .topic-directory__item{grid-template-columns:44px 1fr;gap:14px}
    .topic-directory__number{font-size:1.3rem}
    .sticky-panel{grid-template-columns:1fr}
    .search-form__row,
    .inline-search>div{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
    .footer-about{grid-column:1/-1}
    .footer-grid>div:last-child{grid-column:auto}
}
@media (max-width:420px){
    :root{--shell:calc(100% - 22px)}
    .site-header__inner{gap:8px}
    .brand-mark__text strong{font-size:.95rem}
    .nav-toggle{padding:8px 10px}
    .home-intro{padding-top:34px}
    .home-intro__visual img{border-radius:22px}
    .page-lead{padding-top:34px}
    .watch-hero{padding:22px}
    .visual-strip{padding:20px}
    .story-row__body h3{font-size:1.14rem}
    .footer-grid{grid-template-columns:1fr}
    .footer-grid>div:last-child{grid-column:auto}
    .footer-bottom{align-items:flex-start;flex-direction:column}
}

.scenario-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.scenario-item,
.detail-notes article,
.article-qa article{
    padding:18px;
    border:1px solid var(--line);
    border-radius:15px;
    background:#fff;
}
.scenario-item h3,
.detail-notes h3,
.article-qa h3{
    margin:0 0 .45rem;
    color:var(--deep);
    font-size:1.02rem;
}
.scenario-item p,
.detail-notes p,
.article-qa p{
    margin:0;
    color:var(--ink-soft);
    font-size:.94rem;
}
.detail-notes{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.article-qa{
    display:grid;
    gap:12px;
}
@media (max-width:620px){
    .scenario-list,
    .detail-notes{grid-template-columns:1fr}
}
