/* ============================================================
   DOZZON R119 全局视觉规范系统（链接顺序最末，最高优先级，可逆）
   设计目标：统一间距节奏 · 字体收敛 · CTA 强对比 · 卡片质感
            · Hero 戏剧化 · 统计/时间轴/FAQ 专业呈现
   ============================================================ */

:root{
  --dz-font-display:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --dz-font-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --dz-space-section:clamp(68px,8.5vw,120px);
  --dz-cta-shadow:0 10px 26px rgba(10,143,85,.34),0 4px 10px rgba(10,143,85,.18);
  --dz-cta-shadow-hover:0 16px 38px rgba(10,143,85,.46),0 6px 14px rgba(10,143,85,.26);
}

/* ---------- 字体收敛 ---------- */
body{font-family:var(--dz-font-body);font-size:1.0625rem;line-height:1.75;color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,.section-title,.hero-title{font-family:var(--dz-font-display);font-weight:800;letter-spacing:-.02em;line-height:1.12;color:var(--text-primary)}
h1{font-size:clamp(2.1rem,4.4vw,3.4rem)}
h2,.section-title{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.18}
h3{font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.3}
h4{font-size:1.08rem;letter-spacing:-.01em}
p{font-size:1.0625rem;line-height:1.78}
a{color:var(--accent);text-decoration:none}

/* ---------- 间距节奏（统一区块留白） ---------- */
section,.section{padding-top:var(--dz-space-section);padding-bottom:var(--dz-space-section)}
.section-header{max-width:760px;margin:0 auto clamp(36px,4vw,60px);text-align:center}
.section-tag{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);background:var(--accent-soft);padding:7px 16px;border-radius:999px;margin-bottom:18px}
.section-subtitle{margin-top:14px;font-size:1.06rem;line-height:1.7;color:var(--text-secondary)}

/* ---------- 卡片质感 ---------- */
.solution-card,.feature-card,.product-card,.card,[class*="card"]{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s var(--ease-out);
  position:relative;overflow:hidden}
.solution-card:hover,.feature-card:hover,.product-card:hover,.card:hover,[class*="card"]:hover{
  transform:translateY(-7px);box-shadow:var(--shadow-lg);border-color:var(--border-active)}
.solution-card::after,.feature-card::after,.product-card::after,.card::after,[class*="card"]::after{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--brass-gradient);opacity:0;transition:opacity .35s var(--ease-out)}
.solution-card:hover::after,.feature-card:hover::after,.product-card:hover::after,.card:hover::after,[class*="card"]:hover::after{opacity:1}
.solution-card,.feature-card,.product-card,.card{padding:clamp(22px,2.4vw,32px)}

/* ---------- CTA 强对比 ---------- */
.btn,.btn-primary,.btn-outline,.btn-text{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--dz-font-display);font-weight:700;font-size:1.02rem;line-height:1;
  min-height:50px;padding:0 30px;border-radius:14px;cursor:pointer;
  transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),background .25s var(--ease-out),color .25s var(--ease-out),border-color .25s var(--ease-out);
  white-space:nowrap}
.btn-primary{background:var(--brass-gradient);color:#fff;border:0;box-shadow:var(--dz-cta-shadow)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--dz-cta-shadow-hover);filter:brightness(1.05)}
.btn-outline{background:transparent;color:var(--accent);border:1.6px solid var(--accent)}
.btn-outline:hover{background:var(--accent-soft);border-color:var(--accent-strong);transform:translateY(-3px)}
.btn-text{background:transparent;color:var(--accent);padding:0 8px;min-height:auto;font-weight:700}
.btn-text:hover{color:var(--accent-strong);text-decoration:underline}
.hero-buttons,.section-header .btn,.cta-buttons{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-buttons{margin-top:30px}

/* ---------- Hero 戏剧化 ---------- */
.hero{overflow:hidden}
.hero-inner{position:relative;z-index:2}
.hero-content{max-width:680px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;letter-spacing:.02em;
  color:#d7f5e6;background:rgba(10,143,85,.18);border:1px solid rgba(10,143,85,.4);
  padding:9px 18px;border-radius:999px;backdrop-filter:blur(6px)}
.hero-title{font-size:clamp(2.4rem,5.2vw,4.2rem);line-height:1.06;font-weight:800;color:#fff;
  text-shadow:0 2px 30px rgba(0,0,0,.35);margin:22px 0 0}
.hero-title em{font-style:normal;background:linear-gradient(100deg,#7CFFB2 0%,#34D399 45%,#0A8F55 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 18px rgba(52,211,153,.35))}
.hero-desc{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.7;color:rgba(255,255,255,.86);margin-top:22px;max-width:600px}
.hero-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-trust-tag{display:inline-flex;align-items:center;font-size:.92rem;font-weight:600;color:#eafff4;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:9px 16px;border-radius:12px;
  backdrop-filter:blur(6px)}
/* Hero 光晕 */
.hero::before{content:"";position:absolute;z-index:1;width:60vw;height:60vw;max-width:720px;max-height:720px;
  left:-8vw;top:8vh;background:radial-gradient(circle,rgba(10,143,85,.40),transparent 62%);filter:blur(20px);pointer-events:none}
@media (max-width:640px){.hero-title{font-size:clamp(2rem,8vw,2.8rem)}.hero-buttons .btn{flex:1 1 auto}}

/* ---------- 统计数字条 ---------- */
.stat,.stat-item{font-variant-numeric:tabular-nums}
.stat-grid,.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}
.stat-card,.stat{padding:26px 22px;border-radius:var(--radius-lg);background:var(--bg-card);
  border:1px solid var(--border);box-shadow:var(--shadow-sm);text-align:center}
.stat-card .num,.stat .num{font-family:var(--dz-font-display);font-weight:800;font-size:clamp(1.9rem,3vw,2.6rem);
  color:var(--accent);line-height:1;letter-spacing:-.02em}
.stat-card .label,.stat .label{margin-top:10px;font-size:.96rem;color:var(--text-secondary)}

/* ---------- 时间轴 / 流程 ---------- */
.timeline,.process-steps{position:relative;display:grid;gap:0;margin-top:30px}
.timeline-item,.process-step{position:relative;padding:0 0 34px 46px;border-left:2px solid var(--accent-soft)}
.timeline-item:last-child,.process-step:last-child{padding-bottom:0;border-left-color:transparent}
.timeline-item::before,.process-step::before{content:attr(data-step);position:absolute;left:-17px;top:0;
  width:32px;height:32px;border-radius:50%;background:var(--brass-gradient);color:#fff;font-weight:800;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:var(--dz-cta-shadow)}
.timeline-item h3,.process-step h3{margin:0 0 6px}
.timeline-item p,.process-step p{margin:0;color:var(--text-secondary);font-size:1rem}

/* ---------- FAQ（真实结构：.faq-item > h3 + p，静态展开卡片） ---------- */
.faq-list{display:grid;gap:14px;max-width:880px;margin:0 auto}
.faq-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);
  padding:20px 24px;box-shadow:var(--shadow-sm);transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}
.faq-item:hover{border-color:var(--border-active);box-shadow:var(--shadow-md)}
.faq-item h3{margin:0;font-size:1.08rem;line-height:1.4;color:var(--text-primary);cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--dz-font-display)}
.faq-item h3::after{content:"+";flex:0 0 auto;width:26px;height:26px;border-radius:50%;
  background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;
  font-weight:700;transition:transform .3s var(--ease-out),background .25s}
.faq-item.collapsed h3::after{content:"−"}
.faq-item p{margin:12px 0 0;color:var(--text-secondary);line-height:1.75}
.faq-item.collapsed p{display:none}

/* ---------- 表单字段统一 ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],textarea,select{
  width:100%;font-family:var(--dz-font-body);font-size:1rem;color:var(--text-primary);
  background:var(--bg-input);border:1.5px solid var(--border);border-radius:12px;padding:13px 15px;
  transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}

/* ---------- 减少动效偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .hero-title em{filter:none}
}

/* ---------- R120 面包屑导航（cases / about 等页注入） ---------- */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  max-width:1200px;margin:0 auto;padding:22px 24px 0;
  font-size:.86rem;color:var(--text-muted);font-family:var(--dz-font-body)}
.breadcrumb a{color:var(--text-secondary);text-decoration:none;transition:color .2s var(--ease-out)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .sep{color:var(--text-dim);user-select:none}
.breadcrumb .cur{color:var(--text-primary);font-weight:600}

/* ---------- R120 跳转链接焦点可见（a11y） ---------- */
.skip-link:focus,a.skip-link:focus{position:fixed;left:16px;top:16px;z-index:9999;
  background:var(--accent);color:#fff;padding:10px 18px;border-radius:8px;
  box-shadow:var(--dz-cta-shadow);outline:3px solid #fff}

/* ============================================================
   R121 增强：① CTA 主次再强化  ② 移动端触摸目标下限
   ============================================================ */

/* ---------- ① CTA 主次强化（层级已存在：primary/outline/text，此处增强权重差） ---------- */
.btn-primary{font-weight:800;letter-spacing:.01em}
.btn-primary:hover{filter:brightness(1.06)}
.btn-outline{font-weight:600;opacity:.96}
.btn-text{font-weight:600;opacity:.88}
/* Hero 主 CTA 更吸睛（光晕加重 + 轻微放大），次级保持克制 */
.hero .btn-primary,.hero--dark .btn-primary{
  box-shadow:var(--dz-cta-shadow-hover);transform:translateY(-1px) scale(1.015)}
.hero .btn-primary:hover,.hero--dark .btn-primary:hover{transform:translateY(-3px) scale(1.03)}

/* ---------- ② 移动端触摸目标下限（仅 ≤768px，不伤桌面） ---------- */
@media (max-width:768px){
  body{font-size:15px}
  p,li{font-size:15px;line-height:1.8}
  /* 导航 / 页脚 / 移动栏 链接：最小 44px 可点区域 */
  .nav-link,.nav-dropdown-item,.nav-phone,.dz-nav-search-btn,
  .mobile-bar a,.footer a{
    min-height:44px;display:inline-flex;align-items:center}
  /* 页脚多列链接适度放宽，避免过于稀疏 */
  .footer a{min-height:40px;padding:2px 0}
  /* 区块内文字链接保证可读行高（不强制 44px 以免破坏正文流） */
  .section-body a, .card a, p a, li a{line-height:1.9}
  /* 所有按钮移动端保持 ≥48px 易点 */
  .btn,.btn-primary,.btn-outline,.btn-text{min-height:48px;padding:0 26px}
}
