/* ============================================================
   金华分站模板 · 主样式
   主题：jinhua_design_terracotta（赤陶 · 温暖克制）
   断点：>=1024 桌面 / 768-1023 平板 / <768 手机 / <480 小屏
   ============================================================ */

/* ---------- 设计变量 ---------- */
:root{
  --brand: #C95D3B;
  --brand-deep: #A94A2E;
  --brand-ink: #7C3520;
  --brand-soft: #FDF8F2;
  --accent: #7A9E7E;
  --accent-soft: #EFF4EE;
  --ink: #1F2421;
  --muted: #6B7280;
  --line: #ECE6DE;
  --card: #FFFFFF;
  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --shadow-lg: 0 24px 54px rgba(0,0,0,.14);
  --ease: cubic-bezier(.22,1,.36,1);
  --header-h: 74px;
  --font: "PingFang SC","Microsoft YaHei","Segoe UI",system-ui,-apple-system,sans-serif;
}

/* ---------- 基础 ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--brand-soft);
  line-height:1.7;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; line-height:1.25; font-weight:700; }
p{ margin:0; }
button{ font-family:inherit; cursor:pointer; }

.container{ width:min(1200px, 92%); margin-inline:auto; }

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 26px; border-radius:999px; border:1px solid transparent;
  font-size:15px; font-weight:600; line-height:1; min-height:44px;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
  will-change:transform;
}
.btn svg{ width:18px; height:18px; }
.btn-primary{ background:var(--brand); color:#fff; box-shadow:0 10px 24px rgba(201,93,59,.32); }
.btn-primary:hover{ background:var(--brand-deep); transform:translateY(-4px); box-shadow:0 16px 32px rgba(201,93,59,.4); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--brand); color:var(--brand); transform:translateY(-4px); box-shadow:var(--shadow); }
.btn-light{ background:#fff; color:var(--brand-deep); box-shadow:var(--shadow); }
.btn-light:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.btn-block{ width:100%; }

/* ---------- 区块标题 ---------- */
.section{ padding:88px 0; }
.section-alt{ background:#fff; }
.section-head{ max-width:640px; margin:0 auto 52px; text-align:center; }
.section-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; letter-spacing:.14em; color:var(--brand);
  text-transform:uppercase; margin-bottom:14px;
}
.section-eyebrow::before,.section-eyebrow::after{ content:""; width:22px; height:2px; background:var(--brand); opacity:.5; }
.section-title{ font-size:clamp(26px, 4vw, 38px); letter-spacing:.01em; }
.section-sub{ margin-top:14px; color:var(--muted); font-size:16px; }

/* ---------- 顶部导航 ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  height:var(--header-h);
  background:rgba(253,248,242,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.header-inner{ display:flex; align-items:center; gap:24px; height:var(--header-h); }
.logo{ display:inline-flex; align-items:center; gap:10px; }
.logo-mark{ flex:none; }
.logo-text{ font-size:20px; font-weight:800; letter-spacing:.02em; }
.logo-text em{ font-style:normal; color:var(--brand); }

.main-nav{ margin-left:auto; }
.main-nav ul{ display:flex; gap:6px; }
.main-nav a{
  display:block; padding:9px 14px; border-radius:999px;
  font-size:15px; font-weight:500; color:var(--ink);
  transition:color .25s var(--ease), background .25s var(--ease);
}
.main-nav a:hover{ color:var(--brand); background:rgba(201,93,59,.08); }
.main-nav a.is-active{ color:var(--brand); font-weight:700; }

.btn-nav{ padding:11px 22px; margin-left:6px; }

/* 汉堡按钮 */
.nav-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:46px; height:46px; padding:10px; border:0; background:transparent; border-radius:10px;
}
.nav-toggle span{ display:block; height:2px; width:24px; background:var(--ink); border-radius:2px; transition:transform .3s var(--ease), opacity .3s var(--ease); }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* 全屏抽屉 */
.nav-drawer{
  position:fixed; inset:0; z-index:99;
  background:rgba(253,248,242,.98);
  backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(-12px);
  transition:opacity .35s var(--ease), transform .35s var(--ease), visibility .35s;
}
.nav-drawer.is-open{ opacity:1; visibility:visible; transform:none; }
.nav-drawer-inner{ width:min(420px, 86%); text-align:center; }
.nav-drawer ul{ display:flex; flex-direction:column; gap:6px; margin-bottom:28px; }
.nav-drawer a{ display:block; padding:14px; font-size:20px; font-weight:600; border-radius:12px; transition:background .25s, color .25s; }
.nav-drawer a:hover{ background:rgba(201,93,59,.1); color:var(--brand); }
body.no-scroll{ overflow:hidden; }

/* ---------- Hero 三屏轮播 ---------- */
.hero{ position:relative; overflow:hidden; background:var(--brand-soft); }
.hero-slider{ position:relative; }
.hero-slide{
  position:relative; display:none; align-items:center; min-height:min(640px, 88vh);
  padding:70px 0 110px; overflow:hidden;
}
.hero-slide.is-active{ display:flex; animation:heroIn .7s var(--ease); }
@keyframes heroIn{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none;} }

/* Hero 背景图形：流体波浪（呼应婺江） */
.hero-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero-bg svg{ position:absolute; width:100%; height:100%; }
.hero-bg .wave-1{ top:0; left:0; opacity:.5; }
.hero-bg .wave-2{ bottom:-10%; right:-8%; opacity:.35; transform:scaleX(-1); }
.hero-bg .grid-dots{ top:12%; right:6%; width:320px; height:320px; opacity:.5; }

.hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; width:100%; }
.hero-copy{ max-width:560px; }
.hero-tag{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 16px; border-radius:999px; background:#fff; border:1px solid var(--line);
  font-size:13px; font-weight:600; color:var(--brand-deep); box-shadow:var(--shadow);
  margin-bottom:22px;
}
.hero-tag svg{ width:16px; height:16px; }
.hero-title{ font-size:clamp(30px, 5vw, 50px); letter-spacing:.01em; }
.hero-title .hl{ color:var(--brand); position:relative; white-space:nowrap; }
.hero-title .hl svg{ position:absolute; left:0; right:0; bottom:-6px; width:100%; height:10px; }
.hero-lead{ margin-top:20px; font-size:clamp(15px, 2vw, 18px); color:var(--muted); max-width:480px; }
.hero-actions{ margin-top:32px; display:flex; gap:14px; flex-wrap:wrap; }

/* Hero 右侧视觉：几何拼贴插画（非照片） */
.hero-art{ position:relative; min-height:380px; }
.hero-art .blob{ position:absolute; border-radius:50%; filter:blur(2px); }
.hero-art .blob-1{ width:300px; height:300px; background:radial-gradient(circle at 30% 30%, rgba(201,93,59,.9), rgba(201,93,59,.25)); top:6%; right:8%; }
.hero-art .blob-2{ width:190px; height:190px; background:radial-gradient(circle at 60% 40%, rgba(122,158,126,.85), rgba(122,158,126,.2)); bottom:4%; left:4%; }
.hero-art .card-stack{ position:absolute; inset:0; display:grid; place-items:center; }
.hero-art .mini-card{
  position:absolute; background:#fff; border-radius:16px; box-shadow:var(--shadow-lg);
  padding:16px 18px; display:flex; align-items:center; gap:12px; min-width:200px;
  animation:float 5s ease-in-out infinite;
}
.hero-art .mini-card svg{ width:34px; height:34px; flex:none; }
.hero-art .mini-card b{ display:block; font-size:15px; }
.hero-art .mini-card span{ font-size:12px; color:var(--muted); }
.hero-art .mc-1{ top:12%; left:2%; animation-delay:0s; }
.hero-art .mc-2{ top:44%; right:0; animation-delay:1.2s; }
.hero-art .mc-3{ bottom:8%; left:10%; animation-delay:2.2s; }
@keyframes float{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }

/* 轮播控制 */
.hero-controls{ position:absolute; left:0; right:0; bottom:34px; z-index:5; display:flex; align-items:center; justify-content:center; gap:18px; }
.hero-dots{ display:flex; gap:9px; }
.hero-dot{ width:10px; height:10px; border-radius:999px; border:0; background:rgba(31,36,33,.25); transition:all .3s var(--ease); padding:0; }
.hero-dot.is-active{ width:30px; background:var(--brand); }
.hero-arrow{
  width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:#fff;
  display:grid; place-items:center; color:var(--ink); box-shadow:var(--shadow);
  transition:transform .3s var(--ease), color .3s, border-color .3s;
}
.hero-arrow:hover{ color:var(--brand); border-color:var(--brand); transform:translateY(-2px); }
.hero-arrow svg{ width:20px; height:20px; }

/* ---------- 信任数据条 ---------- */
.trust-bar{ position:relative; z-index:6; margin-top:-56px; }
.trust-inner{
  background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-lg);
  padding:34px 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
.trust-item{ display:flex; align-items:center; gap:16px; }
.trust-item .t-icon{
  width:56px; height:56px; flex:none; border-radius:14px;
  background:var(--brand-soft); color:var(--brand); display:grid; place-items:center;
}
.trust-item .t-icon svg{ width:30px; height:30px; }
.trust-item .t-num{ font-size:clamp(24px,3vw,32px); font-weight:800; line-height:1.1; letter-spacing:.01em; }
.trust-item .t-num em{ font-style:normal; color:var(--brand); }
.trust-item .t-label{ font-size:14px; color:var(--muted); margin-top:2px; }

/* ---------- 业务卡（4 列均匀） ---------- */
.services-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:22px; }
.service-card{display:flex;flex-direction:column;height:100%;
  position:relative; background:#fff; border-radius:var(--radius); padding:30px 26px;
  box-shadow:var(--shadow); border:1px solid var(--line); overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.service-card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg, var(--brand), var(--accent));
  transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
.service-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.service-card:hover::before{ transform:scaleX(1); }
.service-card .s-icon{
  width:58px; height:58px; border-radius:16px; margin-bottom:20px;
  background:var(--brand-soft); color:var(--brand);
  display:grid; place-items:center;
  transition:transform .45s var(--ease), background .35s, color .35s;
}
.service-card:hover .s-icon{ transform:rotate(-8deg) scale(1.06); background:var(--brand); color:#fff; }
.service-card .s-icon svg{ width:30px; height:30px; }
.service-card h3{ font-size:20px; margin-bottom:10px; }
.service-card .s-desc{flex:1; font-size:14px; color:var(--muted); margin-bottom:18px; }
.service-card .s-children{ margin-top:auto; display:flex; flex-direction:column; gap:2px; border-top:1px dashed var(--line); padding-top:14px; }
.service-card .s-children a{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:7px 8px; border-radius:8px; font-size:14px; color:var(--ink);
  transition:color .25s, background .25s, transform .25s var(--ease);
}
.service-card .s-children a:hover{ color:var(--brand); background:var(--brand-soft); transform:translateX(4px); }
.service-card .s-children a svg{ width:14px; height:14px; flex:none; opacity:.5; }
.service-card .s-more{margin-top:auto;  font-size:14px; font-weight:600; color:var(--brand); display:inline-flex; align-items:center; gap:6px; }
.service-card .s-more svg{ width:13px; height:13px; flex:none; }
.service-card .s-children a svg{ width:12px; height:12px; flex:none; opacity:.5; }

/* ---------- 流程区（步骤连线） ---------- */
.process-wrap{ position:relative; }
.process-line{ position:absolute; top:44px; left:8%; right:8%; height:2px; background:linear-gradient(90deg, var(--brand), var(--accent)); opacity:.35; }
.process-grid{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.process-step{ text-align:center; }
.process-step .p-node{
  width:88px; height:88px; margin:0 auto 18px; border-radius:50%;
  background:#fff; border:2px solid var(--brand); color:var(--brand);
  display:grid; place-items:center; position:relative; box-shadow:var(--shadow);
  transition:transform .35s var(--ease), background .35s, color .35s;
}
.process-step:hover .p-node{ transform:translateY(-6px); background:var(--brand); color:#fff; }
.process-step .p-node svg{ width:38px; height:38px; }
.process-step .p-num{
  position:absolute; top:-6px; right:-6px; width:26px; height:26px; border-radius:50%;
  background:var(--accent); color:#fff; font-size:13px; font-weight:700;
  display:grid; place-items:center;
}
.process-step h3{ font-size:18px; margin-bottom:8px; }
.process-step p{ font-size:14px; color:var(--muted); max-width:220px; margin-inline:auto; }

/* 能力数据小图 */
.cap-grid{ margin-top:64px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.cap-card{ background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); border:1px solid var(--line); }
.cap-card h4{ font-size:16px; margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.cap-card h4 svg{ width:20px; height:20px; color:var(--brand); }
.cap-bars{ display:flex; flex-direction:column; gap:14px; }
.cap-bar .cap-bar-top{ display:flex; justify-content:space-between; font-size:13px; color:var(--muted); margin-bottom:6px; }
.cap-bar .cap-bar-track{ height:8px; border-radius:999px; background:var(--brand-soft); overflow:hidden; }
.cap-bar .cap-bar-fill{ height:100%; border-radius:999px; background:linear-gradient(90deg, var(--brand), var(--accent)); width:0; transition:width 1s var(--ease); }

/* ---------- CTA 板块 ---------- */
.cta{ position:relative; overflow:hidden; border-radius:var(--radius); padding:56px 48px; }
.cta-1{ background:linear-gradient(120deg, var(--brand-deep), var(--brand)); color:#fff; }
.cta-2{ background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); }
.cta-3{ background:linear-gradient(120deg, #2E3A33, #1F2421); color:#fff; }
.cta-4{ background:linear-gradient(120deg, var(--accent), #5E8063); color:#fff; }

.cta-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; gap:32px; align-items:center; }
.cta-title{ font-size:clamp(22px,3.4vw,32px); margin-bottom:12px; }
.cta-text{ font-size:15px; opacity:.9; max-width:520px; }
.cta-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:24px; }
.cta-art{ position:relative; min-height:180px; display:grid; place-items:center; }
.cta-art svg{ width:100%; max-width:340px; height:auto; }
.cta-2 .cta-title{ color:var(--ink); }
.cta-2 .cta-text{ color:var(--muted); }
.cta-2 .cta-art{ opacity:.9; }

/* CTA 内联表单 */
.cta-form{ margin-top:24px; }
.cta-form-row{ display:flex; gap:12px; flex-wrap:wrap; }
.cta-form input{
  flex:1; min-width:150px; padding:13px 20px; border-radius:999px; border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.16); color:#fff; font-size:15px; font-family:inherit;
  transition:border-color .25s, background .25s;
}
.cta-form input::placeholder{ color:rgba(255,255,255,.75); }
.cta-form input:focus{ outline:none; border-color:#fff; background:rgba(255,255,255,.24); }
.cta-form .btn{ flex:none; }
.cta-form-success{ margin-top:14px; font-size:14px; opacity:.95; display:none; }
.cta-form-success.is-show{ display:block; }

/* CTA 几何装饰 */
.cta .geo{ position:absolute; border-radius:50%; pointer-events:none; }
.cta .geo-1{ width:220px; height:220px; border:2px solid rgba(255,255,255,.18); top:-70px; right:-50px; }
.cta .geo-2{ width:120px; height:120px; border:2px dashed rgba(255,255,255,.25); bottom:-40px; left:-30px; }
.cta-2 .geo-1{ border-color:rgba(201,93,59,.18); }
.cta-2 .geo-2{ border-color:rgba(201,93,59,.22); }

/* ---------- 案例区 ---------- */
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.case-card{
  background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  border:1px solid var(--line); display:flex; flex-direction:column;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.case-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.case-cover{
  position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--brand-soft);
  display:grid; place-items:center; color:var(--brand);
}
.case-cover svg{ width:52%; height:52%; opacity:.85; transition:transform .5s var(--ease); }
.case-card:hover .case-cover svg{ transform:scale(1.08) rotate(-3deg); }
.case-cover .case-tag{
  position:absolute; top:14px; left:14px; padding:5px 12px; border-radius:999px;
  background:rgba(255,255,255,.92); font-size:12px; font-weight:600; color:var(--brand-deep);
}
.case-body{ padding:22px 24px 24px; display:flex; flex-direction:column; flex:1; }
.case-body h3{ font-size:17px; margin-bottom:8px; }
.case-body p{ font-size:14px; color:var(--muted); margin-bottom:16px; flex:1; }
.case-meta{ display:flex; align-items:center; justify-content:space-between; font-size:13px; color:var(--muted); }
.case-meta a{ color:var(--brand); font-weight:600; display:inline-flex; align-items:center; gap:4px; }
.case-meta a svg{ width:14px; height:14px; }

/* ---------- 页脚 ---------- */
.site-footer{ background:#1F2421; color:#C9CFC9; margin-top:0; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding:64px 0 40px; }
.logo-footer .logo-text{ color:#fff; }
.footer-desc{ margin-top:16px; font-size:14px; opacity:.75; max-width:320px; }
.footer-trust{ margin-top:20px; display:flex; gap:18px; flex-wrap:wrap; }
.footer-trust span{ font-size:13px; opacity:.85; }
.footer-trust strong{ display:block; font-size:18px; color:#fff; }
.footer-col h4{ color:#fff; font-size:16px; margin-bottom:18px; }
.footer-col ul{ display:flex; flex-direction:column; gap:10px; }
.footer-col a{ font-size:14px; opacity:.8; transition:color .25s, opacity .25s; }
.footer-col a:hover{ color:var(--brand); opacity:1; }
.footer-contact li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; opacity:.85; }
.footer-contact svg{ flex:none; margin-top:3px; color:var(--brand); }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); padding:22px 0;
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  font-size:13px; opacity:.65;
}

/* ---------- 内页 Hero（子栏目页 / 关于 / 案例 / 联系） ---------- */
.page-hero{
  position:relative; overflow:hidden; padding:84px 0 96px; background:var(--brand-soft);
}
.page-hero .ph-bg{ position:absolute; inset:0; pointer-events:none; }
.page-hero .ph-bg svg{ position:absolute; }
.page-hero .ph-grid{ top:0; right:0; width:46%; height:100%; opacity:.4; }
.page-hero .ph-wave{ bottom:-20%; left:-6%; width:60%; opacity:.3; }
.page-hero-inner{ position:relative; z-index:2; max-width:720px; }
.page-hero .breadcrumb{ display:flex; gap:8px; font-size:13px; color:var(--muted); margin-bottom:18px; }
.page-hero .breadcrumb a:hover{ color:var(--brand); }
.page-hero h1{ font-size:clamp(28px,4.4vw,42px); margin-bottom:14px; }
.page-hero h1 .hl{ color:var(--brand); }
.page-hero p{ font-size:16px; color:var(--muted); max-width:600px; }

/* ---------- 关于页 ---------- */
.about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.about-art{ position:relative; min-height:340px; }
.about-art .blob{ position:absolute; border-radius:50%; }
.about-art .blob-a{ width:280px; height:280px; background:radial-gradient(circle at 30% 30%, rgba(201,93,59,.85), rgba(201,93,59,.2)); top:0; left:6%; }
.about-art .blob-b{ width:170px; height:170px; background:radial-gradient(circle at 60% 40%, rgba(122,158,126,.8), rgba(122,158,126,.18)); bottom:0; right:4%; }
.about-art .about-card{
  position:absolute; background:#fff; border-radius:16px; box-shadow:var(--shadow-lg); padding:18px 22px;
  display:flex; align-items:center; gap:12px;
}
.about-art .about-card svg{ width:32px; height:32px; color:var(--brand); }
.about-art .about-card b{ display:block; font-size:16px; }
.about-art .about-card span{ font-size:12px; color:var(--muted); }
.about-art .ac-1{ top:10%; right:2%; }
.about-art .ac-2{ bottom:12%; left:0; }
.about-copy h2{ font-size:clamp(24px,3.4vw,34px); margin-bottom:16px; }
.about-copy p{ color:var(--muted); margin-bottom:14px; }
.about-points{ margin-top:24px; display:flex; flex-direction:column; gap:14px; }
.about-points li{ display:flex; gap:12px; align-items:flex-start; }
.about-points svg{ width:22px; height:22px; color:var(--brand); flex:none; margin-top:2px; }
.about-points b{ display:block; font-size:15px; }
.about-points span{ font-size:14px; color:var(--muted); }

/* 价值理念 */
.value-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.value-card{ background:#fff; border-radius:var(--radius); padding:30px; box-shadow:var(--shadow); border:1px solid var(--line); text-align:center; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.value-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.value-card svg{ width:44px; height:44px; margin:0 auto 18px; color:var(--brand); }
.value-card h3{ font-size:18px; margin-bottom:10px; }
.value-card p{ font-size:14px; color:var(--muted); }

/* ---------- 案例页 ---------- */
.filter-bar{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:40px; }
.filter-btn{ padding:9px 20px; border-radius:999px; border:1px solid var(--line); background:#fff; font-size:14px; font-weight:600; color:var(--muted); transition:all .3s var(--ease); }
.filter-btn.is-active,.filter-btn:hover{ background:var(--brand); color:#fff; border-color:var(--brand); }

/* ---------- 联系页 ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:start; }
.contact-info{ display:flex; flex-direction:column; gap:18px; }
.contact-item{ display:flex; gap:16px; background:#fff; border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); border:1px solid var(--line); }
.contact-item .c-icon{ width:52px; height:52px; flex:none; border-radius:14px; background:var(--brand-soft); color:var(--brand); display:grid; place-items:center; }
.contact-item .c-icon svg{ width:26px; height:26px; }
.contact-item b{ display:block; font-size:15px; margin-bottom:4px; }
.contact-item span{ font-size:14px; color:var(--muted); }
.contact-form{ background:#fff; border-radius:var(--radius); padding:34px; box-shadow:var(--shadow); border:1px solid var(--line); }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field{ display:flex; flex-direction:column; gap:8px; }
.form-field.full{ grid-column:1 / -1; }
.form-field label{ font-size:14px; font-weight:600; }
.form-field input,.form-field select,.form-field textarea{
  padding:13px 16px; border-radius:12px; border:1px solid var(--line); background:var(--brand-soft);
  font-family:inherit; font-size:15px; color:var(--ink); transition:border-color .25s, box-shadow .25s;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(201,93,59,.14); }
.form-field textarea{ resize:vertical; min-height:120px; }
.form-note{ margin-top:16px; font-size:13px; color:var(--muted); }

/* ---------- 子栏目页（category） ---------- */
.cat-layout{ display:grid; grid-template-columns:280px 1fr; gap:36px; align-items:start; }
.cat-side{ position:sticky; top:calc(var(--header-h) + 20px); background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid var(--line); padding:24px; }
.cat-side h4{ font-size:15px; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:8px; }
.cat-side h4 svg{ width:18px; height:18px; color:var(--brand); }
.cat-side ul{ display:flex; flex-direction:column; gap:4px; }
.cat-side a{ display:flex; justify-content:space-between; align-items:center; padding:10px 12px; border-radius:10px; font-size:14px; color:var(--ink); transition:all .25s; }
.cat-side a:hover,.cat-side a.is-active{ background:var(--brand-soft); color:var(--brand); }
.cat-side a svg{ width:14px; height:14px; opacity:.4; }
.cat-main h2{ font-size:clamp(22px,3vw,28px); margin-bottom:24px; }
.cat-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.cat-card{ background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); border:1px solid var(--line); transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.cat-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.cat-card .cc-icon{ width:48px; height:48px; border-radius:12px; background:var(--brand-soft); color:var(--brand); display:grid; place-items:center; margin-bottom:16px; }
.cat-card .cc-icon svg{ width:24px; height:24px; }
.cat-card h3{ font-size:17px; margin-bottom:8px; }
.cat-card p{ font-size:14px; color:var(--muted); margin-bottom:14px; }
.cat-card .cc-link{ font-size:14px; font-weight:600; color:var(--brand); display:inline-flex; align-items:center; gap:6px; }
.cat-card .cc-link svg{ width:14px; height:14px; }

/* 文章列表 */
.article-list{ display:flex; flex-direction:column; gap:16px; }
.article-item{ display:flex; gap:18px; align-items:center; background:#fff; border-radius:var(--radius); padding:20px 24px; box-shadow:var(--shadow); border:1px solid var(--line); transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.article-item:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.article-item .a-thumb{ width:120px; height:80px; flex:none; border-radius:10px; background:var(--brand-soft); color:var(--brand); display:grid; place-items:center; }
.article-item .a-thumb svg{ width:40px; height:40px; }
.article-item h3{ font-size:16px; margin-bottom:6px; }
.article-item p{ font-size:13px; color:var(--muted); }
.article-item .a-date{ font-size:12px; color:var(--muted); margin-top:8px; display:flex; align-items:center; gap:6px; }
.article-item .a-date svg{ width:14px; height:14px; }

/* ---------- 动效 ---------- */
.fade-up{ opacity:0; transform:translateY(24px); transition:opacity .4s var(--ease), transform .4s var(--ease); }
.fade-up.is-visible{ opacity:1; transform:none; }

/* ---------- 响应式 ---------- */
@media (max-width:1023px){
  .section{ padding:68px 0; }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .process-grid{ grid-template-columns:repeat(2,1fr); row-gap:40px; }
  .process-line{ display:none; }
  .cap-grid{ grid-template-columns:repeat(2,1fr); }
  .case-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .hero-inner{ grid-template-columns:1fr; }
  .hero-art{ min-height:320px; margin-top:10px; }
  .cat-layout{ grid-template-columns:1fr; }
  .cat-side{ position:static; }
  .about-grid{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .cta-inner{ grid-template-columns:1fr; }
  .cta-art{ min-height:140px; }
}

@media (max-width:767px){
  .main-nav,.btn-nav{ display:none; }
  .nav-toggle{ display:flex; margin-left:auto; }
  .section{ padding:56px 0; }
  .section-head{ margin-bottom:36px; }
  .services-grid{ grid-template-columns:1fr; }
  .process-grid{ grid-template-columns:1fr; }
  .cap-grid{ grid-template-columns:1fr; }
  .case-grid{ grid-template-columns:1fr; }
  .trust-inner{ grid-template-columns:repeat(2,1fr); gap:18px; padding:26px 22px; }
  .trust-item{ flex-direction:column; align-items:flex-start; gap:10px; }
  .hero-slide{ min-height:auto; padding:56px 0 120px; }
  .hero-actions .btn{ width:100%; }
  .cta{ padding:40px 26px; }
  .cta-actions .btn{ width:100%; }
  .footer-grid{ grid-template-columns:1fr; gap:30px; padding:48px 0 30px; }
  .footer-bottom{ flex-direction:column; }
  .form-grid{ grid-template-columns:1fr; }
  .cat-cards{ grid-template-columns:1fr; }
  .article-item{ flex-direction:column; align-items:flex-start; }
  .article-item .a-thumb{ width:100%; height:120px; }
  .hero-art .mini-card{ min-width:170px; }
  .hero-art .mc-2{ right:-6px; }
}

@media (max-width:479px){
  .trust-inner{ grid-template-columns:1fr 1fr; padding:20px 16px; }
  .trust-item .t-icon{ width:46px; height:46px; }
  .trust-item .t-icon svg{ width:24px; height:24px; }
  .hero-art{ min-height:280px; }
  .hero-art .mini-card{ min-width:150px; padding:12px 14px; }
  .hero-art .mini-card svg{ width:26px; height:26px; }
}

/* ---------- 动效降级 ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation:none !important; transition:none !important; }
  html{ scroll-behavior:auto; }
  .fade-up{ opacity:1; transform:none; }
  .hero-slide.is-active{ animation:none; }
}

/* 服务卡子栏目标签(动态) */
.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}}

/* ===== hero 内容居中（v3.2 调整） ===== */
.hero-inner{ grid-template-columns:1fr; justify-items:center; text-align:center; }
.hero-copy{ max-width:760px; margin:0 auto; }
.hero-lead{ margin-left:auto; margin-right:auto; }
.hero-actions{ justify-content:center; }
.hero-art{ min-height:320px; width:100%; max-width:560px; margin:36px auto 0; }
/* ===== 导航下拉（统一规范 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}}
