/* =============================================================
   信阳市 · 糖纸电商网 城市分站模板  —  style.css
   风格代号: majojian (毛尖)  |  温暖克制 · 现代洁净 · 浅色优先
   主色: 茶绿 #3F7058  +  暖蜜金 #C2883C (茶汤，辅助强调)
   规范: v2（图形化 / 动效 / 强移动端 / 禁 emoji）
   框架集成见各页顶部注释（$basePath / $homeCategories / $cat['category_dir']）
   ============================================================= */

/* ---------- 设计令牌 ---------- */
:root{
  --brand: #3F7058;          /* 主色 茶绿 */
  --brand-700: #315A47;      /* 主色加深 hover */
  --brand-50: #EAF3EE;       /* 主色极浅 */
  --accent: #C2883C;         /* 辅助色 暖蜜金/茶汤 */
  --accent-50: #F7F0E4;      /* 辅助色极浅 */
  --brand-soft: #F4F8F4;     /* 背景浅青白 */
  --ink: #1E2622;            /* 正文 */
  --muted: #6A736E;          /* 次要文字 */
  --line: #E4ECE6;           /* 分割线 */
  --surface: #FFFFFF;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow-sm: 0 1px 2px rgba(31,38,34,.06);
  --shadow: 0 10px 30px rgba(31,38,34,.08);
  --shadow-lg: 0 18px 48px rgba(31,38,34,.14);
  --ease: cubic-bezier(.22,1,.36,1);
  --maxw: 1200px;
  --header-h: 68px;
}

/* ---------- 基础重置 ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Hiragino Sans GB",
              "Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--brand-soft);
  line-height:1.6;
  font-size:clamp(15px,1vw + 13px,16px);
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; line-height:1.25; font-weight:700; letter-spacing:-.01em; }
p{ margin:0; }

/* ---------- 布局容器 ---------- */
.container{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:clamp(16px,4vw,32px);
}
.section{ padding-block:clamp(56px,8vw,96px); }
.section--tight{ padding-block:clamp(40px,6vw,64px); }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; letter-spacing:.08em;
  color:var(--brand); text-transform:none;
  padding:6px 12px; border-radius:999px;
  background:var(--brand-50);
}
.section-head{ max-width:720px; margin-bottom:clamp(28px,4vw,44px); }
.section-head h2{
  font-size:clamp(26px,3.4vw,40px);
  margin-top:14px;
}
.section-head p{ color:var(--muted); margin-top:12px; font-size:clamp(15px,1.4vw,17px); }
.text-center{ text-align:center; }
.text-center .section-head{ margin-inline:auto; }

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:46px; padding:0 22px;
  border:none; border-radius:999px;
  font-size:15px; font-weight:600;
  transition:transform var(--ease) .25s, box-shadow var(--ease) .25s, background var(--ease) .25s;
  white-space:nowrap;
}
.btn svg{ width:18px; height:18px; }
.btn--primary{ background:var(--brand); color:#fff; box-shadow:var(--shadow-sm); }
.btn--primary:hover{ background:var(--brand-700); transform:translateY(-3px); box-shadow:var(--shadow); }
.btn--ghost{ background:transparent; color:var(--ink); border:1.5px solid var(--line); }
.btn--ghost:hover{ border-color:var(--brand); color:var(--brand); transform:translateY(-3px); }
.btn--light{ background:#fff; color:var(--brand); }
.btn--light:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.btn--block{ width:100%; }

/* =============================================================
   头部 / 导航
   ============================================================= */
.site-header{
  position:sticky; top:0; z-index:50;
  height:var(--header-h);
  background:rgba(244,248,244,.82);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header .container{
  height:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.brand{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:18px; }
.brand .logo-mark{ width:34px; height:34px; flex:none; }
.brand .brand-city{ color:var(--brand); }
.brand small{ display:block; font-size:11px; font-weight:500; color:var(--muted); letter-spacing:.12em; }

.nav{ display:flex; align-items:center; gap:4px; }
.nav a{
  padding:10px 14px; border-radius:10px; font-size:15px; color:var(--ink);
  transition:background var(--ease) .2s, color var(--ease) .2s;
}
.nav a:hover{ background:var(--brand-50); color:var(--brand); }
.nav-cta{ margin-left:8px; }

.hamburger{
  display:none; width:44px; height:44px; border:none; background:transparent;
  border-radius:10px; align-items:center; justify-content:center;
}
.hamburger:hover{ background:var(--brand-50); }
.hamburger svg{ width:24px; height:24px; }

/* 移动端全屏抽屉 */
.drawer{
  position:fixed; inset:0; z-index:80;
  background:var(--brand-soft);
  transform:translateX(100%);
  transition:transform var(--ease) .35s;
  display:flex; flex-direction:column;
  padding:24px clamp(20px,6vw,40px);
}
.drawer.is-open{ transform:translateX(0); }
.drawer__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.drawer__close{ width:44px; height:44px; border:none; background:var(--brand-50); border-radius:12px; display:flex; align-items:center; justify-content:center; }
.drawer__close svg{ width:22px; height:22px; }
.drawer nav{ display:flex; flex-direction:column; gap:4px; }
.drawer nav a{
  padding:16px 12px; font-size:19px; font-weight:600; border-bottom:1px solid var(--line);
}
.drawer nav a:hover{ color:var(--brand); }
.drawer .btn{ margin-top:24px; }
.drawer-backdrop{
  position:fixed; inset:0; z-index:70; background:rgba(31,38,34,.42);
  opacity:0; visibility:hidden; transition:opacity var(--ease) .3s, visibility var(--ease) .3s;
}
.drawer-backdrop.is-open{ opacity:1; visibility:visible; }

/* =============================================================
   Hero 三屏轮播
   ============================================================= */
.hero{ position:relative; overflow:hidden; background:var(--surface); }
.hero-carousel{ position:relative; }
.hero-track{ display:flex; transition:transform var(--ease) .6s; }
.slide{
  position:relative; flex:0 0 100%; min-height:clamp(440px,68vh,620px);
  display:flex; align-items:center;
  padding-block:clamp(40px,7vw,80px);
  overflow:hidden;
}
.slide__bg{ position:absolute; inset:0; z-index:0; }
.slide__bg svg{ width:100%; height:100%; }
.slide__inner{ position:relative; z-index:1; max-width:640px; }
.slide .eyebrow{ background:rgba(255,255,255,.7); color:var(--brand); backdrop-filter:blur(4px); }
.slide h1{
  font-size:clamp(30px,5.2vw,56px); margin:18px 0 14px; color:var(--ink);
  text-shadow:0 1px 0 rgba(255,255,255,.5);
}
.slide .lead{ font-size:clamp(16px,1.8vw,19px); color:#3a423d; max-width:520px; }
.slide .hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }

/* 不同屏微差配色（茶绿 / 暖蜜金 双主调） */
.slide--1{ background:linear-gradient(120deg,#EAF3EE,#F2F8F4); }
.slide--2{ background:linear-gradient(120deg,#F7F0E4,#FBF4E9); }
.slide--3{ background:linear-gradient(120deg,#EDF4F0,#F2F8F4); }

.hero-controls{ position:absolute; z-index:3; bottom:22px; left:0; right:0; }
.hero-dots{ display:flex; gap:10px; justify-content:center; }
.hero-dots button{
  width:10px; height:10px; border-radius:999px; border:none; padding:0;
  background:rgba(31,38,34,.22); transition:all var(--ease) .3s;
}
.hero-dots button.is-active{ width:28px; background:var(--brand); }
.hero-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:46px; height:46px; border-radius:999px; border:1px solid var(--line);
  background:rgba(255,255,255,.8); display:flex; align-items:center; justify-content:center;
  transition:background var(--ease) .2s, transform var(--ease) .2s;
}
.hero-arrow:hover{ background:#fff; transform:translateY(-50%) scale(1.06); }
.hero-arrow svg{ width:20px; height:20px; }
.hero-arrow--prev{ left:clamp(8px,2vw,20px); }
.hero-arrow--next{ right:clamp(8px,2vw,20px); }

/* =============================================================
   统一信任数据条
   ============================================================= */
.trust-bar{
  background:var(--ink); color:#fff;
  padding-block:clamp(26px,4vw,40px);
}
.trust-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,3vw,32px);
}
.trust-item{ display:flex; align-items:center; gap:14px; }
.trust-item .t-icon{
  width:48px; height:48px; flex:none; border-radius:12px;
  background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center;
}
.trust-item .t-icon svg{ width:26px; height:26px; stroke:var(--brand); }
.trust-item .t-num{ font-size:clamp(22px,2.6vw,30px); font-weight:700; line-height:1; }
.trust-item .t-num b{ color:var(--brand); }
.trust-item .t-label{ font-size:13px; color:rgba(255,255,255,.7); margin-top:4px; }

/* =============================================================
   核心业务卡片（4 列均匀）
   ============================================================= */
.biz-grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2vw,22px);
}
.biz-card{display:flex;flex-direction:column;height:100%;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 22px; display:flex; flex-direction:column;
  transition:transform var(--ease) .3s, box-shadow var(--ease) .3s, border-color var(--ease) .3s;
  position:relative; overflow:hidden;
}
.biz-card::after{
  content:""; position:absolute; inset:0; border-radius:var(--radius);
  background:linear-gradient(135deg,transparent 60%,var(--brand-50));
  opacity:0; transition:opacity var(--ease) .3s;
}
.biz-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.biz-card:hover::after{ opacity:1; }
.biz-card .b-icon{
  width:54px; height:54px; border-radius:14px; background:var(--brand-50);
  display:flex; align-items:center; justify-content:center;
  transition:transform var(--ease) .35s, background var(--ease) .3s;
}
.biz-card:hover .b-icon{ transform:rotate(-6deg) scale(1.05); background:var(--brand); }
.biz-card .b-icon svg{ width:28px; height:28px; stroke:var(--brand); transition:stroke var(--ease) .3s; }
.biz-card:hover .b-icon svg{ stroke:#fff; }
.biz-card h3{ font-size:19px; margin:18px 0 8px; }
.biz-card .b-desc{ color:var(--muted); font-size:14.5px; flex:1; }
.biz-card .b-children{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;
}
.biz-card .b-children a{
  font-size:13px; padding:5px 11px; border-radius:999px;
  background:var(--brand-soft); color:var(--ink);
  transition:background var(--ease) .2s, color var(--ease) .2s;
}
.biz-card .b-children a:hover{ background:var(--brand); color:#fff; }
.biz-card .b-more{ margin-top:16px; font-size:14px; font-weight:600; color:var(--brand); display:inline-flex; align-items:center; gap:6px; }
.biz-card .b-more svg{ width:16px; height:16px; transition:transform var(--ease) .25s; }
.biz-card:hover .b-more svg{ transform:translateX(4px); }

/* =============================================================
   交付流程（SVG 步骤连线）
   ============================================================= */
.process{ background:var(--surface); }
.flow{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;
  margin-top:8px;
}
.flow-step{ position:relative; padding:28px 18px 8px; text-align:center; }
.flow-step .f-node{
  width:64px; height:64px; margin:0 auto 14px; border-radius:50%;
  background:var(--brand-soft); border:2px solid var(--brand);
  display:flex; align-items:center; justify-content:center; position:relative; z-index:2;
}
.flow-step .f-node svg{ width:30px; height:30px; stroke:var(--brand); }
.flow-step h4{ font-size:17px; }
.flow-step p{ color:var(--muted); font-size:14px; margin-top:6px; }
/* 连接线 */
.flow-step::before{
  content:""; position:absolute; top:60px; left:50%; width:100%; height:2px;
  background:repeating-linear-gradient(90deg,var(--brand) 0 6px,transparent 6px 12px);
  z-index:1;
}
.flow-step:last-child::before{ display:none; }

.flow-meta{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:48px;
}
.flow-stat{
  background:var(--brand-soft); border:1px solid var(--line); border-radius:var(--radius);
  padding:24px; text-align:center;
}
.flow-stat .s-num{ font-size:clamp(26px,3vw,34px); font-weight:700; color:var(--brand); }
.flow-stat .s-label{ color:var(--muted); font-size:14px; margin-top:6px; }

/* =============================================================
   CTA 营销板块（差异化）
   ============================================================= */
.cta{ position:relative; overflow:hidden; }
/* CTA-1 主色块 + 表单 */
.cta--form{ background:var(--brand); color:#fff; }
.cta--form .cta-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,4vw,56px); align-items:center; }
.cta--form h2{ font-size:clamp(24px,3vw,36px); }
.cta--form p{ opacity:.92; margin-top:12px; }
.cta-card{
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28);
  border-radius:var(--radius); padding:24px; backdrop-filter:blur(6px);
}
.cta-card label{ display:block; font-size:13px; margin:0 0 6px; opacity:.9; }
.cta-card .field{ margin-bottom:14px; }
.cta-card input,.cta-card textarea,.cta-card select{
  width:100%; min-height:46px; padding:12px 14px; border-radius:12px;
  border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.95);
  color:var(--ink); font-size:15px; font-family:inherit;
}
.cta-card textarea{ min-height:90px; resize:vertical; }
.cta-card .btn{ background:#fff; color:var(--brand); }
.cta-card .btn:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.cta-note{ font-size:12.5px; opacity:.8; margin-top:10px; }

/* CTA-2 玻璃卡 + 几何装饰 */
.cta--glass{ background:linear-gradient(120deg,#EAF3EE,#F2F8F4); }
.cta--glass .glass-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:clamp(28px,4vw,44px); display:flex; align-items:center; justify-content:space-between;
  gap:24px; box-shadow:var(--shadow); position:relative; overflow:hidden;
}
.cta--glass .glass-card .deco{ position:absolute; right:-40px; top:-40px; width:200px; opacity:.5; }
.cta--glass h3{ font-size:clamp(20px,2.4vw,28px); max-width:560px; }
.cta--glass .lead{ color:var(--muted); margin-top:10px; max-width:560px; }

/* CTA-3 图文左右分栏 */
.cta--split{ background:var(--ink); color:#fff; }
.cta--split .split-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,48px); align-items:center; }
.cta--split .split-art{ border-radius:var(--radius); overflow:hidden; background:#2a322d; }
.cta--split h2{ font-size:clamp(22px,2.8vw,32px); }
.cta--split p{ opacity:.85; margin-top:12px; }
.cta--split .mini-list{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.cta--split .mini-list span{
  font-size:13px; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.1);
}

/* =============================================================
   案例区
   ============================================================= */
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.4vw,26px); }
.case-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; transition:transform var(--ease) .3s, box-shadow var(--ease) .3s;
}
.case-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.case-card .c-cover{ aspect-ratio:16/10; overflow:hidden; background:var(--brand-soft); }
.case-card .c-cover svg{ width:100%; height:100%; }
.case-card .c-body{ padding:20px; }
.case-card .c-tag{
  display:inline-block; font-size:12px; font-weight:600; color:var(--accent);
  background:var(--accent-50); padding:4px 10px; border-radius:999px;
}
.case-card h3{ font-size:18px; margin:12px 0 8px; }
.case-card p{ color:var(--muted); font-size:14px; }

/* =============================================================
   页脚
   ============================================================= */
.site-footer{ background:var(--ink); color:rgba(255,255,255,.82); padding-block:clamp(40px,6vw,64px) 28px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:clamp(24px,3vw,40px); }
.footer-grid h4{ color:#fff; font-size:15px; margin-bottom:16px; }
.footer-brand .brand{ color:#fff; margin-bottom:14px; }
.footer-brand p{ font-size:14px; color:rgba(255,255,255,.7); max-width:320px; }
.footer-links a{ display:block; padding:7px 0; font-size:14px; color:rgba(255,255,255,.72); transition:color var(--ease) .2s; }
.footer-links a:hover{ color:var(--brand); }
.footer-contact li{ display:flex; align-items:center; gap:10px; padding:7px 0; font-size:14px; }
.footer-contact svg{ width:18px; height:18px; stroke:var(--brand); flex:none; }
.footer-bottom{
  margin-top:clamp(28px,4vw,44px); padding-top:22px; border-top:1px solid rgba(255,255,255,.12);
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
  font-size:13px; color:rgba(255,255,255,.6);
}
.footer-bottom a:hover{ color:var(--brand); }

/* =============================================================
   关于页
   ============================================================= */
.page-hero{
  position:relative; overflow:hidden; background:var(--surface);
  padding-block:clamp(48px,7vw,84px);
}
.page-hero .ph-bg{ position:absolute; inset:0; z-index:0; opacity:.5; }
.page-hero .ph-bg svg{ width:100%; height:100%; }
.page-hero .container{ position:relative; z-index:1; }
.page-hero h1{ font-size:clamp(28px,4vw,46px); margin-top:14px; }
.page-hero .lead{ color:var(--muted); margin-top:14px; max-width:640px; font-size:clamp(15px,1.6vw,18px); }
.crumbs{ font-size:13px; color:var(--muted); }
.crumbs a:hover{ color:var(--brand); }

.about-intro{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,56px); align-items:center; }
.about-art{ border-radius:var(--radius); overflow:hidden; background:var(--brand-soft); aspect-ratio:4/3; }
.about-art svg{ width:100%; height:100%; }
.about-intro h2{ font-size:clamp(24px,3vw,34px); }
.about-intro p{ color:var(--muted); margin-top:14px; }
.value-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:8px; }
.value-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; }
.value-card .v-icon{ width:46px; height:46px; border-radius:12px; background:var(--brand-50); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.value-card .v-icon svg{ width:24px; height:24px; stroke:var(--brand); }
.value-card h4{ font-size:17px; }
.value-card p{ color:var(--muted); font-size:14px; margin-top:8px; }

/* =============================================================
   案例页 / 联系页
   ============================================================= */
.filter-bar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.filter-bar button{
  border:1.5px solid var(--line); background:var(--surface); color:var(--ink);
  padding:9px 16px; border-radius:999px; font-size:14px; transition:all var(--ease) .2s;
}
.filter-bar button.is-active,.filter-bar button:hover{ border-color:var(--brand); color:var(--brand); background:var(--brand-50); }

.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,48px); align-items:start; }
.contact-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(24px,3vw,36px); box-shadow:var(--shadow-sm); }
.contact-card .field{ margin-bottom:16px; }
.contact-card label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.contact-card input,.contact-card textarea,.contact-card select{
  width:100%; min-height:46px; padding:12px 14px; border-radius:12px; border:1px solid var(--line);
  font-size:15px; font-family:inherit; background:var(--brand-soft); transition:border-color var(--ease) .2s, box-shadow var(--ease) .2s;
}
.contact-card input:focus,.contact-card textarea:focus,.contact-card select:focus{
  outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-50);
}
.contact-card textarea{ min-height:120px; resize:vertical; }
.info-list li{ display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.info-list .i-icon{ width:40px; height:40px; flex:none; border-radius:10px; background:var(--brand-50); display:flex; align-items:center; justify-content:center; }
.info-list .i-icon svg{ width:20px; height:20px; stroke:var(--brand); }
.info-list .i-txt b{ display:block; font-size:15px; }
.info-list .i-txt span{ color:var(--muted); font-size:14px; }

/* =============================================================
   子栏目页 (category)
   ============================================================= */
.cat-layout{ display:grid; grid-template-columns:260px 1fr; gap:clamp(24px,3vw,44px); align-items:start; }
.cat-side{ position:sticky; top:calc(var(--header-h) + 16px); }
.cat-side h4{ font-size:14px; color:var(--muted); margin-bottom:12px; letter-spacing:.04em; }
.cat-side a{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px; border-radius:12px; font-size:15px; color:var(--ink);
  border:1px solid transparent; transition:all var(--ease) .2s;
}
.cat-side a:hover{ background:var(--brand-50); color:var(--brand); }
.cat-side a.is-active{ background:var(--brand); color:#fff; }
.cat-side a.is-active .dot{ background:#fff; }
.cat-side a .dot{ width:7px; height:7px; border-radius:999px; background:var(--brand); }

.cat-main h2{ font-size:clamp(22px,2.6vw,30px); }
.cat-main .cat-lead{ color:var(--muted); margin:10px 0 26px; }
.svc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.svc-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:24px; display:flex; gap:16px; transition:transform var(--ease) .3s, box-shadow var(--ease) .3s;
}
.svc-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.svc-card .s-icon{ width:50px; height:50px; flex:none; border-radius:12px; background:var(--brand-50); display:flex; align-items:center; justify-content:center; }
.svc-card .s-icon svg{ width:26px; height:26px; stroke:var(--brand); }
.svc-card h4{ font-size:17px; }
.svc-card p{ color:var(--muted); font-size:14px; margin-top:6px; }
.svc-card .s-link{ margin-top:12px; font-size:13.5px; font-weight:600; color:var(--brand); display:inline-flex; align-items:center; gap:6px; }
.svc-card .s-link svg{ width:15px; height:15px; }

/* =============================================================
   滚动揭示动效
   ============================================================= */
.no-js .reveal{ opacity:0; transform:translateY(24px); transition:opacity .5s var(--ease), transform .5s var(--ease); }
.no-js .reveal.is-visible{ opacity:1; transform:none; }
.reveal[data-delay="1"]{ transition-delay:.08s; }
.reveal[data-delay="2"]{ transition-delay:.16s; }
.reveal[data-delay="3"]{ transition-delay:.24s; }

/* =============================================================
   响应式断点
   ============================================================= */
@media (max-width:1023px){
  .nav{ display:none; }
  .hamburger{ display:flex; }
  .cta--form .cta-grid{ grid-template-columns:1fr; }
  .cta--glass .glass-card{ flex-direction:column; align-items:flex-start; }
  .cta--split .split-grid{ grid-template-columns:1fr; }
  .about-intro{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .cat-layout{ grid-template-columns:1fr; }
  .cat-side{ position:static; }
  .cat-side .cat-nav{ display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; }
  .cat-side .cat-nav a{ white-space:nowrap; border:1px solid var(--line); }
  .cat-side .cat-nav a.is-active{ border-color:var(--brand); }
}
@media (max-width:768px){
  .biz-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trust-grid{ grid-template-columns:repeat(2,1fr); gap:20px; }
  .flow{ grid-template-columns:repeat(2,1fr); }
  .flow-step::before{ display:none; }
  .flow-meta{ grid-template-columns:1fr; }
  .case-grid{ grid-template-columns:1fr; }
  .value-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .svc-grid{ grid-template-columns:1fr; }
  .no-js .reveal{ transform:translateY(12px); }   /* 移动端弱化位移 */
  .slide{ min-height:auto; }
  .hero-arrow{ display:none; }              /* 手机用圆点/滑动 */
}
@media (max-width:480px){
  .biz-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .trust-item{ gap:10px; }
  .trust-item .t-icon{ width:42px; height:42px; }
  .btn{ min-height:48px; }                   /* 触控区 ≥44px */
}

/* =============================================================
   尊重 prefers-reduced-motion
   ============================================================= */
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .no-js .reveal{ opacity:1 !important; transform:none !important; }
  .hero-track{ transform:none !important; }
}

/* 服务卡子栏目标签(动态) */
.biz-ch{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.biz-ch a{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--bg-soft,#f0f2f5);color:var(--text-2,#555);text-decoration:none;transition:all .2s}
.biz-ch a:hover{background:var(--accent,#c9863f);color:#fff}

/* ===== 业务单页 svc-*（v3.2 通用） ===== */
.svc-hero{position:relative;padding:120px 24px 72px;color:#fff;overflow:hidden}
.svc-hero__bg{position:absolute;inset:0;z-index:0}
.svc-hero__bg svg{width:100%;height:100%}
.svc-hero__inner{position:relative;z-index:1;max-width:1180px;margin:0 auto}
.svc-hero__eyebrow{display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);font-size:13px;margin-bottom:18px}
.svc-hero__inner h1{font-size:clamp(28px,4vw,44px);line-height:1.2;margin-bottom:16px}
.svc-hero__inner p{font-size:16px;opacity:.92;max-width:640px;line-height:1.7}
.svc-hero__actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.svc-list{padding:72px 24px}
.svc-head{text-align:center;max-width:680px;margin:0 auto 44px}
.svc-eyebrow{display:inline-block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand,var(--primary,#2D4A8A));font-weight:600;margin-bottom:10px}
.svc-head h2{font-size:clamp(24px,3vw,34px);color:var(--brand,var(--primary,#1E335F))}
.svc-head p{color:var(--muted,#5C6678);margin-top:10px;font-size:15px}
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;max-width:1180px;margin:0 auto}
.svc-card{display:flex;flex-direction:column;height:100%;background:var(--surface,#fff);border:1px solid var(--line,#E2E7F0);border-radius:16px;padding:26px 22px;transition:transform .3s var(--ease,cubic-bezier(.22,1,.36,1)),box-shadow .3s, border-color .3s}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.10);border-color:var(--brand,var(--primary,#2D4A8A))}
.svc-card__icon{width:52px;height:52px;border-radius:14px;background:var(--brand-soft,var(--bg-soft,#EEF2FB));color:var(--brand,var(--primary,#2D4A8A));display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.svc-card__icon svg{width:30px;height:30px}
.svc-card h3{font-size:19px;margin-bottom:10px}
.svc-card__desc{font-size:14px;color:var(--muted,#5C6678);flex:1;line-height:1.65;margin-bottom:14px}
.svc-card__pts{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 16px}
.svc-card__pts li{margin:0}
.svc-card__pts a{font-size:12.5px;padding:5px 11px;border-radius:999px;background:var(--brand-soft,var(--bg-soft,#EEF2FB));color:var(--brand,var(--primary,#2D4A8A));text-decoration:none;transition:all .2s}
.svc-card__pts a:hover{background:var(--brand,var(--primary,#2D4A8A));color:#fff}
.svc-card__more{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--accent,var(--accent-sand,var(--accent-graph,#C9863F)));text-decoration:none;margin-top:auto}
.svc-flow{padding:72px 24px;background:var(--surface,var(--bg-warm,#F5F2ED))}
.svc-flow__track{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1180px;margin:20px auto 0}
.svc-flow__step{text-align:center;padding:0 10px}
.svc-flow__num{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--brand,var(--primary,#2D4A8A));color:#fff;font-size:20px;font-weight:700;margin-bottom:14px}
.svc-flow__step h4{font-size:16px;margin-bottom:8px}
.svc-flow__step p{font-size:13.5px;color:var(--muted,#5C6678);line-height:1.6}
.svc-cta{padding:60px 24px}
.svc-cta__inner{max-width:1180px;margin:0 auto;background:linear-gradient(120deg,var(--brand,var(--primary,#2D4A8A)),var(--brand,var(--primary,#1E335F)));border-radius:22px;padding:44px 48px;color:#fff;text-align:center}
.svc-cta__inner h2{font-size:clamp(22px,2.6vw,30px);margin-bottom:8px}
.svc-cta__inner p{font-size:15px;opacity:.92;margin-bottom:22px}
.svc-cta .btn--light{background:#fff;color:var(--brand,var(--primary,#2D4A8A));padding:12px 26px;border-radius:999px;font-weight:600;text-decoration:none;display:inline-block}
@media (max-width:1023px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .svc-flow__track{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .svc-grid{grid-template-columns:1fr}
  .svc-flow__track{grid-template-columns:1fr}
  .svc-hero{padding:100px 18px 56px}
}

/* ===== 最新资讯 news-grid / news-card（v3.2 通用） ===== */
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1180px;margin:0 auto}
.news-card{display:flex;flex-direction:column;height:100%;padding:24px 22px;border-radius:14px}
.news-card__cat{font-size:12px;color:var(--brand,var(--primary,#2D4A8A));font-weight:600;letter-spacing:.06em;margin-bottom:10px}
.news-card__title{font-size:17px;line-height:1.4;margin-bottom:10px}
.news-card__title a{color:var(--ink,var(--text,#333));text-decoration:none;transition:color .2s}
.news-card__title a:hover{color:var(--brand,var(--primary,#2D4A8A))}
.news-card__excerpt{font-size:14px;color:var(--muted,var(--text-2,#666));flex:1;line-height:1.65}
.news-card__date{font-size:12.5px;color:var(--muted,var(--text-2,#666));margin-top:14px}
@media (max-width:900px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.news-grid{grid-template-columns:1fr}}

/* ===== 悬浮客服 zfkf ===== */
.zfkf-float{position:fixed;right:20px;bottom:120px;z-index:9999;display:flex;flex-direction:column;gap:10px}
.zfkf-item{position:relative;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:all .25s;cursor:pointer;border:none}
.zfkf-item:hover{transform:scale(1.08);color:#fff}
.zfkf-phone{background:#2563eb}.zfkf-wechat{background:#07c160}.zfkf-consult{background:#f59e0b}.zfkf-top{background:#334155}
.zfkf-tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);white-space:nowrap;background:rgba(30,58,95,.92);color:#fff;font-size:12px;padding:5px 10px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s}
.zfkf-item:hover .zfkf-tip{opacity:1}
.zfkf-wechat-mask{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:none;align-items:center;justify-content:center}
.zfkf-wechat-mask.zfkf-show{display:flex}
.zfkf-wechat-box{background:#fff;border-radius:12px;padding:24px;text-align:center;position:relative}
.zfkf-wechat-box img{width:180px;height:180px;object-fit:contain;border:1px solid #eee;border-radius:8px}
.zfkf-wechat-noimg{width:180px;height:80px;display:flex;align-items:center;justify-content:center;background:#fafbfd;border-radius:8px;font-size:16px;color:#07c160;font-weight:600}
.zfkf-wechat-box p{margin:12px 0 0;font-size:14px;color:#333}
.zfkf-wechat-close{position:absolute;top:8px;right:12px;font-size:22px;color:#666;cursor:pointer;line-height:1}
@media (max-width:768px){.zfkf-float{right:10px;bottom:100px}.zfkf-item{width:42px;height:42px}.zfkf-tip{display:none}}
/* ===== 导航下拉（统一规范 v3.6）===== */
.nav-drop-wrap{position:relative;display:inline-block}
.nav-drop-wrap .nav-drop{position:absolute;top:100%;left:0;min-width:190px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:8px 6px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.22s;z-index:999;display:flex;flex-direction:column}
.nav-drop-wrap:hover .nav-drop{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop-wrap .nav-drop a{display:block;padding:8px 14px;border-radius:6px;font-size:14px;color:#1f2937!important;white-space:nowrap;text-decoration:none;background:#fff!important}
.nav-drop-wrap .nav-drop a:hover{background:#f3f4f6!important;color:#111827!important}
.nav-drop-wrap>a::after{content:"";display:inline-block;margin-left:5px;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.65}
@media(max-width:768px){.nav-drop-wrap .nav-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 0 14px;display:none}.nav-drop-wrap:hover .nav-drop{display:flex}}

/* ===== tz-rich-text typography (auto-appended) ===== */
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article)>:first-child{margin-top:0}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article)>:last-child{margin-bottom:0}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) p{margin:0 0 1.05em;line-height:1.9}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h1,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h2{margin:1.6em 0 .7em;line-height:1.4;font-weight:700}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h1{font-size:1.6em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h2{font-size:1.4em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h3{margin:1.4em 0 .6em;font-size:1.2em;line-height:1.45;font-weight:700}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h4{margin:1.2em 0 .5em;font-size:1.08em;font-weight:700}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h5,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h6{margin:1.1em 0 .5em;font-size:1em;font-weight:700}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) ul,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) ol{margin:0 0 1.05em;padding-left:1.7em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) li{margin:.35em 0;line-height:1.8}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) img{max-width:100%;height:auto;border-radius:8px}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) figure{margin:1.2em 0}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) figcaption{margin-top:.5em;font-size:.85em;opacity:.7;text-align:center}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) blockquote{margin:1.2em 0;padding:.2em 0 .2em 1em;border-left:3px solid currentColor;opacity:.85}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.96em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) th,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) td{border:1px solid rgba(127,127,127,.3);padding:.5em .75em;text-align:left}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) th{font-weight:700;background:rgba(127,127,127,.06)}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) hr{margin:1.6em 0;border:0;border-top:1px solid rgba(127,127,127,.28)}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) pre{overflow:auto;padding:.8em 1em;border-radius:8px;background:rgba(127,127,127,.1);font-size:.92em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) code{font-size:.94em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) strong,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) b{font-weight:700}
:where(.rich-text) ul{list-style:disc}
:where(.rich-text) ol{list-style:decimal}
:where(.rich-text) a{text-decoration:underline;text-underline-offset:3px}

/* ===== tz-footer-legal (auto-appended) ===== */
.zf-legal-line a{color:inherit;text-decoration:none;opacity:.92}
.zf-legal-line a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.zf-legal-line .zf-legal-all{font-weight:600}
.zf-legal-line .zf-legal-copy{opacity:.95}
.zf-legal-line .zf-legal-addr{opacity:.82}
.zf-legal-line .zf-legal-police{text-decoration:none}
@media (max-width:640px){.zf-legal-line{column-gap:.55em;line-height:1.7}}
