/* ===================================================================
   欧恩亿官网 · 设计系统 v4（浅色 · 产品为主角）
   -------------------------------------------------------------------
   参考基准：杭州景唐 jtcomtech.com 源码实测
     · 字体 思源黑体 / PingFang；标题 34px 常规字重，不靠加粗
     · 标题 #252b3a / 正文 #666 / 辅文 #999
     · 白 + 浅冷灰 #f6f8fb 打底，蓝 #0070d2 只作点缀
     · 产品图 1:1 白底，是页面主角，装饰元素全部让位
   ⟹ 深色只保留两处锚点：中段 CTA 与页脚。
      不再使用巨型英文水印、发光边、网格底纹。
   =================================================================== */

:root{
  /* —— 底 —— */
  --surface:#ffffff;
  --surface-2:#f6f8fb;
  --surface-3:#eef2f7;

  /* —— 文字（景唐同款层级） —— */
  --ink-1:#252b3a;
  --ink-2:#5f6673;
  --ink-3:#949ca9;

  /* —— 唯一强调色 —— */
  --accent:#0070d2;
  --accent-2:#2b8fe3;
  --accent-ink:#005cae;
  --accent-wash:#eff6fe;

  /* —— 深色锚点（只此两处：CTA / 页脚） —— */
  --dark-1:#0f2138;
  --dark-2:#16314f;
  --on-dark:#dbe6f2;
  --on-dark-2:rgba(219,230,242,.66);

  /* —— 线与阴影（克制，不用彩色发光） —— */
  --line:#e6eaf0;
  --line-2:#d5dce6;
  --line-dark:rgba(255,255,255,.10);
  --sh-1:0 1px 2px rgba(16,24,40,.05);
  --sh-2:0 8px 24px rgba(16,24,40,.07);
  --sh-3:0 18px 44px rgba(16,24,40,.10);

  /* —— 8pt 间距 —— */
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px;
  --sp-5:40px; --sp-6:56px; --sp-7:72px; --sp-8:96px;
  --sec-py:clamp(64px,7vw,104px);
  --sec-py-tight:clamp(44px,4.6vw,64px);

  /* —— 字号：4 档主层级 + 3 档辅助 —— */
  --fs-display:clamp(30px,3.3vw,46px);
  --fs-h1:clamp(26px,2.6vw,36px);
  --fs-h2:clamp(24px,2.2vw,34px);
  --fs-h3:18px;
  --fs-h4:16px;
  --fs-body:16px;
  --fs-sm:14px;
  --fs-xs:13px;

  --r-sm:6px; --r-md:10px; --r-lg:14px; --r-pill:999px;

  /* —— 兼容旧变量名（product.css 仍引用） —— */
  --oc-navy:var(--ink-1);
  --oc-navy-2:var(--ink-1);
  --oc-navy-3:var(--ink-2);
  --oc-cyan:var(--accent);
  --oc-cyan-l:var(--accent-2);
  --oc-cyan-d:var(--accent-ink);
  --oc-ink:var(--ink-1);
  --oc-ink-2:var(--ink-2);
  --oc-muted:var(--ink-3);
  --oc-line:var(--line);
  --oc-soft:var(--surface-2);
  --oc-radius:var(--r-md);
  --oc-shadow:var(--sh-2);
  --oc-fs-wm:0px;
}

/* ============ 基础排版 ============ */
body,.oc-page,.oc-arch,.elementor-widget-container{
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",
              "Source Han Sans SC","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
body{font-size:var(--fs-body);line-height:1.8;color:var(--ink-2);background:var(--surface)}
h1,h2,h3,h4,h5{color:var(--ink-1);font-weight:600;letter-spacing:0;margin:0}
p{margin:0 0 1em}
/* 标题统一到与正文同一套字体栈：原来标题继承 Astra 的 Inter，
   Google Fonts 已在 functions.php 里断开，Inter 实际不可用会落到 fallback，
   导致「文字与数字」两套字形。这里显式统一（图标用 i / svg，不受影响）。 */
h1,h2,h3,h4,h5,h6,.elementor-heading-title,
.oc-pcard-model,.oc-scn-t,.oc-news-title,.oc-pd-title,.oc-doc-title,
.elementor-icon-box-description,.elementor-icon-box-title,
.oc-sol-t,.oc-step-t,.oc-dl-title,.oc-dl-meta,.oc-doc-h2{
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",
              "Source Han Sans SC","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
a{color:var(--accent-ink)}
img{max-width:100%;height:auto}

/* ============ 顶部导航 ============
   参考站实测：导航 16px、深灰而非彩色，悬停/当前项才用强调色；
   栏高 84px。彩色导航会削弱「专业设备厂商」的观感。 */
.main-header-bar{padding-top:8px;padding-bottom:8px}
.main-header-menu > .menu-item > .menu-link{font-size:16px;font-weight:500;color:var(--ink-1)}
.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .menu-item.current-menu-item > .menu-link,
.main-header-menu > .menu-item.current-menu-ancestor > .menu-link{color:var(--accent)}
.main-header-menu .sub-menu .menu-link{font-size:15px;font-weight:400;color:var(--ink-2)}
.main-header-menu .sub-menu .menu-link:hover{color:var(--accent)}
@media (max-width:921px){
  .main-header-menu > .menu-item > .menu-link{font-size:15px}
}

/* 页头搜索：导航最后一颗放大镜；点击从顶部拉下通栏搜索条（参照 hongfa.cn）。 */
.oc-nav-search{position:relative;display:flex;align-items:center}
.main-header-menu > .oc-nav-search > .oc-nav-search-btn{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;
  border:0;border-radius:50%;background:transparent;color:var(--ink-2);cursor:pointer;
  transition:background .18s ease,color .18s ease}
.oc-nav-search-btn svg{width:19px;height:19px;display:block}
.oc-nav-search-btn:hover{background:var(--accent-wash);color:var(--accent)}
.oc-nav-search-btn[aria-expanded="true"]{background:var(--accent-wash);color:var(--accent)}

/* 通栏搜索条：贴顶、整条从上方滑下，输入框 50px、右侧放大镜提交 */
.oc-srch{
  position:fixed;left:0;right:0;top:0;z-index:9998;background:var(--surface);
  transform:translateY(-100%);visibility:hidden;
  transition:transform .3s cubic-bezier(.22,.61,.36,1),visibility .3s;
  box-shadow:0 10px 30px rgba(16,24,40,.12)}
.oc-srch.is-open{transform:translateY(0);visibility:visible}
.oc-srch-inner{max-width:1200px;margin:0 auto;padding:40px 20px}
.oc-srch-form{position:relative}
.oc-srch-form input[type=search]{
  width:100%;height:50px;padding:0 62px 0 18px;font-size:15px;color:var(--ink-1);
  background:var(--surface);border:1px solid var(--line-2);border-radius:6px;outline:0;
  transition:border-color .2s ease,box-shadow .2s ease}
.oc-srch-form input[type=search]::placeholder{color:var(--ink-3)}
.oc-srch-form input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,112,210,.10)}
.oc-srch-form button{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:42px;height:38px;display:flex;align-items:center;justify-content:center;
  border:0;border-radius:4px;background:transparent;color:var(--ink-2);cursor:pointer;
  transition:background .18s ease,color .18s ease}
.oc-srch-form button svg{width:20px;height:20px;flex:0 0 auto}
.oc-srch-form button:hover{background:var(--accent-wash);color:var(--accent)}
.oc-srch-mask{
  position:fixed;inset:0;z-index:9997;background:rgba(21,21,21,.45);
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.oc-srch-mask.is-open{opacity:1;visibility:visible}

/* 导航吸顶：滚过 320px 后固定到顶部并滑入；body 补等高空位，避免内容跳动 */
.site-header.is-stuck{
  position:fixed;left:0;right:0;top:0;z-index:9990;background:var(--surface);
  box-shadow:0 6px 18px rgba(16,24,40,.10);
  animation:ocHeadIn .26s ease-out both}
@keyframes ocHeadIn{from{transform:translateY(-101%)}to{transform:translateY(0)}}
body.oc-head-stuck{padding-top:var(--oc-head-h,88px)}
@media (prefers-reduced-motion:reduce){
  .oc-srch,.oc-srch-mask{transition:none}
  .site-header.is-stuck{animation:none}
}

@media (max-width:921px){
  /* 手机上抽屉菜单里只留放大镜，点开同一根通栏搜索条 */
  .oc-nav-search{display:flex;justify-content:center;padding:4px 0 8px}
  .main-header-menu > .oc-nav-search > .oc-nav-search-btn,
  .oc-nav-search-btn{display:inline-flex;width:44px;height:44px;background:var(--surface-2)}
  .oc-nav-search-btn svg{width:20px;height:20px}
}
@media (max-width:767px){
  .oc-srch-inner{padding:18px 16px}
  .oc-srch-form input[type=search]{height:46px;font-size:15px;padding:0 56px 0 14px}
  .oc-srch-form button{right:4px;width:40px;height:36px}
}

/* ============ 区块节奏 ============ */
.oc-sec{position:relative;padding:var(--sec-py) 0;background:var(--surface);scroll-margin-top:80px}
.oc-sec > .elementor-container{width:100%;position:relative;z-index:2}
.oc-sec .elementor-widget-wrap{padding:0!important}
.oc-sec.is-soft{background:var(--surface-2)}
.oc-sec.is-soft2{background:var(--surface-3)}

/* 原「深色区」改为浅色强调带：只换底色，不换调性 */
.oc-sec.is-dark{background:var(--surface-2);color:var(--ink-2)}
.oc-sec.is-dark::before{content:none}

.oc-sec.is-head{padding-bottom:0;background:inherit}
.oc-sec.is-grid{padding-top:0}
.oc-sec.is-head + .oc-sec.is-grid{padding-top:var(--sp-6)}
.oc-sec.is-tight{padding:var(--sec-py-tight) 0}

/* 内页节奏：相邻区块只保留一份留白
   Elementor 每个 section 自带上、下 padding，直接相邻会叠成 200px 空洞。
   做法：凡是下面还有 section 的，就不留自己的下 padding，交给下一块的
   上 padding 起节奏。用 :has() 做，老浏览器不支持时自动退回原状，不会破版。 */
@supports selector(:has(*)){
  body.page .elementor-top-section:has(+ .elementor-top-section){padding-bottom:0!important}
}

/* ============ 页面 Hero（浅色，文字为主，产品为主角交给下方区块） ============ */
.oc-pg-hero,.oc-arch-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#f6f9fc 0%,#ffffff 100%);
  border-bottom:1px solid var(--line);
  padding:clamp(52px,5.6vw,84px) 0 clamp(44px,4.6vw,68px)!important;
  min-height:0;display:flex;align-items:center;
}
.oc-home-hero{min-height:0!important}
/* 首页首屏两栏：文字 56 / 产品图 44 */
.oc-hero-text{flex-basis:56%!important;max-width:56%!important}
.oc-hero-media{
  flex-basis:44%!important;max-width:44%!important;
  min-height:clamp(320px,34vw,460px);
  border-radius:var(--r-md);
  background-size:cover!important;background-position:center!important;
  border:1px solid var(--line);
}
@media (max-width:900px){
  .oc-hero-text,.oc-hero-media{flex-basis:100%!important;max-width:100%!important}
  .oc-hero-media{min-height:230px;margin-top:var(--sp-4)}
}
.oc-pg-hero::before,.oc-pg-hero::after,
.oc-arch-hero::before,.oc-arch-hero::after{content:none}
.oc-pg-hero > .elementor-container,.oc-arch-hero .oc-wrap{position:relative;z-index:3;width:100%}
.oc-pg-hero .elementor-widget-wrap{padding:0!important}

/* 水印彻底移除（模板里仍可能输出，统一隐藏） */
.oc-pg-wm,.oc-arch-wm,.oc-sec-wm{display:none!important}

.oc-pg-title{position:relative;z-index:2;margin:0 0 var(--sp-3)!important}
.oc-pg-title .elementor-heading-title{
  font-size:var(--fs-h1)!important;line-height:1.22!important;letter-spacing:-.01em!important;
  color:var(--ink-1)!important;font-weight:600!important;
}
/* 首页首屏主标题保留更大一档，其余页面标题与归档页同档，全站一致 */
body.home .oc-pg-title .elementor-heading-title{font-size:var(--fs-display)!important}
/* 二级标题与 CTA 标题统一到同一档，清掉 32px / 26px 之类的散值 */
.oc-sec-title .elementor-heading-title,
.oc-cta-title .elementor-heading-title,
.oc-block-title .elementor-heading-title{font-size:var(--fs-h2)!important;line-height:1.3!important;font-weight:600!important}
.oc-hero-line{display:none}
.oc-pg-sub{position:relative;z-index:2;max-width:640px;
  font-size:clamp(15px,1.1vw,17px)!important;line-height:1.9!important;color:var(--ink-2)!important}
.oc-pg-eyebrow{position:relative;z-index:2;margin:0 0 var(--sp-2)!important}
.oc-pg-eyebrow .elementor-heading-title{font-size:var(--fs-xs)!important;letter-spacing:.22em!important;
  text-transform:uppercase;color:var(--accent)!important;font-weight:600!important}

/* 归档页 hero */
.oc-arch-crumb{position:relative;z-index:2;font-size:var(--fs-xs);color:var(--ink-3);margin:0 0 var(--sp-3)}
.oc-arch-crumb a{color:var(--ink-3);text-decoration:none}
.oc-arch-crumb a:hover{color:var(--accent)}
.oc-arch-title{position:relative;z-index:2;margin:0 0 var(--sp-3);font-size:var(--fs-h1);
  line-height:1.25;letter-spacing:-.01em;font-weight:600;color:var(--ink-1)}
.oc-arch-sub{position:relative;z-index:2;margin:0;max-width:720px;font-size:16px;
  line-height:1.9;color:var(--ink-2)}

/* ============ 栏目头（v6.0：居中 · 中文主标题在上，英文眉标在下） ============
   下面对 .oc-sec.is-head 这一整套规则作用于全站所有「英文眉标 + 中文标题 + 说明」
   型模块（首页 5 处、解决方案 3 处、服务支持 4 处、关于我们 4 处、联系 1 处）。
   实现方式：把列内包裹层变成纵向 flex，用 order 把「中文标题」提到「英文眉标」前面，
   不需要改 Elementor 数据，Elementor 后台照旧可编辑文字。 */
.oc-sec-head{position:relative;margin:0 0 var(--sp-6)}
.oc-sec-eyebrow{position:relative;z-index:1;margin:0 0 var(--sp-2)!important}
.oc-sec-eyebrow .elementor-heading-title{font-size:var(--fs-xs)!important;letter-spacing:.22em!important;
  text-transform:uppercase;color:var(--accent)!important;font-weight:600!important}
.oc-sec.is-dark .oc-sec-eyebrow .elementor-heading-title{color:var(--accent)!important}
.oc-sec-title{position:relative;z-index:1;margin:0 0 var(--sp-2)!important}
.oc-sec-title .elementor-heading-title{font-size:var(--fs-h2)!important;line-height:1.32!important;
  letter-spacing:0!important;color:var(--ink-1)!important;font-weight:600!important}
.oc-sec.is-dark .oc-sec-title .elementor-heading-title{color:var(--ink-1)!important}
.oc-sec-sub{position:relative;z-index:1;margin:0!important;max-width:680px;
  font-size:15px!important;line-height:1.9!important;color:var(--ink-3)!important}
.oc-sec.is-dark .oc-sec-sub{color:var(--ink-3)!important}

/* 居中 + 中英换位 */
.oc-sec.is-head{text-align:center}
/* 栏目头必须与它下面那块网格同底色，否则标题区和内容区之间会出现一道色差接缝
   （全站 is-head 与 is-grid 的 is-soft / is-dark 标记都是成对出现的） */
.oc-sec.is-head.is-soft{background:var(--surface-2)}
.oc-sec.is-head.is-soft2{background:var(--surface-3)}
.oc-sec.is-head.is-dark{background:var(--surface-2)}
.oc-sec.is-head>.elementor-container>.elementor-column,
.oc-sec.is-head .elementor-widget-wrap{
  display:flex!important;flex-direction:column;align-items:center;width:100%}
.oc-sec.is-head .oc-sec-title{order:1;width:100%;margin:0 0 10px!important}
.oc-sec.is-head .oc-sec-eyebrow{order:2;width:100%;margin:0!important}
.oc-sec.is-head .elementor-widget:not(.oc-sec-title):not(.oc-sec-eyebrow){order:3}
/* 目标版式不带说明段：文字仍留在 HTML 源码里（SEO 可见），只是不占版面 */
.oc-sec.is-head .oc-sec-sub{display:none!important}
/* 栏目头里的空占位块（原来撑 18px 拉开副标与按钮）在居中版式下多余，直接收掉 */
.oc-sec.is-head .elementor-widget-html{display:none!important}
/* 眉标与下方内容之间的呼吸：56 → 40，贴合参考图节奏 */
.oc-sec.is-head+.oc-sec.is-grid{padding-top:var(--sp-5)}

/* ============ 网格 ============ */
.oc-grid{display:grid;gap:var(--sp-4)}
.oc-grid.is-2{grid-template-columns:repeat(2,1fr)}
.oc-grid.is-3{grid-template-columns:repeat(3,1fr)}
.oc-grid.is-4{grid-template-columns:repeat(4,1fr)}

/* ============ 特性卡 ============ */
.oc-feat-grid{
  position:relative;height:100%;box-sizing:border-box;
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-md);padding:var(--sp-4) var(--sp-3)!important;
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
.oc-feat-grid::before{content:none}
.oc-feat-grid:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:var(--sh-2)}
.oc-feat-grid .elementor-icon-box-icon{margin-bottom:var(--sp-2)!important}
.oc-feat-grid .elementor-icon{
  width:46px;height:46px;border-radius:var(--r-sm);display:inline-flex!important;
  align-items:center;justify-content:center;background:var(--accent-wash)}
.oc-feat-grid .elementor-icon i{font-size:20px!important;color:var(--accent)!important;line-height:1}
.oc-feat-grid .elementor-icon-box-title,
.oc-feat-grid .elementor-icon-box-title span{
  font-size:var(--fs-h3)!important;font-weight:600!important;color:var(--ink-1)!important;
  line-height:1.5;margin:0}
.oc-feat-grid .elementor-icon-box-title{margin-bottom:8px}
.oc-feat-grid .elementor-icon-box-description{
  margin:0!important;font-size:var(--fs-sm)!important;line-height:1.85!important;color:var(--ink-3)!important}
/* 浅色强调带里的卡：白底浮起 */
.oc-sec.is-dark .oc-feat-grid{background:var(--surface);border-color:var(--line);box-shadow:var(--sh-1)}
.oc-sec.is-dark .oc-feat-grid:hover{border-color:var(--line-2);box-shadow:var(--sh-2)}
.oc-sec.is-dark .oc-feat-grid .elementor-icon-box-title,
.oc-sec.is-dark .oc-feat-grid .elementor-icon-box-title span{color:var(--ink-1)!important}
.oc-sec.is-dark .oc-feat-grid .elementor-icon-box-description{color:var(--ink-3)!important}
/* 卡片里「进入 →」这类小标签原来继承到 0.78rem（12.5px），归一到 12px */
.oc-feat-grid .elementor-icon-box-description span{font-size:12px!important}
.oc-sec.is-dark .oc-feat-grid .elementor-icon{background:var(--accent-wash)}
.oc-sec.is-dark .oc-feat-grid .elementor-icon i{color:var(--accent)!important}

/* ============ 解决方案页 · 场景卡（图文分区，视觉区为组网示意图） ============
   不再用「照片铺满 + 白字压图」：图片内容会决定版面成败，选错一张就毁整块。
   上 16:9 固定视觉区（SVG 示意图，或后续换成实拍 <img>），下白底文字区。
   ========================================================================== */
.oc-sol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}
.oc-sol{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-md);overflow:hidden;transition:transform .28s,box-shadow .28s,border-color .28s}
.oc-sol:hover{transform:translateY(-3px);box-shadow:var(--sh-3);border-color:var(--line-2)}
.oc-sol-fig{aspect-ratio:16/9;background:var(--dark-1);overflow:hidden}
.oc-sol-fig img,.oc-sol-fig svg,.oc-sol-svg{display:block;width:100%;height:100%}
.oc-sol-fig img{object-fit:cover}
.oc-sol-body{display:flex;flex-direction:column;flex:1;padding:var(--sp-3) var(--sp-3) var(--sp-3)}
.oc-sol-hd{display:flex;align-items:baseline;gap:12px;margin:0 0 10px}
.oc-sol-idx{font-size:var(--fs-xs);font-weight:600;color:var(--accent);letter-spacing:.08em;
  font-variant-numeric:tabular-nums}
.oc-sol-t{margin:0;font-size:20px;font-weight:600;line-height:1.4;color:var(--ink-1)!important;letter-spacing:0}
.oc-sol-d{margin:0 0 18px;font-size:var(--fs-sm);line-height:1.85;color:var(--ink-2)}
.oc-sol-kv{list-style:none;margin:0 0 20px;padding:0;border-top:1px solid var(--line)}
.oc-sol-kv li{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);
  font-size:var(--fs-xs);line-height:1.65}
.oc-sol-kv b{flex:0 0 64px;font-weight:400;color:var(--ink-3)}
.oc-sol-kv span{color:var(--ink-2)}
.oc-sol-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;padding-top:2px}
.oc-sol-models{display:flex;flex-wrap:wrap;gap:8px}
.oc-sol-doc{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;
  color:var(--ink-2)!important;text-decoration:none;letter-spacing:.01em;white-space:nowrap}
.oc-sol-doc svg{width:14px;height:14px;color:var(--accent)}
.oc-sol-doc:hover{color:var(--accent)!important}
.oc-sol-models a{display:inline-block;padding:5px 11px;border-radius:5px;text-decoration:none;
  background:var(--accent-wash);border:1px solid rgba(0,112,210,.14);
  font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--accent)!important;transition:background .2s}
.oc-sol-models a:hover{background:#e2eefb}

/* ============ 首页 · 场景入口（无图，四列紧凑瓦片） ============ */
.oc-scn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4)}
.oc-scn{display:flex;flex-direction:column;padding:var(--sp-3);background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;
  transition:transform .26s,box-shadow .26s,border-color .26s}
.oc-scn:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--line-2)}
.oc-scn-ico{display:flex;align-items:center;justify-content:center;width:44px;height:44px;
  margin:0 0 16px;border-radius:var(--r-sm);background:var(--accent-wash);color:var(--accent)}
.oc-scn-ico svg{width:24px;height:24px;display:block}
.oc-scn-t{margin:0 0 8px;font-size:var(--fs-h3);font-weight:600;color:var(--ink-1)!important;letter-spacing:0}
.oc-scn-d{margin:0 0 16px;font-size:var(--fs-xs);line-height:1.8;color:var(--ink-2)}
.oc-scn-more{margin-top:auto;font-size:var(--fs-xs);font-weight:500;color:var(--accent);letter-spacing:.02em}
.oc-scn:hover .oc-scn-more{color:var(--accent-ink)}

/* ============ 主导航下拉：分类与型号分级 ============ */
.oc-mm-hd{pointer-events:none;margin-top:6px!important;border-top:1px solid var(--line);padding-top:8px}
.oc-mm-hd > a{font-size:12px!important;font-weight:600!important;letter-spacing:.14em;
  color:var(--ink-3)!important;text-transform:uppercase;padding-top:0!important;padding-bottom:2px!important}
.oc-mm > a{font-size:13px!important;color:var(--ink-2)!important;letter-spacing:.03em;
  font-variant-numeric:tabular-nums}
.oc-mm > a:hover{color:var(--accent)!important}

/* ============ 资料下载页：可下载 / 受控文档 分段 ============ */
.oc-dl-hd{display:flex;align-items:baseline;gap:12px;margin:0 0 var(--sp-3);
  font-size:var(--fs-h3);font-weight:600;color:var(--ink-1);letter-spacing:0}
.oc-dl-hd span{font-size:var(--fs-xs);font-weight:400;color:var(--ink-3)}
.oc-dl-hd.is-sub{margin-top:var(--sp-7);padding-top:var(--sp-4);border-top:1px solid var(--line)}
.oc-dl-note{margin:-8px 0 var(--sp-3);font-size:var(--fs-sm);color:var(--ink-3);line-height:1.8}

/* ============ 常见问题（分组折叠，无 JS 依赖） ============ */
.oc-faq-groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6) var(--sp-5)}
.oc-faq-grp-t{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin:0 0 var(--sp-2);padding-bottom:10px;border-bottom:1px solid var(--line);
  font-size:var(--fs-h3)!important;font-weight:600!important;color:var(--ink-1)!important}
.oc-faq-grp-t span{font-size:var(--fs-xs);font-weight:400;color:var(--ink-3);letter-spacing:.02em}
.oc-faq-item{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);
  margin:0 0 10px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.oc-faq-item:hover{border-color:var(--line-2);box-shadow:var(--sh-1)}
.oc-faq-item[open]{border-color:rgba(0,112,210,.35);box-shadow:var(--sh-1)}
.oc-faq-item summary{position:relative;display:flex;align-items:flex-start;gap:10px;cursor:pointer;
  padding:14px 40px 14px 16px;font-size:var(--fs-sm);font-weight:600;color:var(--ink-1);
  line-height:1.65;list-style:none}
.oc-faq-item summary::-webkit-details-marker{display:none}
.oc-faq-item summary::after{content:"+";position:absolute;right:15px;top:13px;
  font-size:16px;font-weight:400;color:var(--ink-3);line-height:1}
.oc-faq-item[open] summary::after{content:"−";color:var(--accent)}
.oc-faq-n{flex:0 0 auto;font-size:var(--fs-xs);font-weight:600;color:var(--accent);
  font-variant-numeric:tabular-nums;padding-top:2px}
.oc-faq-a{padding:0 16px 16px 16px}
.oc-faq-a p{margin:0;font-size:var(--fs-sm);line-height:1.9;color:var(--ink-2)}

/* ============ 步骤 ============ */
.oc-steps{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5) var(--sp-6);counter-reset:ocstep}
.oc-step{position:relative;padding-left:56px}
.oc-step::before{counter-increment:ocstep;content:counter(ocstep,decimal-leading-zero);
  position:absolute;left:0;top:0;width:38px;height:38px;border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;
  background:var(--accent-wash);color:var(--accent);font-size:13px;font-weight:600}
.oc-step-t{margin:0 0 6px!important;font-size:var(--fs-h4)!important;font-weight:600!important;color:var(--ink-1)!important}
.oc-step-d{margin:0!important;font-size:var(--fs-sm)!important;line-height:1.9!important;color:var(--ink-3)!important}

/* ============ 按钮 ============ */
.elementor-widget-button.oc-btn-primary,
.elementor-widget-button.oc-btn-ghost{display:inline-block!important;width:auto!important;
  margin:0 10px 0 0!important;vertical-align:top}
.oc-btn-primary .elementor-button{
  display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;
  height:48px;padding:0 var(--sp-4)!important;border-radius:var(--r-sm)!important;border:0!important;
  background:var(--accent)!important;font-size:15px!important;font-weight:600!important;letter-spacing:0;
  transition:background .2s}
.oc-btn-primary .elementor-button,.oc-btn-primary .elementor-button-text{color:#fff!important}
.oc-btn-primary .elementor-button:hover{background:var(--accent-ink)!important}
.oc-btn-ghost .elementor-button{
  display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;
  height:48px;padding:0 var(--sp-4)!important;border-radius:var(--r-sm)!important;
  background:var(--surface)!important;border:1px solid var(--line-2)!important;
  font-size:15px!important;font-weight:600!important;transition:border-color .2s,color .2s}
.oc-btn-ghost .elementor-button,.oc-btn-ghost .elementor-button-text{color:var(--ink-1)!important}
.oc-btn-ghost .elementor-button:hover{border-color:var(--accent)!important}
.oc-btn-ghost .elementor-button:hover,.oc-btn-ghost .elementor-button:hover .elementor-button-text{color:var(--accent)!important}
/* 深色区里的主按钮：同一支蓝在深底上会显得更亮，
   压深一档后与右侧「在线客服」在各自背景上看起来一致 */
.oc-cta .oc-btn-primary .elementor-button{background:#0068c6!important}
.oc-cta .oc-btn-primary .elementor-button:hover{background:#0056a3!important}
.oc-cta .oc-btn-ghost .elementor-button{background:transparent!important;border-color:rgba(255,255,255,.42)!important}
.oc-cta .oc-btn-ghost .elementor-button,.oc-cta .oc-btn-ghost .elementor-button-text{color:#fff!important}
.oc-cta .oc-btn-ghost .elementor-button:hover{background:rgba(255,255,255,.12)!important;border-color:#fff!important}
.oc-cta .oc-btn-ghost .elementor-button:hover,.oc-cta .oc-btn-ghost .elementor-button:hover .elementor-button-text{color:#fff!important}

/* ============ CTA（深色锚点之一） ============ */
.oc-cta{
  position:relative;padding:clamp(44px,4.6vw,64px) 0!important;
  background:var(--dark-1);min-height:0;display:flex;align-items:center;
}
.oc-cta::after{content:none}
.oc-cta > .elementor-container{position:relative;z-index:2;width:100%}
.oc-cta .elementor-widget-wrap{padding:0!important}
.oc-cta-title{margin:0 0 var(--sp-2)!important}
.oc-cta-title .elementor-heading-title{font-size:var(--fs-h2)!important;line-height:1.35!important;
  font-weight:600!important;color:#fff!important;letter-spacing:0}
.oc-cta-sub{margin:0!important;max-width:620px;font-size:15px!important;line-height:1.9!important;
  color:var(--on-dark-2)!important}

/* 左文字 + 右按钮：单行排布，按钮与文字块垂直居中 */
.oc-cta > .elementor-container{align-items:center;gap:clamp(20px,3vw,48px)}
.oc-cta .elementor-column{width:auto!important;max-width:none!important;flex:0 0 auto}
.oc-cta .oc-cta-text{flex:1 1 60%;min-width:0}
.oc-cta .oc-cta-actions{flex:0 0 auto}
.oc-cta-actions > .elementor-widget-wrap{display:flex;flex-wrap:wrap;align-items:center;
  justify-content:flex-end;gap:14px}
.oc-cta-actions .elementor-widget-button{margin:0!important;width:auto!important}

/* ============ 数据条 ============ */
.oc-stats{padding:var(--sp-4) 0 0!important;background:transparent!important;position:relative;z-index:4;margin-top:0}
.oc-stats > .elementor-container{max-width:1200px}
.oc-stats .elementor-widget-wrap{padding:0!important}
.oc-stat{
  background:var(--surface)!important;border:1px solid var(--line)!important;
  border-radius:var(--r-md)!important;padding:var(--sp-3) var(--sp-2)!important;
  box-shadow:var(--sh-2);text-align:center;transition:box-shadow .25s}
.oc-stat:hover{box-shadow:var(--sh-3)}
.oc-stat .elementor-heading-title{
  font-size:clamp(22px,1.9vw,28px)!important;font-weight:600!important;letter-spacing:0;
  line-height:1.15!important;color:var(--accent)!important;-webkit-text-fill-color:currentColor}
.oc-stat .oc-stat-lab,.oc-stat p{margin:6px 0 0!important;font-size:var(--fs-xs)!important;
  color:var(--ink-3)!important;line-height:1.6!important}
.oc-stat .elementor-widget-wrap{padding:0!important}

/* ============ 新闻卡 ============ */
.oc-news-card{
  display:flex;flex-direction:column;height:100%;text-decoration:none;overflow:hidden;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  transition:transform .25s,box-shadow .25s,border-color .25s}
.oc-news-card:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:var(--sh-2)}
.oc-news-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--surface-3)}
.oc-news-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.oc-news-card:hover .oc-news-media img{transform:scale(1.03)}
.oc-news-date{position:absolute;left:12px;top:12px;padding:5px 10px;border-radius:var(--r-sm);
  background:rgba(15,33,56,.72);color:#fff;font-size:12px;font-weight:600;
  font-variant-numeric:tabular-nums}
.oc-news-body{padding:var(--sp-3);display:flex;flex-direction:column;flex:1}
.oc-news-title{margin:0 0 8px;font-size:16px;line-height:1.6;font-weight:600;color:var(--ink-1);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.oc-news-card:hover .oc-news-title{color:var(--accent)}
.oc-news-ex{margin:0 0 var(--sp-2);font-size:14px;line-height:1.8;color:var(--ink-3);flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.oc-news-more{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--accent)}
.oc-news-more i{font-style:normal;transition:transform .2s}
.oc-news-card:hover .oc-news-more i{transform:translateX(3px)}
.oc-more-card{align-items:center;justify-content:center;text-align:center;
  background:var(--surface-2)!important;border:1px solid var(--line)!important}
.oc-more-inner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--sp-4) var(--sp-3);color:var(--ink-1)}
.oc-more-inner b{font-size:16px;font-weight:600}
.oc-more-inner span{font-size:var(--fs-xs);color:var(--ink-3);line-height:1.7}
.oc-more-inner i{font-style:normal;font-size:20px;color:var(--accent);margin-top:4px;transition:transform .2s}
.oc-more-card:hover .oc-more-inner i{transform:translateX(4px)}

/* ============ 资料卡 ============ */
.oc-dl-card{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  text-decoration:none;transition:border-color .2s,box-shadow .2s}
.oc-dl-card:hover{border-color:var(--line-2);box-shadow:var(--sh-2)}
.oc-dl-ico{flex:0 0 48px;height:48px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;
  background:var(--accent-wash);color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.04em}
.oc-dl-main{min-width:0;flex:1}
.oc-dl-title{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--ink-1);line-height:1.55}
.oc-dl-meta{margin:0;font-size:var(--fs-xs);color:var(--ink-3)}
.oc-dl-act{flex:0 0 auto;font-size:var(--fs-xs);font-weight:600;color:var(--accent);white-space:nowrap}

/* ============ 归档列表 / 筛选 / 分页 / 空态 ============ */
.oc-arch{background:var(--surface)}
.oc-arch-body{padding:clamp(44px,4.6vw,68px) 0 clamp(56px,6vw,88px)}
.oc-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--sp-4)}
.oc-filters a{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--r-pill);
  border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:14px;
  text-decoration:none;transition:.2s}
.oc-filters a:hover{border-color:var(--accent);color:var(--accent)}
.oc-filters a.is-on{background:var(--accent);border-color:var(--accent);color:#fff}
.oc-filters a i{font-style:normal;font-size:12px;opacity:.7}
.oc-pager{display:flex;justify-content:center;gap:6px;margin-top:var(--sp-6);flex-wrap:wrap}
.oc-pager .page-numbers,.oc-pager a{display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:var(--surface);color:var(--ink-2);font-size:14px;text-decoration:none;transition:.2s}
.oc-pager .page-numbers:hover{color:var(--accent);border-color:var(--accent)}
.oc-pager .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}
.oc-empty-card{padding:var(--sp-7) var(--sp-4);text-align:center;border:1px dashed var(--line-2);
  border-radius:var(--r-md);background:var(--surface-2)}
.oc-empty-ico{font-size:28px;color:var(--accent);margin-bottom:var(--sp-2)}
.oc-empty-card h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--ink-1)}
.oc-empty-card p{margin:0;font-size:var(--fs-sm);line-height:1.9;color:var(--ink-3)}
.oc-empty-card a{color:var(--accent);font-weight:600}

/* ============ 表单 ============ */
.oc-form-wrap{max-width:860px}
.oc-form{display:grid;gap:var(--sp-2);margin:0}
.oc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}
.oc-field{display:flex;flex-direction:column;gap:6px}
.oc-field > span{font-size:var(--fs-xs);font-weight:600;color:var(--ink-2)}
.oc-field > span i{font-style:normal;color:#d9534f}
.oc-field input,.oc-field select,.oc-field textarea{
  width:100%;box-sizing:border-box;border:1px solid var(--line-2);background:var(--surface);
  border-radius:var(--r-sm);padding:12px 14px;font-size:15px;color:var(--ink-1);
  outline:0;transition:.2s;font-family:inherit}
.oc-field textarea{resize:vertical;line-height:1.8}
.oc-field input::placeholder,.oc-field textarea::placeholder{color:var(--ink-3)}
.oc-field input:focus,.oc-field select:focus,.oc-field textarea:focus{
  border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,112,210,.12)}
.oc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.oc-submit{justify-self:start;display:inline-flex;align-items:center;justify-content:center;height:48px;
  padding:0 var(--sp-4);border:0;border-radius:var(--r-sm);cursor:pointer;
  background:var(--accent);color:#fff;font-size:15px;font-weight:600;font-family:inherit;
  transition:background .2s}
.oc-submit:hover{background:var(--accent-ink)}
.oc-form-tip{margin:0;font-size:var(--fs-xs);color:var(--ink-3)}
.oc-form-note{padding:14px 16px;border-radius:var(--r-sm);margin:0 0 var(--sp-3);font-size:var(--fs-sm);line-height:1.85}
.oc-form-note.is-ok{background:#eefaf4;border:1px solid #b7e6cf;color:#0f766e}
.oc-form-note.is-err{background:#fef2f2;border:1px solid #f3c7c4;color:#b42318}
.oc-qr-box{border:1px dashed var(--line-2);border-radius:var(--r-md);background:var(--surface);
  padding:var(--sp-3);display:flex;align-items:center;justify-content:center;min-height:280px}
.oc-qr-ph{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-3);
  font-size:var(--fs-xs);text-align:center;line-height:1.7}
.oc-qr-ph i{font-size:64px;color:#c8d3e0}
.oc-qr-ph span{font-size:14px;font-weight:600;color:var(--ink-2)}
.oc-qr-ph em{font-style:normal;font-size:var(--fs-xs);color:var(--ink-3)}

/* ============ 首页 Banner 轮播 ============
   通栏铺满，左文右图；图片自带标题的部分用 object-position 裁掉。
   结构见 inc/banner.php，交互见 assets/site.js 的 setupBanner。 */
.oc-banner-sec{padding:0!important;background:var(--dark-1)}
.oc-banner-sec > .elementor-container{max-width:100%!important;padding:0!important}
.oc-banner-sec .elementor-column,
.oc-banner-sec .elementor-widget-wrap,
.oc-banner-sec .elementor-widget-shortcode{margin:0!important;padding:0!important}

.oc-banner{position:relative;overflow:hidden;background:var(--dark-1);
  height:clamp(440px,38vw,600px)}
.oc-banner-stage{position:absolute;inset:0}
.oc-banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;
  transition:opacity .7s ease,visibility .7s ease}
.oc-banner-slide.is-active{opacity:1;visibility:visible;z-index:2}
/* 图片撑满整条 banner：顶部对齐 banner 底边、高度自适应 + min-height，
   这样既不受 Elementor 的 .elementor img{height:auto} 影响，又天然裁掉图片自带的顶部标题。 */
.oc-banner-img{position:absolute;left:0;right:0;bottom:0;top:auto;display:block;
  width:100%;height:auto;min-height:100%;object-fit:cover}
.oc-banner-wrap{position:relative;z-index:3;box-sizing:border-box;height:100%;
  max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center}
.oc-banner-copy{max-width:760px}
.oc-banner-title{margin:0;font-size:clamp(30px,3.4vw,50px);line-height:1.22;
  font-weight:600;color:#fff;letter-spacing:.01em;
  /* 图片不压暗，靠三层投影保证白字在亮部/暗部都立得住 */
  text-shadow:0 1px 2px rgba(6,18,34,.85),0 4px 18px rgba(6,18,34,.75),0 0 40px rgba(6,18,34,.55)}
.oc-banner-acts{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}
.oc-banner-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;
  padding:0 26px;border-radius:var(--r-sm);border:1px solid transparent;
  font-size:15px;font-weight:600;text-decoration:none;transition:.2s}
.oc-banner-btn.is-primary{background:#0068c6;color:#fff}
.oc-banner-btn.is-primary:hover{background:#0056a3;color:#fff}
.oc-banner-btn.is-ghost{background:rgba(255,255,255,.92);border-color:rgba(15,33,56,.16);color:var(--dark-1)}
.oc-banner-btn.is-ghost:hover{background:#fff;border-color:var(--dark-1);color:var(--dark-1)}

/* 第一张里的站内搜索：白条压在图上 */
.oc-banner-search{margin-top:18px;max-width:430px}
.oc-banner-search .oc-search-bar{display:flex;align-items:stretch;height:44px;overflow:hidden;
  border-radius:var(--r-sm);background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.oc-banner-search select{border:0;outline:0;padding:0 10px;font-size:14px;color:var(--ink-2);
  background:transparent;border-right:1px solid var(--line)}
.oc-banner-search input[type=search]{flex:1 1 auto;min-width:0;border:0;outline:0;padding:0 12px;
  font-size:14px;color:var(--ink-1);background:transparent}
.oc-banner-search button{border:0;padding:0 18px;background:#0068c6;color:#fff;
  font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}
.oc-banner-search button:hover{background:#0056a3}

/* 左右箭头 */
.oc-banner-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;
  border-radius:50%;border:1px solid rgba(255,255,255,.34);background:rgba(10,22,38,.34);
  color:#fff;cursor:pointer;transition:.2s}
.oc-banner-arrow:hover{background:rgba(10,22,38,.62);border-color:#fff}
.oc-banner-arrow svg{width:22px;height:22px}
.oc-banner-arrow.is-prev{left:24px}
.oc-banner-arrow.is-next{right:24px}

/* 指示条 */
.oc-banner-dots{position:absolute;left:0;right:0;bottom:24px;z-index:5;
  display:flex;justify-content:center;gap:10px}
.oc-banner-dots button{width:28px;height:4px;padding:0;border:0;border-radius:2px;
  background:rgba(255,255,255,.36);cursor:pointer;transition:.25s}
.oc-banner-dots button.is-active{width:40px;background:#fff}

/* ============ 页脚（深色锚点之二） ============
   一行 5 栏：4 个链接栏 + 官方公众号；
   下面是居中一行联系方式；最底一条居中版权带。
   底色用品牌深海军蓝，与上方 CTA 同色，两块连成一片，不用近黑。 */
.oc-footer{
  --foot-bg:var(--dark-1);
  --foot-head:#fff;
  --foot-fg:rgba(255,255,255,.60);
  --foot-dim:rgba(255,255,255,.46);
  --foot-sep:rgba(255,255,255,.18);
  background:var(--foot-bg);color:var(--foot-fg);font-size:14px}
.oc-footer a{text-decoration:none;color:inherit;transition:color .18s}
.oc-footer a:hover{color:#fff}
.oc-footer-main{padding:clamp(30px,3.1vw,44px) 0 clamp(10px,1.2vw,14px);
  border-top:1px solid rgba(255,255,255,.09)}

/* 5 栏：4 个链接栏均分，二维码固定宽 */
.oc-footer-grid{display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) 142px;
  gap:clamp(22px,2.4vw,36px) clamp(20px,2.6vw,40px);
  align-items:start}
.oc-footer-col{min-width:0}
.oc-footer-col h4{margin:0 0 20px;font-size:18px;font-weight:600;
  line-height:1.3;color:var(--foot-head);letter-spacing:.01em}
.oc-footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.oc-footer-col li{min-width:0}
.oc-footer-col li a{display:block;font-size:14px;line-height:1.5;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 公众号二维码：白底方框，装上真图后自动替换 */
.oc-footer-qr-ph{width:142px;height:142px;display:flex;align-items:center;justify-content:center;
  border-radius:2px;background:#fff;color:#b8bcc2}
.oc-footer-qr-ph svg{width:56px;height:56px}
.oc-footer-qr-img{display:block;width:142px;height:142px;padding:7px;box-sizing:border-box;
  border-radius:2px;background:#fff}
.oc-footer-qr-tip{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--foot-dim)}

/* 联系方式：整行居中，三项横排 */
.oc-footer-contact{list-style:none;margin:clamp(20px,2.4vw,32px) 0 0;padding:0;
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px clamp(24px,3.4vw,48px);
  font-size:14px;line-height:1.6}
.oc-footer-contact li{display:flex;align-items:flex-start;gap:8px;min-width:0}
.oc-footer-ico{flex:0 0 16px;width:16px;height:16px;margin-top:3px;color:var(--foot-dim)}
.oc-footer-ico svg{width:16px;height:16px;display:block}
/* 地址里的「（东段）」不被拆成「（东 / 段）」 */
.oc-footer-contact .oc-nb{white-space:nowrap}

/* 版权带：居中一行，段间竖线分隔 */
.oc-footer-meta{margin:7px 0 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:0;font-size:13px;line-height:1.7;color:rgba(255,255,255,.5);text-align:center}
.oc-footer-meta > *{display:inline-flex;align-items:center;gap:6px}
.oc-footer-meta > * + *::before{content:"|";margin:0 18px;color:var(--foot-sep);font-weight:400}
.oc-footer-badge{display:inline-flex;width:15px;height:15px}
.oc-footer-badge svg{width:15px;height:15px;display:block}

/* ============ 动效（只做悬停过渡，不做滚动揭示） ============ */
@media (prefers-reduced-motion:reduce){
  .oc-feat-grid:hover,.oc-news-card:hover,.oc-sol:hover,.oc-scn:hover,.oc-dl-card:hover,.oc-pcard:hover{transform:none!important}
}

/* ============ 浮动侧边栏（右侧快捷入口） ============
   静置 2.5s 自动收成图标条；鼠标移入展开；可手动收起。
   贴在右边缘，圆角只做左侧，避免遮挡正文。 */
.oc-rail{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:9980;
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
  transition:transform .3s ease}
.oc-rail-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  width:76px;padding:11px 6px;box-sizing:border-box;
  background:var(--surface);border:1px solid var(--line);border-right:0;border-radius:8px 0 0 8px;
  color:var(--ink-2);text-decoration:none;cursor:pointer;
  box-shadow:-2px 2px 12px rgba(16,24,40,.06);transition:.22s}
.oc-rail-item:hover{background:var(--surface-2);color:var(--accent);border-color:var(--line-2)}
.oc-rail-ico{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:currentColor}
.oc-rail-ico svg{width:24px;height:24px;display:block}
.oc-rail-label{font-size:12px;line-height:1.3;white-space:nowrap;letter-spacing:.02em}
.oc-rail-item.is-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.oc-rail-item.is-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}

/* 二维码浮层 */
.oc-rail-qr{cursor:default}
.oc-rail-pop{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) scale(.96);
  width:168px;padding:12px;box-sizing:border-box;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-3);text-align:center;
  opacity:0;visibility:hidden;transition:.2s;pointer-events:none}
.oc-rail-pop img{width:144px;height:144px;display:block;margin:0 auto 8px;border-radius:4px}
.oc-rail-pop-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  width:144px;height:144px;margin:0 auto 8px;border:1px dashed var(--line-2);border-radius:6px;
  color:var(--ink-3);font-size:12px}
.oc-rail-pop-ph i{font-size:26px;color:var(--line-2)}
.oc-rail-pop em{display:block;font-style:normal;font-size:12px;line-height:1.5;color:var(--ink-3)}
.oc-rail-qr:hover .oc-rail-pop,.oc-rail-qr:focus .oc-rail-pop{opacity:1;visibility:visible;
  transform:translateY(-50%) scale(1);pointer-events:auto}

/* 返回顶部：独立固定，贴右边缘，与右侧工具条同一贴边规则（只做左侧圆角、去右边框） */
.oc-backtop{position:fixed;right:0;bottom:28px;z-index:9981;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  width:58px;padding:10px 4px;box-sizing:border-box;
  background:var(--surface);border:1px solid var(--line-2);border-right:0;border-radius:10px 0 0 10px;
  color:var(--ink-2);
  box-shadow:-2px 2px 12px rgba(16,24,40,.08);cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s}
.oc-backtop:hover{background:var(--surface-2);color:var(--accent)}
.oc-backtop.is-on{opacity:1;visibility:visible;transform:none}
.oc-backtop .oc-rail-ico svg{width:22px;height:22px}

/* 收起状态：只留图标 */
.oc-rail.is-min .oc-rail-item{width:52px;padding:12px 4px;gap:0}
.oc-rail.is-min .oc-rail-label{display:none}

@media (max-width:921px){
  .oc-rail{gap:6px}
  .oc-rail-item{width:50px;padding:9px 4px;gap:0;border-radius:6px 0 0 6px}
  .oc-rail-label{display:none}
  .oc-rail-ico svg{width:21px;height:21px}
  .oc-rail-pop{right:calc(100% + 8px);width:150px}
  .oc-rail-pop img,.oc-rail-pop-ph{width:126px;height:126px}
}

/* ============ 响应式 ============ */
@media (max-width:1100px){
  :root{--sec-py:clamp(52px,6.4vw,80px)}
  .oc-sol-grid{grid-template-columns:1fr}
  .oc-scn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oc-grid.is-4{grid-template-columns:repeat(2,1fr)}
  .oc-grid.is-3{grid-template-columns:repeat(2,1fr)}
  .oc-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 22px}
  .oc-footer-qr{grid-column:1/-1;display:flex;align-items:center;gap:16px}
  .oc-footer-qr h4{margin:0}
  .oc-footer-qr-tip{margin:0}
}
@media (max-width:767px){
  /* 悬浮条改到底部右下角，避免停在视口中间压住正文 */
  .oc-rail{top:auto;bottom:16px;right:12px;transform:none;gap:6px}
  /* 返回顶部放到工具条左侧，两个都在页面底部但互不遮挡 */
  .oc-backtop{right:68px;bottom:16px;width:46px;padding:8px 2px;border-radius:8px;
    border-right:1px solid var(--line-2);box-shadow:var(--sh-2)}
  .oc-backtop .oc-rail-label{display:none}
  .oc-rail-item{width:44px;padding:10px 4px;border-radius:8px;
    border:1px solid var(--line);box-shadow:var(--sh-2);background:var(--surface)}
  .oc-rail-item.is-primary{border-color:var(--accent)}
  .oc-rail-qr{display:none}
  /* 底部悬浮控件（图标条 + 返回顶部）压在版权行上，给版权行留出让位空间 */
  .oc-footer-meta{padding-bottom:62px}
  :root{--fs-display:26px;--fs-h1:24px;--fs-h2:21px;--fs-h3:16px;--fs-body:15px}
  body{font-size:15px}
  .oc-pg-hero,.oc-arch-hero{padding:44px 0 38px!important;min-height:auto}
  .oc-home-hero{min-height:auto!important}
  .oc-pg-hero .elementor-container,.oc-sec .elementor-container,
  .oc-cta .elementor-container,.oc-stats .elementor-container{
    max-width:100%!important;padding-left:18px!important;padding-right:18px!important}
  .oc-arch-hero .oc-wrap,.oc-arch-body .oc-wrap{padding-left:18px;padding-right:18px}
  .oc-sec{padding:var(--sec-py-tight) 0}
  .oc-sec-head{margin-bottom:var(--sp-4)}
  .oc-grid.is-4,.oc-grid.is-3,.oc-grid.is-2{grid-template-columns:1fr}
  .oc-scn-grid{grid-template-columns:1fr}
  .oc-faq-groups{grid-template-columns:1fr;gap:var(--sp-4)}
  .oc-dl-row{flex-wrap:wrap;gap:10px;padding:14px}
  .oc-dl-name{flex:1 1 calc(100% - 60px)}
  .oc-dl-acts{flex:1 1 100%;justify-content:flex-end}
  .oc-sol-body{padding:20px}
  .oc-sol-kv b{flex:0 0 58px}
  .oc-feat-grid{padding:var(--sp-3)!important}
  .oc-steps{grid-template-columns:1fr;gap:var(--sp-3)}
  .oc-stats{margin-top:0}
  .oc-stats > .elementor-container{flex-wrap:wrap!important;flex-direction:row!important;justify-content:center!important}
  /* 每张卡 5px 外边距，宽度需扣掉，否则 50%+10px 会各自换行 */
  body .oc-stats .elementor-column{width:calc(50% - 10px)!important;max-width:calc(50% - 10px)!important;flex:0 0 calc(50% - 10px)!important}
  .oc-stat{margin:5px!important;padding:var(--sp-2)!important}
  .oc-cta{padding:40px 0!important}
  .oc-cta > .elementor-container{flex-direction:column;align-items:stretch;gap:18px}
  /* Banner：手机上改下重上，文字压在底部 */
  .oc-banner{height:540px}
  /* 竖屏下图片按高度铺满会把自带标题露出来：放大到 126% 并贴底，裁掉顶部 */
  .oc-banner-img{min-height:126%}
  /* 单张图可在手机上单独指定裁切落点（如智能箱竖屏要露出柜体而不是只看到电路板）；
     这类图没有自带标题，不需要放大到 126%，压到 100% 反而能看到更完整的柜体 */
  .oc-banner-slide[data-pos-mob] .oc-banner-img{
    min-height:100%!important;object-position:var(--oc-pos-mob)!important}
  .oc-banner-wrap{align-items:flex-end;padding:0 18px 62px}
  .oc-banner-copy{max-width:100%}
  .oc-banner-title{font-size:25px;line-height:1.3}
  .oc-banner-acts{margin-top:18px;gap:10px}
  .oc-banner-btn{height:44px;padding:0 20px;font-size:14px}
  .oc-banner-search{margin-top:14px;max-width:100%}
  .oc-banner-arrow{display:none}
  .oc-banner-dots{bottom:20px}

  .oc-cta .oc-cta-text,.oc-cta .oc-cta-actions{flex:1 1 auto}
  .oc-cta-actions > .elementor-widget-wrap{flex-direction:column;align-items:stretch;gap:0}
  .oc-cta-actions .elementor-widget-button{width:100%!important}
  .oc-form-row{grid-template-columns:1fr}
  .oc-submit{width:100%}
  .oc-btn-primary .elementor-button,.oc-btn-ghost .elementor-button{width:100%!important}
  .elementor-widget-button.oc-btn-primary,.elementor-widget-button.oc-btn-ghost{display:block!important;margin:0 0 10px!important}
  .oc-banner{height:clamp(400px,86vw,520px)}
  .oc-footer-main{padding:28px 0 12px}
  .oc-footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .oc-footer-col li a{white-space:normal}
  .oc-footer-col h4{margin-bottom:14px;font-size:16px}
  .oc-footer-qr{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:0}
  .oc-footer-qr h4{margin-bottom:12px}
  .oc-footer-qr-tip{margin:10px 0 0}
  .oc-footer-contact{margin-top:22px;flex-direction:column;align-items:flex-start;gap:10px}
  .oc-footer-contact li{text-align:left}
  .oc-footer-meta{margin-top:8px;font-size:12px;line-height:1.9;gap:2px 0}
  /* 手机端换行后行首不应出现竖线，改用间距分隔 */
  .oc-footer-meta > * + *::before{content:none}
  .oc-footer-meta > *{margin:0 10px}
  .oc-arch-body{padding:32px 0 52px}
  .oc-grid{gap:var(--sp-2)}
}

/* ============ 解除 Astra 容器限制（归档 / 详情 / 搜索页） ============ */
body.post-type-archive-products .site-content > .ast-container,
body.tax-product_category .site-content > .ast-container,
body.post-type-archive-news .site-content > .ast-container,
body.post-type-archive-downloads .site-content > .ast-container,
body.single-news .site-content > .ast-container,
body.single-products .site-content > .ast-container,
body.search .site-content > .ast-container,
body.archive .site-content > .ast-container{
  max-width:100%!important;padding:0!important;margin:0!important;
  display:block!important;flex-wrap:wrap!important}
body.post-type-archive-products #content,
body.tax-product_category #content,
body.post-type-archive-news #content,
body.post-type-archive-downloads #content,
body.single-news #content,
body.single-products #content,
body.search #content,
body.archive #content{padding:0!important}
body.post-type-archive-news .entry-header,
body.post-type-archive-downloads .entry-header,
body.single-news .entry-header,
body.search .entry-header,
body.archive .entry-header{display:none!important}
body.post-type-archive-news .ast-archive-description,
body.post-type-archive-downloads .ast-archive-description,
body.archive .ast-archive-description{display:none!important}

.oc-arch-hero .oc-wrap{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.oc-arch-hero .oc-arch-crumb{margin-bottom:var(--sp-2)}

/* ===================================================================
   产品卡样式统一由 assets/product.css 负责（.oc-pcard / .oc-pgrid）。
   这里不再重复定义，避免两套规则互相覆盖。
   =================================================================== */

/* 资质条 */
.oc-cert-strip{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;
  padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}
.oc-cert-ico{flex:0 0 50px;height:50px;border-radius:var(--r-sm);display:flex;align-items:center;
  justify-content:center;background:var(--accent-wash);color:var(--accent);font-size:20px}
.oc-cert-txt{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px}
.oc-cert-txt b{font-size:15px;font-weight:600;color:var(--ink-1)}
.oc-cert-txt span{font-size:var(--fs-sm);color:var(--ink-3);line-height:1.8}
.oc-cert-btn{flex:0 0 auto;display:inline-flex;align-items:center;height:42px;padding:0 var(--sp-3);
  border-radius:var(--r-sm);background:var(--accent);color:#fff!important;font-size:14px;
  font-weight:600;text-decoration:none;transition:background .2s}
.oc-cert-btn:hover{background:var(--accent-ink)}
@media (max-width:767px){
  .oc-cert-strip{padding:var(--sp-3);gap:var(--sp-2)}
  .oc-cert-btn{width:100%;justify-content:center}
}

/* 浅底上的次级按钮 */
.oc-arch .oc-btn-ghost,.oc-page .oc-btn-ghost,.oc-arch-body .oc-btn-ghost{
  background:var(--surface)!important;color:var(--ink-1)!important;
  border:1px solid var(--line-2)!important}
.oc-arch .oc-btn-ghost:hover,.oc-page .oc-btn-ghost:hover{
  border-color:var(--accent)!important;color:var(--accent)!important}
.oc-arch .oc-btn-primary,.oc-page .oc-btn-primary{
  display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 var(--sp-4);
  border-radius:var(--r-sm);background:var(--accent);color:#fff!important;font-size:15px;
  font-weight:600;text-decoration:none;transition:background .2s}
.oc-arch .oc-btn-primary:hover,.oc-page .oc-btn-primary:hover{background:var(--accent-ink);color:#fff!important}
.oc-arch .oc-grid.is-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* ===================================================================
   产品详情页 v4
   型号大标题 → 4 条关键参数 → Tab（描述/参数/应用/附件/相关）
   =================================================================== */
.oc-pd-hero{background:var(--surface)!important;padding:var(--sp-2) 0 clamp(32px,3.4vw,48px)!important;
  border-bottom:1px solid var(--line)}
.oc-pd-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,3.4vw,56px);align-items:start}
.oc-pd-media{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);
  border:1px solid var(--line);aspect-ratio:4/3}
.oc-pd-media.is-empty{display:flex;align-items:center;justify-content:center}
.oc-pd-media img{width:100%;height:100%;object-fit:cover;display:block}
/* 1:1 白底产品图：加 .is-white 切到 contain */
.oc-pd-media.is-white{background:#fff;display:flex;align-items:center;justify-content:center;padding:32px}
.oc-pd-media.is-white img{object-fit:contain}
.oc-pd-ph{font-size:72px;color:#c8d3e0}
.oc-pd-cat{display:inline-block;padding:4px 11px;border-radius:var(--r-pill);background:var(--accent-wash);
  color:var(--accent);font-size:13px;font-weight:600;text-decoration:none;margin:0 0 12px}
.oc-pd-cat:hover{color:var(--accent-ink);text-decoration:none}
.oc-pd-title{margin:0 0 8px!important;font-size:var(--fs-h1)!important;line-height:1.3;font-weight:600;color:var(--ink-1)!important}
.oc-pd-model{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-3);margin-bottom:14px}
.oc-pd-model strong{color:var(--ink-1);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.oc-pd-tagline{margin:0 0 12px!important;font-size:16px!important;line-height:1.75;font-weight:400;color:var(--ink-2)!important}
.oc-pd-summary{margin:0 0 20px!important;font-size:15px!important;line-height:1.9!important;color:var(--ink-3)!important}

/* 顶部 4 条关键参数：两列，去卡片化，用分隔线 */
.oc-pd-high{list-style:none;margin:0 0 24px!important;padding:0!important;display:grid;
  grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)!important;
  border-radius:var(--r-md)!important;overflow:hidden;box-shadow:none!important}
.oc-pd-high li{display:flex;flex-direction:column;gap:3px;min-width:0;background:var(--surface);padding:12px 14px}
.oc-pd-high-lab{font-size:12px;color:var(--ink-3)}
.oc-pd-high-val{font-size:15px;font-weight:600;color:var(--ink-1)!important;line-height:1.5;
  overflow:hidden;text-overflow:ellipsis}
.oc-pd-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.oc-pd-actions .oc-btn{height:46px;padding:0 22px;border-radius:var(--r-sm);font-size:14px}
.oc-pd-back{font-size:13px;color:var(--ink-3);text-decoration:none;margin-left:4px}
.oc-pd-back:hover{color:var(--accent)}

/* 详情页分区 */
.oc-pd-sec{padding:clamp(40px,4.4vw,64px) 0!important;border-top:1px solid var(--line)!important}
.oc-pd-feature{background:var(--surface-2)!important}
.oc-h2{position:relative;font-size:var(--fs-h2)!important;font-weight:600!important;
  letter-spacing:0!important;color:var(--ink-1)!important;margin:0 0 var(--sp-4)!important;padding:0!important}
.oc-h2::before{content:none!important}

/* Tab 导航 */
.oc-tabs{margin:0}
.oc-tabs-nav{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 var(--sp-4)}
.oc-tabs-nav button{
  position:relative;appearance:none;background:none;border:0;border-bottom:2px solid transparent;
  padding:12px 18px;margin-bottom:-1px;font-family:inherit;font-size:15px;color:var(--ink-2);
  cursor:pointer;transition:color .18s,border-color .18s;border-radius:0}
.oc-tabs-nav button:hover{color:var(--ink-1)}
.oc-tabs-nav button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
.oc-tab-panel{display:none}
.oc-tab-panel.is-on{display:block}
/* 无 JS 时全部平铺，内容不会消失 */
.oc-tabs:not(.is-js) .oc-tab-panel{display:block}
.oc-tabs:not(.is-js) .oc-tabs-nav{display:none}
.oc-tab-panel > h3{font-size:var(--fs-h3);font-weight:600;color:var(--ink-1);margin:0 0 var(--sp-2)}
.oc-tab-empty{font-size:14px;color:var(--ink-3);line-height:1.9;margin:0}

/* 功能特性 bullet */
.oc-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.oc-checks li{position:relative;padding-left:22px;font-size:15px;line-height:1.85;color:var(--ink-2)}
.oc-checks li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;
  background:var(--accent)}
.oc-pd-feature-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(24px,3vw,48px);align-items:start}

/* 两列参数表（对齐行业标杆：参数名 / 参数值，斑马纹） */
.oc-spec-table{border:1px solid var(--line)!important;border-radius:var(--r-md)!important;overflow:hidden;background:var(--surface)}
.oc-spec-row{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line)!important}
.oc-spec-row:last-child{border-bottom:0!important}
.oc-spec-row.is-odd .oc-spec-k,.oc-spec-row.is-odd .oc-spec-v{background:var(--surface-2)}
.oc-spec-k{background:var(--surface-2)!important;border-right:1px solid var(--line)!important;
  padding:12px 18px;font-size:14px;color:var(--ink-2)!important;font-weight:500}
.oc-spec-v{padding:12px 18px;font-size:14px;line-height:1.8;color:var(--ink-1)!important;white-space:pre-line}
.oc-spec-note{margin:14px 0 0;font-size:13px;color:var(--ink-3)}

/* 资料下载行 */
.oc-dl-row{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:0 0 10px;
  background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;
  text-decoration:none;transition:border-color .2s,box-shadow .2s}
.oc-dl-row:hover{border-color:var(--line-2)!important;box-shadow:var(--sh-2)!important}
.oc-dl-name{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--ink-1)!important;line-height:1.5}
.oc-dl-sub{display:block;margin-top:3px;font-style:normal;font-size:var(--fs-xs);
  font-weight:400;color:var(--ink-3);letter-spacing:.01em}
.oc-dl-acts{flex:0 0 auto;display:flex;align-items:center;gap:8px}
.oc-dl-prev{display:inline-block;padding:6px 12px;border:1px solid var(--line-2);border-radius:4px;
  font-size:var(--fs-xs);color:var(--ink-2)!important;text-decoration:none;transition:.2s}
.oc-dl-prev:hover{border-color:var(--accent);color:var(--accent)!important}
.oc-dl-get{display:inline-block;padding:7px 14px;border-radius:4px;background:var(--accent);
  font-size:var(--fs-xs);font-weight:600;color:#fff!important;text-decoration:none;transition:.2s}
.oc-dl-get:hover{background:var(--accent-ink)}
.oc-dl-row.is-empty .oc-dl-ico{background:var(--surface-3);color:var(--ink-3)}
.oc-dl-card .oc-dl-sub{margin-top:2px}
.oc-dl-sub a{color:var(--accent);text-decoration:none}
.oc-dl-sub a:hover{text-decoration:underline}
.oc-dl-more{display:inline-block;margin-top:10px;font-size:14px;font-weight:600;color:var(--accent)!important;text-decoration:none}
.oc-rich{font-size:15px;line-height:1.95;color:var(--ink-2)}
.oc-rich h2,.oc-rich h3{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-h3);font-weight:600;color:var(--ink-1)}
.oc-rich img{border-radius:var(--r-md);margin:var(--sp-2) 0}
.oc-rich table{width:100%;border-collapse:collapse;font-size:14px;margin:var(--sp-2) 0}
.oc-rich th,.oc-rich td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.oc-rich th{background:var(--surface-2);font-weight:600;color:var(--ink-1)}

/* 详情页尾部咨询条 */
.oc-cta-strip{background:var(--dark-1)!important;margin-top:0;padding:clamp(44px,4.6vw,64px) 0}
.oc-cta-strip h2{color:#fff!important;font-size:clamp(22px,2.2vw,30px)!important;font-weight:600!important;margin:0 0 8px!important}
.oc-cta-strip p{color:var(--on-dark-2)!important;margin:0;font-size:15px;line-height:1.85;max-width:640px}

@media (max-width:900px){
  .oc-pd-grid{grid-template-columns:1fr}
  .oc-pd-feature-grid{grid-template-columns:1fr}
  .oc-spec-row{grid-template-columns:150px 1fr}
}
@media (max-width:600px){
  .oc-pd-high{grid-template-columns:1fr}
  .oc-spec-row{grid-template-columns:120px 1fr}
  .oc-spec-k,.oc-spec-v{padding:10px 12px;font-size:14px}
  .oc-tabs-nav button{padding:10px 12px;font-size:14px}
  .oc-pd-media{padding:18px}
}
