/* ==========================================================================
   pages2.css — 目录 2 参考稿页面（Contact / FAQ / 软件 / 支持 / L3 产品详情）
   来源：源文件/20260809新主题/2/assets/{media-dealers,support,catalog}.css
   基础（:root/字体/全局）由 theme.css 提供；外壳（nav/footer/grain/wrap）
   由 pages.css 提供（本文件在其后加载，.page-hero 等同名规则以本文件为准）。
   ========================================================================== */

/* 2026-10-09 客户要求：窄屏下页面内容要能随移动端界面缩放。
   theme.css 的移动端 --wrap 覆盖会被 pages.css 的 :root{--wrap:1160px} 顶掉（同特异性，后加载者胜），
   所以下列容器不能只写 width:var(--wrap)，须带视口下限 min(var(--wrap),100% - 40px)：
   ≥1200px 时与原来逐像素一致，窄屏时改由视口决定宽度（与 pages2.css:29 页头写法统一）。
   不去改 --wrap 变量本身——那会连带收窄 L2/Press/About 等已定稿页面（它们用的是 max-width，不受影响）。 */
.kicker{font:10px 'DM Mono';letter-spacing:.14em;color:var(--yellow)}

/* ---- page-hero（ghost 大字） ---- */
.page-hero{min-height:68svh;padding:160px max(32px,calc((100vw - 1320px)/2)) 75px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden;border-bottom:0;background:radial-gradient(ellipse at 75% 45%,#8776463c,transparent 40%),#19191a}
.page-hero:after{content:attr(data-ghost);position:absolute;right:-20px;bottom:5%;font:700 clamp(90px,16vw,240px) Switzer;color:#ffffff05;letter-spacing:-.08em;white-space:nowrap}
.page-hero h1{font-size:clamp(60px,9vw,132px);line-height:.86;letter-spacing:-.08em;font-weight:500;margin:24px 0}
.page-hero p{max-width:620px;font-size:14px;line-height:1.9;color:#d9d7cd}

/* 2026-08-25 客户要求：Contact 页头文字的字形/排版/大小对齐 L2 产品页头（pages.css .page-hero 文字规格）
   2026-08-31 客户要求：FAQ 页头同款排版/配色/句式（灰小标签 + 中号标题 + 浅灰简介） */
.page-hero[data-ghost="CONTACT"],.page-hero[data-ghost="FAQ"]{min-height:0;justify-content:flex-start;padding:158px 0 86px;border-bottom:1px solid var(--line)}
.page-hero[data-ghost="CONTACT"] .kicker,.page-hero[data-ghost="FAQ"] .kicker{font-family:"Switzer",sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:#83857f;margin-bottom:20px}
.page-hero[data-ghost="CONTACT"] h1,.page-hero[data-ghost="FAQ"] h1{font-family:"Switzer",sans-serif;font-weight:600;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1;letter-spacing:-.03em;color:#f2f1ee;margin:0}
/* em 强调段扶正 + 淡黄：双保险（pages.css 旧缓存缺 .page-hero h1 em 规则时仍生效） */
.page-hero[data-ghost="CONTACT"] h1 em,.page-hero[data-ghost="FAQ"] h1 em{font-style:normal;color:#ffffbf}
.page-hero[data-ghost="CONTACT"] p,.page-hero[data-ghost="FAQ"] p{max-width:560px;font-size:1.12rem;font-weight:300;line-height:1.75;color:#bcbdb8;margin:26px 0 0;text-wrap:balance}
body.lang-zh .page-hero[data-ghost="CONTACT"] .kicker,body.lang-zh .page-hero[data-ghost="FAQ"] .kicker{letter-spacing:.06em;text-transform:none}
/* 2026-09-05 客户要求：Contact/FAQ 页头文字与下方内容容器左对齐。
   .page-hero 为 flex 竖列，.wrap 横向 auto 外边距会使其收缩为内容宽并居中（flex 规范中 auto margin 优先于 stretch），
   文字块因此整体居中；显式定宽并去掉内补，与 .contact-layout / .faq-layout（均 width:var(--wrap)）左边线对齐；
   min() 第二参保证窄屏不超出视口（参考页 --wrap 为固定 1160px）。 */
.page-hero[data-ghost="CONTACT"] .wrap,.page-hero[data-ghost="FAQ"] .wrap{width:min(var(--wrap),100% - 40px);padding:0}

/* ---- article-hero（FAQ 等文章式头部） ---- */
.article-hero{padding:170px max(32px,calc((100vw - 1120px)/2)) 70px;background:#202021}
.article-hero h1{font-size:clamp(48px,7.5vw,108px);line-height:.93;letter-spacing:-.07em;font-weight:500;margin:30px 0}
.article-deck{font-size:17px;line-height:1.75;color:#d8d6cc;max-width:760px}

/* ========================= 软件页 ========================= */
.software-stage{width:min(var(--wrap),100% - 40px);margin:-25px auto 100px;position:relative;z-index:4;display:grid;grid-template-columns:1fr 1fr;background:#29292a;border:1px solid var(--line)}
.software-visual{min-height:620px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 48%,#8d7ba84a,transparent 38%),#121214;display:grid;place-items:center}
.software-visual img{width:88%;height:88%;object-fit:contain;position:relative;z-index:2}
.software-visual:before,.software-visual:after{content:'';position:absolute;border:1px solid #f5f0b04b;border-radius:50%;width:58%;aspect-ratio:1;animation:supportPulse 3s ease-out infinite}
.software-visual:after{width:76%;animation-delay:1.4s}
.software-copy{padding:clamp(38px,6vw,80px);display:flex;flex-direction:column;justify-content:center}
.software-copy h2{font-size:clamp(48px,6vw,84px);line-height:.92;letter-spacing:-.07em;margin:25px 0}
.version{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin:35px 0}
.version div{background:#29292a;padding:15px}
.version small{display:block;color:#888;font:8px 'DM Mono';margin-bottom:7px}
.version b{font:11px 'DM Mono';font-weight:400}
.download-demo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;background:var(--yellow);color:#222;border:0;font:10px 'DM Mono';letter-spacing:.1em;text-decoration:none;cursor:not-allowed}
.download-demo.enabled{cursor:pointer;transition:.3s}
.download-demo.enabled:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(245,240,176,.22)}
.demo-warning{margin-top:14px;color:#aaa;font-size:11px;line-height:1.6}

.support-section{padding:110px 32px;background:#232324}
.support-wrap{width:min(var(--wrap),100% - 40px);margin:auto}
.support-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}
.support-head h2{font-size:clamp(46px,6vw,82px);letter-spacing:-.065em;margin:18px 0 0}
.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.capability{min-height:320px;background:#2c2c2d;padding:28px;display:flex;flex-direction:column}
.capability .num{font:9px 'DM Mono';color:var(--yellow)}
.capability h3{font-size:27px;letter-spacing:-.04em;margin:45px 0 14px}
.capability p{font-size:12px;line-height:1.75;color:#bbb;margin:0}
.capability span:last-child{margin-top:auto;font:8px 'DM Mono';color:#777}
.compatibility{width:100%;border-collapse:collapse}
.compatibility th,.compatibility td{padding:21px;text-align:left;border-top:1px solid var(--line);font-size:12px}
.compatibility th{font:9px 'DM Mono';color:var(--yellow);letter-spacing:.08em}
.compatibility td:not(:first-child){text-align:center}
.yes{color:var(--yellow)}
.release-list{display:grid;gap:1px;background:var(--line)}
.release{background:#2b2b2c;padding:25px;display:grid;grid-template-columns:150px 1fr auto;gap:25px;align-items:center}
.release b{font:18px 'DM Mono';font-weight:400}
.release p{font-size:12px;color:#aaa;margin:0}
.release span{font:8px 'DM Mono';color:var(--yellow)}
@keyframes supportPulse{0%{opacity:.65;transform:scale(.55)}100%{opacity:0;transform:scale(1.15)}}

/* ========================= 联系页 ========================= */
.contact-layout{width:min(var(--wrap),100% - 40px);margin:-25px auto 120px;position:relative;z-index:4;display:grid;grid-template-columns:.58fr 1.42fr;border:1px solid var(--line);background:#29292a}
.contact-types{padding:35px;border-right:1px solid var(--line)}
.contact-types h2{font-size:34px;letter-spacing:-.04em;margin:20px 0 28px}
.type-list{display:grid;gap:7px}
.type-button{border:1px solid var(--line);background:transparent;color:#ddd;padding:16px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;font-size:12px}
.type-button:hover,.type-button.active{border-color:var(--yellow);color:var(--yellow);background:#f5f0b009}
.type-button small{font:8px 'DM Mono';opacity:.65}
.contact-note{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:#999}
.contact-form{padding:clamp(35px,5vw,70px)}
.form-title{display:flex;justify-content:space-between;align-items:start;margin-bottom:35px}
.form-title h2{font-size:45px;letter-spacing:-.05em;margin:0}
.form-title span{font:9px 'DM Mono';color:var(--yellow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:grid;gap:9px}
.field.full{grid-column:1/-1}
.field label,.product-choice>label{font:9px 'DM Mono';letter-spacing:.08em;color:#aaa}
.field input,.field select,.field textarea{width:100%;background:#1d1d1e;border:1px solid var(--line);color:#eee;padding:14px;outline:none;font:13px inherit}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--yellow)}
.field textarea{min-height:150px;resize:vertical}
.conditional{display:contents}
.conditional[hidden]{display:none}
.product-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.product-options label{border:1px solid var(--line);padding:11px 13px;font-size:11px;cursor:pointer}
.product-options label:has(input:checked){border-color:var(--yellow);color:var(--yellow)}
.product-options input{width:auto;margin-right:6px}
.consent{display:flex;gap:10px;align-items:start;font-size:11px;color:#aaa;line-height:1.6}
.consent input{width:auto;margin-top:3px}
.submit-button{grid-column:1/-1;border:0;background:var(--yellow);color:#222;padding:18px;font:10px 'DM Mono';letter-spacing:.12em;cursor:pointer;transition:.3s}
.submit-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(245,240,176,.22)}
.form-error{grid-column:1/-1;color:#f0a89a;font-size:11px;min-height:16px}
.form-notice{grid-column:1/-1;color:var(--yellow);font-size:11px;min-height:16px}
.success-panel{display:none;min-height:520px;place-items:center;text-align:center}
.success-panel.visible{display:grid}
.success-panel h2{font-size:58px;letter-spacing:-.06em;margin:20px 0}
.success-panel p{color:#aaa;line-height:1.7}
.success-id{display:inline-block;margin:25px 0;padding:12px;border:1px solid var(--yellow);color:var(--yellow);font:10px 'DM Mono'}

/* ========================= 支持中心 ========================= */
.support-search{width:min(var(--wrap),100% - 40px);margin:-25px auto 70px;position:relative;z-index:4;display:grid;grid-template-columns:1fr auto;background:#303031;border:1px solid var(--line)}
.support-search input{background:transparent;border:0;color:#eee;padding:22px;font-size:14px;outline:none}
.support-search button{border:0;border-left:1px solid var(--line);background:var(--yellow);color:#222;padding:0 28px;font:9px 'DM Mono';cursor:pointer}
.support-cards{width:min(var(--wrap),100% - 40px);margin:0 auto 110px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.support-card{min-height:360px;padding:38px;background:#2b2b2c;display:flex;flex-direction:column;transition:.35s}
.support-card:hover{background:#333334}
.support-card .index{font:9px 'DM Mono';color:var(--yellow)}
.support-card h2{font-size:clamp(38px,5vw,66px);letter-spacing:-.06em;margin:45px 0 16px}
.support-card p{max-width:480px;color:#bdbbb1;line-height:1.75;font-size:13px}
.support-card span:last-child{margin-top:auto;font:9px 'DM Mono';color:var(--yellow)}

/* ========================= FAQ ========================= */
.faq-layout{width:min(var(--wrap),100% - 40px);margin:70px auto 120px;display:grid;grid-template-columns:280px 1fr;gap:70px}
.side-index{position:sticky;top:110px;align-self:start}
.side-index h3{font-size:13px;margin:0 0 22px}
.side-index a{display:block;padding:12px 0;border-top:1px solid var(--line);font:9px 'DM Mono';color:#aaa}
.side-index a:hover{color:var(--yellow)}
.faq-group{margin-bottom:80px;scroll-margin-top:100px}
.faq-group h2{font-size:clamp(38px,5vw,64px);letter-spacing:-.06em;margin:0 0 30px}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{padding:22px 45px 22px 0;cursor:pointer;font-size:14px;position:relative;list-style:none}
.faq-item summary:after{content:'+';position:absolute;right:10px;color:var(--yellow)}
.faq-item[open] summary:after{content:'−'}
.faq-item p{padding:0 35px 25px 0;color:#bbb;font-size:13px;line-height:1.85;margin:0}
/* 扶正双保险：若站上有主题外样式（如后台「额外 CSS」/插件注入）把 FAQ 正文变斜，强制恢复正体 */
.faq-layout h2,.faq-layout h3,.faq-item summary{font-style:normal!important}

/* ========================= L3 产品详情 ========================= */
/* 0918-004 客户要求：L3 的等宽小字（DM Mono）换成首页 .label 的字形。首页 home.css 只在首页加载，
   因此这里内联等效声明（Switzer / 500 / 大写），字号、行距、字距、配色一律沿用 L3 原值。
   .kicker 基础规则与 Contact/软件/支持 共用，故只限定在 L3 的三个区块内。 */
.detail-hero .kicker,.gallery-head .kicker,.spec-section .kicker{font-family:"Switzer",sans-serif;font-weight:500;text-transform:uppercase}

/* 整屏场景图（0918-003 客户最终口径）：首屏图满幅铺满整屏，文案直接压在图上，不再有任何文字底块或渐变遮罩 */
.detail-hero{min-height:100svh;padding:clamp(120px,15vh,190px) 0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;position:relative;overflow:hidden;background:#171718}
.detail-hero .hero-copy{position:relative;z-index:3;padding:clamp(56px,8vh,92px) clamp(30px,4.5vw,90px)}
/* 标题字号收敛、行距放宽（双词产品名换行不贴行）；不再追加标题黄点 */
.detail-hero h1{font-size:clamp(46px,7.2vw,104px);line-height:1.05;letter-spacing:-.04em;font-weight:500;margin:25px 0 18px}
.detail-hero p{max-width:430px;color:#d9d7cc;line-height:1.9;font-size:14px}
.hero-product{position:absolute;inset:0;z-index:1;overflow:hidden;background:#171718}
.hero-product img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:productIn 1.2s cubic-bezier(.16,1,.3,1)}
/* 入场为「由略放大落到铺满」：若用 scale(.9) 会在动画期间从视口边缘缩开、露出深色底 */
@keyframes productIn{from{opacity:0;filter:blur(14px);transform:scale(1.06)}}
.detail-actions{display:flex;gap:20px;margin-top:30px}
.detail-actions a{font:500 10px "Switzer",sans-serif;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--yellow);padding:10px 0}
.card-specs{display:flex;flex-wrap:wrap;gap:7px}
.card-specs span{padding:7px 9px;border:1px solid var(--line);font:500 8px "Switzer",sans-serif;text-transform:uppercase;letter-spacing:.08em}

/* 0918-001 客户要求：黄底黑字改为效果图的浅灰底 + 深色字；口号里 | 之后的尾句用强调色（em 须显式扶正，避免浏览器默认斜体）
   0918-005 客户要求：这层灰仍偏浅，按原图再压深一档（#edeae5 → #e0ddd6，明度约 -6%），深色正文与淡黄尾句对比度不受影响
   0928-001 客户要求：底色改为 rgb(86,91,94)（#565b5e，中性冷灰，明度约 40%）。
   这一档已属中深灰，原先的深色字（实测对比：标题 #191714 2.60:1、正文 #484845 仅 1.33:1）在其上几乎看不清，
   故随底色同批把文字翻转为浅色（实测对比：标题 #f2f1ee 6.09:1、淡黄尾句 #f5f0b0 5.89:1、正文 #d9d7cd 4.77:1），版式与字号一律未动。
   本区自带 background/color，day 模式（html[data-theme="day"]）无需另加覆盖。
   20261009-003 客户要求把标题字间距拉大（原 -.07em 与规格区标题同为全页最紧的一档，92px 下每对字符 -6.44px，反馈「几乎贴紧」）改为 -.02em；
   刻意比同页其它大标题（首屏 / 图文 / Gallery 均 -.04em）更松，别顺手「统一」回去。字号、行距、配色一律未动。
   390px 窄屏这一行会由 1 行变为居中的 2 行（实测 40px 字号下单行固有宽 319.73 → 363.73px，超出窄屏可用宽度 100vw-40px），客户已确认接受；回归对拍见 tools/statement-tracking-check.js。 */
.chapter-statement{padding:clamp(110px,15vw,220px) 32px;text-align:center;background:rgb(86, 91, 94);color:#f2f1ee}
.chapter-statement h2{max-width:1050px;margin:auto;font-size:clamp(40px,6.5vw,92px);line-height:1.05;letter-spacing:-.02em;font-weight:500}
.chapter-statement h2 em{font-style:normal;color:var(--yellow)}
.chapter-statement p{max-width:680px;margin:40px auto 0;line-height:1.9;color:#d9d7cd}

.features{background:#242425}
/* 满幅版式：文案与图片各占半屏，图片上下顶满整行、外缘贴视口边缘，两列之间无间距 */
.feature{min-height:82svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;border-bottom:1px solid var(--line)}
.feature:nth-child(even) .feature-copy{order:2}
/* 后台「图文方向」字段（产品编辑页 > 产品详情内容模块）：未配置时仍走上面的奇偶交替 */
/* DOM 顺序为文案→图片，故图片在左需把媒体排到前面 */
.feature.feature--image-left .feature-media{order:1}
.feature.feature--image-left .feature-copy{order:2}
.feature.feature--image-right .feature-copy{order:1}
.feature.feature--image-right .feature-media{order:2}
.feature-copy{padding:clamp(70px,9vw,150px) clamp(30px,4.5vw,90px)}
.feature-copy .num{font:500 10px "Switzer",sans-serif;text-transform:uppercase;color:var(--yellow);letter-spacing:.12em}
/* 特点模块标题行距/字距放宽（双词标题换行不贴行，与首屏标题一致） */
.feature-copy h2{font-size:clamp(44px,6vw,80px);line-height:1.08;letter-spacing:-.04em;font-weight:500;margin:24px 0}
.feature-copy p{color:#d5d3c8;line-height:1.9;font-size:14px;max-width:480px}
/* 图片不再自定高度：随整行拉伸并绝对铺满容器，由 object-fit 裁切 */
.feature-media{align-self:stretch;overflow:hidden;background:#181818;position:relative}
.feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:1.2s cubic-bezier(.16,1,.3,1)}
.feature-media:hover img{transform:scale(1.045)}
/* 0929-005 客户要求：「页签规格」切页签时同步换图。多张图沿用上面那条绝对定位叠在同一格里，
   高度由整行（min-height:82svh）决定、与每张图各自的比例无关，所以换图不会造成版面跳动。
   默认只显示第一张：不支持 :has() 的浏览器会一直停在第一张，等同改造前「整组页签共用一张」的表现。 */
.feature-media--stack .feature-media__img{opacity:0;transition:transform 1.2s cubic-bezier(.16,1,.3,1),opacity .4s ease}
.feature-media--stack .feature-media__img:first-child{opacity:1}
/* 全宽图片模块（后台「产品详情内容模块」选「全宽图片」）：整张切图满幅铺满视口宽度，按原比例展示不裁切 */
.feature-full{border-bottom:1px solid var(--line)}
.feature-full>img{display:block;width:100%;height:auto}
/* 说明文案（选填）：复用 .feature-copy 的字重/配色，只改为容器宽度与上下留白 */
.feature-full__caption{width:min(var(--wrap),100% - 40px);margin:0 auto;padding:45px 0 65px}

/* 0928-001 客户要求：L3「页签规格」模块（参考 Amiiba_Ferra_Module_05_Editable_Text.psd）
   版式沿用图文模块（左文案 / 右半屏图），只在描述下方插入一组页签 + 页签内容。
   切换为纯 CSS：DOM 顺序是「单选框 → 页签名 → 内容面板」三者相邻，
   故用 :checked + 相邻选择器命中当前页，页签数量不限、无需 JS、也不会因脚本未加载而失效。
   单选框绝对定位（不占位、仍可键盘聚焦），页签与面板靠 flex order 分组，
   所以页签栏整体显示在内容上方，而 DOM 里两者是交错的。 */
.tabset{position:relative;display:flex;flex-wrap:wrap;width:100%;max-width:520px;margin-top:34px}
.tabset__radio{position:absolute;top:0;left:0;width:1px;height:1px;margin:0;opacity:0}
/* 页签栏：页签按自身宽度从左排开（间距=右内边距），其后 .tabset__rule 撑满整行剩余宽度，
   与页签的下边框拼成一条通到文案右边缘的细线；选中页签的黄色下划线画在内层 span 上，
   长度正好等于文字宽度，且与灰线同一条基线（内层 span 的 12px 下内边距把它顶到边框处）。 */
.tabset__tab{order:1;flex:0 1 auto;text-align:left;padding-right:clamp(16px,2.4vw,30px);cursor:pointer;white-space:nowrap;
  font:600 12px/1.2 "Switzer","Noto Sans SC",sans-serif;letter-spacing:.1em;text-transform:uppercase;
  color:#8b8b87;border-bottom:1px solid #ffffff2e;transition:color .2s}
.tabset__rule{order:2;flex:1 1 0;align-self:flex-end;height:0;border-top:1px solid #ffffff2e}
.tabset__tab>span{display:inline-block;padding-bottom:12px}
.tabset__tab:hover{color:#d5d3c8}
.tabset__radio:checked + .tabset__tab{color:var(--yellow)}
.tabset__radio:checked + .tabset__tab>span{box-shadow:inset 0 -2px 0 var(--yellow)}
.tabset__radio:focus-visible + .tabset__tab{outline:1px solid var(--yellow);outline-offset:3px}
.tabset__panel{order:3;flex:1 1 100%;display:none;padding-top:34px}
.tabset__radio:checked + .tabset__tab + .tabset__panel{display:block}
.tabset__heading{margin:0 0 18px;font:700 15px/1.35 "Switzer","Noto Sans SC",sans-serif;
  letter-spacing:.06em;text-transform:uppercase;color:var(--yellow)}
.tabset__list{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.tabset__list li{position:relative;padding-left:16px;font-size:14px;line-height:1.75;color:#d5d3c8}
.tabset__list li:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:#d5d3c8}
@media(max-width:760px){
  .tabset{margin-top:26px}
  .tabset__tab{font-size:11px;letter-spacing:.06em}
  .tabset__panel{padding-top:24px}
}

/* 0918-001 客户要求（整版轮播）：图片带满幅贴住视口左右边缘、铺浅灰底 */
/* 2026-10-08 客户要求标题与上方特点模块文字左对齐：弃用居中 --wrap，改用与 .feature-copy 相同的左内补公式 */
.gallery{padding:120px 0 0;background:#19191a}
.gallery-head{display:flex;justify-content:space-between;align-items:end;padding:0 clamp(30px,4.5vw,90px);margin:0 0 35px}
/* Gallery 标题字距与 L3 其他标题（首屏/特点模块）统一放宽到 -.04em */
.gallery-head h2{font-size:clamp(48px,7vw,94px);letter-spacing:-.04em;margin:18px 0 0}
/* 轨道：一屏 3 张 4:5 竖图 + 右侧自然露出下一张（除以 3.15 而非 3） */
.gallery-track{--gallery-gap:clamp(10px,1.2vw,28px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;background:#e8e8e8}
.gallery-track::-webkit-scrollbar{display:none}
/* rail 定宽 100%：让子项的百分比基准始终等于视口宽，图片按 4:5 排布后超出部分形成横向滚动区。 */
.gallery-rail{width:100%;display:flex;gap:var(--gallery-gap)}
/* 0919-004 客户要求：图片带要「一直不停止」地匀速横向滚动（marquee），不靠滚动也不一格一格切换。
   脚本会先把整组图片复制若干份首尾相接，再给 rail 加等距循环的 translate 动画；
   此模式下轨道不再允许横向滚动与吸附，否则拖动和动画会互相抢位置。
   位移距离 / 时长由脚本按当前屏宽写入两个变量（时长 = 距离 ÷ 固定像素速度，所以任何屏宽下的移动速度一致）。 */
.gallery-track.is-marquee{overflow:hidden;scroll-snap-type:none}
.gallery-track.is-marquee .gallery-rail{animation:amiiba-gallery-marquee var(--gallery-marquee-duration,60s) linear infinite;will-change:transform}
@keyframes amiiba-gallery-marquee{to{transform:translate3d(calc(-1 * var(--gallery-marquee-distance,0px)),0,0)}}
.gallery-slide{flex:0 0 calc((100% - var(--gallery-gap) * 2) / 3.15);scroll-snap-align:start;aspect-ratio:4/5;overflow:hidden;background:#dcdcdc}
.gallery-slide img{width:100%;height:100%;object-fit:cover;transition:.8s}
.gallery-slide:hover img{transform:scale(1.04)}

.spec-section{padding:110px 32px;background:#303031;scroll-margin-top:60px}
.spec-wrap{width:min(980px,calc(100vw - 64px));margin:auto}
.spec-wrap h2{font-size:clamp(48px,7vw,88px);letter-spacing:-.07em;margin:20px 0 50px}
.spec-row{display:grid;grid-template-columns:220px 1fr;gap:30px;padding:24px 0;border-top:1px solid var(--line)}
.spec-row dt{font:500 10px "Switzer",sans-serif;text-transform:uppercase;color:var(--yellow);letter-spacing:.1em}
.spec-row dd{margin:0;color:#e2e0d5;line-height:1.7}

.next-products{display:grid;grid-template-columns:1fr 1fr}
.next-card{min-height:390px;padding:45px;position:relative;overflow:hidden;display:flex;align-items:end}
.next-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;transition:.8s}
.next-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#111e)}
.next-card:hover img{transform:scale(1.05);opacity:.65}
/* 预热产品（后台关闭可点击进入）：不带 href 的推荐卡片只展示，无指针、悬停不放大 */
a.next-card:not([href]){cursor:default}
a.next-card:not([href]):hover img{transform:none;opacity:.45}
.next-copy{position:relative;z-index:2}
.next-copy span{font:500 9px "Switzer",sans-serif;text-transform:uppercase;color:var(--yellow)}
.next-copy h3{font-size:48px;margin:12px 0 0}

.reveal{opacity:0;transform:translateY(35px);transition:.8s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}

/* ========================= 响应式 ========================= */
@media(max-width:850px){
    .software-stage,.contact-layout{grid-template-columns:1fr}
    .software-visual{min-height:440px}
    .capability-grid{grid-template-columns:1fr 1fr}
    .release{grid-template-columns:1fr}
    .contact-types{border-right:0;border-bottom:1px solid var(--line)}
    .type-list{grid-template-columns:1fr 1fr}
    .form-grid{grid-template-columns:1fr}
    .field.full,.submit-button,.form-error,.form-notice{grid-column:auto}
}
@media(max-width:760px){
    .support-cards{grid-template-columns:1fr}
    .support-card{min-height:300px}
    .faq-layout{grid-template-columns:1fr;gap:35px}
    .side-index{position:static}
    .support-search{grid-template-columns:1fr}
    .support-search button{padding:17px;border-left:0;border-top:1px solid var(--line)}
    .page-hero{padding:130px 20px 60px}
    .article-hero{padding:130px 24px 55px}
    .detail-hero{grid-template-columns:1fr;padding:120px 0 0;min-height:auto}
    .detail-hero .hero-copy{padding:0 20px}
    .detail-hero h1{font-size:13.5vw}
    /* 移动端首屏图改成「按原比例完整显示」（2026-10-08 客户要求全图显示）：
       原来是 48vh 定高 + cover，比容器更宽的横图（含未单设首屏时的颜色组首图）上下被裁掉。
       图片回到静态流式后，容器高度由图片自己撑出来，桌面端规则不受影响。 */
    .hero-product{position:relative;inset:auto;height:auto}
    .hero-product img{position:static;width:100%;height:auto}
    .chapter-statement{padding:100px 20px}
    .feature,.feature:nth-child(even){grid-template-columns:1fr;padding:75px 0;gap:35px;min-height:auto}
    .feature:nth-child(even) .feature-copy{order:0}
    /* 移动端单列：忽略图文方向，保持文案在上、图片在下 */
    .feature.feature--image-left .feature-copy,.feature.feature--image-right .feature-copy{order:0}
    .feature.feature--image-left .feature-media,.feature.feature--image-right .feature-media{order:0}
    .feature-copy{padding:0 20px}
    .feature-full__caption{padding:35px 20px 55px}
    .feature-media{height:52vh}
    .gallery{padding:85px 0 0}
    .gallery-head{padding:0 20px;margin-bottom:28px}
    .gallery-track{--gallery-gap:10px}
    .gallery-slide{flex:0 0 66%}
    .spec-section{padding:85px 20px}
    .spec-wrap{width:100%}
    .spec-row{grid-template-columns:1fr;gap:12px}
    .next-products{grid-template-columns:1fr}
    .next-card{min-height:300px}
}
@media(max-width:540px){
    .support-section{padding:80px 20px}
    .capability-grid,.type-list{grid-template-columns:1fr}
    .software-copy,.contact-form{padding:30px}
    .version{grid-template-columns:1fr}
    .compatibility{font-size:10px}
    .compatibility th,.compatibility td{padding:14px 8px}
    .form-title h2{font-size:36px}
}
@media(prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none}
    .hero-product img{animation:none}
    .software-visual:before,.software-visual:after{animation:none}
}

/* ========================= 白天模式专项（2026-08-23 客户 PPT） =========================
   本页各区块背景为硬编码深色（#19191a/#29292a 等），日夜切换不变背景；
   但标题类元素未写 color，继承 pages.css body 的 var(--cloud)，白天变深后在深色面板上不可见，
   故白天模式统一定为浅色 #f2f1ee。
   2026-09-08 客户要求：FAQ 内容区背景非硬编码深色（白天为浅底），.faq-group h2 / .side-index h3 移出浅色名单，
   恢复继承正文文字色——白天深色（与问题行小字同色）、夜间浅色。
   2026-09-08 客户反馈：L3 顶部 .detail-actions a（Explore features ↓ / View specs ↓）与 .card-specs span（标签芯片）
   未写 color，继承 body 的 var(--cloud)，白天变深后压在硬编码深色 hero（#171718）上不可见，一并加入浅色名单。 */
html[data-theme="day"] .page-hero[data-ghost] h1,
html[data-theme="day"] .article-hero h1,
html[data-theme="day"] .contact-types h2,
html[data-theme="day"] .form-title h2,
html[data-theme="day"] .success-panel h2,
html[data-theme="day"] .software-copy h2,
html[data-theme="day"] .support-head h2,
html[data-theme="day"] .capability h3,
html[data-theme="day"] .support-card h2,
html[data-theme="day"] .version b,
html[data-theme="day"] .release b,
html[data-theme="day"] .feature-copy h2,
html[data-theme="day"] .gallery-head h2,
html[data-theme="day"] .spec-wrap h2,
html[data-theme="day"] .next-copy h3,
html[data-theme="day"] .detail-actions a,
html[data-theme="day"] .card-specs span,
html[data-theme="day"] .detail-hero h1{color:#f2f1ee}

/* D4：FAQ 左侧索引文字改为与右侧一致的深色（白天为浅色底） */
html[data-theme="day"] .side-index a{color:#201d18}
html[data-theme="day"] .side-index a:hover{color:#4d4a44}
