/* 2026-10-23 v3 定稿（最终样式层）：贴参考图强化立体感 + 底色对角渐变 + 标志 48px 底对齐。
   叠加在 ice.css + glow-v3 之后加载；替换同日早先的 v2 覆盖层。 */
:root{
  --shadow:#7ca7cf; --light:#ffffff; --surface:var(--panel-face,#f1f7fd);
  --raised:15px 16px 34px #7ca7cf,-13px -13px 28px #ffffff;
  --small:8px 9px 18px #7aa5cc,-8px -8px 16px #ffffff;
  --inset:inset 8px 9px 20px #8ab0cf,inset -7px -7px 16px #fdfeff;
  --line:#bfd9ea;
  --surface-inset:#e9f4fb;
  --control-raised:6px 7px 16px #7ca7cf,-6px -6px 12px #ffffff,inset 0 1px 1px #ffffffaa;
  --control-inset:inset 4px 5px 12px #87add0,inset -4px -4px 10px #fdfeff;
  --frame-raised:12px 13px 30px #79a5cc,-9px -9px 24px #fdfeff;
}
body{background:linear-gradient(160deg,#e3f1fa,#eaf5fb)}
/* 标志：48px 原生尺寸，底对齐（logo 坐在两行文字底边上） */
:root{--brand-gap:12px}
.site-header .brand,.footer-brand{align-items:flex-end}
.site-header .brand-logo{width:48px;height:48px;opacity:1;transform:translateY(1px)}
.footer-brand .brand-logo{width:40px;height:40px;opacity:1}
/* 页脚品牌块与内页统一：同款玻璃芯片（内页基准样式来自 .subpage .brand） */
.footer-brand{align-items:center;font-size:16px;min-height:0;background:linear-gradient(145deg,#fdfeff,#eef6fd);border-radius:18px;padding:9px 22px 9px 11px;box-shadow:8px 9px 20px #9dbfda99,-7px -7px 16px #fdfeff,inset 0 0 0 1px #ffffff90}
.site-header .brand{min-height:56px}
@media(max-width:640px){.brand-logo{width:40px;height:40px}}
/* glow-v3 写死内凹色同步加强（圆环、环芯）；2026-10-24 底色提亮后圆盘同步去灰：
   外轨道收窄为浅蓝凹槽，环内大盘推近纯白，紫环与产品的投影减淡避免灰罩 */
.media-home .stage-ring{background:linear-gradient(145deg,#f3f9fd,#ecf5fb);box-shadow:inset 6px 7px 16px #cddfee,inset -6px -6px 15px #feffff,5px 6px 14px #7ca7cf38}
.media-home .stage-ring>div{background:linear-gradient(145deg,#feffff,#f8fbfe);box-shadow:inset 2px 3px 8px #cfe0f040,inset -2px -3px 8px #feffffcc}
.media-home .stage-ring:before{box-shadow:0 0 5px #9562d226,3px 4px 10px #b875df38}
.product-cutout{filter:drop-shadow(8px 14px 10px #b3c4d645)}

/* ---- Hero 大字海报版（候选 C 定稿）：介绍原文保留，CTA 全新拟物化 ---- */
.hero h1{letter-spacing:0}
.hero h1 .accent{background:linear-gradient(115deg,#3567d0,#4fb7d8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-actions .primary-button{background:linear-gradient(145deg,#fdfeff,#eef6fd);color:var(--ink);box-shadow:8px 9px 20px #9dbfda,-7px -7px 16px #fdfeff,inset 0 0 0 1px #ffffff90;gap:16px}
.hero-actions .primary-button svg{stroke:#3567d0}
.hero-actions .primary-button:hover{transform:translateY(-4px);box-shadow:13px 15px 30px #8fb4d8,-10px -10px 22px #fdfeff,inset 0 0 0 1px #ffffff90}
.hero-actions .primary-button:active{transform:translateY(1px);box-shadow:inset 4px 5px 11px #87add0,inset -4px -4px 10px #fdfeff}
.media-home .video-button .play-icon{background:linear-gradient(145deg,#fdfeff,#f0f7fd);box-shadow:7px 8px 18px #9dbfda,-6px -6px 14px #fdfeff,inset 0 0 0 1px #ffffff90}
.media-home .video-button .play-icon svg{fill:#3567d0}

/* ---- 浮起质感补齐（2026-10-24）：裸文字区全部上浮为面板 ---- */
/* 1. 品牌区浮起胶囊 */
.site-header .brand{background:linear-gradient(145deg,#fdfeff,#eef6fd);border-radius:18px;padding:9px 22px 9px 11px;min-height:0;box-shadow:8px 9px 20px #9dbfda99,-7px -7px 16px #fdfeff,inset 0 0 0 1px #ffffff90}
/* 2. 导航逐项浮起 chip，当前页内凹（按下态） */
.nav-links{gap:12px}
.nav-links a{padding:11px 18px;border-radius:14px;background:linear-gradient(145deg,#fdfeff,#eef6fd);box-shadow:6px 7px 15px #9dbfda73,-5px -5px 12px #fdfeff,inset 0 0 0 1px #ffffff85;transition:transform .22s ease,box-shadow .22s ease}
.nav-links a:hover{color:var(--accent);transform:translateY(-2px);box-shadow:9px 10px 22px #9dbfdaaa,-7px -7px 16px #fdfeff,inset 0 0 0 1px #ffffff90}
.soft-button:hover{box-shadow:8px 9px 18px #7ca7cf8c,-6px -6px 14px #ffffff;transform:translateY(-2px)}
/* 按键去灰（2026-10-24）：soft-button 压过 glow-v3 的 #ebf6fd 旧渐变；导航选中态内凹阴影调浅 */
.soft-button{background:linear-gradient(145deg,#fdfeff,#f3f9fe)}
.nav-links a.current{background:linear-gradient(145deg,#eff8fd,#e6f2fa);box-shadow:inset 4px 5px 11px #9dbcd6,inset -4px -4px 10px #feffff}
.nav-links a.current:after{display:none}
/* 3. Hero 文案块浮起大面板 */
.hero-copy{background:linear-gradient(145deg,#f8fcff,#edf6fc);border-radius:32px;padding:40px 44px;box-shadow:var(--panel-shadow)}
@media(max-width:900px){.hero-copy{padding:30px 28px;border-radius:28px}}
@media(max-width:640px){.hero-copy{padding:26px 22px;border-radius:24px}}
/* 4. 栏目 overline 浮起小章 */
.section-heading .overline{display:inline-flex;padding:8px 16px;border-radius:12px;background:linear-gradient(145deg,#fdfeff,#eef6fd);box-shadow:6px 7px 15px #9dbfda73,-5px -5px 12px #fdfeff,inset 0 0 0 1px #ffffff85}
.subpage .nav-links a{padding:11px 16px}
.subpage .brand{background:linear-gradient(145deg,#fdfeff,#eef6fd);border-radius:18px;padding:9px 22px 9px 11px;min-height:0;box-shadow:8px 9px 20px #9dbfda99,-7px -7px 16px #fdfeff,inset 0 0 0 1px #ffffff90}

/* ---- 玻璃质感 + 内页浮空（2026-10-24） ---- */
/* 已有浮起面板升级为玻璃：半透明底 + 毛玻璃模糊 */
.site-header .brand,.nav-links a,.section-heading .overline,.subpage .sec-tag,.hero-copy{
  background:linear-gradient(145deg,#fdfeffe8,#f2f9fde0);
  -webkit-backdrop-filter:blur(14px) saturate(1.5);
  backdrop-filter:blur(14px) saturate(1.5);
  box-shadow:8px 9px 20px #9dbfda99,-7px -7px 16px #fdfeff,inset 0 0 0 1px #ffffffcc;
}
.hero-copy{box-shadow:var(--panel-shadow)}
.nav-links a.current{background:linear-gradient(145deg,#eff8fde6,#e6f2fad9);box-shadow:inset 4px 5px 11px #9dbcd6,inset -4px -4px 10px #feffff}
/* 内页页头：浮起玻璃面板 */
.subpage .page-hero{background:linear-gradient(145deg,#fdfeffe8,#f2f9fde0);border-radius:32px;padding:36px 44px 40px;margin-top:26px;box-shadow:15px 16px 34px #9dbfda,-12px -12px 28px #fdfeff,inset 0 0 0 1px #ffffffcc;-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5)}
.subpage .page-hero h1{margin-top:22px}
@media(max-width:900px){.subpage .page-hero{padding:28px 28px 32px;border-radius:28px}}
@media(max-width:640px){.subpage .page-hero{padding:24px 22px 26px;border-radius:24px}}
/* 内页 sec-tag（WHO DOES WHAT 等）浮起玻璃小章 */
.subpage .sec-tag{display:inline-flex;padding:8px 16px;border-radius:12px;background:linear-gradient(145deg,#fdfeffe8,#f2f9fde0);box-shadow:6px 7px 15px #9dbfda73,-5px -5px 12px #fdfeff,inset 0 0 0 1px #ffffffcc;-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5)}
.subpage .page-hero{width:min(1320px,calc(100% - 96px));margin:26px auto 0}
@media(max-width:1150px){.subpage .page-hero{width:calc(100% - 64px)}}
@media(max-width:640px){.subpage .page-hero{width:calc(100% - 40px);margin-top:18px}}

/* ---- 产品优先（2026-10-24）：产品视觉放大为第一位，文案面板收窄 ---- */
.hero{grid-template-columns:0.88fr 1.3fr;gap:36px}
.hero h1{font-size:clamp(40px,3.8vw,54px)}
.hero-copy{padding:36px}
.hero-description{font-size:16px}
.product-stage{height:464px}
.stage-ring{width:404px;height:404px}
.product-cutout img{width:154%}
@media(max-width:1150px){.hero{grid-template-columns:0.9fr 1.2fr}.stage-ring{width:342px;height:342px}.product-stage{height:424px}}
@media(max-width:900px){.stage-ring{width:300px;height:300px}.product-stage{height:384px}}
@media(max-width:640px){.stage-ring{width:330px;height:330px}.product-stage{height:410px}.product-cutout img{width:150%}}

/* ---- 大面板去凹增浮（2026-10-24）：内容容器一律浮空玻璃，凹陷只留给控件按下态 ---- */
.contact-panel,.subpage .cta-band,.subpage .table,.subpage details{background:linear-gradient(145deg,#fdfeffe8,#f2f9fde0);box-shadow:15px 16px 34px #9dbfda,-12px -12px 28px #fdfeff,inset 0 0 0 1px #ffffffcc;border:0;-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5)}

/* ---- 移动端适配修复（2026-10-24）：覆盖上方桌面基础规则，恢复单列 + 防溢出 ---- */
@media(max-width:900px){
  .hero{grid-template-columns:1fr 1fr}
  .hero h1{font-size:38px}
  .hero-description{font-size:14px}
}
@media(max-width:640px){
  .hero{grid-template-columns:1fr;gap:34px}
  .hero-copy{padding:24px 22px;border-radius:24px}
  .hero h1{font-size:40px;line-height:1.4;letter-spacing:-1.5px}
  .hero-description{font-size:14px;max-width:380px}
  .hero-actions{gap:22px;margin-top:26px}
  .stage-ring{width:288px;height:288px}
  .product-stage{height:368px}
  .product-cutout img{width:134%;left:-17%}
  .subpage .page-hero h1{font-size:32px}
}

/* ---- 齐平 + 背景调浅（2026-10-24）：首屏两栏顶对齐；底色更浅更净，玻璃更透亮 ---- */
/* 首屏左右两栏顶部齐平：原先 align-items:center 让文案面板比产品台低一截 */
.hero{align-items:start}
/* 整体底色：纯白起手 → 干净浅蓝收尾，不带灰（2026-10-24 亮度定稿） */
body{background:linear-gradient(160deg,#e3f1fa,#eaf5fb)}
/* 玻璃材质整体提亮提透：近白渐变 + 提高不透明度，在更浅的底色上依然分层 */
.site-header .brand,.nav-links a,.section-heading .overline,.subpage .sec-tag,
.hero-copy,.subpage .page-hero,.contact-panel,.subpage .cta-band,.subpage .table,.subpage details{
  background:linear-gradient(145deg,#ffffffee,#f5fbfeee);
}
/* 产品台上方小字行（FUYAO SERIES / 扶摇·产品展示）浮出文档流：
   产品台顶边成为右栏顶边，与左侧文案面板顶边完全齐平，文字内容保留 */
.media-home .visual-heading{position:absolute;top:-26px;left:20px;right:20px}

/* ---- 首页栏目合并后拆分+加长（2026-10-24）：六栏目独立，project-row 为链接卡 ---- */
a.project-row{text-decoration:none;color:inherit}

/* ---- 产品系列轮播（2026-10-24）：三张整卡轮换，独立于首屏轮播 ---- */
.pc-carousel{position:relative}
.pc-viewport{position:relative;min-height:384px}
.pc-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s;pointer-events:none}
.pc-slide.is-current{opacity:1;visibility:visible;pointer-events:auto}
.pc-slide .product-hero{width:100%;height:100%;min-height:384px}
.ph-media-static{cursor:default}
.pc-cta-slide{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:44px 52px;border-radius:32px;background:linear-gradient(135deg,#557de0,#3760c5);box-shadow:12px 13px 30px #7ca7cfa6,-9px -9px 24px #fdfeff,inset 1px 1px 1px #ffffff70;text-decoration:none;color:#fff}
.pc-cta-slide .overline{color:#ffffffcc}
.pc-cta-slide h3{font-size:26px;line-height:1.45;margin:0;font-weight:680;color:#fff}
.pc-cta-slide p{font-size:14px;line-height:1.9;margin:0;color:#ffffffd9}
.pc-cta-slide .pc-cta-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:650;margin-top:8px}
.pc-cta-slide .pc-cta-link svg{width:18px;height:18px;transition:transform .25s}
.pc-cta-slide:hover .pc-cta-link svg{transform:translateX(4px)}
.pc-toolbar{margin-top:6px}

/* 产品栏目沿用页面底色，外阴影自然延伸，避免裁剪形成矩形色块。 */
.products-section{position:relative;overflow:visible}
.products-section>*{position:relative;z-index:1}
.product-hero{position:relative;z-index:1}
.spec-chip{animation:chipFloat 4.5s ease-in-out infinite}
.spec-chip-b{animation-delay:-2.2s}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.pc-slide{transform:translateY(26px) scale(.985);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1),visibility .6s}
.pc-slide.is-current{transform:translateY(0) scale(1)}
.ph-num{background:linear-gradient(115deg,#3567d0,#4fb7d8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.5;text-shadow:none}
.pc-toolbar .carousel-dots button[aria-pressed=true] span::after{box-shadow:0 0 10px #4fb7d8aa}
@media (prefers-reduced-motion: reduce){
  .spec-chip{animation:none}
  .pc-slide{transform:none}
}

/* ---- 产品栏目整体设计（2026-10-24）：巨型编号 + 产品实拍胶片带 ---- */
.ph-body{position:relative}
.ph-num{position:absolute;right:-6px;top:-26px;font-size:96px;line-height:1;font-weight:800;letter-spacing:-4px;color:#ffffffb8;text-shadow:6px 7px 14px #9dbfda59,-4px -4px 10px #ffffffcc;pointer-events:none;user-select:none}
/* 横条交互（2026-10-24 下午）：自动滚动改由 app.js 驱动，支持鼠标拖拽/触摸滑动 + 悬停放大。
   padding-block 给悬停放大留出溢出空间；touch-action:pan-x 让手指原生左右滑 */
.pc-gallery{margin-top:12px;padding-block:14px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;user-select:none;-webkit-user-select:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.pc-gallery::-webkit-scrollbar{display:none}
.pc-gallery-track{display:flex;width:max-content}
.pc-gallery.is-dragging{cursor:grabbing}
.pc-gallery.is-dragging .pc-gallery-item{pointer-events:none}
/* 2026-10-26：外投影会在滚动区域底边被裁切，并染深卡片间隙；图库只保留内描边。 */
.pc-gallery-item{position:relative;width:300px;height:300px;flex:none;margin-right:18px;margin-block:0;border-radius:22px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px #ffffffcc;transition:transform .35s ease,box-shadow .35s ease;cursor:grab}
.pc-gallery:hover .pc-gallery-item{cursor:grab}
.pc-gallery-item:hover{transform:scale(1.06);box-shadow:inset 0 0 0 1px #ffffffcc}
.pc-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform .6s ease;-webkit-user-drag:none;user-select:none}
.pc-gallery-item:hover img{transform:scale(1.09)}
.pc-gallery-item figcaption{position:absolute;left:12px;bottom:12px;padding:7px 15px;border-radius:999px;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;font-weight:650;color:var(--ink);box-shadow:3px 4px 9px #9dbfda66}
@media(max-width:640px){.ph-num{font-size:64px;top:-14px;right:0}.pc-gallery{margin-top:8px;padding-block:10px}.pc-gallery-item{width:186px;height:186px;margin-right:12px;border-radius:16px}.pc-gallery-item figcaption{font-size:11.5px;padding:6px 12px;left:9px;bottom:9px}}
@media (prefers-reduced-motion: reduce){
  .pc-gallery{-webkit-mask-image:none;mask-image:none}
}

/* ---- 产品轮播炫化（2026-10-24）：推近动画 + 规格签 + 3D 微倾 + 进度点 ---- */
.pc-slide{transform:scale(1.035)}
.pc-slide.is-current{transform:scale(1)}
@keyframes pcKen{from{transform:scale(1)}to{transform:scale(1.08)}}
.pc-carousel .ph-media img{animation:pcKen 9s ease-in-out infinite alternate}
.pc-carousel.is-paused .ph-media img{animation-play-state:paused}
.spec-chip{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:13px;font-size:11.5px;letter-spacing:.5px;color:var(--ink);background:linear-gradient(145deg,#fdfeffe8,#f3f9fde0);-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);box-shadow:6px 7px 15px #9dbfda73,-5px -5px 12px #fdfeff,inset 0 0 0 1px #ffffffcc;z-index:2}
.spec-chip b{color:#2c5fae;font-weight:650}
.spec-chip-a{left:20px;top:20px}
.spec-chip-b{right:20px;bottom:20px}
.product-hero{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .4s ease;will-change:transform}
.pc-toolbar .carousel-dots button{width:auto;min-width:0;padding:0}
.pc-toolbar .carousel-dots button span{position:relative;display:block;width:30px;height:5px;border-radius:4px;background:#b7c9da;overflow:hidden;transition:background .25s}
.pc-toolbar .carousel-dots button[aria-pressed=true] span{background:#cdddea}
@keyframes pcBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.pc-toolbar .carousel-dots button[aria-pressed=true] span::after{content:"";position:absolute;inset:0;border-radius:4px;background:var(--accent);transform-origin:left;animation:pcBar 6s linear forwards}
.pc-carousel.is-paused .pc-toolbar .carousel-dots button[aria-pressed=true] span::after{animation-play-state:paused}
@media(hover:none),(pointer:coarse){.product-hero{transform:none!important}}
@media(max-width:640px){.spec-chip{display:none}}
@media (prefers-reduced-motion: reduce){.pc-carousel .ph-media img{animation:none}.pc-toolbar .carousel-dots button[aria-pressed=true] span::after{animation:none;background:var(--accent)}}

/* ---- 博客 Journal 版对齐（2026-10-24）：内容柱与全站 1320 栅格齐线 ---- */
.journal-shell{max-width:1320px!important;width:calc(100% - 96px)!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:1150px){.journal-shell{width:calc(100% - 64px)!important}}
@media(max-width:640px){.journal-shell{width:calc(100% - 40px)!important}}
@media(max-width:900px){.pc-viewport{min-height:660px}.pc-slide .product-hero{min-height:660px}.pc-cta-slide{padding:36px 32px}.pc-cta-slide h3{font-size:23px}}
@media(max-width:640px){.pc-viewport{min-height:640px}.pc-slide .product-hero{min-height:640px}.pc-cta-slide{border-radius:24px;padding:30px 26px}.pc-cta-slide h3 br{display:none}}

/* ---- 首页再加长（2026-10-24）：轮播 6 帧 + 技术栈横条 + 数字带 ---- */
.pink-slide{background:#e9d7de}
.water-slide{background:#b7cddc}
.joi-slide{background:#f0e9ee}
.pink-slide .editorial-caption,.water-slide .editorial-caption{background:#f7f0e6d9}
.joi-slide .editorial-caption{background:#f3edf0e0}
/* 技术栈横条：玻璃浮起（凹陷只留控件原则） */
.capabilities .technology-rail{margin-top:36px;background:linear-gradient(145deg,#ffffffee,#f5fbfeee);box-shadow:12px 13px 30px #9dbfda,-9px -9px 24px #fdfeff,inset 0 0 0 1px #ffffffcc;-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5)}
.capabilities .technology-rail>span{border-right-color:#c9dcea}
/* 数字带 */
.stats-section{padding:8px 0 8px}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);border-radius:30px;background:linear-gradient(145deg,#ffffffee,#f5fbfeee);box-shadow:15px 16px 34px #9dbfda,-12px -12px 28px #fdfeff,inset 0 0 0 1px #ffffffcc;-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);padding:40px 24px}
.stat{display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 12px;text-align:center}
.stat+.stat{border-left:1px solid #cddfeb}
.stat b{font-size:44px;line-height:1;font-weight:750;background:linear-gradient(115deg,#3567d0,#4fb7d8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-1px}
.stat b i{font-style:normal;font-size:17px;margin-left:3px}
.stat span{font-size:12.5px;color:var(--muted);letter-spacing:1px}
@media(max-width:900px){.stats-band{grid-template-columns:repeat(2,1fr);gap:30px 0;padding:32px 16px}.stat:nth-child(3){border-left:0}}
@media(max-width:640px){.stats-band{border-radius:24px;padding:26px 10px;gap:24px 0}.stat b{font-size:36px}.stat b i{font-size:14px}.stat span{font-size:11px}}
.project-intro>.overline{display:inline-flex;padding:8px 16px;border-radius:12px;background:linear-gradient(145deg,#fdfeff,#eef6fd);box-shadow:6px 7px 15px #9dbfda73,-5px -5px 12px #fdfeff,inset 0 0 0 1px #ffffffcc;-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5)}
@media(max-width:640px){.project-intro>.overline{padding:6px 12px}}

/* ---- 产品系列栏目（2026-10-24）：多产品线展示，替代单一产品的视频+图集双栏目 ---- */
.products-section{padding:44px 0 72px}
.products-section .section-heading{margin-bottom:30px}
.product-hero{display:grid;grid-template-columns:1.05fr 1fr;border-radius:32px;overflow:hidden;background:linear-gradient(145deg,#fdfeffe8,#f2f9fde0);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:15px 16px 34px #9dbfda,-12px -12px 28px #fdfeff,inset 0 0 0 1px #ffffffcc;min-height:360px}
.ph-media{position:relative;margin:0;padding:0;border:0;background:#dce9f4;cursor:pointer;overflow:hidden;display:block;width:100%;min-height:300px}
.ph-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ph-media .film-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#20375059)}
.ph-media .film-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fdfeff,#f0f7fd);box-shadow:7px 8px 18px #9dbfda,-6px -6px 14px #fdfeff,inset 0 0 0 1px #ffffff90;transition:transform .25s}
.ph-media:hover .film-play{transform:translate(-50%,-50%) scale(1.06)}
.ph-media .film-play svg{width:22px;height:22px;fill:#3567d0}
.ph-body{padding:42px 46px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.product-tag{display:inline-flex;align-self:flex-start;padding:6px 13px;border-radius:11px;font-size:11.5px;letter-spacing:1px;color:#2c5fae;background:linear-gradient(145deg,#fdfeffe8,#f3f9fde0);box-shadow:6px 7px 15px #9dbfda73,-5px -5px 12px #fdfeff,inset 0 0 0 1px #ffffffcc}
.ph-body h3{font-size:26px;line-height:1.4;margin:0;font-weight:680}
.ph-body p{font-size:14px;color:var(--muted);line-height:1.95;margin:0}
.ph-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:6px}
.ph-links .text-link{font-size:13px;min-height:40px}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px}
.product-card{border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#fdfeffe8,#f2f9fde0);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:12px 13px 30px #9dbfda,-9px -9px 24px #fdfeff,inset 0 0 0 1px #ffffffcc;margin:0;transition:transform .25s,box-shadow .25s}
.product-card:hover{transform:translateY(-7px)}
.pc-media{position:relative;height:240px;overflow:hidden}
.pc-media img{width:100%;height:100%;object-fit:cover;display:block}
.pc-media .product-tag{position:absolute;left:16px;top:16px}
.pc-body{padding:22px 26px 26px}
.pc-body h3{font-size:19px;margin:0 0 8px;font-weight:660}
.pc-body p{font-size:13px;color:var(--muted);line-height:1.85;margin:0}
.pc-cta{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:34px 36px;background:linear-gradient(135deg,#557de0,#3760c5);box-shadow:12px 13px 30px #7ca7cfa6,-9px -9px 24px #fdfeff,inset 1px 1px 1px #ffffff70;text-decoration:none;color:#fff}
.pc-cta .overline{color:#ffffffcc}
.pc-cta h3{font-size:22px;line-height:1.5;margin:0;font-weight:680;color:#fff}
.pc-cta p{font-size:13px;line-height:1.85;margin:0;color:#ffffffd9}
.pc-cta-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:650;margin-top:6px}
.pc-cta-link svg{width:18px;height:18px;transition:transform .25s}
.pc-cta:hover .pc-cta-link svg{transform:translateX(4px)}
@media(max-width:900px){.products-section{padding:32px 0 56px}.product-hero{grid-template-columns:1fr;min-height:0}.ph-media{min-height:240px}.ph-body{padding:28px 28px 32px}.ph-body h3{font-size:22px}.product-grid{gap:22px}}
@media(max-width:640px){.products-section{padding:24px 0 44px}.product-hero{border-radius:24px}.ph-media{min-height:200px}.ph-body{padding:22px 22px 26px}.ph-body h3{font-size:21px}.product-grid{grid-template-columns:1fr;margin-top:22px}.product-card{border-radius:22px}.pc-media{height:210px}.pc-cta{padding:26px 24px}.pc-cta h3 br{display:none}}

/* ---- 手机工具条防溢出（2026-10-24）：6 点工具条窄屏塞不下时，箭头换行右对齐 ---- */
@media(max-width:480px){.media-home .carousel-toolbar{flex-wrap:wrap}.media-home .carousel-arrows{margin-left:auto}}

/* ---- 凹凸语义修正（2026-10-24）：卡片类表面应浮空凸起，不做内凹；内凹仅保留给按压反馈/分段轨道/表单输入 ---- */
.round-arrow,.contact-panel,.technology-rail,.subpage .cta-band,
.subpage .patent-card .cert,.subpage .article blockquote,.subpage .c-row{
  box-shadow:8px 9px 20px #9dbfda99,-7px -7px 16px #fdfeff,inset 0 0 0 1px #ffffffcc;
}
.round-arrow,.subpage .patent-card .badge,.subpage .tag{
  box-shadow:4px 5px 11px #9dbfda8c,-4px -4px 10px #fdfeff,inset 0 0 0 1px #ffffffcc;
}
/* ---- hero 列对齐修正（2026-10-24）：page-hero 内嵌套 .wrap 不再二次收缩，
   文字列=卡片内边距；桌面档内边距 60px 使文字列与正文列 0.0px 对齐 ---- */
.subpage .page-hero .wrap{width:auto;max-width:none;margin:0}
@media(min-width:901px){
  .subpage .page-hero{padding:36px 60px 40px}
}

/* ---- 大反差配色定稿（2026-10-24，参照 Fitness 新拟物参考图，用户三版对比后选定）：
   文字加深一档 + hero 中央白辉光 + 图标章/数字带高饱和渐变点缀（蓝青/紫/橙/粉） ---- */
:root{--muted:#45607b;--line:#c2d2e1}
body{background:linear-gradient(160deg,#e3f1fa,#eaf5fb);color:#233a52}
.hero{position:relative}
/* 旧版 hero 白色径向光斑已移除：蓝底上会形成"上白下蓝"硬接缝（2026-10-24） */
.hero>*{position:relative;z-index:1}
.subpage .page-hero{background:radial-gradient(120% 150% at 50% 0%,#ffffffee 0%,#f4fafee0 46%,#e9f4fbb8 100%)}
.capability-card{background:linear-gradient(145deg,#f8fbfe,#edf4fb);border:1px solid rgba(255,255,255,.9);box-shadow:12px 14px 30px rgba(116,158,200,.28),-10px -12px 26px rgba(255,255,255,.95),inset 0 1px 1px rgba(255,255,255,.95)}
.capability-card .card-icon{color:#fff}
.capability-card:nth-of-type(3n+1) .card-icon{background:linear-gradient(135deg,#38b6ff,#00e0d0);box-shadow:4px 5px 12px #38b6ff66,-3px -3px 9px #fdfeff}
.capability-card:nth-of-type(3n+2) .card-icon{background:linear-gradient(135deg,#8e6cf0,#5f7bf9);box-shadow:4px 5px 12px #8e6cf066,-3px -3px 9px #fdfeff}
.capability-card:nth-of-type(3n) .card-icon{background:linear-gradient(135deg,#ff9a3d,#ffd23d);box-shadow:4px 5px 12px #ff9a3d66,-3px -3px 9px #fdfeff}
.subpage .ico{color:#fff!important}
.subpage section:nth-of-type(odd) .ico{background:linear-gradient(135deg,#38b6ff,#00e0d0)!important;box-shadow:4px 5px 12px #38b6ff59,-3px -3px 9px #fdfeff}
.subpage section:nth-of-type(even) .ico{background:linear-gradient(135deg,#8e6cf0,#5f7bf9)!important;box-shadow:4px 5px 12px #8e6cf059,-3px -3px 9px #fdfeff}
.stats-band .stat:nth-child(1) b{background:linear-gradient(135deg,#38b6ff,#00e0d0);-webkit-background-clip:text;background-clip:text}
.stats-band .stat:nth-child(2) b{background:linear-gradient(135deg,#8e6cf0,#5f7bf9);-webkit-background-clip:text;background-clip:text}
.stats-band .stat:nth-child(3) b{background:linear-gradient(135deg,#ff9a3d,#ffd23d);-webkit-background-clip:text;background-clip:text}
.stats-band .stat:nth-child(4) b{background:linear-gradient(135deg,#ff5fa8,#ff8a5c);-webkit-background-clip:text;background-clip:text}
.overline{color:#2c5fae}
/* 栏目眉 = 一个组件：同一枚胶囊轮廓 + 同一段渐变字，改这一条就是全站栏目眉。
   首页栏目有两种写法（在 .section-heading 里，或 .project-intro 直挂），两种都点名；
   新增 section 只要用 .section-heading 就自动继承。
   注意：渐变靠 background-clip:text 画字，元素的 background 会被整个拿去写字，
   所以胶囊面只能由 box-shadow 撑出轮廓——再想补一层白底（::before）会把字盖住。
   联系横幅是卡片里的小眉、不是栏目头，只统一渐变字，不加胶囊。 */
.media-home .section-heading .overline,
.media-home .project-intro>.overline,
.media-home .contact-panel .overline{background:linear-gradient(115deg,#3567d0,#4fb7d8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.products-section .product-hero,.products-section .product-card,.project-row,.contact-panel,.c-row{background:linear-gradient(145deg,#fefffff5,#f5fafec9)}
.stat b i{-webkit-text-fill-color:#5c7690}

/* ---- 专利页编排调整（2026-10-24，客户要"琳琅满目"的展示感）：
   桌面三列专利墙、卡内纵排收密、证书位放大成 4:3 证书框（视觉主体）、
   徽章章用点缀四色渐变呼应大反差语言 ---- */
body:has(.patent-card) .grid{grid-template-columns:repeat(3,1fr);gap:26px!important}
.subpage .patent-card{display:flex;flex-direction:column;gap:12px;padding:22px 22px 20px}
.subpage .patent-card .badge{display:inline-block;align-self:flex-start;min-width:0;padding:8px 14px;white-space:nowrap;color:#fff;letter-spacing:1px}
.subpage .patent-card .badge br{display:none}
.subpage .patent-card:nth-of-type(3n+1) .badge{background:linear-gradient(135deg,#38b6ff,#00e0d0);box-shadow:4px 5px 12px #38b6ff59,-3px -3px 9px #fdfeff}
.subpage .patent-card:nth-of-type(3n+2) .badge{background:linear-gradient(135deg,#8e6cf0,#5f7bf9);box-shadow:4px 5px 12px #8e6cf059,-3px -3px 9px #fdfeff}
.subpage .patent-card:nth-of-type(3n) .badge{background:linear-gradient(135deg,#ff9a3d,#ffd23d);box-shadow:4px 5px 12px #ff9a3d59,-3px -3px 9px #fdfeff}
.subpage .patent-card h3{font-size:19px;line-height:1.5;margin:2px 0 0}
.subpage .patent-card p{font-size:13.5px;line-height:1.85;margin:0}
.subpage .patent-card .cert{margin-top:auto;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-size:12.5px;line-height:1.8;box-shadow:var(--inset),inset 0 0 0 1px #ffffffcc}
@media(max-width:900px){body:has(.patent-card) .grid{grid-template-columns:1fr;gap:22px!important}}

/* ---- 专利证书轮播·重设计（2026-10-24，客户"重新设计"）：单张大卡居中（证书左/文字右），淡入推移，箭头+圆点+计数+自动播放 ---- */
.cert-deck{position:relative;border-radius:28px;background:linear-gradient(145deg,#fdfefff5,#f5fafec9);box-shadow:15px 16px 34px #9dbfda,-12px -12px 28px #fdfeff,inset 0 0 0 1px #ffffffcc;padding:30px 34px 24px}
.deck-stage{position:relative;display:grid}
.deck-card{grid-area:1/1;display:grid;grid-template-columns:250px 1fr;gap:10px 30px;align-items:center;opacity:0;visibility:hidden;transform:translateX(26px);transition:opacity .5s ease,transform .5s ease,visibility .5s}
.deck-card.is-current{opacity:1;visibility:visible;transform:none}
.deck-card .badge{grid-column:2;justify-self:start;display:inline-block;padding:7px 13px;border-radius:9px;color:#fff;letter-spacing:1px;font-size:12px}
.deck-card:nth-of-type(5n+1) .badge{background:linear-gradient(135deg,#38b6ff,#00e0d0)}
.deck-card:nth-of-type(5n+2) .badge{background:linear-gradient(135deg,#8e6cf0,#5f7bf9)}
.deck-card:nth-of-type(5n+3) .badge{background:linear-gradient(135deg,#ff9a3d,#ffd23d)}
.deck-card:nth-of-type(5n+4) .badge{background:linear-gradient(135deg,#ff5fa8,#ff8a5c)}
.deck-card:nth-of-type(5n+5) .badge{background:linear-gradient(135deg,#3567d0,#4fb7d8)}
.deck-card .cert-img{grid-row:1/4;grid-column:1;aspect-ratio:3/4;background:#fdfeff;border-radius:14px;box-shadow:var(--inset),inset 0 0 0 1px #ffffffcc;padding:10px;display:grid;place-items:center}
.deck-card .cert-img img{width:100%;height:100%;object-fit:contain}
.deck-card h3{grid-column:2;font-size:20px;line-height:1.5;margin:4px 0 2px}
.deck-card .p-no{grid-column:2;font-size:12px}
.deck-card p{grid-column:2;font-size:13px;line-height:1.85;margin:6px 0 0;color:var(--muted)}
.deck-toolbar{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}
.deck-count{font-size:13px;color:var(--muted);letter-spacing:1px;min-width:64px;text-align:center}
.deck-count b{font-size:22px;color:var(--accent);font-weight:750}
.deck-dots{display:flex;gap:8px}
.deck-dots button{width:26px;height:6px;border-radius:4px;border:0;padding:0;background:#b7c9da;cursor:pointer;position:relative;overflow:hidden}
.deck-dots button[aria-pressed=true]{background:#cdddea}
.deck-dots button[aria-pressed=true]::after{content:"";position:absolute;inset:0;border-radius:4px;background:var(--accent);transform-origin:left;animation:pcBar 6s linear forwards}
.deck-arrow{width:42px;height:42px;border-radius:50%;border:0;background:var(--surface);box-shadow:var(--small);display:grid;place-items:center;color:var(--ink);cursor:pointer;transition:box-shadow var(--ease)}
.deck-arrow:hover{box-shadow:var(--inset)}
@media(max-width:900px){.cert-deck{padding:20px 18px}.deck-card{grid-template-columns:200px 1fr;gap:8px 20px}.deck-card h3{font-size:16px}}
@media(max-width:640px){.deck-card{grid-template-columns:1fr;gap:10px}.deck-card .cert-img{grid-row:auto;grid-column:1;width:200px;margin:0 auto}.deck-card .badge,.deck-card h3,.deck-card .p-no,.deck-card p{grid-column:1}.deck-card h3{text-align:left}}
@media (prefers-reduced-motion: reduce){
  .deck-card{transition:none;transform:none}
  .deck-dots button[aria-pressed=true]::after{animation:none;background:var(--accent)}
}

/* ---- 证书悬停放大 + 拖拽滑动（2026-10-24 客户要求） ---- */
.deck-card .cert-img img{transition:transform .6s ease}
.deck-card:hover .cert-img img,.deck-card.is-current:hover .cert-img:hover img{transform:scale(1.06)}
.deck-card.is-current{cursor:grab}
.deck-card.is-current:active{cursor:grabbing}

/* ---- 专利轮播（2026-10-24 示例图）：左图右文，底部缩略图无缝循环 ---- */
.patents-page {
  --patent-blue: #3861c7;
  --patent-text: #233a52;
  --patent-muted: #45607b;
  --patent-raised: 4px 8px 20px #9dbfda55, -3px -3px 12px #fdfeff, inset 0 0 0 1px #ffffffcc;
  --patent-sheet-width: 260px;
  --patent-sheet-height: 356px;
}
.patents-page .page-hero { padding-block: 36px; }
.patents-page .page-hero h1 { margin-block: 24px 16px; }
.patents-page .patent-showcase {
  position: relative;
  padding: 24px 32px 20px;
  border-radius: 32px;
  color: var(--patent-text);
  background: linear-gradient(145deg, #ffffffeb, #eef7fde6);
  box-shadow: var(--patent-raised);
}
.patent-display { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 48px; }
.patent-gallery { position: relative; min-width: 0; height: calc(var(--patent-sheet-height) + 48px); overflow: hidden; isolation: isolate; touch-action: pan-y pinch-zoom; user-select: none; }
.patent-gallery-hint { position: absolute; inset: auto 0 8px; text-align: center; font-size: 12px; color: var(--patent-muted); pointer-events: none; }
.patent-story { display: grid; min-width: 0; padding-right: 16px; }
.patents-page .patent-story-card { grid-area: 1 / 1; align-self: start; min-width: 0; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity 300ms ease, transform 400ms ease, visibility 300ms; }
.patents-page .patent-story-card.is-current { opacity: 1; visibility: visible; transform: none; }
.patent-kind { color: var(--patent-blue); font-size: 12px; font-weight: 600; }
.patents-page .patent-story-card h3 { margin: 24px 0 16px; color: var(--patent-text); font-size: 28px; font-weight: 650; line-height: 1.55; letter-spacing: -.6px; text-wrap: pretty; }
.patent-story-card .p-no { color: var(--patent-muted); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.patents-page .patent-story-card p { margin: 24px 0 0; color: var(--patent-muted); font-size: 15px; line-height: 1.9; }
.patent-bottom { position: relative; min-height: 88px; padding-top: 16px; }
.patent-controls { position: absolute; top: 30px; right: 0; display: flex; align-items: center; gap: 12px; }
.patent-sheet {
  position: absolute;
  top: 24px;
  left: calc(50% - var(--patent-sheet-width) / 2);
  width: var(--patent-sheet-width);
  height: var(--patent-sheet-height);
  padding: 6px;
  border: 1px solid #fff;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 20px #7899b130;
  cursor: pointer;
  transition: transform 600ms cubic-bezier(.22, .7, .2, 1), opacity 400ms ease, box-shadow 300ms ease;
  -webkit-tap-highlight-color: transparent;
}
.patent-sheet img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 4px; background: #fff; pointer-events: none; }
.patent-sheet[data-position="0"] { z-index: 2; transform: translateX(0); opacity: 1; cursor: zoom-in; }
.patent-sheet[data-position="-1"] { transform: translateX(-110%); opacity: 0; pointer-events: none; }
.patent-sheet[data-position="1"] { transform: translateX(110%); opacity: 0; pointer-events: none; }
.patent-sheet[data-position="-2"] { transform: translateX(-220%); opacity: 0; pointer-events: none; }
.patent-sheet[data-position="2"] { transform: translateX(220%); opacity: 0; pointer-events: none; }
/* 证书数量不限：±2 以外的位置一律移出画面隐藏（后台可增删专利） */
.patent-sheet:not([data-position="0"]):not([data-position="1"]):not([data-position="2"]):not([data-position="-1"]):not([data-position="-2"]) { transform: translateX(330%); opacity: 0; pointer-events: none; }
.patents-page .patent-control {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #d5e2ee;
  border-radius: 50%;
  color: var(--patent-text);
  background: #ffffff80;
  box-shadow: none;
  cursor: pointer;
  transition: transform 220ms ease, box-shadow 220ms ease, color 220ms ease;
}
.patent-control svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.patents-page .patent-control:active { transform: scale(.94); box-shadow: inset 3px 3px 8px #a9c1d7, inset -3px -3px 8px #fff; }
.patents-page .patent-control:disabled { opacity: .45; cursor: default; }
.patent-play .patent-play-icon { display: none; }
.patent-play[aria-pressed="true"] .patent-play-icon { display: block; }
.patent-play[aria-pressed="true"] .patent-pause-icon { display: none; }
.patent-film { width: min(400px, 100%); margin: 0 auto; overflow: hidden; }
.patent-film-track { display: flex; width: max-content; animation: patent-film-loop 24s linear infinite; }
.patent-film-group { display: flex; flex-shrink: 0; }
.patent-film:hover .patent-film-track { animation-play-state: paused; }
.patent-showcase:has(.patent-play[aria-pressed="true"]) .patent-film-track { animation-play-state: paused; }
.patent-film:has(:focus-visible) { overflow-x: auto; }
.patent-film:has(:focus-visible) .patent-film-track { animation: none; }
@keyframes patent-film-loop { to { transform: translateX(-50%); } }
.patents-page .patent-thumbnail {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 56px;
  width: 56px;
  min-height: 72px;
  margin-right: 24px;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--patent-muted);
  text-align: left;
  cursor: pointer;
  transition: background 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
.patent-thumbnail img { flex: 0 0 auto; width: 36px; height: 52px; object-fit: contain; background: #fff; border-radius: 2px; opacity: .65; }
.patents-page .patent-thumbnail[aria-pressed="true"] { color: var(--patent-blue); background: #fff; border-color: #90afd8; box-shadow: none; }
.patent-thumbnail[aria-pressed="true"] img { opacity: 1; }
.patent-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.patents-page :is(.patent-control, .patent-thumbnail, .patent-sheet):focus-visible { outline: 3px solid var(--patent-blue); outline-offset: 4px; }
/* 放大视图：base.css 的 *{margin:0} 压掉了浏览器默认的 dialog{margin:auto}，不补这一句弹窗会贴左上角 */
.patents-page .patent-dialog { width: fit-content; max-width: calc(100vw - 40px); max-height: calc(100dvh - 40px); margin: auto; box-sizing: border-box; padding: 16px; border: 1px solid #fff; border-radius: 24px; color: var(--patent-text); background: #eef5fb; box-shadow: 0 24px 80px #233a524d; }
.patent-dialog::backdrop { background: #243d57a6; backdrop-filter: blur(8px); }
.patent-dialog-toolbar { display: flex; align-items: center; justify-content: flex-end; margin-bottom: 12px; }
/* 证书原图只有 408×560：框贴图走，高度用满屏幕，再放大只是变糊 */
.patent-dialog-image { display: block; width: auto; height: min(78dvh, 900px); max-width: 100%; object-fit: contain; background: #fff; border-radius: 8px; }
.patent-dialog-controls { display: flex; justify-content: center; gap: 24px; padding-top: 16px; }
@media (hover: hover) {
  .patent-sheet[data-position="0"]:hover { transform: scale(1.025); box-shadow: 0 12px 24px #7899b140; }
  .patents-page .patent-control:hover { color: var(--patent-blue); background: #eaf2fb; }
  .patents-page .patent-thumbnail:hover { background: #f7fbff; transform: translateY(-2px); }
}
@media (max-width: 900px) {
  .patent-display { gap: 24px; }
  .patent-story { padding-right: 0; }
  .patents-page .patent-story-card h3 { font-size: 23px; }
  .patent-controls { position: static; justify-content: flex-end; margin-bottom: 16px; }
}
@media (max-width: 760px) {
  .patents-page { --patent-sheet-width: 200px; --patent-sheet-height: 280px; }
  .patents-page .page-hero { padding-block: 24px; }
  .patents-page .patent-showcase { padding: 16px; border-radius: 24px; }
  .patent-display { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .patents-page .patent-story-card h3 { margin-top: 16px; }
  .patents-page .patent-story-card p { font-size: 14px; margin-top: 16px; }
  .patent-bottom { display: flex; flex-direction: column; gap: 16px; padding-top: 24px; }
  .patent-controls { order: 1; margin: 0; align-self: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
  .patents-page :is(.patent-sheet, .patent-story-card, .patent-control, .patent-thumbnail) { transition: none; }
  .patents-page .patent-sheet[data-position="0"]:hover { transform: none; }
  .patent-film { overflow-x: auto; }
  .patent-film-track { animation: none; }
  .patent-film-group[aria-hidden="true"] { display: none; }
}

/* ===== 内页材质统一层（2026-10-24 审计）：栏目眉 / 表格 / 徽章 / FAQ 对齐首页白色凸起语言 =====
   本文件最后加载，同级选择器按顺序取胜，因此这里不需要 !important。 */
.subpage .sec-tag{display:inline-flex;padding:8px 16px;border-radius:12px;font-size:11px;letter-spacing:2px;background:linear-gradient(115deg,#3567d0,#4fb7d8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);box-shadow:8px 9px 20px #9dbfda99,-7px -7px 16px #fdfeff,inset 0 0 0 1px #ffffffcc}
.subpage .table{background:linear-gradient(145deg,#f8fbfe,#edf4fb);box-shadow:0 12px 28px rgba(116,158,200,.3);border:1px solid rgba(255,255,255,.9);border-radius:16px;-webkit-backdrop-filter:none;backdrop-filter:none}
.subpage .table th{background:linear-gradient(145deg,#e9f3fc,#ddebf7);color:#2a4a6b}
.subpage .patent-card .badge,.subpage .tag{background:linear-gradient(145deg,#eaf4fc,#dfeaf6);color:var(--accent);box-shadow:inset 2px 3px 6px rgba(150,180,210,.42),inset -2px -2px 6px #ffffff}
.subpage details{background:linear-gradient(145deg,#f8fbfe,#edf4fb);box-shadow:12px 14px 30px rgba(116,158,200,.28),-10px -12px 26px rgba(255,255,255,.95),inset 0 1px 1px rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:none;backdrop-filter:none}
/* 案例卡/专利卡：glow-v3 原文用 rgba(var(--tone-rgb),…) 但该变量只在未加载的 ice.css 中定义，
   导致整条 box-shadow 失效（卡片发平）。此处补回统一阴影。 */
.subpage .case-card,.subpage .patent-card{
  border-top-color:rgba(255,255,255,.9);
  box-shadow:12px 14px 30px rgba(116,158,200,.28),-10px -12px 26px rgba(255,255,255,.95),inset 0 1px 1px rgba(255,255,255,.95);
}
.subpage .img-slot{background:linear-gradient(145deg,#f8fbfe,#edf4fb);box-shadow:12px 14px 30px rgba(116,158,200,.28),-10px -12px 26px rgba(255,255,255,.95),inset 0 1px 1px rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.9)}

/* ===== 凸起面板统一（2026-10-24 第三轮）：同一不透明白面 + 同一阴影，去掉各自的玻璃透明度与青粉光晕 =====
   逐项差异（统一前）：规格条/数据带 93% 白+毛玻璃、案例行 96%→79% 半透明、首页 CTA 面板带青粉径向光晕+内凹阴影。 */
.media-home .technology-rail,
.media-home .stats-band,
.media-home .project-row,
.media-home .contact-panel,
.subpage .cta-band,
.subpage .page-hero{
  background:linear-gradient(145deg,#f8fbfe,#edf4fb);
  box-shadow:12px 14px 30px rgba(116,158,200,.28),-10px -12px 26px rgba(255,255,255,.95),inset 0 1px 1px rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.9);
  -webkit-backdrop-filter:none;backdrop-filter:none;
}
.subpage .page-hero{border-radius:32px}

.media-home .technology-rail{margin-top:26px}
.media-home .project-list{gap:30px}
.media-home .capability-grid + .technology-rail{margin-top:26px}
/* 轮播视口也用同一面包：原为透明底，露出页面蓝底，与卡片看起来不是一类 */
.media-home .carousel-viewport{background:var(--panel-face);border:var(--panel-edge);box-shadow:var(--panel-shadow)}

/* 首页视频：桌面固定舞台高度，竖片留出作品介绍；窄屏按原比例播放、横滑选片。 */
.video-business{--sample-gap:24px;--sample-ratio:.5625;--sample-list-width:300px}
.video-business .sample-reel{display:grid;grid-template-columns:minmax(0,1fr) var(--sample-list-width);gap:var(--sample-gap);align-items:stretch;margin-bottom:16px}
.sample-player{margin:0;padding:16px;border-radius:28px;background:var(--panel-face);box-shadow:var(--panel-shadow);border:var(--panel-edge);min-width:0}
.sample-presentation{display:grid;grid-template-columns:minmax(0,1fr);aspect-ratio:16/9;min-width:0;gap:var(--sample-gap)}
.sample-player.is-portrait .sample-presentation{grid-template-columns:minmax(0,calc(100% * var(--sample-ratio) * .5625)) minmax(0,1fr)}
.sample-stage{position:relative;min-width:0;min-height:0;border-radius:16px;overflow:hidden;background:var(--surface-inset);isolation:isolate}
.sample-stage:focus-within{outline:2px solid var(--accent);outline-offset:4px}
.sample-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;background:transparent}
.sample-details{display:none;min-width:0;min-height:0}
.sample-player.is-portrait .sample-details{display:flex;align-items:center}
.sample-detail{min-width:0;padding:16px 20px 16px 0}
.sample-detail h3{margin:16px 0;font-size:clamp(20px,2.2vw,28px);line-height:1.5;letter-spacing:-.5px}
.sample-detail p{margin:0;max-width:30em;font-size:13px;line-height:1.9;color:var(--muted)}
.sample-tags{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--accent)}
.sample-message,.sample-error{position:absolute;inset:16px;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;margin:0;padding:16px;border-radius:12px;background:var(--panel-face);color:var(--ink);font-size:13px;line-height:1.8;text-align:center}
.sample-message{inset:auto 8px 48px;padding:8px;pointer-events:none}
.sample-error button{padding:8px 16px}
.sample-player figcaption{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 16px;padding:16px 4px 0;font-size:12px;color:var(--muted)}
.sample-player figcaption span:first-child{color:var(--ink);font-weight:600}
.sample-format{display:inline-flex;align-items:baseline;gap:12px;margin-left:auto;white-space:nowrap}
.sample-format b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent)}
.sample-list-wrap{position:relative;min-width:0}
.sample-list{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:12px;border-radius:28px;background:var(--panel-face);box-shadow:var(--panel-shadow);border:var(--panel-edge);scrollbar-width:thin;scrollbar-color:rgba(116,158,200,.6) rgba(233,242,250,.8);overscroll-behavior:contain}
.sample-list::-webkit-scrollbar{width:8px;height:8px}
.sample-list::-webkit-scrollbar-thumb{background:rgba(116,158,200,.55);border-radius:8px;border:2px solid rgba(233,242,250,.9)}
.sample-list::-webkit-scrollbar-track{background:rgba(233,242,250,.7);border-radius:8px}
.sample-item{flex:0 0 auto;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;padding:8px;border:1px solid transparent;border-radius:16px;background:transparent;box-shadow:none;text-align:left;cursor:pointer;transition:background 220ms ease,border-color 220ms ease;outline:2px solid transparent;outline-offset:2px;min-width:0;min-height:80px}
.sample-item:hover{background:rgba(255,255,255,.55)}
.sample-item:focus-visible{outline-color:var(--accent);outline-offset:0}
.sample-thumb{position:relative;width:96px;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:var(--surface-inset)}
.sample-thumb img{width:100%;height:100%;object-fit:contain;display:block;opacity:.72;transition:opacity 220ms ease}
.sample-aspect{position:absolute;right:4px;bottom:4px;border-radius:4px;padding:0 4px;background:var(--panel-face);color:var(--ink);font-size:10px;font-style:normal;line-height:1.6;font-variant-numeric:tabular-nums}
.sample-item-copy{display:grid;gap:4px;min-width:0}
.sample-item b{font-size:13px;font-weight:650;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sample-item small{font-size:12px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sample-item.is-active{background:var(--surface-inset);border-color:rgba(56,97,199,.45)}
.sample-item.is-active img{opacity:1}
.sample-item.is-active b{color:var(--accent)}
.sample-note{margin:0 0 32px;font-size:12px;line-height:1.7;color:var(--muted);padding:0 4px}
@media(min-width:901px) and (max-width:1100px){
  .video-business{--sample-list-width:264px;--sample-gap:20px}
  .sample-detail{padding:8px 8px 8px 0}
  .sample-detail h3{margin:12px 0;font-size:20px}
  .sample-tags{margin-top:16px;padding-top:12px;gap:4px 12px}
}
@media(max-width:900px){
  .video-business .sample-reel{grid-template-columns:1fr}
  .sample-player{padding:12px}
  .sample-presentation{aspect-ratio:var(--sample-ratio)}
  .sample-player.is-portrait .sample-presentation{grid-template-columns:minmax(0,1fr);aspect-ratio:auto}
  .sample-player.is-portrait .sample-stage{justify-self:center;width:min(100%,calc(70vh * var(--sample-ratio)));width:min(100%,calc(70svh * var(--sample-ratio)));aspect-ratio:var(--sample-ratio)}
  .sample-player.is-portrait .sample-details{display:none}
  .sample-list-wrap{position:static}
  .sample-list{position:relative;flex-direction:row;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:12px;overscroll-behavior-x:contain;overscroll-behavior-y:auto;border-radius:20px}
  .sample-item{flex:0 0 min(240px,82%);grid-template-columns:80px minmax(0,1fr);scroll-snap-align:start}
  .sample-thumb{width:80px}
}
@media(prefers-reduced-motion:reduce){
  .sample-item,.sample-thumb img{transition:none}
}

/* ===== 面板单一配置（全站唯一定义，2026-10-24）=====
   所有卡片/面板只引用这三个变量：换面色只改 --panel-face，换阴影只改 --panel-shadow。
   元素自身不再写死背景与阴影，避免同类元素出现色差。
   面色固定为浅冰蓝，避免渐变和透底造成色差。 */
:root{
  --panel-face:#f1f7fd;
  /* 2026-10-25：减淡并收窄投影，避免首屏暗晕和相邻卡片阴影堆叠。 */
  --panel-shadow:6px 8px 20px rgba(116,158,200,.16),-4px -5px 14px rgba(255,255,255,.8),inset 0 1px 1px rgba(255,255,255,.95);
  --panel-edge:1px solid rgba(255,255,255,.9);
}
.media-home .capability-card,
.media-home .product-hero,
.media-home .product-card,
.media-home .technology-rail,
.media-home .stats-band,
.media-home .project-row,
.media-home .contact-panel,
.subpage .card,
.subpage .case-card,
.subpage .post-card,
.subpage .step,
.subpage .adv-item,
.subpage .article,
.subpage .patent-card,
.subpage .cta-band,
.subpage .contact-block,
.subpage .page-hero,
.subpage .factory-row figure,
.subpage .article-toc,
.subpage .article-related,
.patents-page .patent-showcase,
.subpage details,
.subpage .img-slot,
.subpage .table{
  background:var(--panel-face);
  box-shadow:var(--panel-shadow);
  border:var(--panel-edge);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

/* 子面板、图片说明与弹窗也复用面色，各自的阴影和交互状态继续保留。 */
.site-header .brand,
.subpage .brand,
.footer-brand,
.nav-links a,
.nav-links a.current,
.soft-button,
.media-home .gallery-more.soft-button,
.hero-actions .primary-button,
.media-home .hero-copy,
.media-home .floating-label,
.media-home .spec-chip,
.media-home .product-tag,
.media-home .video-button .play-icon,
.media-home .stage-ring,
.media-home .stage-ring>div,
.media-home .pc-gallery-item,
.media-home .pc-gallery-item figcaption,
.media-home .gallery-card,
.media-home .gallery-card>span,
.media-home .editorial-caption,
.subpage .c-row,
.subpage .patent-card .cert,
.subpage .article blockquote,
.video-dialog,
.image-dialog,
.image-dialog #enlarged-image,
.patents-page .patent-dialog{
  background:var(--panel-face);
}
.sample-item.is-active{background:var(--surface-inset)}

/* ===== 首页 · 数据带归位（2026-10-25）=====
   数据带原排在 AI 短剧段之后，视觉上被读成短剧业务的一部分；
   现移至「方案与玩法」之后作为能力收口，短剧段另起一章。 */
.media-home .stats-section{padding:24px 0 8px}
.media-home .video-business{padding-top:64px}

/* 窄屏：证书按宽度铺满，避免图片框比证书高出一截白边 */
@media(max-width:640px){.patent-dialog-image{width:100%;height:auto}}

/* 输入控件统一（2026-10-25）：搜索框与表单共用浅色面、细边框、轻投影和状态。 */
:root{
  --field-height:52px;
  --field-radius:16px;
  --field-border:#bed1e4;
  --field-hover-border:#96b4d4;
  --field-focus-border:#759bd3;
  --field-icon:#6b85a0;
  --field-placeholder:#587089;
  --field-error:#a02435;
  --field-shadow:0 4px 12px rgba(91,137,179,.08),inset 0 1px 0 rgba(255,255,255,.95);
  --field-focus-shadow:0 0 0 4px rgba(56,97,199,.12),inset 0 1px 0 rgba(255,255,255,.95);
}
/* 不改变复选、单选、滑块、文件选择、按钮及隐藏字段的尺寸和外观。 */
.subpage :is(input,select,textarea):not(:where([type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[type="hidden"])){
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  max-width:100%;
  min-height:var(--field-height);
  padding:12px 16px;
  border:1px solid var(--field-border);
  border-radius:var(--field-radius);
  background:var(--panel-face,#f1f7fd);
  box-shadow:var(--field-shadow);
  color:var(--ink);
  font-family:inherit;
  font-size:16px;
  line-height:24px;
  outline:2px solid transparent;
  outline-offset:3px;
  transition:border-color var(--ease),box-shadow var(--ease);
}
.subpage :is(input,textarea)::placeholder{color:var(--field-placeholder);font-size:14px;opacity:1}
.subpage :is(input,select,textarea):hover:not(:disabled):not([readonly]){border-color:var(--field-hover-border)}
.subpage :is(input,select,textarea):focus{border-color:var(--field-focus-border);box-shadow:var(--field-focus-shadow)}
.subpage :is(input,select,textarea):focus-visible{outline-color:var(--accent);outline-offset:0}
.subpage :is(input,select,textarea):disabled{opacity:.55;cursor:not-allowed}
.subpage :is(input,textarea)[readonly]{background-color:var(--surface-inset);cursor:default}
.subpage :is(input,select,textarea):is(:user-invalid,[aria-invalid="true"]){border-color:var(--field-error)}
.subpage :is(input,select,textarea):is(:user-invalid,[aria-invalid="true"]):focus{
  box-shadow:0 0 0 4px rgba(160,36,53,.12),inset 0 1px 0 rgba(255,255,255,.95);
}
.subpage :is(input,select,textarea):is(:user-invalid,[aria-invalid="true"]):focus-visible{outline-color:var(--field-error)}
.subpage select{
  padding-right:48px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23587089' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-position:right 16px center;
  background-size:20px 20px;
  background-repeat:no-repeat;
}
.subpage textarea{height:auto;min-height:144px;resize:vertical}
@media(forced-colors:active){
  .subpage select{-webkit-appearance:auto;appearance:auto;background-image:none}
}
.blog-page .blog-search{position:relative}
.blog-page .blog-search::before{
  content:"";
  position:absolute;
  z-index:1;
  top:50%;
  left:16px;
  width:20px;
  height:20px;
  transform:translateY(-50%);
  background:var(--field-icon);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/svg%3E") center/contain no-repeat;
  pointer-events:none;
  transition:background-color var(--ease);
}
.blog-page .blog-search input{
  height:var(--field-height);
  padding-left:48px;
}
.blog-page .blog-search:focus-within::before{background:var(--accent)}
.blog-page .blog-search input::-webkit-search-decoration{-webkit-appearance:none}
.blog-page .blog-search input::-webkit-search-cancel-button{cursor:pointer}
