/* 共享视觉规范：稳定的文字区、自然场景、按页面任务分配空间。 */
.marketing-page { --bg:#101216; --bg-raise:#191c21; --bg-card:#191c21; --text:#f0f2f5; --dim:#b1b8c2; --dim-2:#9ca6b2; --orange:#ff7900; --orange-hi:#ff9636; --line:#ffffff20; --line-strong:#ffffff38; --page-gutter:clamp(20px,4.5vw,64px); --sp-surface:#191c21; --sp-deep:#13171c; --sp-line:#ffffff24; --sp-ink:#f0f2f5; --sp-muted:#b1b8c2; --sp-accent:#ffb77e; background:var(--bg); color:var(--text); font-size:16px; line-height:1.75; }
/* 短页撑满视口，长页自然展开；页脚始终全宽且位于正文之后。 */
body.marketing-page { display:flex; flex-direction:column; min-height:100vh; min-height:100dvh; }
.marketing-page > main { flex:1 0 auto; min-width:0; }
.marketing-page > .site-nav, .marketing-page > .site-footer { flex-shrink:0; width:100%; }
.marketing-page [hidden] { display:none !important; }
.marketing-page .container { width:100%; max-width:1408px; margin-inline:auto; padding-inline:var(--page-gutter); }
.marketing-page :is(section,article,header,div)[id] { scroll-margin-top:100px; }
.marketing-page :is(a,button,summary):focus-visible { outline:2px solid #ffb77e; outline-offset:5px; }
/* 图片通过亮度反馈表达点击，键盘操作保留共享焦点轮廓。 */
.marketing-page .image-link { display:block; position:relative; min-width:0; border-radius:10px; }
.marketing-page .image-link > img { display:block; transition:filter 180ms ease; }
.marketing-page .image-link:is(:hover,:focus-visible) > img { filter:brightness(1.06); }
.marketing-page .spatial-main-link { position:absolute; inset:0; }
.marketing-page :is(p,li) { overflow-wrap:break-word; }
.marketing-page h1 { text-wrap:balance; }
.marketing-page .title-phrase { display:inline-block; }
.marketing-page .site-nav { position:sticky; top:0; background:#101216eb; backdrop-filter:blur(24px); border-bottom:0; }
/* 顶栏与正文、页脚同宽同边距：Logo、标题和页脚文字对齐在同一条竖线上。 */
.marketing-page .nav-inner { height:72px; gap:32px; }
.marketing-page .brand { font-size:19px; font-weight:650; letter-spacing:-.025em; min-height:44px; }
.marketing-page .nav-links { gap:26px; font-size:14px; }
.marketing-page .nav-links a { display:inline-flex; align-items:center; min-height:44px; }
.marketing-page .nav-links a.active { color:#fff; }
.marketing-page .nav-panel { top:72px; background:#171b21; max-height:calc(100dvh - 72px); overflow-y:auto; }
.marketing-page .btn { border-radius:6px; min-height:44px; padding:10px 20px; font-size:14px; line-height:1.5; font-weight:550; letter-spacing:0; white-space:normal; text-align:center; box-shadow:none; }
.marketing-page .btn-primary { color:#1b1005; background:var(--orange); }
.marketing-page .btn-primary:hover { background:var(--orange-hi); box-shadow:none; transform:none; }
.marketing-page .btn-primary::after { display:none; }
.marketing-page .btn.is-demoted { background:transparent; color:#edbb93; border:0; padding-inline:0; box-shadow:none; }
.marketing-page .btn-ghost { border:1px solid var(--line-strong); background:transparent; color:var(--text); }
.marketing-page .btn:disabled { opacity:1; color:#c6b19f; background:#ffffff05; border:1px solid var(--line); cursor:default; }
.marketing-page .site-nav .btn { white-space:nowrap; }
.marketing-page .nav-download-short { display:none; }
/* 次级操作统一为轻底色文字入口，不再叠加暖色、下划线与方向符号。 */
.marketing-page :is(.spatial-link,.quiet-link,.mw-text-link,.scene-guide,.engine-link,.cover-product-link,.btn.is-demoted) { display:inline-flex; align-items:center; justify-content:center; gap:0; width:fit-content; max-width:100%; min-height:44px; padding:9px 14px; border:0; border-radius:8px; background:#ffffff07; color:#d3d8df; font-size:14px; font-weight:500; line-height:1.6; text-align:left; text-decoration:none; transition:color 160ms ease,background-color 160ms ease; }
.marketing-page :is(.spatial-link,.quiet-link,.mw-text-link,.scene-guide,.engine-link,.cover-product-link,.btn.is-demoted):is(:hover,:focus-visible) { background:#ffffff14; color:#fff; text-decoration:none; }
.marketing-page :is(.spatial-link,.quiet-link,.mw-text-link,.scene-guide,.engine-link,.cover-product-link,.btn.is-demoted):active { background:#ffffff1f; }
.marketing-page :is(.spatial-eyebrow,.mw-kicker) { font-size:12px; line-height:1.5; color:#a8b2bf; letter-spacing:.07em; margin-bottom:12px; }
.marketing-page :is(.mw-heading,.spatial-section-heading) { margin-bottom:28px; }
.marketing-page :is(.mw-heading,.spatial-section-heading,.spatial-cta,.gallery-start) h2 { font-size:clamp(26px,2.5vw,32px); font-weight:550; line-height:1.35; letter-spacing:-.02em; }
.marketing-page :is(.spatial-section-heading,.mw-heading) p { font-size:16px; color:var(--dim); }
.marketing-page .spatial-index { color:#bda28d; font-size:12px; }
.marketing-page .spatial-section { padding-block:28px; }
.marketing-page .spatial-hero { padding-block:30px 24px; gap:36px; }
.marketing-page .spatial-hero h1,.marketing-page .mw-page-intro h1 { font-size:clamp(32px,3.2vw,42px); font-weight:600; line-height:1.25; letter-spacing:-.025em; }
.marketing-page .spatial-intro { max-width:44em; font-size:17px; line-height:1.8; color:var(--dim); }
.marketing-page .spatial-stage { background:radial-gradient(ellipse at 50% 50%,#28405130,transparent 72%); border:0; border-radius:0; }
.marketing-page .spatial-stage::before,.marketing-page .spatial-corner { display:none; }
.marketing-page .spatial-stage-legend { font-size:12px; }
.marketing-page .spatial-detail > summary { font-size:15px; }
.marketing-page .spatial-detail > div :is(p,li),.marketing-page .spatial-recipe p { font-size:16px; line-height:1.8; }
.marketing-page .spatial-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:28px; margin-top:20px; border:0; }
.marketing-page .spatial-cta p { color:var(--dim); font-size:16px; margin-top:10px; }
.marketing-page .spatial-cta .spatial-actions { margin:0; flex-shrink:0; }
.marketing-page .back-top { box-shadow:none; width:44px; height:44px; }
.section-jump { display:flex; flex-wrap:wrap; align-items:center; gap:8px 28px; padding-block:14px; margin-bottom:24px; }
.section-jump a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; color:var(--dim); }
.section-jump a:hover { color:var(--text); }
/* 下载、版本和指南优先呈现任务入口。 */
.task-page .spatial-hero { display:block; padding-block:30px 18px; }
.task-page .spatial-hero-copy { padding:0; max-width:900px; }
.task-page .spatial-actions { margin-top:18px; }
.task-page .spatial-hero h1 { font-size:clamp(30px,3vw,40px); }
.task-page .spatial-intro { margin-top:14px; }
.page-download .spatial-download-options { padding-block:4px 32px; }
.page-download .dl-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.page-download .dl-card { padding:18px 0; background:transparent; border:0; border-radius:0; text-align:left; box-shadow:none; }
.page-download .dl-os { width:40px; height:40px; margin:0 0 18px; border:0; background:transparent; color:#d1d7e0; }
.page-download .dl-os svg { width:30px; height:30px; }
.page-download .dl-card h3 { font-size:32px; font-weight:550; }
.page-download .dl-meta { margin-block:8px; font-size:14px; color:var(--dim); }
.page-download .dl-req { margin:0 0 22px; min-height:28px; font-size:16px; color:var(--dim); }
.page-download .dl-card .btn { width:auto; }
.page-download .spatial-advice-grid { padding-top:18px; gap:40px; }
.page-download .spatial-advice-grid p { font-size:16px; }
.page-editions .spatial-standard-wrap { padding-block:0 24px; }
.page-editions .spatial-standard { padding:30px 0; border:0; background:transparent; }
.page-editions .spatial-standard > ul li { font-size:16px; }
.page-editions .spatial-standard > ul li::before { content:'—'; }
.page-editions .spatial-future-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 80px; }
.page-editions .spatial-future-grid .mw-edition-card { display:block; padding:12px 0; border:0; border-radius:0; background:transparent; }
.page-editions .spatial-future-grid .mw-edition-card h2 { font-size:24px; }
.page-editions .spatial-future-grid .mw-edition-card p,.page-editions .spatial-future-grid .mw-edition-card li { font-size:16px; }
.page-editions .mw-comparison-wrap { border:0; border-radius:0; }
.page-editions .mw-comparison-table { font-size:14px; }
.reading-layout { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:start; gap:32px; }
.reading-toc { position:sticky; top:100px; padding-block:14px; }
.reading-toc > p { font-size:12px; letter-spacing:.07em; color:var(--dim-2); margin-bottom:12px; }
.reading-toc a { display:block; padding-block:10px; font-size:14px; color:var(--dim); }
.reading-toc a:hover { color:#fff; }
.reading-content { min-width:0; }
.marketing-page .reading-content > .container { padding-inline:0; }
.page-docs .spatial-step-grid { display:block; }
.page-docs .spatial-step-card { display:grid; grid-template-columns:52px minmax(0,1fr); gap:0 20px; padding:18px 0; border:0; border-radius:0; background:transparent; }
.page-docs .spatial-step-card > .spatial-index { grid-column:1; grid-row:1 / span 2; padding-top:7px; margin:0; font-size:14px; }
.page-docs .spatial-step-card h2 { grid-column:2; margin:0; font-size:22px; }
.page-docs .spatial-step-card p { grid-column:2; margin-top:10px; font-size:16px; }
.page-docs .spatial-media-links .spatial-art { height:120px; }
.page-docs .spatial-media-links a { padding-inline:8px; }
.page-docs .spatial-media-links > a > span { font-size:16px; }
.page-docs .spatial-reference-grid { grid-template-columns:1fr; }
.page-docs .spatial-reference { display:block; }
.page-docs .spatial-reference .spatial-detail > summary { min-height:60px; }
.page-docs .spatial-advice-grid { grid-template-columns:1fr; gap:24px; }
.page-docs .spatial-advice-grid > article { display:grid; grid-template-columns:160px minmax(0,1fr); gap:0 24px; }
.page-docs .spatial-advice-grid .spatial-art { grid-column:1; grid-row:1 / span 2; height:132px; margin:0; }
.page-docs .spatial-advice-grid h3,.page-docs .spatial-advice-grid p { grid-column:2; }
.page-docs .spatial-advice-grid p { font-size:16px; }
.page-faq .spatial-question-links { padding-block:0 20px; }
.page-faq .spatial-question-links > a { padding-block:14px; }
.page-faq .spatial-faq-groups { grid-template-columns:1fr 1fr; gap:52px; }
.page-faq .faq-a { color:var(--dim); font-size:16px; }
/* 产品与采集专题保留解释性的技术示意。 */
.page-features .spatial-hero,.spatial-input-page .spatial-hero { grid-template-columns:1fr 1fr; }
.product-stage { position:relative; min-width:0; }
.product-stage .image-link > img { width:100%; height:auto; aspect-ratio:1.55; object-fit:contain; mask-image:radial-gradient(ellipse 86% 85% at center,#000 60%,transparent 100%); }
.product-stage > p { padding-block:12px; color:var(--dim); font-size:14px; }
.page-features .mw-input-grid { gap:24px; }
.page-features .mw-input-card { border:0; border-radius:0; background:transparent; }
.page-features .mw-input-card:hover { background:transparent; transform:none; }
.page-features .media-input-copy { padding:18px 0 0; }
.page-features .media-input-copy p { font-size:16px; }
.page-features .spatial-workflow-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.page-features .spatial-workflow-card { display:block; padding:12px 0; }
.page-features .spatial-workflow-card > .spatial-eyebrow { align-self:end; }
.page-features .spatial-workflow-card h3 { font-size:23px; margin-top:8px; }
.page-features .spatial-workflow-card > p { max-width:36em; font-size:16px; }
.page-features .spatial-workflow-card > a { align-self:start; }
.page-features .spatial-hardware article { background:transparent; border:0; padding:12px 0; }
.page-features .spatial-hardware p { font-size:16px; }
.spatial-input-page .spatial-stage { aspect-ratio:1.75; }
.spatial-input-page .spatial-principles { margin-block:10px 20px; }
.spatial-input-page .spatial-principles > div { font-size:16px; }
.spatial-input-page .spatial-recipe-grid { grid-template-columns:1fr; padding-block:16px 40px; gap:0; }
.spatial-input-page .spatial-recipe { grid-template-columns:.8fr 1.2fr; border:0; border-radius:0; padding-block:40px; background:transparent; }
.spatial-input-page .spatial-recipe-graphic { height:260px; background:radial-gradient(ellipse,#28405130,transparent 72%); }
.spatial-input-page .spatial-recipe-copy { padding:10px 0 10px 38px; }
.spatial-input-page .spatial-recipe h2 { font-size:24px; }
.page-engine-guide .engine-guide { max-width:1220px; }
.page-engine-guide .engine-flow .spatial-art { height:100px; }
.page-engine-guide .engine-flow p { font-size:16px; }
.page-engine-guide .engine-panel { background:transparent; border:0; border-radius:0; padding-inline:0; }
.page-engine-guide .engine-section-heading { margin-top:24px; }
.page-engine-guide .engine-guide h2 { font-size:28px; }
.page-engine-guide .engine-check-grid .spatial-art { height:108px; background:none; }
/* 开放排版：内容分组依赖留白、图像和标题，不使用卡片或条块边框。 */
.marketing-page :is(.spatial-detail,.spatial-principles,.spatial-media-links > a,.spatial-question-links > a,.spatial-help-links,.spatial-faq-page .faq-item,.spatial-faq-section details,.engine-flow,.engine-check-grid article,.engine-cta,.gallery-start,.mw-edition-card ul,.mw-edition-notes) { border:0; }
.marketing-page :is(.mw-edition-card,.mw-edition-mini,.spatial-advice-grid .spatial-art,.engine-panel,.mw-app-card) { background:transparent; box-shadow:none; border:0; }
.marketing-page .spatial-media-links > a:hover { background:transparent; color:#fff; }
.marketing-page .spatial-detail > summary { padding-block:18px; }
.page-editions .mw-edition-card .standard-free-price { font-size:40px; }
.page-download .dl-card .btn:disabled { background:transparent; border:0; color:#d6b28e; padding-inline:0; text-align:left; }
.page-download .spatial-download-options { background:radial-gradient(ellipse at 20% 50%,#25405018,transparent 60%); }
.page-features .mw-hardware-grid { gap:40px; }
@media(max-width:1000px) {
 .marketing-page .nav-inner { height:64px; gap:16px; }
 .marketing-page .nav-panel { top:64px; max-height:calc(100dvh - 64px); }
 .reading-layout { grid-template-columns:160px minmax(0,1fr); gap:28px; }
 .page-features .spatial-workflow-grid { gap:28px; }
}
@media(max-width:760px) {
 .marketing-page .spatial-hero,.page-features .spatial-hero,.spatial-input-page .spatial-hero { grid-template-columns:1fr; gap:28px; padding-block:32px 24px; }
 .marketing-page .spatial-hero h1,.marketing-page .mw-page-intro h1 { font-size:32px; }
 .marketing-page .spatial-section { padding-block:28px; }
 .marketing-page .spatial-intro { font-size:16px; }
 .marketing-page .spatial-cta { flex-direction:column; align-items:start; padding-block:28px; }
 .marketing-page .spatial-cta .spatial-actions { flex-shrink:1; }
 .marketing-page .spatial-stage-legend { font-size:12px; }
 .reading-layout { display:block; }
 .reading-toc { position:static; display:flex; gap:8px 20px; flex-wrap:wrap; padding:0 0 20px; }
 .reading-toc > p { width:100%; margin:0; }
 .reading-toc a { padding-block:8px; }
 .page-download .dl-cards,.page-editions .spatial-future-grid,.page-faq .spatial-faq-groups { grid-template-columns:1fr; }
 .page-download .dl-card { padding:20px 0; }
 .page-download .dl-req { min-height:0; }
 .page-editions .spatial-standard { display:block; padding:24px 0; }
 .page-editions .spatial-standard > ul { margin-block:22px; }
 .page-editions .spatial-standard > a { margin-top:0 !important; }
 .page-features .spatial-workflow-grid { grid-template-columns:1fr; gap:18px; }
 .page-features .mw-input-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-features .media-input-copy { padding:16px 0 0; }
 .page-features .media-input-copy p { font-size:16px; }
 .spatial-input-page .spatial-recipe { grid-template-columns:1fr; gap:24px; }
 .spatial-input-page .spatial-recipe-copy { padding:0; }
 .spatial-input-page .spatial-principles { gap:16px; }
 .spatial-input-page .spatial-principles > div { font-size:14px; }
 .page-docs .spatial-advice-grid > article { grid-template-columns:100px minmax(0,1fr); gap:0 18px; }
 .page-docs .spatial-advice-grid .spatial-art { height:110px; }
 .page-engine-guide .engine-guide h2 { font-size:25px; }
}
@media(max-width:540px) {
 .marketing-page .nav-inner { gap:10px; }
 .marketing-page .brand { font-size:17px; gap:8px; }
 .marketing-page .brand img { width:24px; height:24px; }
 .marketing-page .nav-actions .btn { padding-inline:12px; font-size:13px; }
 .marketing-page .nav-toggle { flex-shrink:0; margin-left:0; width:44px; height:44px; }
 .marketing-page .nav-toggle span { top:21px; }
 .marketing-page .nav-toggle::before { top:15px; }
 .marketing-page .nav-toggle::after { top:27px; }
 .page-features .mw-input-grid { grid-template-columns:1fr; }
 .page-docs .spatial-step-card { grid-template-columns:32px minmax(0,1fr); gap:0 14px; }
 .page-docs .spatial-step-card h2 { font-size:21px; }
 .section-jump { gap:4px 20px; }
}
@media(max-width:400px) {
 .marketing-page:lang(en) .nav-download-long { display:none; }
 .marketing-page:lang(en) .nav-download-short { display:inline; }
}
@media(max-width:360px) { .marketing-page .nav-inner { gap:8px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .marketing-page .reveal { opacity:1; transform:none; transition:none; } }
/* 移动端菜单与顶栏同一边距。 */
.marketing-page .site-nav .nav-panel { padding-inline:var(--page-gutter); }
/* 页脚：品牌与三组站点链接，底部是运营者；中国站备案号按规定居中位于最底部。 */
.marketing-page .site-footer { margin-top:24px; padding-block:56px 28px; border:0; background:#0c0f13; color:var(--dim-2); font-size:14px; line-height:1.6; }
.marketing-page .site-footer-main { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:40px clamp(40px,6vw,96px); padding-bottom:44px; }
.marketing-page .site-footer-brand { max-width:340px; }
.marketing-page .site-footer-logo { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--text); font-size:17px; font-weight:650; letter-spacing:-.02em; }
.marketing-page .site-footer-brand p { margin-top:6px; line-height:1.75; text-wrap:pretty; }
.marketing-page .site-footer-social { display:flex; gap:4px; margin:14px 0 0 -12px; }
.marketing-page .site-footer-social a { display:inline-grid; place-items:center; width:44px; height:44px; border-radius:8px; opacity:.8; transition:opacity 160ms ease,background-color 160ms ease; }
.marketing-page .site-footer-social a:is(:hover,:focus-visible) { opacity:1; background:#ffffff0d; }
.marketing-page .site-footer-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.marketing-page .site-footer-group h2 { margin-bottom:6px; color:var(--text); font-size:14px; font-weight:600; line-height:1.6; letter-spacing:0; }
.marketing-page .site-footer-group a { display:inline-flex; align-items:center; min-height:36px; padding-block:4px; line-height:1.45; transition:color 160ms ease; }
.marketing-page .site-footer-group a:hover { color:#fff; }
.marketing-page .site-footer-bottom { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 28px; padding-top:22px; border-top:1px solid var(--line); font-size:13px; }
.marketing-page .site-footer-filings { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 24px; flex-basis:100%; margin-top:12px; text-align:center; }
.marketing-page .site-footer-filings a { text-decoration:underline; text-underline-offset:2px; }
.marketing-page .site-footer-filings a:hover { color:#fff; }
@media(max-width:900px) { .marketing-page .site-footer-main { grid-template-columns:1fr; } }
@media(max-width:560px) {
 .marketing-page .site-footer { padding-block:40px 24px; }
 .marketing-page .site-footer-main { padding-bottom:32px; }
 .marketing-page .site-footer-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
}
/* 法律文本：左栏目录，右栏标题与正文；正文是法务归档的原文，版式只在外壳层。 */
.legal-layout { display:grid; grid-template-columns:minmax(200px,240px) minmax(0,1fr); grid-template-areas:"toc hero" "toc body"; column-gap:clamp(40px,5.5vw,88px); padding-block:48px 72px; }
.legal-hero { grid-area:hero; padding-bottom:32px; border-bottom:1px solid var(--line); }
.legal-hero .mw-kicker { margin-bottom:10px; }
.legal-hero h1 { font-size:clamp(32px,3.2vw,42px); font-weight:600; line-height:1.25; letter-spacing:-.025em; }
.legal-meta { margin-top:12px; color:var(--dim-2); font-size:14px; }
.legal-switch { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.legal-switch a { display:inline-flex; align-items:center; min-height:40px; padding:8px 14px; border-radius:8px; background:#ffffff07; color:var(--dim); font-size:14px; line-height:1.4; transition:color 160ms ease,background-color 160ms ease; }
.legal-switch a:hover { background:#ffffff14; color:#fff; }
.legal-switch a[aria-current="page"] { background:#ff790021; color:#ffc79a; }
.legal-toc { grid-area:toc; align-self:start; position:sticky; top:104px; }
.legal-toc summary { display:block; margin-bottom:12px; color:var(--dim-2); font-size:12px; line-height:1.5; letter-spacing:.07em; cursor:pointer; list-style:none; }
.legal-toc summary::-webkit-details-marker { display:none; }
.legal-toc ol { max-height:calc(100dvh - 160px); overflow-y:auto; border-left:1px solid var(--line); list-style:none; }
.legal-toc li a { display:block; margin-left:-1px; padding:7px 0 7px 16px; border-left:2px solid transparent; color:var(--dim-2); font-size:14px; line-height:1.5; transition:color 160ms ease,border-color 160ms ease; }
.legal-toc li a:hover { color:#fff; }
.legal-toc li a[aria-current="location"] { border-left-color:var(--orange); color:#fff; }
.legal-article { grid-area:body; min-width:0; }
.legal-body > :is(p,ul,ol,h2,h3) { max-width:40em; }
.legal-body h2 { margin:44px 0 14px; font-size:21px; font-weight:600; line-height:1.45; letter-spacing:-.01em; scroll-margin-top:104px; }
.legal-body > h2:first-child { margin-top:36px; }
.legal-body h3 { margin:28px 0 10px; font-size:17px; font-weight:600; }
.legal-body :is(p,li) { color:#c8ced7; font-size:16.5px; line-height:1.85; }
.legal-body p + p { margin-top:14px; }
.legal-body ul { display:grid; gap:10px; margin-top:12px; padding-left:1.3em; list-style:disc; }
.legal-body li::marker { color:var(--dim-2); }
.legal-body strong { color:var(--text); font-weight:600; }
.legal-body a { color:#ffc79a; text-decoration:underline; text-decoration-color:#ffc79a66; text-underline-offset:3px; }
.legal-body a:hover { text-decoration-color:currentColor; }
.legal-body table { width:100%; margin:20px 0 18px; border-collapse:collapse; font-size:15px; line-height:1.7; }
.legal-body th { padding:12px 16px; background:#ffffff08; color:var(--text); font-weight:600; text-align:left; vertical-align:bottom; }
.legal-body td { padding:16px; border-bottom:1px solid var(--line); color:#c8ced7; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.legal-body td:first-child { width:22%; color:var(--text); font-weight:550; }
.legal-contact { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:52px; padding-top:28px; border-top:1px solid var(--line); color:var(--dim); font-size:15px; }
@media(max-width:900px) {
 .legal-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"hero" "toc" "body"; padding-block:32px 56px; }
 .legal-hero { padding-bottom:24px; }
 .legal-toc { position:static; margin-top:20px; border-radius:10px; background:#ffffff07; }
 .legal-toc summary { display:flex; align-items:center; justify-content:space-between; min-height:48px; margin:0; padding:0 16px; color:var(--text); font-size:14px; letter-spacing:0; }
 .legal-toc summary::after { content:''; width:8px; height:8px; margin-top:-4px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform 160ms ease; }
 .legal-toc details[open] summary::after { margin-top:4px; transform:rotate(-135deg); }
 .legal-toc ol { max-height:none; margin:0 16px 14px; }
 .legal-body > h2:first-child { margin-top:28px; }
 .legal-body h2 { margin-top:36px; font-size:19px; }
 .legal-body :is(p,li) { font-size:16px; }
}
/* 窄屏上每一行表格成为一组，单元格前标出所属列。 */
@media(max-width:700px) {
 .legal-body :is(table,tbody,tr,td) { display:block; width:auto; }
 .legal-body thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .legal-body tr { padding:14px 0; border-bottom:1px solid var(--line); }
 .legal-body tr:first-child { border-top:1px solid var(--line); }
 .legal-body td { padding:6px 0; border:0; }
 .legal-body td:first-child { width:auto; font-size:16px; }
 .legal-body td:not(:first-child)::before { content:attr(data-label); display:block; margin-bottom:2px; color:var(--dim-2); font-size:12px; font-weight:500; letter-spacing:.04em; }
}
/* 联系页：邮箱为主要操作；右栏是公司信息与自助入口。 */
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,340px); column-gap:clamp(40px,7vw,120px); padding-block:48px 72px; }
.contact-intro { grid-column:1; }
.contact-intro h1 { font-size:clamp(32px,3.2vw,42px); font-weight:600; line-height:1.25; letter-spacing:-.025em; }
.contact-intro .spatial-intro { margin-top:14px; }
.contact-mail { margin-top:36px; }
.contact-mail .mw-kicker { margin-bottom:6px; }
.contact-mail-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.contact-mail-link { color:var(--text); font-size:clamp(24px,2.4vw,30px); font-weight:550; letter-spacing:-.01em; text-decoration:underline; text-decoration-color:var(--orange); text-decoration-thickness:2px; text-underline-offset:7px; overflow-wrap:anywhere; transition:color 160ms ease; }
.contact-mail-link:hover { color:#ffc79a; }
.marketing-page .contact-copy { cursor:pointer; font-family:inherit; }
.contact-topics { grid-column:1; margin-top:56px; padding-top:36px; border-top:1px solid var(--line); }
.contact-topics h2, .contact-aside h2 { color:var(--text); font-size:18px; font-weight:600; line-height:1.5; }
.contact-topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 36px; margin-top:22px; }
.contact-topic-grid h3 { color:var(--text); font-size:16px; font-weight:600; line-height:1.5; }
.contact-topic-grid p { margin-top:8px; color:var(--dim); font-size:15px; line-height:1.8; }
.contact-caution { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 16px; margin-top:32px; color:var(--dim); font-size:15px; }
.contact-caution a { color:#ffc79a; text-decoration:underline; text-decoration-color:#ffc79a66; text-underline-offset:3px; }
.contact-caution a:hover { text-decoration-color:currentColor; }
.contact-aside { grid-column:2; grid-row:1 / span 2; align-self:start; display:grid; gap:40px; padding-top:10px; }
.contact-aside p { margin-top:10px; color:var(--dim); font-size:15px; line-height:1.75; }
.contact-aside .contact-operator { margin-top:12px; color:var(--text); }
.contact-aside a[data-contact-phone] { color:var(--text); }
.contact-aside a[data-contact-phone]:hover { color:#ffc79a; }
.contact-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
@media(max-width:1000px) { .contact-topic-grid { grid-template-columns:1fr; gap:20px; } }
@media(max-width:760px) {
 .contact-layout { grid-template-columns:1fr; padding-block:32px 56px; }
 .contact-aside { grid-column:1; grid-row:auto; margin-top:48px; padding-top:36px; border-top:1px solid var(--line); }
 .contact-topics { margin-top:44px; }
}
