/* ============================================================
   TITANIUM MATERIALS — 设计系统
   设计语言：工业规格表 / 材质证书（Mill Certificate）
   —— 左对齐编辑式布局、可读字号、高信息密度、发丝线 + 网格纹理
   ============================================================ */

/* ---------- 自托管字体（Latin 子集，中文回退系统字体） ----------
   Archivo (C) 2020 The Archivo Project Authors / Omnibus-Type
   IBM Plex Mono (C) 2017 IBM Corp.
   两款字体均依据 SIL Open Font License 1.1 授权，许可全文见 assets/fonts/OFL.txt
   ---------- */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 500 900;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url("assets/fonts/archivo-var-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/plexmono-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/plexmono-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/plexmono-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- 设计令牌 ---------- */
:root {
  --ink: #0d2430;
  --steel: #123444;
  --steel-soft: #1b4154;
  --steel-deep: #0a1d27;
  --cyan: #00b8d4;
  --cyan-bright: #4fdcf5;
  --cyan-text: #0f6f88;
  --paper: #f4f7f9;
  --mist: #e9eff3;
  --line: rgba(13, 36, 48, .14);
  --line-strong: rgba(13, 36, 48, .3);
  --white-line: rgba(255, 255, 255, .16);
  --body-text: #4b6270;
  --radius: 3px;
  --container: 1320px;
  --font: "Archivo", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Source Han Sans SC", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, "Courier New", monospace;
  --shadow-card: 0 10px 30px rgba(13, 42, 56, .08);
  --shadow-pop: 0 22px 54px rgba(13, 42, 56, .16);
}

/* ---------- 基础 ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 1rem/1.85 var(--font); overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body:has(dialog[open]) { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
h1, h2, h3, h4, p { text-wrap: pretty; }
h1, h2, h3 { font-weight: 750; letter-spacing: -.015em; line-height: 1.2; }
strong { font-weight: 700; }
::selection { color: #04222d; background: var(--cyan-bright); }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }

.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: clamp(72px, 8vw, 122px) 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 12px 18px; color: white; background: var(--steel); border-radius: var(--radius); }
.skip-link:focus { top: 16px; }

/* 小标签（mono 规格语气，可读字号） */
.kicker { margin: 0; display: flex; align-items: center; gap: 12px; color: var(--cyan-text); font-family: var(--mono); font-size: .74rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.kicker::before { content: ""; width: 10px; height: 10px; flex: none; border: 1px solid var(--cyan); background: linear-gradient(135deg, transparent 46%, var(--cyan) 46% 54%, transparent 54%); }
.kicker-light { color: var(--cyan-bright); }

/* ---------- 顶部导航：通栏 + 发丝线，非浮动胶囊 ---------- */
.site-header { position: fixed; z-index: 50; top: 0; left: 0; width: 100%; background: rgba(244, 247, 249, .82); backdrop-filter: blur(18px) saturate(140%); border-bottom: 1px solid var(--line); transition: background .3s ease, box-shadow .3s ease; }
.site-header.is-scrolled { background: rgba(250, 252, 253, .94); box-shadow: 0 10px 30px rgba(13, 42, 56, .08); }
.nav { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; color: white; background: var(--steel); border-radius: var(--radius); font-size: 1.05rem; font-weight: 800; letter-spacing: -.06em; font-stretch: 115%; }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-size: .92rem; font-weight: 800; letter-spacing: .12em; font-stretch: 118%; }
.brand-copy small { color: #6d8391; font-family: var(--mono); font-size: .56rem; letter-spacing: .22em; }
.nav-links { display: flex; align-items: center; gap: clamp(16px, 2vw, 32px); }
.nav-links a { position: relative; color: #2c4757; font-size: .9rem; font-weight: 600; letter-spacing: .02em; padding: 6px 0; }
.nav-links a::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--cyan); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.nav-links a:hover::after, .nav-links a:focus-visible::after, .nav-links a.is-active::after { transform: scaleX(1); }
.nav-links .nav-contact { margin-left: 8px; padding: 9px 18px; color: white; background: var(--steel); border-radius: var(--radius); transition: background .25s ease, transform .25s ease; }
.nav-links .nav-contact::after { display: none; }
.nav-links .nav-contact:hover, .nav-links .nav-contact:focus-visible { background: var(--cyan); color: #04222d; transform: translateY(-1px); }
.language-switch { display: inline-flex; align-items: center; gap: 4px; flex: none; margin-left: 4px; color: #78909c; font-family: var(--mono); font-size: .75rem; }
.language-switch button { padding: 6px 3px; border: 0; background: none; color: #637b89; cursor: pointer; font-family: inherit; font-size: inherit; font-weight: 600; }
.language-switch button.is-active { color: var(--ink); border-bottom: 2px solid var(--cyan); }
.language-switch button:hover { color: var(--cyan-text); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; width: 24px; height: 2px; margin: 6px auto; background: var(--steel); transition: .25s ease; }
.menu-toggle.is-open span:first-child { transform: translateY(4px) rotate(45deg); }
.menu-toggle.is-open span:last-child { transform: translateY(-4px) rotate(-45deg); }

/* ---------- 首页 Hero：深色高科技几何背景 ---------- */
.hero { position: relative; padding-top: 68px; background: #06161f; overflow: hidden; color: white; }
/* 层1：细线网格 */
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(93, 231, 255, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(93, 231, 255, .07) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(110% 90% at 50% 50%, black 0%, transparent 75%); }
/* 层2：旋转大六边形晶格 */
.hero::after { content: ""; position: absolute; top: 50%; left: 72%; width: 900px; height: 900px; transform: translate(-50%, -50%); pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='138' viewBox='0 0 120 138'%3E%3Cpath d='M60 4 112 34v70L60 134 8 104V34Z' fill='none' stroke='%235de7ff' stroke-width='1.2'/%3E%3C/svg%3E");
  background-size: 120px 138px; opacity: .12;
  animation: heroHexSpin 60s linear infinite; }
@keyframes heroHexSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }
/* 层3：同心圆脉冲（用额外元素） */
.hero-rings { position: absolute; top: 50%; left: 72%; transform: translate(-50%, -50%); width: 460px; height: 460px; pointer-events: none; }
.hero-rings span { position: absolute; inset: 0; border: 1px solid rgba(93, 231, 255, .22); border-radius: 50%; animation: heroRingPulse 5s ease-out infinite; }
.hero-rings span:nth-child(2) { animation-delay: 1.6s; }
.hero-rings span:nth-child(3) { animation-delay: 3.2s; }
@keyframes heroRingPulse { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(1); opacity: 0; } }
/* 层4：浮动几何粒子 */
.hero-particles { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.hero-particles i { position: absolute; display: block; border-radius: 50%; background: var(--cyan-bright); opacity: .5; animation: heroFloat linear infinite; }
.hero-particles i:nth-child(1) { left: 8%; top: 22%; width: 4px; height: 4px; animation-duration: 14s; }
.hero-particles i:nth-child(2) { left: 28%; top: 70%; width: 3px; height: 3px; animation-duration: 18s; animation-delay: 2s; }
.hero-particles i:nth-child(3) { left: 52%; top: 18%; width: 5px; height: 5px; animation-duration: 16s; animation-delay: 4s; }
.hero-particles i:nth-child(4) { left: 18%; top: 48%; width: 3px; height: 3px; animation-duration: 20s; animation-delay: 1s; }
.hero-particles i:nth-child(5) { left: 42%; top: 82%; width: 4px; height: 4px; animation-duration: 15s; animation-delay: 3s; }
@keyframes heroFloat { 0% { transform: translateY(0) translateX(0); opacity: 0; } 10% { opacity: .6; } 90% { opacity: .6; } 100% { transform: translateY(-120px) translateX(40px); opacity: 0; } }

.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: clamp(40px, 6vw, 88px); align-items: center; padding: clamp(56px, 7vh, 96px) 0 clamp(56px, 7vh, 88px); }

/* 左侧文字：深色背景上的浅色 */
.hero-copy { max-width: 680px; color: white; }
.hero-copy > * { animation: rise .7s cubic-bezier(.2, .7, .2, 1) both; }
.hero-copy > *:nth-child(2) { animation-delay: .08s; }
.hero-copy > *:nth-child(3) { animation-delay: .16s; }
.hero-copy > *:nth-child(4) { animation-delay: .24s; }
@keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.hero .kicker { color: var(--cyan-bright); }
.hero .kicker::before { border-color: var(--cyan-bright); }
.hero h1 { margin: 22px 0 0; font-size: clamp(2.6rem, 4.9vw, 4.35rem); font-weight: 800; font-stretch: 110%; line-height: 1.12; letter-spacing: -.02em; color: white; }
.hero h1 span { color: var(--cyan-bright); }
.hero-intro { max-width: 34em; margin: 24px 0 0; color: #aac4cf; font-size: clamp(1rem, 1.2vw, 1.12rem); }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 36px; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 0 24px; border: 0; border-radius: var(--radius); font-size: .95rem; font-weight: 700; letter-spacing: .02em; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.button-primary { color: #04222d; background: var(--cyan); box-shadow: 0 10px 28px rgba(0, 154, 180, .28); }
.button-primary:hover, .button-primary:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(0, 154, 180, .38); background: var(--cyan-bright); }
.button-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 5px; color: var(--ink); border-bottom: 1px solid var(--line-strong); font-size: .95rem; font-weight: 650; transition: color .2s ease, border-color .2s ease; }
.button-link span { transition: transform .2s ease; }
.button-link:hover, .button-link:focus-visible { color: var(--cyan-text); border-color: currentColor; }
.hero .button-link { color: white; border-color: rgba(255, 255, 255, .4); }
.hero .button-link:hover, .hero .button-link:focus-visible { color: var(--cyan-bright); }
.button-link:hover span, .button-link:focus-visible span { transform: translateX(5px); }
.button-link-light { color: white; border-color: rgba(255, 255, 255, .4); }
.button-link-light:hover, .button-link-light:focus-visible { color: var(--cyan-bright); }

/* Hero 右侧：动态几何装置 */
.hero-visual { position: relative; height: clamp(360px, 42vw, 520px); animation: rise .8s .2s cubic-bezier(.2, .7, .2, 1) both; }
.geo-stage { position: absolute; inset: 0; }
/* 中心核心 Ti 牌 */
.geo-core { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; justify-content: center; width: 130px; height: 130px; background: linear-gradient(145deg, #0d3344, #06161f); border: 1px solid rgba(93, 231, 255, .5); box-shadow: 0 0 40px rgba(93, 231, 255, .25), inset 0 0 24px rgba(93, 231, 255, .08); z-index: 5; }
.geo-core b { color: var(--cyan-bright); font-size: 2.8rem; font-weight: 800; line-height: 1; font-stretch: 118%; letter-spacing: -.03em; }
.geo-core small { margin-top: 6px; color: #aac4cf; font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; }
/* 六边形晶格 */
.geo-hex { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 300px; height: 300px; z-index: 2; animation: geoSpin 40s linear infinite; }
.geo-hex svg { width: 100%; height: 100%; }
@keyframes geoSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }
/* 三层轨道环 */
.geo-orbit { position: absolute; top: 50%; left: 50%; border: 1px dashed rgba(93, 231, 255, .28); border-radius: 50%; transform: translate(-50%, -50%); }
.geo-orbit span { position: absolute; width: 8px; height: 8px; background: var(--cyan-bright); border-radius: 50%; box-shadow: 0 0 10px var(--cyan-bright); }
.geo-orbit-1 { width: 220px; height: 220px; animation: orbitSpin 16s linear infinite; }
.geo-orbit-1 span:nth-child(1) { top: -4px; left: 50%; transform: translateX(-50%); }
.geo-orbit-1 span:nth-child(2) { bottom: -4px; left: 50%; transform: translateX(-50%); }
.geo-orbit-1 span:nth-child(3) { top: 50%; right: -4px; transform: translateY(-50%); }
.geo-orbit-2 { width: 320px; height: 320px; border-color: rgba(93, 231, 255, .18); animation: orbitSpin 26s linear infinite reverse; }
.geo-orbit-2 span { width: 6px; height: 6px; background: rgba(255, 255, 255, .7); box-shadow: 0 0 8px rgba(255, 255, 255, .5); }
.geo-orbit-2 span:nth-child(1) { top: -3px; left: 30%; }
.geo-orbit-2 span:nth-child(2) { bottom: -3px; right: 25%; }
.geo-orbit-2 span:nth-child(3) { top: 50%; left: -3px; transform: translateY(-50%); }
.geo-orbit-3 { width: 420px; height: 420px; border-color: rgba(93, 231, 255, .12); animation: orbitSpin 38s linear infinite; }
.geo-orbit-3 span { width: 5px; height: 5px; background: rgba(93, 231, 255, .6); box-shadow: 0 0 8px rgba(93, 231, 255, .4); }
.geo-orbit-3 span:nth-child(1) { top: -2px; left: 60%; }
.geo-orbit-3 span:nth-child(2) { bottom: -2px; left: 20%; }
.geo-orbit-3 span:nth-child(3) { top: 35%; right: -2px; }
@keyframes orbitSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }
/* 四角标签节点 */
.geo-node { position: absolute; padding: 6px 12px; background: rgba(13, 51, 68, .85); border: 1px solid rgba(93, 231, 255, .35); backdrop-filter: blur(4px); z-index: 6; }
.geo-node span { color: var(--cyan-bright); font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; }
.geo-node-a { top: 8%; left: 14%; }
.geo-node-b { top: 12%; right: 10%; }
.geo-node-c { bottom: 14%; left: 8%; }
.geo-node-d { bottom: 8%; right: 16%; }

/* Hero 底部指标带（深色统计条） */
.hero-band { position: relative; z-index: 1; color: white; background: var(--steel-deep); border-top: 1px solid var(--white-line); animation: rise .8s .3s cubic-bezier(.2, .7, .2, 1) both; }
.hero-metrics { display: grid; grid-template-columns: repeat(4, 1fr); }
.metric { min-height: 108px; padding: 24px clamp(16px, 2.6vw, 40px); display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--white-line); }
.metric:first-child { border-left: 0; }
.metric strong { color: white; font-family: var(--mono); font-size: clamp(1.4rem, 2vw, 1.9rem); font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.metric span { margin-top: 12px; color: #8fabb9; font-size: .8rem; letter-spacing: .04em; }

/* 滚动提示 */
.hero-scroll { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; padding-bottom: 18px; color: #6c8593; font-family: var(--mono); font-size: .66rem; letter-spacing: .3em; }
.hero-scroll span { display: block; width: 1px; height: 34px; background: linear-gradient(180deg, var(--cyan), transparent); animation: cue 1.8s ease-in-out infinite; }
@keyframes cue { 0%, 100% { transform: scaleY(.4); transform-origin: top; opacity: .5; } 50% { transform: scaleY(1); opacity: 1; } }

/* ---------- 区块标题（网页节奏：左题右文 + 发丝线） ---------- */
.section-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 5vw, 80px); align-items: end; margin-bottom: clamp(36px, 4.5vw, 56px); padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.section-heading h2 { margin: 14px 0 0; font-size: clamp(1.85rem, 2.9vw, 2.8rem); line-height: 1.18; }
.section-heading > p { margin: 0; max-width: 520px; color: var(--body-text); font-size: .98rem; }

/* ---------- 产品区 ---------- */
.products { background: #fbfdfe; }
.product-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.product-card { grid-column: span 6; min-width: 0; }
.product-card:nth-child(1), .product-card:nth-child(4) { grid-column: span 7; }
.product-card:nth-child(2), .product-card:nth-child(3) { grid-column: span 5; }
.product-button { position: relative; width: 100%; padding: 0; display: grid; grid-template-rows: auto auto; color: var(--ink); text-align: left; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow-card); overflow: hidden; cursor: pointer; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.product-button:hover, .product-button:focus-visible { transform: translateY(-5px); border-color: rgba(0, 154, 180, .5); box-shadow: var(--shadow-pop); outline: none; }
.product-image { display: block; height: clamp(200px, 19vw, 260px); background: #dce6eb var(--product-image, none) center / cover no-repeat; transition: transform .6s cubic-bezier(.2, .7, .2, 1), filter .3s ease; }
.product-button:hover .product-image { transform: scale(1.03); filter: saturate(1) contrast(1.03); }
.product-body { position: relative; display: block; padding: 20px 64px 20px 24px; border-top: 1px solid var(--line); background: white; }
.product-number { position: absolute; right: 20px; top: 22px; color: var(--cyan-text); font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .12em; font-variant-numeric: tabular-nums; }
.product-title { display: block; margin: 0; font-size: clamp(1.15rem, 1.5vw, 1.42rem); font-weight: 750; line-height: 1.25; }
.product-en { display: block; margin-top: 3px; color: #71838d; font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.product-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.product-tags i { padding: 2px 9px; color: #48606d; background: var(--mist); border: 1px solid var(--line); font-style: normal; font-family: var(--mono); font-size: .64rem; letter-spacing: .06em; }
.product-arrow { position: absolute; right: 20px; bottom: 20px; display: grid; place-items: center; width: 32px; height: 32px; color: var(--cyan-text); border: 1px solid var(--line); border-radius: 50%; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.product-button:hover .product-arrow { color: #04222d; border-color: var(--cyan); background: var(--cyan); }

/* 区块尾部行 */
.section-foot { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; margin-top: clamp(34px, 4vw, 52px); padding-top: 26px; border-top: 1px solid var(--line); }
.section-foot h3 { margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.4rem); }
.section-foot .button-link { flex: none; }

/* ---------- 承诺区（深色） ---------- */
.promise { position: relative; color: white; background: var(--steel); overflow: hidden; }
.promise::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(100% 100% at 100% 0%, black, transparent 70%); }
.promise-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(40px, 7vw, 120px); align-items: end; }
.promise h2 { margin: 16px 0 0; max-width: 820px; font-size: clamp(1.9rem, 3.1vw, 3rem); line-height: 1.2; }
.promise h2 span { color: var(--cyan-bright); }
.promise-body { max-width: 540px; padding-bottom: 6px; color: #bccfd9; font-size: .98rem; }
.promise-body p { margin: 0 0 20px; }
.button-link-light { margin-top: 18px; }

/* ---------- 应用领域卡片 ---------- */
.applications { background: var(--mist); }
.application-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.application-card { position: relative; display: flex; flex-direction: column; min-height: clamp(280px, 26vw, 360px); padding: 24px; color: white; background: var(--steel); overflow: hidden; transition: transform .3s ease; }
.application-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 32, 45, .2) 0%, rgba(8, 32, 45, .12) 40%, rgba(8, 32, 45, .88) 100%); transition: opacity .3s ease; }
.application-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.application-card:hover { transform: translateY(-5px); }
.application-card:hover img { transform: scale(1.05); }
.application-index { position: absolute; z-index: 1; top: 22px; right: 22px; color: rgba(255, 255, 255, .85); font-family: var(--mono); font-size: .7rem; letter-spacing: .14em; font-variant-numeric: tabular-nums; }
.application-card-copy { position: relative; z-index: 1; margin-top: auto; }
.application-card-copy h3 { margin: 0; font-size: 1.28rem; }
.application-card-copy p { margin: 3px 0 0; color: var(--cyan-bright); font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.application-card small { position: relative; z-index: 1; display: block; margin-top: 12px; color: #d3e3ea; font-size: .82rem; line-height: 1.6; }
.application-card-arrow { position: absolute; z-index: 1; left: 24px; top: 22px; color: white; font-size: 1.05rem; opacity: .85; transition: transform .25s ease; }
.application-card:hover .application-card-arrow { transform: translate(3px, -3px); }
.illustration-note { margin: 16px 0 0; color: #79909c; font-size: .78rem; }

/* ---------- 首页质量流程列表 ---------- */
.quality { background: #fbfdfe; }
.quality-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(44px, 7vw, 110px); align-items: start; }
.quality-intro { position: sticky; top: 108px; }
.quality-intro h2 { margin: 14px 0 0; font-size: clamp(1.85rem, 2.9vw, 2.8rem); line-height: 1.2; }
.quality-intro > p:last-of-type { max-width: 480px; margin: 20px 0 0; color: var(--body-text); }
.quality-more { margin-top: 26px; }
.quality-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.quality-item { display: grid; grid-template-columns: 72px 1fr; gap: 20px; align-items: center; min-height: 118px; padding: 18px 6px; border-bottom: 1px solid var(--line); transition: background .25s ease, padding .25s ease; }
.quality-item:hover { background: rgba(0, 184, 212, .05); padding-left: 16px; }
.quality-item > span { color: var(--cyan-text); font-family: var(--mono); font-size: .74rem; font-weight: 600; letter-spacing: .14em; font-variant-numeric: tabular-nums; }
.quality-item strong { display: block; font-size: 1.16rem; }
.quality-item p { margin: 4px 0 0; color: var(--body-text); font-size: .88rem; }

/* ---------- 首页联系区（深色） ---------- */
.contact { color: white; background: var(--steel); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(40px, 7vw, 110px); align-items: end; }
.contact h2 { margin: 16px 0 0; max-width: 760px; font-size: clamp(1.9rem, 3.1vw, 3rem); line-height: 1.2; }
.contact-intro { max-width: 620px; margin: 22px 0 0; color: #bccfd9; }
.contact-card { padding: 30px; border: 1px solid var(--white-line); background: rgba(255, 255, 255, .05); }
.contact-card-label { margin: 0 0 14px; color: white !important; font-weight: 700; }
.contact-card ol { margin: -6px 0 20px; padding-left: 1.4em; color: #b7cad4; font-size: .92rem; }
.contact-card li { padding: 4px 0; }
.contact-mail { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-top: 1px solid var(--white-line); border-bottom: 1px solid var(--white-line); color: var(--cyan-bright); font-size: clamp(1rem, 1.4vw, 1.18rem); font-weight: 650; transition: color .2s ease; }
.contact-mail:hover, .contact-mail:focus-visible { color: white; }
.contact-email-direct { display: inline-block; margin-top: 14px; color: #d5e8ee; font-size: .88rem; border-bottom: 1px solid rgba(255, 255, 255, .4); }
.contact-email-direct:hover { color: var(--cyan-bright); }
.contact-whatsapp-direct { display: inline-block; margin: 14px 0 0 22px; color: var(--cyan-bright); font-size: .88rem; border-bottom: 1px solid rgba(255, 255, 255, .4); }
.contact-whatsapp-direct:hover { color: white; }
.contact-card small { display: block; margin-top: 16px; color: #8ba5b3; font-size: .78rem; }

/* ---------- 产品详情弹窗 ---------- */
.product-dialog { width: min(940px, calc(100% - 40px)); max-height: min(760px, calc(100vh - 40px)); padding: 0; color: var(--ink); border: 0; border-radius: var(--radius); background: white; box-shadow: 0 40px 100px rgba(4, 22, 32, .4); overflow: hidden; }
.product-dialog[open] { display: grid; grid-template-columns: .88fr 1.12fr; }
.product-dialog::backdrop { background: rgba(8, 29, 42, .68); backdrop-filter: blur(8px); }
.dialog-close { position: absolute; z-index: 3; right: 14px; top: 14px; width: 40px; height: 40px; color: var(--ink); border: 1px solid var(--line); border-radius: 50%; background: rgba(255, 255, 255, .9); cursor: pointer; font-size: 1.4rem; line-height: 1; }
.dialog-close:hover { background: var(--mist); }
.dialog-media { min-height: 600px; background: #dce6eb center / cover no-repeat; }
.dialog-content { padding: clamp(30px, 4.5vw, 56px); overflow-y: auto; }
.dialog-content h2 { margin: 16px 0 0; font-size: clamp(1.9rem, 3.2vw, 2.9rem); line-height: 1.1; }
.dialog-en { margin: 8px 0 20px; color: #71838d; font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.dialog-content > p:not(.kicker):not(.dialog-en) { margin: 0; color: var(--body-text); }
.spec-list { margin: 26px 0; border-top: 1px solid var(--line); }
.spec-list > div { display: grid; grid-template-columns: 108px 1fr; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.spec-list dt { color: #647a86; font-family: var(--mono); font-size: .74rem; letter-spacing: .04em; }
.spec-list dd { margin: 0; font-weight: 650; font-size: .95rem; }

/* ---------- 页脚：多栏站点页脚 ---------- */
.site-footer { color: #b9cbd5; background: var(--steel-deep); }
.footer-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: clamp(30px, 5vw, 72px); padding: clamp(52px, 6vw, 76px) 0 44px; }
.footer-brand .brand { margin-bottom: 18px; }
.footer-brand .brand-copy small { color: #7d95a3; }
.footer-brand p { margin: 0; max-width: 380px; font-size: .88rem; line-height: 1.8; }
.footer-col { display: grid; gap: 2px; align-content: start; }
.footer-col h3 { margin: 0 0 14px; color: white; font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.footer-col a, .footer-col span { color: #a4bac5; font-size: .88rem; line-height: 2.1; transition: color .2s ease; }
.footer-col a:hover, .footer-col a:focus-visible { color: var(--cyan-bright); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 20px 0 26px; border-top: 1px solid var(--white-line); }
.footer-bottom p { margin: 0; color: #7f99a7; font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; }
.footer-bottom a { color: #a4bac5; font-size: .8rem; transition: color .2s ease; }
.footer-bottom a:hover { color: var(--cyan-bright); }

/* ---------- 内页公共 ---------- */
.inner-page { background: #f7fafc; }
.inner-page .site-header { background: rgba(244, 247, 249, .9); }

.page-hero { position: relative; padding: 158px 0 76px; color: var(--ink); background: linear-gradient(135deg, #f0f6f9 0%, #dfeaf1 100%); overflow: hidden; }
.page-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(13, 36, 48, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(13, 36, 48, .045) 1px, transparent 1px);
  background-size: 72px 72px; mask-image: linear-gradient(180deg, black, transparent 88%); }
.page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(40px, 7vw, 120px); align-items: end; }
.page-hero-grid h1 { margin: 18px 0 20px; max-width: 860px; font-size: clamp(2.3rem, 4vw, 3.7rem); font-weight: 800; font-stretch: 108%; line-height: 1.14; letter-spacing: -.02em; }
.page-hero-grid > div > p:last-child { max-width: 640px; margin: 0; color: #46616f; font-size: 1.02rem; }
.page-hero-image, .page-hero-image.page-hero-centered { color: white; background: var(--steel-deep); }
.page-hero-image .page-hero-grid > div > p:last-child { color: #c3d4dc; }
.page-hero-image .kicker { color: var(--cyan-bright); }
.page-hero-photo { position: absolute; inset: 0; background: var(--page-photo) center / cover no-repeat; }
.page-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 30, 43, .94) 0%, rgba(8, 30, 43, .8) 42%, rgba(8, 30, 43, .28) 82%); }
.page-hero-centered { padding-block: 150px 84px; }
.page-hero-centered .page-hero-grid { grid-template-columns: 1fr; }
.page-hero-centered .page-hero-grid > div { width: min(100%, 900px); margin-inline: auto; text-align: center; }
.page-hero-centered .kicker { justify-content: center; }
.page-hero-centered .page-hero-grid h1 { max-width: none; }
.page-hero-centered .page-hero-grid > div > p:last-child { margin-inline: auto; }
.page-hero-centered .page-hero-photo::after { background: rgba(8, 30, 43, .74); }
.page-index { display: grid; border-top: 1px solid rgba(13, 36, 48, .24); }
.page-hero-image .page-index, .page-hero-centered .page-index { border-color: rgba(255, 255, 255, .3); }
.page-index a { display: grid; grid-template-columns: 44px 1fr; align-items: center; min-height: 54px; color: #2c4757; border-bottom: 1px solid rgba(13, 36, 48, .24); font-weight: 650; font-size: .95rem; transition: padding .2s ease, color .2s ease; }
.page-index a:hover, .page-index a:focus-visible { padding-left: 10px; color: var(--cyan-text); }
.page-hero-image .page-index a { color: #d7e5eb; border-color: rgba(255, 255, 255, .3); }
.page-hero-image .page-index a:hover { color: var(--cyan-bright); }
.page-index span { color: var(--cyan-text); font-family: var(--mono); font-size: .72rem; letter-spacing: .1em; }
.page-hero-image .page-index span { color: var(--cyan-bright); }

/* 产品中心 Hero：深色科技感 + 几何装饰 */
.page-hero-products { color: white; background: #06161f; overflow: hidden; }
.page-hero-products::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(93, 231, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(93, 231, 255, .06) 1px, transparent 1px);
  background-size: 64px 64px; mask-image: radial-gradient(100% 80% at 70% 50%, black 0%, transparent 75%); }
.page-hero-products::after { content: ""; position: absolute; top: 50%; right: -8%; width: 600px; height: 600px; transform: translateY(-50%); pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='138' viewBox='0 0 120 138'%3E%3Cpath d='M60 4 112 34v70L60 134 8 104V34Z' fill='none' stroke='%235de7ff' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 120px 138px; opacity: .1; animation: heroHexSpin 60s linear infinite; }
.page-hero-products .kicker { color: var(--cyan-bright); }
.page-hero-products .kicker::before { border-color: var(--cyan-bright); }
.page-hero-products h1 { color: white; }
.page-hero-products .page-hero-grid > div > p:last-child { color: #aac4cf; }
.page-hero-products .page-index { border-color: rgba(255, 255, 255, .2); }
.page-hero-products .page-index a { color: #d7e5eb; border-color: rgba(255, 255, 255, .2); }
.page-hero-products .page-index a:hover { color: var(--cyan-bright); padding-left: 10px; }
.page-hero-products .page-index span { color: var(--cyan-bright); }

/* 内页：产品详情分节 */
.product-detail { position: relative; padding: clamp(64px, 7.5vw, 112px) 0; background: #fbfdfe; }
.product-detail-alt { background: var(--mist); }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(36px, 6vw, 96px); align-items: center; }
.product-detail-alt .detail-media { order: 2; }
.detail-media { position: relative; min-height: 420px; margin: 0; background: #0d2633; overflow: hidden; }
.detail-media::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  box-shadow: inset 0 0 60px 30px rgba(13, 38, 51, .5); }
.detail-media img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); opacity: .92; }
.detail-media:hover img { transform: scale(1.05); opacity: 1; }
/* 图片左上角产品类型标签 */
.detail-tag { position: absolute; z-index: 2; top: 18px; left: 18px; padding: 7px 14px; background: rgba(6, 22, 31, .82); color: var(--cyan-bright); font-family: var(--mono); font-size: .68rem; letter-spacing: .16em; backdrop-filter: blur(4px); }
.detail-number { margin: 0 0 16px; color: var(--cyan-text); font-family: var(--mono); font-size: .74rem; font-weight: 600; letter-spacing: .16em; }
.detail-copy h2 { margin: 0; font-size: clamp(1.9rem, 3.2vw, 3rem); line-height: 1.1; }
.detail-en { margin: 8px 0 18px; color: #71838d; font-family: var(--mono); font-size: .74rem; letter-spacing: .14em; }
.detail-copy > p:not(.detail-number):not(.detail-en) { max-width: 620px; margin: 0; color: var(--body-text); font-size: 1rem; }
/* 规格表：卡片网格式 */
.detail-specs { margin: 28px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.detail-specs > div { padding: 16px 18px; background: white; border: 1px solid var(--line); transition: border-color .2s ease, box-shadow .2s ease; }
.detail-specs > div:hover { border-color: var(--cyan); box-shadow: 0 4px 16px rgba(0, 154, 180, .1); }
.detail-specs dt { color: #647a86; font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; margin-bottom: 6px; }
.detail-specs dd { margin: 0; font-weight: 650; font-size: .92rem; color: var(--ink); }

/* 内页：底部 CTA */
.page-cta { padding: clamp(68px, 7.5vw, 112px) 0; color: white; background: var(--steel); position: relative; overflow: hidden; }
.page-cta::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(90% 120% at 0% 100%, black, transparent 70%); }
.page-cta h2 { position: relative; margin: 18px 0 34px; max-width: 860px; font-size: clamp(1.9rem, 3.3vw, 3.2rem); line-height: 1.2; }
.page-cta-note { position: relative; max-width: 700px; margin: -14px 0 28px; color: #b9d1dc; }
.page-cta .kicker { position: relative; }
.page-cta a { position: relative; display: inline-flex; align-items: center; justify-content: space-between; gap: 48px; min-width: min(300px, 100%); padding: 15px 4px; color: var(--cyan-bright); border-top: 1px solid var(--white-line); border-bottom: 1px solid var(--white-line); font-weight: 700; transition: color .2s ease, border-color .2s ease; }
.page-cta a:hover, .page-cta a:focus-visible { color: white; border-color: rgba(255, 255, 255, .5); }

/* Privacy notice: compact, document-like reading layout. */
.privacy-section { background: #fbfdfe; }
.privacy-layout { max-width: 960px; }
.privacy-updated { margin: 0 0 28px; color: var(--body-text); font-size: .88rem; }
.privacy-item { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); padding: 34px 0; border-top: 1px solid var(--line); }
.privacy-item > span { color: var(--cyan-text); font-family: var(--mono); font-size: .72rem; letter-spacing: .1em; }
.privacy-item h2 { margin: 0 0 16px; font-size: clamp(1.4rem, 2.5vw, 2rem); }
.privacy-item p { margin: 0 0 12px; color: var(--body-text); }
.privacy-item p:last-child { margin-bottom: 0; }
.privacy-item a { color: var(--cyan-text); border-bottom: 1px solid currentColor; }

/* 内页：应用领域 */
.application-visual { padding-bottom: clamp(56px, 6vw, 88px); background: #fbfdfe; }
.application-visual-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 80px); align-items: end; margin-bottom: 40px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.application-visual-head h2 { margin: 14px 0 0; font-size: clamp(1.85rem, 2.9vw, 2.8rem); line-height: 1.18; }
.application-visual-head > p { margin: 0; max-width: 520px; color: var(--body-text); font-size: .98rem; }
.application-overview { position: relative; margin: 0; min-height: clamp(320px, 42vw, 540px); overflow: hidden; background: #dce7ed; }
.application-overview img { width: 100%; height: 100%; min-height: clamp(320px, 42vw, 540px); object-fit: cover; }
.application-overview figcaption { position: absolute; right: 20px; bottom: 20px; left: 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 15px 20px; color: white; background: rgba(12, 42, 58, .84); backdrop-filter: blur(12px); }
.application-overview figcaption span { color: var(--cyan-bright); font-family: var(--mono); font-size: .66rem; font-weight: 600; letter-spacing: .16em; }
.application-overview figcaption p { margin: 0; font-size: .84rem; letter-spacing: .04em; }

.application-list { background: var(--paper); }
.application-stories { display: grid; gap: 22px; }
.application-story { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: white; border: 1px solid var(--line); box-shadow: var(--shadow-card); transition: transform .3s ease, box-shadow .3s ease; }
.application-story:hover { transform: translateY(-3px); box-shadow: var(--shadow-pop); }
.application-story:nth-child(even) figure { order: 2; }
.application-story figure { margin: 0; min-height: clamp(300px, 34vw, 430px); overflow: hidden; background: var(--mist); }
.application-story img { width: 100%; height: 100%; min-height: clamp(300px, 34vw, 430px); object-fit: cover; transition: transform .55s ease; }
.application-story:hover img { transform: scale(1.03); }
.application-story-copy { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(26px, 3.4vw, 52px); }
.story-index { color: var(--cyan-text); font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .14em; }
.application-story h3 { margin: 14px 0 14px; font-size: clamp(1.5rem, 2.2vw, 2.1rem); line-height: 1.15; }
.application-story-copy > p { max-width: 560px; margin: 0; color: var(--body-text); font-size: .97rem; }
.story-meta { display: grid; gap: 4px; width: 100%; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
.story-meta strong { font-size: .84rem; }
.story-meta span { color: var(--body-text); font-size: .9rem; }
.application-story a { margin-top: 20px; color: var(--cyan-text); font-size: .9rem; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 2px; transition: color .2s ease; }
.application-story a:hover, .application-story a:focus-visible { color: var(--ink); }

.decision-strip { position: relative; padding: clamp(68px, 7.5vw, 112px) 0; color: white; background: var(--steel); overflow: hidden; }
.decision-strip::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(90% 120% at 100% 0%, black, transparent 70%); }
.decision-grid { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 120px); }
.decision-grid h2 { margin: 14px 0 0; font-size: clamp(1.85rem, 3vw, 2.9rem); line-height: 1.2; }
.decision-grid ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--white-line); }
.decision-grid li { display: grid; grid-template-columns: 64px 1fr; gap: 16px; align-items: baseline; padding: 15px 0; border-bottom: 1px solid var(--white-line); font-size: 1.02rem; }
.decision-grid li span { color: var(--cyan-bright); font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; }

/* 内页：质量与服务 */
/* 质量与服务：订单协同流程 */
.quality-process { background: #fbfdfe; }
.process-grid { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; }
.process-grid li { position: relative; min-height: 240px; padding: 24px; display: flex; flex-direction: column; background: white; border: 1px solid var(--line); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.process-grid li::before { content: attr(data-num); position: absolute; right: -6px; bottom: -28px; font-family: var(--mono); font-size: 5.5rem; font-weight: 700; line-height: 1; color: var(--cyan); opacity: .1; transition: opacity .3s ease, transform .3s ease; }
.process-grid li:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(13, 36, 48, .12); border-color: var(--cyan); z-index: 1; }
.process-grid li:hover::before { opacity: .25; transform: translateY(-6px); }
.process-grid span { position: relative; z-index: 1; color: var(--cyan-text); font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .14em; }
.process-grid h3 { position: relative; z-index: 1; margin: clamp(36px, 4.5vw, 64px) 0 10px; font-size: 1.22rem; }
.process-grid p { position: relative; z-index: 1; margin: 0; color: var(--body-text); font-size: .9rem; }

/* 质量与服务：询价清单 */
.quality-evidence { background: var(--mist); }
.evidence-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(40px, 7vw, 120px); align-items: start; }
.evidence-intro { position: sticky; top: 104px; }
.evidence-intro h2 { margin: 14px 0 18px; font-size: clamp(1.85rem, 2.9vw, 2.8rem); line-height: 1.2; }
.evidence-intro > p:last-child { margin: 0; color: var(--body-text); }
.evidence-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.evidence-list article { position: relative; min-height: 168px; padding: 22px 24px 22px 64px; display: flex; flex-direction: column; background: #fbfdfe; border: 1px solid var(--line); transition: border-color .25s ease, box-shadow .25s ease; }
.evidence-list article:hover { border-color: var(--cyan); box-shadow: 0 8px 24px rgba(0, 154, 180, .1); }
.evidence-list article > span { position: absolute; left: 20px; top: 24px; display: grid; place-items: center; width: 30px; height: 30px; background: var(--cyan); color: white; font-family: var(--mono); font-size: .72rem; font-weight: 700; }
.evidence-list h3 { margin: 0 0 8px; font-size: 1.12rem; }
.evidence-list p { margin: 0; color: var(--body-text); font-size: .87rem; }

/* 质量与服务：文件与交付支持 */
.quality-docs { background: #fbfdfe; }
.quality-doc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.quality-doc-grid article { position: relative; min-height: 280px; padding: 26px; display: flex; flex-direction: column; color: white; background: var(--steel); overflow: hidden; transition: transform .3s ease; }
.quality-doc-grid article::before { content: ""; position: absolute; top: -30px; right: -30px; width: 120px; height: 120px; border: 1px solid rgba(93, 231, 255, .25); transform: rotate(45deg); transition: transform .4s ease; }
.quality-doc-grid article:hover { transform: translateY(-4px); }
.quality-doc-grid article:hover::before { transform: rotate(90deg) scale(1.1); }
.quality-doc-grid article:nth-child(2) { color: var(--ink); background: var(--mist); }
.quality-doc-grid article:nth-child(2)::before { border-color: rgba(13, 36, 48, .15); }
.quality-doc-grid article:nth-child(3) { color: var(--ink); background: white; border: 1px solid var(--line); }
.quality-doc-grid article:nth-child(3)::before { border-color: rgba(13, 36, 48, .12); }
.quality-doc-grid span { position: relative; z-index: 1; color: var(--cyan-bright); font-family: var(--mono); font-size: .68rem; font-weight: 600; letter-spacing: .16em; }
.quality-doc-grid article:nth-child(n+2) span { color: var(--cyan-text); }
.quality-doc-grid h3 { position: relative; z-index: 1; margin: clamp(40px, 5vw, 72px) 0 10px; font-size: 1.24rem; }
.quality-doc-grid p { position: relative; z-index: 1; margin: 0; color: #b6c9d3; font-size: .92rem; }
.quality-doc-grid article:nth-child(n+2) p { color: var(--body-text); }

/* 质量与服务：服务流程（深色） */
.service-flow { position: relative; padding: clamp(68px, 7.5vw, 112px) 0; color: white; background: var(--steel); overflow: hidden; }
.service-flow::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(90% 120% at 0% 0%, black, transparent 70%); }
.service-flow::after { content: ""; position: absolute; top: 50%; right: -6%; width: 500px; height: 500px; transform: translateY(-50%); pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='138' viewBox='0 0 120 138'%3E%3Cpath d='M60 4 112 34v70L60 134 8 104V34Z' fill='none' stroke='%235de7ff' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 120px 138px; opacity: .08; animation: heroHexSpin 60s linear infinite; }
.service-flow-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 120px); }
.service-flow h2 { margin: 14px 0 0; font-size: clamp(1.85rem, 3vw, 2.9rem); line-height: 1.2; }
.service-steps { border-top: 1px solid var(--white-line); }
.service-steps article { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--white-line); transition: padding .25s ease; }
.service-steps article:hover { padding-left: 12px; }
.service-steps article > span { display: grid; place-items: center; width: 36px; height: 36px; color: var(--cyan-bright); font-family: var(--mono); font-size: .78rem; font-weight: 700; letter-spacing: .12em; border: 1px solid rgba(93, 231, 255, .35); }
.service-steps h3 { margin: 0; font-size: 1.12rem; }
.service-steps p { margin: 5px 0 0; color: #b2c6d0; font-size: .9rem; }

/* 内页：关于我们 */
.about-story { background: #fbfdfe; }
.about-story-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: start; }
.about-story h2 { margin: 14px 0 0; font-size: clamp(1.85rem, 3vw, 2.9rem); line-height: 1.2; }
.about-copy { padding-top: 6px; color: var(--body-text); font-size: 1rem; }
.about-copy p { margin: 0 0 18px; position: relative; padding-left: 22px; }
.about-copy p::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; background: var(--cyan); }
.about-photo-band { padding: 0 0 clamp(56px, 6vw, 84px); background: #fbfdfe; }
.about-photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.about-photo-grid figure { position: relative; min-height: 260px; margin: 0; background: #0d2633; overflow: hidden; }
.about-photo-grid figure::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 50px 24px rgba(13, 38, 51, .5); }
.about-photo-grid img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; transition: transform .55s ease; opacity: .92; }
.about-photo-grid figure:hover img { transform: scale(1.05); opacity: 1; }
.about-photo-grid figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 16px 20px; color: var(--cyan-bright); font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .14em; background: linear-gradient(0deg, rgba(6, 22, 31, .9), transparent); }
.about-scope { padding-top: clamp(56px, 6vw, 84px); background: #fbfdfe; }
.about-scope-head { display: grid; grid-template-columns: minmax(0, .55fr) minmax(0, 1.45fr); gap: 40px; align-items: end; margin-bottom: 38px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.about-scope-head h2 { margin: 0; font-size: clamp(1.85rem, 3vw, 2.8rem); line-height: 1.2; }
.scope-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.scope-grid article { position: relative; min-height: 300px; display: flex; flex-direction: column; padding: 28px; background: var(--mist); border: 1px solid transparent; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.scope-grid article::before { content: ""; position: absolute; top: -28px; right: -28px; width: 100px; height: 100px; border: 1px solid rgba(13, 36, 48, .12); transform: rotate(45deg); transition: transform .4s ease; }
.scope-grid article:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(13, 36, 48, .1); border-color: var(--cyan); }
.scope-grid article:hover::before { transform: rotate(90deg) scale(1.15); }
.scope-grid article:nth-child(2) { color: white; background: var(--steel); }
.scope-grid article:nth-child(2)::before { border-color: rgba(93, 231, 255, .25); }
.scope-grid article:nth-child(3) { background: white; border-color: var(--line); }
.scope-icon { position: relative; z-index: 1; width: 44px; height: 44px; margin-bottom: 22px; stroke: var(--cyan-text); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.scope-grid article:nth-child(2) .scope-icon { stroke: var(--cyan-bright); }
.scope-grid span { position: relative; z-index: 1; color: var(--cyan-text); font-family: var(--mono); font-size: .68rem; font-weight: 600; letter-spacing: .16em; }
.scope-grid article:nth-child(2) span { color: var(--cyan-bright); }
.scope-grid h3 { position: relative; z-index: 1; margin: 10px 0 10px; font-size: 1.32rem; }
.scope-grid p { position: relative; z-index: 1; margin: 0; color: var(--body-text); font-size: .92rem; }
.scope-grid article:nth-child(2) p { color: #bfd0d8; }
.scope-grid a { position: relative; z-index: 1; align-self: flex-start; margin-top: auto; padding-top: 18px; color: var(--cyan-text); font-size: .86rem; font-weight: 700; border-bottom: 1px solid currentColor; }
.scope-grid article:nth-child(2) a { color: var(--cyan-bright); }
.about-values { padding: 0 0 clamp(68px, 7.5vw, 112px); background: #fbfdfe; }
.value-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.value-grid article { position: relative; min-height: 210px; padding: 24px; background: white; border: 1px solid var(--line); overflow: hidden; transition: transform .3s ease, border-color .3s ease; }
.value-grid article::before { content: attr(data-num); position: absolute; right: -4px; bottom: -24px; font-family: var(--mono); font-size: 4.5rem; font-weight: 700; line-height: 1; color: var(--cyan); opacity: .1; transition: opacity .3s ease, transform .3s ease; }
.value-grid article:hover { transform: translateY(-4px); border-color: var(--cyan); box-shadow: 0 12px 32px rgba(0, 154, 180, .12); }
.value-grid article:hover::before { opacity: .22; transform: translateY(-4px); }
.value-grid span { position: relative; z-index: 1; color: var(--cyan-text); font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .14em; }
.value-grid h3 { position: relative; z-index: 1; margin: clamp(30px, 4vw, 52px) 0 10px; font-size: 1.2rem; }
.value-grid p { position: relative; z-index: 1; margin: 0; color: var(--body-text); font-size: .9rem; }
.about-method { position: relative; color: white; background: var(--steel); overflow: hidden; }
.about-method::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(90% 120% at 100% 100%, black, transparent 70%); }
.about-method::after { content: ""; position: absolute; top: 50%; left: -6%; width: 500px; height: 500px; transform: translateY(-50%); pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='138' viewBox='0 0 120 138'%3E%3Cpath d='M60 4 112 34v70L60 134 8 104V34Z' fill='none' stroke='%235de7ff' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 120px 138px; opacity: .08; animation: heroHexSpin 60s linear infinite; }
.method-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 120px); }
.about-method h2 { margin: 14px 0 0; font-size: clamp(1.85rem, 3vw, 2.9rem); line-height: 1.2; }
.about-method ol { position: relative; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--white-line); }
.about-method li { position: relative; display: grid; grid-template-columns: 60px 1fr; gap: 18px; padding: 19px 0; border-bottom: 1px solid var(--white-line); transition: padding .25s ease; }
.about-method li:hover { padding-left: 12px; }
.about-method li > span { display: grid; place-items: center; width: 36px; height: 36px; color: var(--cyan-bright); font-family: var(--mono); font-size: .78rem; font-weight: 700; letter-spacing: .12em; border: 1px solid rgba(93, 231, 255, .35); }
.about-method h3 { margin: 0; font-size: 1.14rem; }
.about-method li p { margin: 5px 0 0; color: #b2c6d0; font-size: .9rem; }

/* 内页：联系我们 */
.contact-hero { position: relative; padding: 158px 0 84px; color: white; background: #06161f; overflow: hidden; }
.contact-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(93, 231, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(93, 231, 255, .06) 1px, transparent 1px);
  background-size: 64px 64px; mask-image: radial-gradient(100% 80% at 70% 50%, black 0%, transparent 75%); }
.contact-hero-media { position: absolute; inset: 0; background: url("/assets/hero-contact-v2.png") center / cover no-repeat; }
.contact-hero-media::after { content: ""; position: absolute; inset: 0; background: rgba(8, 30, 43, .7); }
.contact-hero .page-hero-grid { position: relative; z-index: 1; grid-template-columns: 1fr; }
.contact-hero .kicker { color: var(--cyan-bright); }
.contact-hero .kicker::before { border-color: var(--cyan-bright); }
.contact-hero h1 { color: white; }
.contact-hero .page-hero-grid > div > p:last-child { color: #aac4cf; }
.contact-main { background: #fbfdfe; }
.contact-main-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(40px, 6vw, 100px); align-items: start; }
.contact-details h2 { margin: 14px 0 18px; font-size: clamp(1.85rem, 3vw, 2.8rem); line-height: 1.2; }
.contact-details > p:not(.kicker) { margin: 0; color: var(--body-text); }
.contact-channel { position: relative; display: grid; gap: 4px; padding: 18px 18px 18px 60px; margin-bottom: 12px; background: white; border: 1px solid var(--line); transition: border-color .25s ease, box-shadow .25s ease; }
.contact-channel:hover { border-color: var(--cyan); box-shadow: 0 8px 24px rgba(0, 154, 180, .1); }
.contact-channel::before { content: ""; position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; background: var(--cyan); }
.contact-channel:first-of-type { margin-top: 30px; }
.contact-channel > span { color: var(--cyan-text); font-family: var(--mono); font-size: .7rem; font-weight: 600; letter-spacing: .12em; }
.contact-channel strong { font-size: 1.12rem; font-weight: 650; }
.contact-channel a { width: max-content; color: var(--cyan-text); font-size: .9rem; border-bottom: 1px solid currentColor; }
.contact-channel a:hover { color: var(--cyan-text); }
.contact-channel-whatsapp a { font-size: 1.05rem; font-weight: 650; }
.contact-honesty { margin-top: 24px; color: #758995; font-size: .84rem; }

.inquiry-panel { position: relative; padding: clamp(26px, 3.6vw, 48px); color: white; background: var(--steel); overflow: hidden; }
.inquiry-panel::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px);
  background-size: 48px 48px; }
.inquiry-panel > * { position: relative; z-index: 1; }
.inquiry-panel .kicker { color: var(--cyan-bright); }
.inquiry-panel .kicker::before { border-color: var(--cyan-bright); }
.inquiry-panel h2 { margin: 14px 0 10px; font-size: clamp(1.6rem, 2.4vw, 2.3rem); line-height: 1.15; color: white; }
.inquiry-panel > p:not(.kicker) { margin: 0 0 26px; color: #aac4cf; font-size: .92rem; }
.inquiry-panel form { display: grid; gap: 16px; }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.inquiry-panel label { display: grid; gap: 7px; color: #d7e5eb; font-size: .86rem; font-weight: 650; }
.inquiry-panel input, .inquiry-panel select, .inquiry-panel textarea { width: 100%; min-height: 47px; padding: 11px 13px; color: white; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .18); border-radius: var(--radius); outline-offset: 2px; font-weight: 400; transition: border-color .2s ease, background .2s ease; }
.inquiry-panel input::placeholder, .inquiry-panel textarea::placeholder { color: #6c8593; }
.inquiry-panel input:focus, .inquiry-panel select:focus, .inquiry-panel textarea:focus { border-color: var(--cyan-bright); background: rgba(255, 255, 255, .1); }
.inquiry-panel select option { background: var(--steel); color: white; }
.inquiry-panel textarea { resize: vertical; }
.inquiry-panel .button { justify-self: start; cursor: pointer; }
.inquiry-panel [hidden] { display: none !important; }
.form-status { min-height: 1.7em; margin: 0; color: var(--cyan-bright); font-size: .86rem; }
.inquiry-output { display: grid; gap: 7px; }
.inquiry-output textarea { font-family: var(--mono); font-size: .82rem; line-height: 1.7; }

.contact-next { background: var(--paper); border-top: 1px solid var(--line); }
.contact-next-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.contact-next-grid article { position: relative; min-height: 200px; padding: 26px; background: var(--mist); border: 1px solid transparent; overflow: hidden; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.contact-next-grid article::before { content: attr(data-num); position: absolute; right: -4px; bottom: -24px; font-family: var(--mono); font-size: 4rem; font-weight: 700; line-height: 1; color: var(--cyan); opacity: .1; transition: opacity .3s ease; }
.contact-next-grid article:hover { transform: translateY(-4px); border-color: var(--cyan); box-shadow: 0 12px 32px rgba(0, 154, 180, .12); }
.contact-next-grid article:hover::before { opacity: .25; }
.contact-next-grid article:nth-child(2) { color: white; background: var(--steel); }
.contact-next-grid article:nth-child(2)::before { color: var(--cyan-bright); opacity: .15; }
.contact-next-grid span { position: relative; z-index: 1; color: var(--cyan-text); font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .14em; }
.contact-next-grid article:nth-child(2) span { color: var(--cyan-bright); }
.contact-next-grid h3 { position: relative; z-index: 1; margin: 30px 0 8px; font-size: 1.2rem; }
.contact-next-grid p { position: relative; z-index: 1; margin: 0; color: var(--body-text); font-size: .9rem; }
.contact-next-grid article:nth-child(2) p { color: #bfd0d8; }

/* ---------- 进场动画 ---------- */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal:nth-child(2) { transition-delay: .06s; }
.reveal:nth-child(3) { transition-delay: .12s; }
.reveal:nth-child(4) { transition-delay: .18s; }

/* ---------- 响应式 ---------- */
@media (max-width: 1080px) {
  .container { width: min(calc(100% - 40px), var(--container)); }
  .nav { gap: 14px; }
  .nav-links { gap: 13px; }
  .application-grid { grid-template-columns: 1fr 1fr; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .value-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; gap: 52px; }
  .hero-visual { max-width: 560px; margin: 0 auto; }
  .geo-stage { transform: scale(.82); transform-origin: center; }
  .page-hero-grid, .page-hero-image .page-hero-grid, .contact-hero .page-hero-grid { grid-template-columns: 1fr; }
  .page-index { max-width: 560px; }
  .detail-grid, .about-story-grid, .decision-grid, .service-flow-grid, .application-visual-head, .evidence-layout, .method-grid, .contact-main-grid { grid-template-columns: 1fr; }
  .application-story { grid-template-columns: 1fr; }
  .application-story:nth-child(even) figure { order: 0; }
  .application-story figure, .application-story img { min-height: 340px; max-height: 440px; }
  .product-detail-alt .detail-media { order: 0; }
  .detail-media, .detail-media img { min-height: 340px; }
  .quality-grid { grid-template-columns: 1fr; }
  .quality-intro { position: static; }
  .evidence-intro { position: static; }
  .quality-doc-grid, .scope-grid, .contact-next-grid { grid-template-columns: 1fr; }
  .quality-doc-grid article, .scope-grid article { min-height: 220px; }
  .about-scope-head { grid-template-columns: 1fr; gap: 20px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .section-heading, .promise-grid, .contact-grid { grid-template-columns: 1fr; gap: 26px; align-items: start; }
  .application-overview, .application-overview img { min-height: 340px; }
}

@media (max-width: 840px) {
  .nav { min-height: 60px; }
  .menu-toggle { display: block; }
  .nav-links { position: fixed; top: 61px; left: 0; right: 0; display: grid; padding: 14px 24px 22px; color: white; background: rgba(10, 29, 39, .98); border-bottom: 1px solid var(--white-line); transform: translateY(-12px); opacity: 0; visibility: hidden; transition: .25s ease; }
  .nav-links.is-open { transform: none; opacity: 1; visibility: visible; }
  .nav-links a { padding: 10px 2px; color: white; border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .nav-links a::after { display: none; }
  .nav-links .nav-contact { margin: 14px 0 0; justify-self: start; }
  .hero { padding-top: 60px; }
  .hero-grid { padding: 44px 0 56px; }
  .hero h1 { font-size: clamp(2.5rem, 9.5vw, 3.6rem); }
  .hero-metrics { grid-template-columns: 1fr 1fr; }
  .metric { min-height: 92px; padding: 18px 20px; }
  .metric:nth-child(odd) { border-left: 0; }
  .metric:nth-child(-n+2) { border-bottom: 1px solid var(--white-line); }
  .hero-scroll { display: none; }
  .product-card, .product-card:nth-child(1), .product-card:nth-child(2), .product-card:nth-child(3), .product-card:nth-child(4) { grid-column: span 6; }
  .product-image { height: clamp(170px, 24vw, 220px); }
  .page-hero, .page-hero-centered { padding: 128px 0 60px; }
  .page-hero-grid h1 { font-size: clamp(2.1rem, 7.5vw, 2.9rem); }
  .application-grid { grid-template-columns: 1fr; }
  .application-card { min-height: 240px; }
}

@media (max-width: 580px) {
  .container { width: min(calc(100% - 32px), var(--container)); }
  .brand-copy small { display: none; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 18px; }
  .product-card, .product-card:nth-child(1), .product-card:nth-child(2), .product-card:nth-child(3), .product-card:nth-child(4) { grid-column: 1 / -1; }
  .section-foot { align-items: flex-start; flex-direction: column; gap: 16px; }
  .process-grid, .value-grid, .evidence-list, .about-photo-grid { grid-template-columns: 1fr; }
  .process-grid li, .value-grid article { min-height: 0; }
  .process-grid h3, .value-grid h3 { margin-top: 22px; }
  .form-pair { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
  .product-dialog { width: calc(100% - 20px); max-height: calc(100vh - 20px); }
  .product-dialog[open] { grid-template-columns: 1fr; overflow-y: auto; }
  .dialog-media { min-height: 240px; }
  .dialog-content { overflow: visible; padding: 28px 22px; }
  .detail-specs { grid-template-columns: 1fr; }
  .spec-list > div { grid-template-columns: 92px 1fr; }
  .page-cta a { min-width: 100%; }
  .privacy-item { grid-template-columns: 1fr; gap: 10px; }
  .contact-hero-media { background-position: 58% center; }
  .page-hero-photo::after { background: linear-gradient(180deg, rgba(8, 30, 43, .4), rgba(8, 30, 43, .92) 72%); }
  .application-story figure, .application-story img { min-height: 230px; max-height: 280px; }
  .about-photo-grid figure, .about-photo-grid img { min-height: 220px; max-height: 250px; }
  .decision-grid li { grid-template-columns: 48px 1fr; }
  .service-steps article { grid-template-columns: 48px 1fr; }
  .about-method li { grid-template-columns: 48px 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-delay: 0ms !important; }
}
