/*
[INPUT]: 依赖 src/build.py 生成的七页结构和 site/assets 的概念视觉。
[OUTPUT]: 提供圆角层级化的品牌首屏、七页排版、横向应用叙事与研发滚动故事的样式。
[POS]: 七页共享的唯一视觉系统；基础控件、响应式布局和重点动效在此统一。
[PROTOCOL]: 变更时更新此头部，然后检查 CLAUDE.md
*/
:root{ --v2-ease:cubic-bezier(.22,1,.36,1); --v2-ink:#132b22; --v2-orange:#bb653c; --v2-paper:#f4f2eb; --v2-line:#d5d9ce; scroll-behavior:smooth }
*{ box-sizing:border-box }
body{ margin:0; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif }
button,input,select,textarea{ font:inherit }
button{ cursor:pointer }
a{ color:inherit; text-decoration:none }
img{ display:block; max-width:100% }
h1,h2,h3,p,figure{ margin:0 }
p{ line-height:1.75 }
h1,h2,h3{ font-weight:600 }
em{ font-style:normal }
:focus-visible{ outline:3px solid #d28159; outline-offset:4px }
.skip-link{ position:absolute; z-index:100; top:-80px; left:12px; background:#fff; padding:12px }
.skip-link:focus{ top:10px }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px }
body.v2-page{ overflow-x:hidden; background:var(--v2-paper); color:var(--v2-ink) }
.v2-container{ width:min(100% - 100px,1420px); margin-inline:auto }
.v2-page h1,.v2-page h2,.v2-page h3{ letter-spacing:-.055em }
.v2-page em{ color:var(--v2-orange) }
.proposal-banner{ height:34px; background:#18382a; color:#e0e9df; font-size:10px; letter-spacing:.08em; display:flex; justify-content:center; align-items:center; gap:28px }
.proposal-banner a{ color:#dba780; text-decoration:underline; text-underline-offset:3px }
.v2-header{ position:sticky; top:0; z-index:30; background:#f4f2ebed; border-bottom:1px solid var(--v2-line); backdrop-filter:blur(20px); transition:background .24s,height .24s }
.v2-header-inner{ width:min(100% - 100px,1420px); height:80px; margin:auto; display:flex; align-items:center; gap:30px; transition:height .24s }
.v2-header.is-scrolled .v2-header-inner{ height:68px }
.v2-brand{ display:flex; gap:14px; align-items:baseline; flex:none }
.v2-brand strong{ font-size:30px; font-weight:800; line-height:1; letter-spacing:-.1em }
.v2-brand strong span,.v2-footer strong span{ color:var(--v2-orange) }
.v2-brand small{ font-size:9px; letter-spacing:.18em; color:#67796b; font-weight:750 }
.v2-header nav{ display:flex; align-items:center; gap:24px; margin-left:auto; font-size:12px; font-weight:600; white-space:nowrap }
.v2-header nav a{ border-bottom:1px solid transparent; padding:8px 0; transition:color .2s,border-color .2s }
.v2-header nav a:hover,.v2-header nav a.active{ color:var(--v2-orange); border-color:currentColor }
.v2-header-action{ flex:none; font-size:12px; font-weight:750; border-bottom:1px solid currentColor; padding:8px 0; margin-left:15px }
.v2-header-action span{ margin-left:15px }
.v2-menu{ display:none }
.page-home .v2-header{ position:absolute; left:0; right:0; top:34px; background:transparent; border-color:#ffffff50; color:#fff; backdrop-filter:none }
.page-home .v2-brand small{ color:#d6e0d7 }
.page-home .v2-header.is-scrolled{ position:fixed; top:0; background:#f4f2ebed; color:var(--v2-ink); border-color:var(--v2-line); backdrop-filter:blur(20px) }
.page-home .v2-header.is-scrolled .v2-brand small{ color:#67796b }
.v2-section{ padding-block:110px }
.v2-eyebrow{ display:flex; align-items:center; gap:12px; font-size:11px; font-weight:750; letter-spacing:.15em; text-transform:uppercase; color:#68796b }
.v2-eyebrow>span{ width:24px; height:1px; background:var(--v2-orange) }
.v2-section-heading h2{ font-size:clamp(37px,4.4vw,67px); line-height:1.2; margin-top:24px }
.v2-note{ font-size:11px; color:#808d7f; margin-top:30px }
.v2-text-link{ display:inline-flex; gap:27px; align-items:center; border-bottom:1px solid currentColor; padding-bottom:9px; font-size:13px; font-weight:750 }
.v2-text-link:hover{ color:var(--v2-orange) }
.v2-button{
  min-height:52px; display:inline-flex; align-items:center; justify-content:space-between; gap:36px; padding:14px 23px; background:var(--v2-ink); color:#fff;
  border:1px solid var(--v2-ink); font-size:13px; font-weight:750;
  transition:background .22s var(--v2-ease),color .22s var(--v2-ease)
}
.v2-button span,.v2-text-link span{ transition:transform .22s var(--v2-ease) }
.v2-button:hover span,.v2-text-link:hover span{ transform:translateX(5px) }
.v2-button:hover{ background:var(--v2-orange); border-color:var(--v2-orange) }
.v2-button.light{ background:#f2eee4; color:var(--v2-ink); border-color:#f2eee4 }
.v2-button.light:hover{ background:#fff }
.v2-text-link.light{ color:#fff }
.concept-image{ position:relative; overflow:hidden; background:#1d3828 }
.concept-image img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .65s var(--v2-ease) }
.concept-image:hover img{ transform:scale(1.03) }
.concept-image figcaption,.slide-image-label,.story-visual figcaption{ position:absolute; right:15px; bottom:15px; padding:5px 8px; background:#112119ac; color:#fff; font-size:10px; letter-spacing:.04em }
.v2-hero{ height:min(900px,calc(100svh - 34px)); min-height:690px; position:relative; color:#fff; background:#172f24; overflow:hidden }
.v2-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; animation:hero-image 1.2s var(--v2-ease) both }
.v2-hero-shade{ position:absolute; inset:0; background:linear-gradient(90deg,#102c23e8 0%,#112c23b8 35%,#112c2344 70%,#112c2318 100%) }
.v2-hero-content{ position:relative; z-index:2; height:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-top:80px }
.v2-hero-en{ font-size:12px!important; letter-spacing:.26em; font-weight:800; color:#e1d7c0 }
.v2-hero h1{ font-size:clamp(58px,6.4vw,105px); line-height:1.1; max-width:1050px; margin:25px 0 28px; font-weight:600 }
.v2-hero h1 em{ color:#f5f0e5; font-style:normal }
.v2-hero-content>p:not(.v2-hero-en){ font-size:15px; letter-spacing:.09em; color:#e4e4d7 }
.v2-hero-actions{ display:flex; gap:34px; align-items:center; margin-top:42px }
.v2-hero-caption{ position:absolute; right:20px; bottom:18px; color:#fff; background:#14281a91; padding:5px 8px; font-size:10px }
.hero-down{ position:absolute; left:50px; bottom:24px; font-size:21px; color:#fff }
.reveal{ animation:hero-reveal .9s var(--v2-ease) both }
.v2-hero-en.reveal{ animation-delay:.35s }
.v2-hero h1.reveal{ animation-delay:.48s }
.v2-hero-content>p.reveal:not(.v2-hero-en){ animation-delay:.6s }
.v2-hero-actions.reveal{ animation-delay:.72s }
@keyframes hero-image{
  from{ filter:blur(8px); transform:scale(1.04) }
  to{ filter:blur(0); transform:scale(1) }
}
@keyframes hero-reveal{
  from{ opacity:0; transform:translateY(30px) }
  to{ opacity:1; transform:translateY(0) }
}
.scale-section{ padding-block:115px 105px }
.scale-grid{ display:grid; grid-template-columns:1.45fr .55fr; gap:12%; align-items:end; margin-top:42px }
.scale-primary{ border-top:1px solid var(--v2-line); padding-top:25px }
.scale-kicker{ font-size:13px; color:#66776a }
.scale-primary>strong{ display:flex; align-items:baseline; font-size:clamp(100px,13vw,210px); line-height:1; letter-spacing:-.1em; font-weight:550; margin:30px 0 18px }
.scale-primary>strong small{ font-size:clamp(24px,3vw,48px); letter-spacing:0; margin-left:13px }
.scale-primary>p,.scale-side>p{ font-size:11px; color:#879388; max-width:400px }
.scale-side{ display:grid; grid-template-columns:1fr 1fr; gap:18px }
.scale-side>div{ border-top:1px solid var(--v2-line); padding-top:19px }
.scale-side strong{ display:block; font-size:clamp(31px,3vw,48px); letter-spacing:-.06em }
.scale-side span{ font-size:11px; color:#79897b }
.scale-side p{ grid-column:1/-1; margin-top:12px }
.idea-section{ background:#e8ece4 }
.idea-section .v2-section-heading{ max-width:830px }
.aroma-flow{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:85px; padding-top:45px }
.aroma-flow svg{ position:absolute; left:0; top:0; width:100%; height:130px; overflow:visible }
.aroma-flow path{ fill:none; stroke:#ae764f; stroke-width:1.4; stroke-dasharray:1450; stroke-dashoffset:1450 }
.aroma-flow.is-visible path{ animation:draw-line 1.7s var(--v2-ease) both }
.aroma-flow>div{ position:relative; padding-top:75px }
.aroma-flow>div::before{ content:""; position:absolute; top:31px; left:0; width:9px; height:9px; border-radius:50%; border:1px solid var(--v2-orange); background:#e8ece4 }
.aroma-flow b{ display:block; font-size:19px; letter-spacing:-.04em }
.aroma-flow span{ display:block; font-size:11px; color:#788a7b; margin-top:10px }
@keyframes draw-line{
  to{ stroke-dashoffset:0 }
}
.home-applications,.home-research-inner{ display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center }
.home-applications .concept-image{ height:550px }
.home-app-copy h2,.home-research h2,.home-proof h2,.v2-cta h2{ font-size:clamp(38px,4.5vw,68px); line-height:1.2; margin:25px 0 }
.home-app-copy>p:not(.v2-eyebrow),.home-research-inner>div>p:not(.v2-eyebrow),.home-proof p{ max-width:460px; font-size:15px; color:#6d7d6e; margin-bottom:36px }
.home-research{ background:#18372a; color:#f5f3eb }
.home-research .concept-image{ height:560px }
.home-research .v2-eyebrow{ color:#b9c9b7 }
.home-research h2{ color:#f5f3eb }
.home-research-inner>div>p:not(.v2-eyebrow){ color:#b4c4b6 }
.home-research .v2-text-link{ color:#e8b694 }
.home-proof-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:end }
.home-proof-grid h2{ margin-bottom:0 }
.v2-cta{ background:#a95330; color:#fff; padding-block:105px }
.v2-cta .v2-eyebrow{ color:#f3d1bd }
.v2-cta .v2-eyebrow span{ background:#f3d1bd }
.v2-cta h2{ font-size:clamp(42px,5.3vw,82px) }
.v2-cta p:not(.v2-eyebrow){ font-size:15px; margin-bottom:30px }
.interior-hero{ padding-block:90px 70px }
.interior-hero h1{ font-size:clamp(56px,6vw,93px); line-height:1.12; margin:27px 0; max-width:1180px }
.interior-hero>p:not(.v2-eyebrow){ font-size:16px; max-width:720px; color:#69796b }
.interior-hero .concept-image{ height:480px; margin-top:65px }
.product-list{ margin-top:37px; border-top:1px solid var(--v2-line) }
.product-row{ display:grid; grid-template-columns:60px 1fr 200px 24px; align-items:start; gap:25px; border-bottom:1px solid var(--v2-line); padding:31px 0 }
.product-row>span,.product-row small{ font-size:11px; color:#8a998a; padding-top:10px }
.product-row h2{ font-size:29px }
.product-row p{ font-size:13px; color:#738274; margin-top:9px; max-width:660px }
.product-row>a{ color:var(--v2-orange); font-size:20px }
.solution-panel{ background:#173529; color:#f4f1e7 }
.solution-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10% }
.solution-grid h2{ font-size:clamp(37px,4vw,58px); line-height:1.22; margin-top:25px }
.solution-grid .v2-eyebrow{ color:#b9cbb9 }
.solution-grid ol{ list-style:none; margin:0; padding:0 }
.solution-grid li{ display:grid; grid-template-columns:80px 1fr; border-top:1px solid #446550; padding:18px 0; font-size:13px }
.solution-grid li b{ color:#f1a273 }
.solution-grid li span{ color:#d4dfd2 }
.horizontal-stage{ height:390vh; position:relative; background:#152e23; color:#fff }
.horizontal-sticky{ height:100vh; position:sticky; top:0; overflow:hidden; display:flex; flex-direction:column; justify-content:center }
.horizontal-heading{ display:flex; justify-content:space-between; align-items:center; padding-block:18px }
.horizontal-heading .v2-eyebrow{ color:#c8d7c8 }
.horizontal-heading>p{ font-size:11px; color:#a7b9a8 }
.horizontal-heading>p span{ margin-left:10px }
.horizontal-track{ display:flex; gap:22px; width:max-content; padding-left:max(50px,calc((100vw - 1420px)/2)); will-change:transform }
.application-slide{ width:min(69vw,850px); height:min(62vh,610px); position:relative; overflow:hidden; background:#203d2d; flex:none }
.application-slide>img{ width:100%; height:100%; object-fit:cover; filter:brightness(.7); transition:transform .6s var(--v2-ease) }
.application-slide:hover>img{ transform:scale(1.03) }
.application-slide>div{ position:absolute; left:7%; bottom:10%; max-width:620px; z-index:2 }
.application-slide small{ font-size:11px; letter-spacing:.2em }
.application-slide h2{ font-size:clamp(45px,5vw,76px); line-height:1.1; margin:12px 0 }
.application-slide p{ font-size:14px; margin-top:8px }
.application-slide a{ display:inline-block; border-bottom:1px solid #fff; margin-top:25px; padding-bottom:8px; font-size:13px }
.horizontal-progress{ height:2px; background:#49604d; margin:25px 50px 0 }
.horizontal-progress span{ display:block; width:0; height:100%; background:#e8a879 }
.application-after{ display:grid; grid-template-columns:1fr 1fr; gap:10% }
.application-after h2{ font-size:clamp(38px,4.4vw,65px) }
.application-after p{ font-size:15px; color:#708171; margin-bottom:27px }
.story-intro{ max-width:780px }
.story-intro h2,.quality-section h2,.certification-section h2,.about-section h2,.timeline-section h2,.about-careers h2,.contact-copy h2{ font-size:clamp(38px,4.2vw,62px); line-height:1.2; margin:23px 0 }
.story-intro>p:not(.v2-eyebrow){ font-size:13px; color:#758575 }
.story-layout{ display:grid; grid-template-columns:.8fr 1.2fr; gap:8%; margin-top:70px }
.story-steps{ padding-bottom:80px }
.story-step{ min-height:58vh; display:grid; grid-template-columns:54px 1fr; gap:23px; align-items:start; padding-top:24px; border-top:1px solid var(--v2-line); opacity:.45; transition:opacity .5s }
.story-step.is-active{ opacity:1 }
.story-step>span{ font-size:11px; color:var(--v2-orange) }
.story-step h3{ font-size:clamp(27px,3vw,43px) }
.story-step p{ font-size:14px; color:#6d7c70; margin-top:15px; max-width:330px }
.story-visual{ height:70vh; position:sticky; top:15vh; overflow:hidden; background:#21362a }
.story-visual img{ width:100%; height:100%; object-fit:cover; transition:opacity .5s var(--v2-ease) }
.research-proof{ border-top:1px solid var(--v2-line) }
.research-proof h2{ font-size:clamp(35px,4vw,60px); margin:23px 0 }
.research-proof>p:not(.v2-eyebrow){ font-size:15px; color:#6b7a6d; max-width:710px; margin-bottom:27px }
.quality-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:65px }
.quality-grid article{ border-top:1px solid var(--v2-line); padding-top:25px }
.quality-grid article>span{ font-size:11px; color:var(--v2-orange) }
.quality-grid h3{ font-size:32px; margin-top:35px }
.quality-grid p{ font-size:13px; color:#728172; margin-top:12px; max-width:350px }
.quality-source{ display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--v2-line); margin-top:70px; padding-top:18px; font-size:11px; color:#819181 }
.quality-source a{ text-decoration:underline }
.certification-section{ background:#e7ebe3 }
.certification-section .v2-container{ display:grid; grid-template-columns:1fr 1fr; gap:10% }
.certification-section .v2-container>p{ font-size:15px; color:#6b7d6d; align-self:center }
.about-section{ display:grid; grid-template-columns:1fr 1fr; gap:10% }
.about-section>div:nth-child(2){ padding-top:40px }
.about-section>div:nth-child(2)>p{ font-size:15px; color:#6c7b6c; margin-bottom:30px }
.timeline-section{ background:#e8ece5 }
.timeline-section ol{ list-style:none; margin:55px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:20px }
.timeline-section li{ border-top:1px solid #b9c8ba; padding-top:20px }
.timeline-section time{ font-size:clamp(26px,3vw,45px); letter-spacing:-.05em }
.timeline-section li p{ font-size:12px; color:#718172; margin-top:15px }
.about-careers{ border-top:1px solid var(--v2-line) }
.about-careers>p:not(.v2-eyebrow){ font-size:14px; color:#6c7a6d; max-width:620px; margin-bottom:30px }
.contact-layout{ display:grid; grid-template-columns:.85fr 1.15fr; gap:9% }
.contact-copy>p:not(.v2-note){ font-size:15px; color:#6b7b6c; max-width:490px }
.contact-steps{ display:flex; flex-wrap:wrap; gap:9px; margin-top:38px }
.contact-steps span{ padding:10px 12px; border:1px solid var(--v2-line); font-size:11px }
.v2-form{ padding:34px; background:#e9eee7 }
.v2-form label{ display:block; font-size:12px; font-weight:700; margin-bottom:22px }
.v2-form input,.v2-form select,.v2-form textarea{ width:100%; display:block; margin-top:9px; padding:13px; background:#fcfdf9; border:1px solid #c6d1c4; color:var(--v2-ink); font-size:13px; border-radius:0 }
.v2-form textarea{ min-height:140px; resize:vertical }
.v2-form .form-actions{ display:flex; gap:12px; flex-wrap:wrap }
.v2-form .v2-button.secondary{ background:transparent; color:var(--v2-ink) }
.v2-form output{ display:block; margin-top:20px; padding:20px; background:#f9faf6; white-space:pre-wrap; line-height:1.8; font-size:12px; overflow-wrap:anywhere }
.v2-form [hidden]{ display:none!important }
.v2-form #form-status{ font-size:11px; color:#778979; margin-top:16px }
.v2-footer{ background:#142f24; color:#f2f3e9; padding-block:72px 28px }
.v2-footer-top{ display:flex; justify-content:space-between; align-items:end; gap:35px; padding-bottom:72px; border-bottom:1px solid #456352 }
.v2-footer-top strong{ font-size:45px; letter-spacing:-.1em }
.v2-footer-top p{ font-size:11px; color:#afc2ae }
.v2-footer-top>a{ font-size:clamp(20px,2.5vw,34px); letter-spacing:-.04em; border-bottom:1px solid #e3e9de; padding-bottom:9px }
.v2-footer-top>a span{ margin-left:30px }
.v2-footer-bottom{ padding-top:23px; display:grid; grid-template-columns:1fr 1fr auto; gap:30px }
.v2-footer-bottom p,.v2-footer-bottom small{ font-size:10px; color:#9eb49e }
.v2-footer-bottom a{ text-decoration:underline; text-underline-offset:3px }
@media(max-width:1150px){
  .v2-container,.v2-header-inner{ width:min(100% - 64px,1420px) }
  .v2-header nav{ gap:13px; font-size:11px }
  .v2-brand small{ display:none }
  .v2-header-inner{ gap:17px }
  .v2-header-action{ margin-left:0 }
  .horizontal-track{ padding-left:32px }
  .product-row{ grid-template-columns:40px 1fr 135px 20px }
}
@media(max-width:830px){
  .v2-container,.v2-header-inner{ width:min(100% - 38px,1420px) }
  .v2-header-inner,.v2-header.is-scrolled .v2-header-inner{ height:68px }
  .v2-menu{ display:flex; order:3; width:38px; height:38px; border:1px solid currentColor; background:transparent; flex-direction:column; justify-content:center; gap:6px; padding:9px; margin-left:8px; color:inherit }
  .v2-menu i{ height:1px; background:currentColor; width:100% }
  .v2-header-action{ margin-left:auto }
  .v2-header nav{ display:none; position:absolute; top:68px; left:0; right:0; background:#f4f2eb; color:var(--v2-ink); padding:12px 19px 22px; box-shadow:0 20px 30px #0e2a1933; border-bottom:1px solid var(--v2-line) }
  .v2-header nav.is-open{ display:flex; flex-direction:column; align-items:stretch; gap:0 }
  .v2-header nav a{ padding:12px 0; border-bottom:1px solid var(--v2-line) }
  .v2-hero{ height:760px; min-height:660px }
  .v2-hero-img{ object-position:63% center }
  .v2-hero-shade{ background:linear-gradient(90deg,#102c23df,#102c238a 67%,#102c232d) }
  .v2-hero h1{ font-size:clamp(53px,8vw,81px) }
  .scale-grid,.home-applications,.home-research-inner,.home-proof-grid,.solution-grid,.application-after,.certification-section .v2-container,.about-section,.contact-layout{ grid-template-columns:1fr; gap:40px }
  .scale-side{ max-width:570px }
  .home-applications .concept-image,.home-research .concept-image{ height:430px }
  .research-story .story-layout{ grid-template-columns:1fr 1fr; gap:5% }
  .story-visual{ height:55vh }
  .quality-grid{ gap:14px }
  .timeline-section ol{ grid-template-columns:repeat(3,1fr) }
  .v2-footer-bottom{ grid-template-columns:1fr 1fr }
  .v2-footer-bottom small{ grid-column:1/-1 }
}
@media(max-width:600px){
  .proposal-banner{ font-size:9px; gap:12px }
  .proposal-banner a{ font-size:9px }
  .v2-brand strong{ font-size:27px }
  .v2-header-action{ font-size:11px }
  .v2-header-action span{ margin-left:5px }
  .v2-section{ padding-block:74px }
  .v2-hero{ height:720px; min-height:0 }
  .v2-hero-content{ justify-content:flex-end; padding-top:0; padding-bottom:115px }
  .v2-hero-img{ object-position:66% center }
  .v2-hero-shade{ background:linear-gradient(0deg,#102c23f2 5%,#102c23aa 56%,#102c2333) }
  .v2-hero h1{ font-size:clamp(48px,12vw,68px) }
  .v2-hero-content>p:not(.v2-hero-en){ font-size:12px; letter-spacing:.03em }
  .v2-hero-actions{ gap:18px; margin-top:30px }
  .v2-button{ gap:15px; padding:12px 14px }
  .hero-down{ left:19px }
  .scale-section{ padding-block:74px }
  .scale-grid{ margin-top:27px }
  .scale-primary>strong{ font-size:clamp(78px,18vw,120px) }
  .scale-side{ grid-template-columns:1fr 1fr }
  .aroma-flow{ grid-template-columns:1fr 1fr; gap:20px; margin-top:34px; padding-top:0 }
  .aroma-flow svg{ display:none }
  .aroma-flow>div{ padding-top:20px; border-top:1px solid #c8d0c5 }
  .aroma-flow>div::before{ top:-5px }
  .home-applications .concept-image,.home-research .concept-image{ height:330px }
  .home-app-copy h2,.home-research h2,.home-proof h2,.v2-cta h2{ font-size:42px }
  .interior-hero{ padding-block:65px 40px }
  .interior-hero h1{ font-size:clamp(46px,11vw,67px) }
  .interior-hero>p:not(.v2-eyebrow){ font-size:14px }
  .interior-hero .concept-image{ height:280px; margin-top:36px }
  .product-row{ grid-template-columns:30px 1fr 20px; gap:12px }
  .product-row small{ grid-column:2/-1; grid-row:2; padding:0 }
  .product-row h2{ font-size:23px }
  .product-row>a{ grid-column:3; grid-row:1 }
  .horizontal-stage{ height:auto }
  .horizontal-sticky{ height:auto; position:relative; padding-block:28px 35px }
  .horizontal-heading{ display:block }
  .horizontal-heading>p{ margin-top:9px }
  .horizontal-track{ overflow-x:auto; max-width:100vw; width:auto; padding:0 19px 16px; scroll-snap-type:x mandatory; transform:none!important }
  .application-slide{ width:82vw; height:490px; scroll-snap-align:center }
  .application-slide h2{ font-size:45px }
  .horizontal-progress{ margin-inline:19px }
  .story-layout{ display:block!important }
  .story-steps{ padding-bottom:0 }
  .story-step{ min-height:0; padding:25px 0 45px }
  .story-visual{ position:relative; top:auto; height:280px; margin-top:8px }
  .quality-grid{ grid-template-columns:1fr; gap:28px; margin-top:38px }
  .quality-grid article h3{ margin-top:18px }
  .quality-source{ display:block; margin-top:40px }
  .quality-source a{ display:block; margin-top:8px }
  .timeline-section ol{ grid-template-columns:1fr 1fr }
  .v2-form{ padding:19px }
  .v2-form .form-row{ grid-template-columns:1fr; gap:0 }
  .v2-footer{ padding-top:55px }
  .v2-footer-top{ display:block; padding-bottom:45px }
  .v2-footer-top>a{ display:inline-block; margin-top:26px }
  .v2-footer-bottom{ grid-template-columns:1fr; gap:10px }
  .v2-footer-bottom small{ grid-column:auto }
}
@media(prefers-reduced-motion:reduce){
  .v2-hero-img,.reveal,.aroma-flow.is-visible path{ animation:none!important }
  .application-slide>img,.concept-image img{ transition:none }
  .story-visual img{ transition:none }
  .horizontal-stage{ height:auto }
  .horizontal-sticky{ height:auto; position:relative }
  .horizontal-track{ width:auto; overflow-x:auto; transform:none!important; scroll-snap-type:x mandatory }
  .application-slide{ scroll-snap-align:start }
}
.v2-hero-caption,.concept-image figcaption,.slide-image-label,.story-visual figcaption{ right:0; bottom:0; min-width:180px; text-align:right; background:#14291f; padding:7px 13px }
@media(max-width:600px){
  .v2-hero h1{ font-size:40px; line-height:1.14 }
}
.home-capabilities{background:#e8ece5}.capability-list{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:35px}.capability-list article{border-top:1px solid #b8c9b9;padding-top:21px}.capability-list article>span{font-size:11px;color:var(--v2-orange)}.capability-list h3{font-size:27px;margin-top:30px}.capability-list p{font-size:12px;color:#738374;margin-top:11px}
.home-quality{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.home-quality .concept-image{height:500px}.home-quality h2,.home-news h2{font-size:clamp(38px,4.4vw,66px);line-height:1.2;margin:23px 0}.home-quality>div>p:not(.v2-eyebrow){font-size:15px;color:#6d7c6e;max-width:460px;margin-bottom:30px}
.home-news{border-top:1px solid var(--v2-line)}.home-news-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}.home-news-heading p{font-size:14px;color:#738375;max-width:400px}.home-news-links{margin-top:40px;border-top:1px solid var(--v2-line)}.home-news-links a{display:grid;grid-template-columns:120px 1fr 190px;gap:25px;align-items:center;padding:22px 0;border-bottom:1px solid var(--v2-line)}.home-news-links time,.home-news-links span{font-size:11px;color:#8a9889}.home-news-links strong{font-size:18px;font-weight:600}.home-news-links a:hover strong{color:var(--v2-orange)}
@media(max-width:830px){.capability-list{grid-template-columns:1fr 1fr}.home-quality,.home-news-heading{grid-template-columns:1fr;gap:35px}.home-quality .concept-image{height:400px}.home-news-links a{grid-template-columns:85px 1fr;gap:10px}.home-news-links a span{grid-column:2}}
@media(max-width:600px){.capability-list{gap:23px}.capability-list h3{font-size:23px;margin-top:18px}.home-quality .concept-image{height:320px}.home-quality h2,.home-news h2{font-size:41px}.home-news-links strong{font-size:15px}}

/* 视觉层级：大幅影像、内容容器、操作控件各使用一档圆角。 */
:root{
  --v2-radius-xl:40px;
  --v2-radius-lg:28px;
  --v2-radius-md:18px;
  --v2-radius-sm:12px;
}
.v2-button{ border-radius:var(--v2-radius-sm) }
.v2-menu{ border-radius:12px }
.v2-header-action{ margin-left:6px; border:1px solid currentColor; border-radius:12px; padding:11px 15px; transition:background .22s var(--v2-ease),color .22s var(--v2-ease) }
.v2-header-action:hover{ background:var(--v2-ink); border-color:var(--v2-ink); color:#fff }
.page-home .v2-header:not(.is-scrolled) .v2-header-action:hover{ background:#f5f0e5; border-color:#f5f0e5; color:var(--v2-ink) }
.v2-header nav a{ border-bottom:0; border-radius:10px; padding:9px 11px }
.v2-header nav a:hover,.v2-header nav a.active{ background:#dfe8dd; border-color:transparent }
.page-home .v2-header:not(.is-scrolled) nav a:hover{ color:#fff; background:#ffffff29 }
.v2-hero{ margin:18px 20px 0; height:min(870px,calc(100svh - 70px)); border-radius:var(--v2-radius-xl) }
.v2-hero-content{ width:min(100% - 100px,1420px) }
.hero-down{ left:32px }
.concept-image,.story-visual,.application-slide{ border-radius:var(--v2-radius-lg) }
.v2-hero-caption,.concept-image figcaption,.slide-image-label,.story-visual figcaption{ right:14px; bottom:14px; min-width:0; border-radius:9px; background:#14291fda; padding:7px 10px }
.idea-section,.home-research,.home-capabilities,.solution-panel,.certification-section,.timeline-section,.v2-cta{ margin-inline:20px; border-radius:var(--v2-radius-xl); overflow:hidden }
.idea-section{ margin-top:12px }
.home-research,.home-capabilities,.solution-panel,.certification-section,.timeline-section,.v2-cta{ margin-block:16px }
.quality-grid article,.capability-list article{ min-height:225px; padding:25px; border:1px solid #cad7c9; border-radius:var(--v2-radius-md); background:#ffffff7d }
.quality-grid h3,.capability-list h3{ margin-top:35px }
.scale-side>div{ padding:18px 18px 16px; border:1px solid var(--v2-line); border-radius:var(--v2-radius-md); background:#ffffff9c }
.scale-side>p{ padding-inline:4px }
.contact-steps span{ border-radius:999px; background:#ffffff91 }
.v2-form{ border-radius:var(--v2-radius-lg); border:1px solid #d7dfd4; box-shadow:0 24px 80px #1933250a }
.v2-form input,.v2-form select,.v2-form textarea{ border-radius:var(--v2-radius-sm) }
.v2-form input:focus,.v2-form select:focus,.v2-form textarea:focus{ border-color:#6a8a6f; outline:3px solid #a2b9a44d; outline-offset:0 }
.v2-form output{ border-radius:var(--v2-radius-sm) }
.horizontal-sticky{ border-radius:var(--v2-radius-xl); background:#152e23 }
.horizontal-stage{ background:transparent }
.horizontal-stage,.horizontal-sticky{ overflow:clip }
.application-slide{ isolation:isolate }
.horizontal-progress{ border-radius:999px; overflow:hidden }
.v2-footer{ margin:16px 20px 20px; border-radius:var(--v2-radius-xl); overflow:hidden }
@media(max-width:830px){
  .v2-hero-content{ width:min(100% - 38px,1420px) }
  .v2-header nav{ left:12px; right:12px; border:1px solid var(--v2-line); border-radius:18px; overflow:hidden }
  .v2-header nav a{ padding:11px 13px; border-radius:8px }
}
@media(max-width:600px){
  :root{ --v2-radius-xl:28px; --v2-radius-lg:22px; --v2-radius-md:16px }
  .v2-hero{ margin:10px 10px 0; height:720px; border-radius:var(--v2-radius-xl) }
  .v2-header-action{ padding:9px 11px }
  .v2-hero-content{ width:min(100% - 38px,1420px) }
  .hero-down{ left:22px }
  .idea-section,.home-research,.home-capabilities,.solution-panel,.certification-section,.timeline-section,.v2-cta{ margin-inline:10px }
  .v2-footer{ margin:10px }
  .quality-grid article,.capability-list article{ min-height:0; padding:18px }
  .quality-grid h3,.capability-list h3{ margin-top:18px }
  .v2-form{ padding:19px }
}
