/* ================================================================
   VERITAS · 12 套整站套版（唯一驱动：html[data-template]）
   原则：内容不隐藏、不裁切，只改变字体 / 位置 / 风格 / 模块布局
   ================================================================ */

html[data-template] .hero,
html[data-template] .section,
html[data-template] .news-section,
html[data-template] .cta-banner,
html[data-template] .footer,
html[data-template] .ticker-wrap {
  transition: padding .4s ease, background .4s ease, border-color .4s ease;
}

/* ── 共享：Hero ─────────────────────────────────────────────── */
html[data-template] .hero {
  min-height: var(--tpl-hero-min-h, auto);
  padding: var(--tpl-hero-py, clamp(80px, 10vw, 120px)) 0 var(--tpl-hero-pb, clamp(48px, 6vw, 80px));
  background: var(--tpl-hero-bg, transparent);
}
html[data-template] .hero-shell {
  display: var(--tpl-hero-display, grid);
  grid-template-columns: var(--tpl-hero-cols, 1fr 1fr);
  grid-template-rows: var(--tpl-hero-rows, auto);
  flex-direction: var(--tpl-hero-flex-dir, column);
  gap: var(--tpl-hero-gap, clamp(28px, 4vw, 56px));
  align-items: var(--tpl-hero-align, center);
  text-align: var(--tpl-text-align, left);
  min-height: var(--tpl-hero-shell-min, auto);
}
html[data-template] .hero-content {
  max-width: var(--tpl-hero-content-max, 560px);
  order: var(--tpl-hero-content-order, 0);
  grid-column: var(--tpl-hero-content-col, auto);
  grid-row: var(--tpl-hero-content-row, auto);
  margin: var(--tpl-hero-content-margin, 0);
}
html[data-template] .hero-visual {
  display: block !important;
  order: var(--tpl-hero-visual-order, 0);
  grid-column: var(--tpl-hero-visual-col, auto);
  grid-row: var(--tpl-hero-visual-row, auto);
  max-width: var(--tpl-hero-visual-max, 100%);
  width: 100%;
  margin: var(--tpl-hero-visual-margin, 0);
  opacity: var(--tpl-hero-visual-opacity, 1);
}
html[data-template] .hero-title { font-size: var(--tpl-h1-size, clamp(2.4rem, 5vw, 3.8rem)); letter-spacing: var(--tpl-h1-spacing, -.03em); }
html[data-template] .hero-title-inner { align-items: var(--tpl-h1-align-items, flex-start); }
html[data-template] .hero-desc { max-width: var(--tpl-hero-desc-max, 540px); margin: var(--tpl-hero-desc-margin, 0); text-align: inherit; }
html[data-template] .hero-actions { justify-content: var(--tpl-hero-actions-justify, flex-start); }
html[data-template] .hero-engines-row { justify-content: var(--tpl-hero-chips-justify, flex-start); flex-wrap: wrap; }
html[data-template] .hero-orb { opacity: var(--tpl-orb-opacity, 1); }
html[data-template] .hero-bg-grid { opacity: var(--tpl-grid-opacity, 1); }

/* ── 共享：区块 ─────────────────────────────────────────────── */
html[data-template] .section { padding: var(--tpl-section-py, clamp(72px, 8vw, 100px)) 0; }
html[data-template] .section > .container,
html[data-template] .news-section .container { max-width: var(--tpl-container-max, 1200px); }
html[data-template] .section-title { font-size: var(--tpl-h2-size, clamp(1.9rem, 3.5vw, 2.6rem)); text-align: var(--tpl-section-title-align, inherit); font-family: var(--font-display, var(--font)); }
html[data-template] .section-sub { text-align: var(--tpl-section-sub-align, inherit); max-width: var(--tpl-section-sub-max, 640px); margin-left: var(--tpl-section-sub-ml, auto); margin-right: var(--tpl-section-sub-mr, auto); }
html[data-template] .text-center .section-sub { margin-left: auto; margin-right: auto; }

/* ── 共享：服务 / KMO 卡片 ──────────────────────────────────── */
html[data-template] .services-grid { grid-template-columns: var(--tpl-svc-cols, repeat(3, 1fr)); gap: var(--tpl-svc-gap, 24px); }
html[data-template] .services-grid--kmo { grid-template-columns: var(--tpl-kmo-cols, repeat(3, 1fr)); gap: var(--tpl-kmo-gap, 24px); }
html[data-template] .service-card {
  border-radius: var(--tpl-card-radius, var(--rl));
  padding: var(--tpl-card-padding, clamp(28px, 3vw, 36px));
  box-shadow: var(--tpl-card-shadow, 0 4px 24px rgba(38,46,72,.06));
  display: var(--tpl-card-display, block);
  grid-template-columns: var(--tpl-card-inner-cols, none);
  gap: var(--tpl-card-inner-gap, 0);
  align-items: var(--tpl-card-align, stretch);
  background: var(--tpl-card-bg, var(--d1));
  border: var(--tpl-card-border, 1px solid var(--ln));
  margin-top: var(--tpl-card-mt, 0);
  position: relative;
  z-index: var(--tpl-card-z, 1);
}
html[data-template] .service-features { display: var(--tpl-features-display, grid) !important; }
html[data-template] .service-feature { font-size: var(--tpl-feature-size, inherit); }

/* ── 共享：数据 / 优势 / 客户 / 流程 ───────────────────────── */
html[data-template] .stats-grid { grid-template-columns: var(--tpl-stats-cols, repeat(4, 1fr)); gap: var(--tpl-stats-gap, 20px); }
html[data-template] .stat-item { border-radius: var(--tpl-stat-radius, var(--rl)); padding: var(--tpl-stat-padding, 32px 20px); background: var(--tpl-stat-bg, var(--d1)); box-shadow: var(--tpl-stat-shadow, 0 4px 20px rgba(38,46,72,.05)); border: var(--tpl-stat-border, none); }
html[data-template] .stat-num { font-size: var(--tpl-stat-num-size, inherit); }
html[data-template] .value-grid { grid-template-columns: var(--tpl-value-cols, repeat(2, 1fr)); gap: var(--tpl-value-gap, 20px); }
html[data-template] .value-card { flex-direction: var(--tpl-value-flex, row); border-radius: var(--tpl-value-radius, var(--rl)); padding: var(--tpl-value-padding, 24px); background: var(--tpl-value-bg, var(--d1)); border: var(--tpl-value-border, 1px solid var(--ln)); box-shadow: var(--tpl-value-shadow, none); }
html[data-template] .value-card-icon { display: var(--tpl-value-icon-display, flex) !important; }
html[data-template] .clients-grid { grid-template-columns: var(--tpl-clients-cols, repeat(3, 1fr)); gap: var(--tpl-clients-gap, 20px); }
html[data-template] .client-card { border-radius: var(--tpl-client-radius, var(--rl)); box-shadow: var(--tpl-client-shadow, 0 4px 20px rgba(38,46,72,.05)); }
html[data-template] .process-steps { grid-template-columns: var(--tpl-process-cols, repeat(3, 1fr)); gap: var(--tpl-process-gap, 24px); display: var(--tpl-process-display, grid); }
html[data-template] .process-step { border-radius: var(--tpl-process-radius, var(--rl)); padding: var(--tpl-process-padding, 28px 24px); background: var(--tpl-process-bg, var(--d1)); border: var(--tpl-process-border, 1px solid var(--ln)); text-align: var(--tpl-process-align, center); }

/* ── 共享：CTA / 资讯 / 页脚 / 滚动条 ─────────────────────── */
html[data-template] .cta-banner { text-align: var(--tpl-cta-align, center); border-radius: var(--tpl-cta-radius, var(--rl)); padding: var(--tpl-cta-padding, clamp(56px, 8vw, 80px) 24px); background: var(--tpl-cta-bg, var(--d2)); }
html[data-template] .news-grid { grid-template-columns: var(--tpl-news-cols, repeat(3, 1fr)); gap: var(--tpl-news-gap, 18px); display: var(--tpl-news-display, grid); }
html[data-template] .news-card { border-radius: var(--tpl-news-radius, var(--rl)); box-shadow: var(--tpl-news-shadow, 0 4px 20px rgba(38,46,72,.06)); border: var(--tpl-news-border, 1px solid var(--ln)); }
html[data-template] .footer-grid { grid-template-columns: var(--tpl-footer-cols, 1.8fr repeat(3, 1fr)); gap: var(--tpl-footer-gap, 48px); text-align: var(--tpl-footer-align, left); }
html[data-template] .ticker-wrap { display: block !important; opacity: var(--tpl-ticker-opacity, 1); transform: scaleY(var(--tpl-ticker-scale, 1)); transform-origin: top; max-height: none; overflow: visible; }
html[data-template] .navbar .nav-inner { max-width: var(--tpl-nav-max, 1200px); }

/* ══════════════════════════════════════════════════════════════
   1 · 鸢尾经典 — 标准双栏企业站
   ══════════════════════════════════════════════════════════════ */
html[data-template="classic-iris"] {
  --tpl-hero-cols: 1.05fr 0.95fr;
  --tpl-text-align: left;
  --tpl-section-py: clamp(80px, 8vw, 104px);
  --tpl-card-radius: var(--rl);
  --tpl-svc-cols: repeat(3, 1fr);
  --tpl-stats-cols: repeat(4, 1fr);
  --tpl-value-cols: repeat(2, 1fr);
  --tpl-process-cols: repeat(3, 1fr);
}

/* ══════════════════════════════════════════════════════════════
   2 · 午夜沉浸 — 居中大字 + 下方视觉区
   ══════════════════════════════════════════════════════════════ */
html[data-template="midnight-slate"] {
  --tpl-hero-display: flex;
  --tpl-hero-flex-dir: column;
  --tpl-text-align: center;
  --tpl-hero-content-max: 820px;
  --tpl-hero-content-margin: 0 auto;
  --tpl-hero-desc-margin: 0 auto;
  --tpl-hero-actions-justify: center;
  --tpl-hero-chips-justify: center;
  --tpl-h1-align-items: center;
  --tpl-h1-size: clamp(2.6rem, 6vw, 4.2rem);
  --tpl-hero-visual-order: 2;
  --tpl-hero-visual-max: 900px;
  --tpl-hero-visual-margin: 0 auto;
  --tpl-hero-min-h: min(92vh, 900px);
  --tpl-svc-cols: 1fr;
  --tpl-card-display: grid;
  --tpl-card-inner-cols: auto 1fr auto;
  --tpl-card-inner-gap: 12px 20px;
  --tpl-kmo-cols: 1fr;
  --tpl-stats-cols: repeat(4, 1fr);
  --tpl-stat-bg: transparent;
  --tpl-stat-shadow: none;
  --tpl-stat-border: none;
  --tpl-stat-radius: 0;
  --tpl-value-cols: 1fr;
  --tpl-value-flex: row;
  --tpl-process-cols: 1fr;
  --tpl-process-align: left;
  --tpl-news-cols: 1fr;
  --tpl-footer-cols: 1fr 1fr;
  --tpl-ticker-opacity: .85;
}
html[data-template="midnight-slate"] .service-card .service-icon { grid-row: 1 / span 4; align-self: start; }
html[data-template="midnight-slate"] .service-card .service-link { grid-column: 3; grid-row: 1; align-self: start; }
html[data-template="midnight-slate"] .service-card .service-title,
html[data-template="midnight-slate"] .service-card .service-tag,
html[data-template="midnight-slate"] .service-card .service-desc,
html[data-template="midnight-slate"] .service-card .service-features { grid-column: 2; }

/* ══════════════════════════════════════════════════════════════
   3 · 翡翠 Bento — 全站模块化网格
   ══════════════════════════════════════════════════════════════ */
html[data-template="forest-jade"] {
  --tpl-hero-display: grid;
  --tpl-hero-cols: 1fr 1fr;
  --tpl-hero-rows: auto auto;
  --tpl-hero-content-col: 1 / -1;
  --tpl-hero-content-max: 100%;
  --tpl-text-align: center;
  --tpl-hero-content-margin: 0 auto;
  --tpl-hero-visual-col: 1 / -1;
  --tpl-hero-visual-max: 920px;
  --tpl-hero-visual-margin: 0 auto;
  --tpl-svc-cols: 1fr 1fr;
  --tpl-kmo-cols: repeat(3, 1fr);
  --tpl-stats-cols: repeat(2, 1fr);
  --tpl-value-cols: 1fr;
  --tpl-value-flex: row;
  --tpl-clients-cols: repeat(3, 1fr);
  --tpl-process-cols: repeat(3, 1fr);
  --tpl-news-cols: 1fr 1fr;
  --tpl-card-radius: var(--rl);
  --tpl-section-py: clamp(64px, 7vw, 88px);
}
html[data-template="forest-jade"] #services .service-card--orm { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 2fr; gap: 24px; align-items: start; }
html[data-template="forest-jade"] #kmo { background: var(--d2); border-radius: var(--rl); margin-inline: clamp(16px, 4vw, 40px); }
html[data-template="forest-jade"] .hero-float-zone { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; position: static !important; height: auto !important; }
html[data-template="forest-jade"] .hero-float-card { position: static !important; transform: none !important; width: 100% !important; }

/* ══════════════════════════════════════════════════════════════
   4 · 琥珀交替 — 图文逐行展开
   ══════════════════════════════════════════════════════════════ */
html[data-template="sunset-amber"] {
  --tpl-hero-cols: 1fr 1fr;
  --tpl-svc-cols: 1fr;
  --tpl-card-display: grid;
  --tpl-card-inner-cols: 1fr 1.15fr;
  --tpl-card-inner-gap: 28px;
  --tpl-card-align: center;
  --tpl-card-padding: clamp(32px, 4vw, 44px);
  --tpl-kmo-cols: 1fr;
  --tpl-stats-cols: repeat(2, 1fr);
  --tpl-value-cols: 1fr;
  --tpl-process-cols: 1fr;
  --tpl-process-align: left;
  --tpl-news-cols: 1fr;
  --tpl-h2-size: clamp(2rem, 3.8vw, 2.8rem);
}
html[data-template="sunset-amber"] .hero-shell { direction: rtl; }
html[data-template="sunset-amber"] .hero-shell > * { direction: ltr; }
html[data-template="sunset-amber"] #services .service-card:nth-child(even),
html[data-template="sunset-amber"] #kmo .service-card:nth-child(even) { direction: rtl; }
html[data-template="sunset-amber"] #services .service-card:nth-child(even) > *,
html[data-template="sunset-amber"] #kmo .service-card:nth-child(even) > * { direction: ltr; }
html[data-template="sunset-amber"] .value-card { display: grid; grid-template-columns: 72px 1fr; gap: 20px; align-items: start; }
html[data-template="sunset-amber"] .process-step { display: grid; grid-template-columns: 72px 1fr; gap: 20px; align-items: start; }
html[data-template="sunset-amber"] .news-card { display: grid; grid-template-columns: minmax(120px, 200px) 1fr; gap: 20px; align-items: start; }

/* ══════════════════════════════════════════════════════════════
   5 · 皇家社论 — 窄栏居中阅读
   ══════════════════════════════════════════════════════════════ */
html[data-template="royal-violet"] {
  --tpl-container-max: 720px;
  --tpl-text-align: center;
  --tpl-hero-display: flex;
  --tpl-hero-flex-dir: column;
  --tpl-hero-content-max: 680px;
  --tpl-hero-content-margin: 0 auto;
  --tpl-hero-desc-margin: 0 auto;
  --tpl-hero-actions-justify: center;
  --tpl-hero-chips-justify: stretch;
  --tpl-h1-align-items: center;
  --tpl-h1-size: clamp(2.2rem, 5vw, 3.4rem);
  --tpl-hero-visual-order: 2;
  --tpl-hero-visual-max: 480px;
  --tpl-hero-visual-margin: 24px auto 0;
  --tpl-section-title-align: center;
  --tpl-section-sub-align: center;
  --tpl-svc-cols: 1fr;
  --tpl-card-display: flex;
  --tpl-card-shadow: none;
  --tpl-card-bg: transparent;
  --tpl-card-border: none;
  --tpl-card-radius: 0;
  --tpl-kmo-cols: 1fr;
  --tpl-stats-cols: repeat(2, 1fr);
  --tpl-value-cols: 1fr;
  --tpl-clients-cols: 1fr;
  --tpl-process-cols: 1fr;
  --tpl-news-cols: 1fr;
  --tpl-footer-cols: 1fr;
  --tpl-footer-align: center;
}
html[data-template="royal-violet"] .service-card,
html[data-template="royal-violet"] #kmo .service-card {
  flex-direction: row; gap: 20px; align-items: flex-start; text-align: left;
  border-bottom: 1px solid var(--ln) !important; padding: 28px 0 !important;
}
html[data-template="royal-violet"] .service-card .service-icon { width: 56px; height: 56px; flex-shrink: 0; }
html[data-template="royal-violet"] .value-card { flex-direction: row; text-align: left; border-bottom: 1px solid var(--ln); background: transparent !important; box-shadow: none !important; border-radius: 0; }
html[data-template="royal-violet"] .client-card { border-bottom: 1px solid var(--ln); border-radius: 0; box-shadow: none !important; }
html[data-template="royal-violet"] .footer-social { justify-content: center; }

/* ══════════════════════════════════════════════════════════════
   6 · 海洋宽屏 — 大卡片宽屏 SaaS
   ══════════════════════════════════════════════════════════════ */
html[data-template="ocean-teal"] {
  --tpl-container-max: 1320px;
  --tpl-hero-cols: 1fr 1fr;
  --tpl-hero-gap: 48px;
  --tpl-svc-cols: repeat(2, 1fr);
  --tpl-card-padding: 36px;
  --tpl-card-radius: var(--rl);
  --tpl-kmo-cols: repeat(3, 1fr);
  --tpl-stats-cols: repeat(2, 1fr);
  --tpl-stat-padding: 40px 28px;
  --tpl-value-cols: repeat(2, 1fr);
  --tpl-clients-cols: repeat(3, 1fr);
  --tpl-process-cols: repeat(3, 1fr);
  --tpl-news-cols: repeat(3, 1fr);
  --tpl-footer-cols: 2fr repeat(3, 1fr);
  --tpl-h2-size: clamp(2.1rem, 3.6vw, 2.9rem);
}
html[data-template="ocean-teal"] #services .service-card--geo { grid-row: span 2; }

/* ══════════════════════════════════════════════════════════════
   7 · 玫瑰层叠 — 视觉置顶 + 卡片阶梯（不重叠内容）
   ══════════════════════════════════════════════════════════════ */
html[data-template="rose-blush"] {
  --tpl-hero-display: flex;
  --tpl-hero-flex-dir: column;
  --tpl-hero-visual-order: -1;
  --tpl-hero-visual-max: 520px;
  --tpl-hero-visual-margin: 0 auto 8px;
  --tpl-text-align: center;
  --tpl-hero-content-margin: 0 auto;
  --tpl-hero-desc-margin: 0 auto;
  --tpl-hero-actions-justify: center;
  --tpl-hero-chips-justify: center;
  --tpl-h1-align-items: center;
  --tpl-svc-cols: repeat(3, 1fr);
  --tpl-svc-gap: 20px;
  --tpl-card-mt: 0;
  --tpl-card-shadow: 0 16px 48px rgba(38,46,72,.1);
  --tpl-kmo-cols: repeat(3, 1fr);
  --tpl-kmo-gap: 20px;
  --tpl-value-cols: repeat(2, 1fr);
  --tpl-process-cols: repeat(3, 1fr);
}
html[data-template="rose-blush"] .services-grid,
html[data-template="rose-blush"] .services-grid--kmo { padding-top: 16px; }
html[data-template="rose-blush"] .service-card:nth-child(2) { transform: translateY(8px); }
html[data-template="rose-blush"] .service-card:nth-child(3) { transform: translateY(16px); }

/* ══════════════════════════════════════════════════════════════
   8 · 墨色极简 — 线框列表（保留全部内容）
   ══════════════════════════════════════════════════════════════ */
html[data-template="ink-minimal"] {
  --tpl-hero-display: block;
  --tpl-hero-py: 72px;
  --tpl-hero-pb: 48px;
  --tpl-h1-size: clamp(2rem, 4vw, 3rem);
  --tpl-h1-spacing: -.045em;
  --tpl-orb-opacity: 0;
  --tpl-grid-opacity: 0;
  --tpl-hero-visual-max: 100%;
  --tpl-hero-visual-margin: 32px 0 0;
  --tpl-ticker-opacity: .5;
  --tpl-ticker-scale: .92;
  --tpl-svc-cols: 1fr;
  --tpl-card-radius: 0;
  --tpl-card-shadow: none;
  --tpl-card-bg: transparent;
  --tpl-card-border: none;
  --tpl-card-padding: 24px 0;
  --tpl-kmo-cols: 1fr;
  --tpl-stats-cols: repeat(4, 1fr);
  --tpl-stat-bg: transparent;
  --tpl-stat-shadow: none;
  --tpl-stat-radius: 0;
  --tpl-stat-border: none;
  --tpl-value-cols: 1fr;
  --tpl-value-bg: transparent;
  --tpl-value-border: none;
  --tpl-value-shadow: none;
  --tpl-value-radius: 0;
  --tpl-clients-cols: repeat(2, 1fr);
  --tpl-client-radius: 0;
  --tpl-client-shadow: none;
  --tpl-process-cols: 1fr;
  --tpl-process-bg: transparent;
  --tpl-process-border: none;
  --tpl-process-radius: 0;
  --tpl-process-align: left;
  --tpl-news-cols: 1fr;
  --tpl-news-shadow: none;
  --tpl-news-radius: 0;
  --tpl-feature-size: .82rem;
}
html[data-template="ink-minimal"] .service-card,
html[data-template="ink-minimal"] #kmo .service-card { border-bottom: 1px solid var(--t1) !important; }
html[data-template="ink-minimal"] .service-card::before { opacity: 0; height: 0; }
html[data-template="ink-minimal"] .service-features { display: flex !important; flex-wrap: wrap; gap: 8px 16px; }
html[data-template="ink-minimal"] .service-feature { list-style: none; }
html[data-template="ink-minimal"] .service-feature::before { display: inline-block; margin-right: 6px; }
html[data-template="ink-minimal"] .stats-grid { border-top: 2px solid var(--t1); border-bottom: 2px solid var(--t1); gap: 0; }
html[data-template="ink-minimal"] .value-card,
html[data-template="ink-minimal"] .process-step,
html[data-template="ink-minimal"] .news-card { border-bottom: 1px solid var(--t1); padding: 24px 0; }
html[data-template="ink-minimal"] .client-card { border: 1px solid var(--ln); }
html[data-template="ink-minimal"] .section-badge { border-radius: 0; letter-spacing: .14em; }
html[data-template="ink-minimal"] .cta-banner { background: var(--t1) !important; border-radius: 0; }
html[data-template="ink-minimal"] .cta-banner-title,
html[data-template="ink-minimal"] .cta-banner-sub { color: var(--d1) !important; }

/* ══════════════════════════════════════════════════════════════
   9 · 赤红全幅 — 色带 Hero + 右侧视觉卡片
   ══════════════════════════════════════════════════════════════ */
html[data-template="crimson-bold"] {
  --tpl-hero-bg: var(--g);
  --tpl-hero-py: 0;
  --tpl-hero-pb: 0;
  --tpl-hero-cols: 1.1fr 0.9fr;
  --tpl-hero-shell-min: min(520px, 70vh);
  --tpl-hero-gap: 32px;
  --tpl-svc-cols: 1fr;
  --tpl-card-radius: 0;
  --tpl-card-mt: 0;
  --tpl-kmo-cols: 1fr;
  --tpl-stats-cols: repeat(4, 1fr);
  --tpl-stat-num-size: clamp(2.4rem, 5vw, 3.2rem);
  --tpl-value-cols: repeat(2, 1fr);
  --tpl-value-bg: var(--g10);
  --tpl-value-radius: 0;
  --tpl-clients-cols: repeat(4, 1fr);
  --tpl-client-radius: 0;
  --tpl-process-cols: 1fr;
  --tpl-process-align: left;
  --tpl-process-radius: 0;
  --tpl-news-cols: repeat(3, 1fr);
  --tpl-news-radius: 0;
  --tpl-news-gap: 0;
  --tpl-cta-bg: var(--g);
  --tpl-cta-radius: 0;
  --tpl-footer-cols: 2fr 1fr 1fr 1fr;
}
html[data-template="crimson-bold"] .hero-content,
html[data-template="crimson-bold"] .hero-desc,
html[data-template="crimson-bold"] .hero-title-glyph,
html[data-template="crimson-bold"] .hero-title-en { color: #fff !important; -webkit-text-fill-color: #fff !important; }
html[data-template="crimson-bold"] .hero-badge { background: rgba(255,255,255,.18); color: #fff; }
html[data-template="crimson-bold"] .hero-shell { padding: clamp(64px, 8vw, 96px) 0; color: #fff; }
html[data-template="crimson-bold"] .hero-visual { opacity: .95; }
html[data-template="crimson-bold"] .btn--outline { border-color: #fff; color: #fff; }
html[data-template="crimson-bold"] .service-card,
html[data-template="crimson-bold"] #kmo .service-card {
  border-left: 6px solid var(--g) !important; border-radius: 0 !important;
  padding: clamp(32px, 4vw, 44px) clamp(24px, 5vw, 64px) !important;
}
html[data-template="crimson-bold"] #services { padding-top: 0; }
html[data-template="crimson-bold"] #services > .container > .text-center { padding-top: 48px; }
html[data-template="crimson-bold"] .process-step { border-left: 4px solid var(--g); }
html[data-template="crimson-bold"] .news-card { border-right: 1px solid var(--ln); border-radius: 0; }
html[data-template="crimson-bold"] .client-card { border-right: 1px solid var(--ln); }
html[data-template="crimson-bold"] .cta-banner .btn--outline { border-color: #fff; color: #fff; }

/* ══════════════════════════════════════════════════════════════
   10 · 薄荷胶囊 — 圆角活泼（桌面网格 / 移动横滑）
   ══════════════════════════════════════════════════════════════ */
html[data-template="mint-spring"] {
  --tpl-hero-display: flex;
  --tpl-hero-flex-dir: column;
  --tpl-h1-size: clamp(2.3rem, 5vw, 3.6rem);
  --tpl-card-radius: 999px;
  --tpl-stat-radius: 999px;
  --tpl-value-radius: 24px;
  --tpl-client-radius: 24px;
  --tpl-process-radius: 24px;
  --tpl-news-radius: 24px;
  --tpl-cta-radius: 999px;
  --tpl-svc-cols: repeat(3, 1fr);
  --tpl-kmo-cols: repeat(3, 1fr);
  --tpl-stats-cols: repeat(4, 1fr);
  --tpl-value-cols: repeat(2, 1fr);
  --tpl-process-cols: repeat(3, 1fr);
  --tpl-news-cols: repeat(3, 1fr);
  --tpl-footer-cols: 1fr 1fr;
}
html[data-template="mint-spring"] .hero-stats { order: -1; margin-bottom: 20px; width: 100%; }

/* ══════════════════════════════════════════════════════════════
   11 · 墨韵书卷 — 侧栏视觉 + 时间轴
   ══════════════════════════════════════════════════════════════ */
html[data-template="calligraphy"] {
  --tpl-hero-display: flex;
  --tpl-hero-flex-dir: row-reverse;
  --tpl-hero-align: flex-start;
  --tpl-hero-gap: 40px;
  --tpl-hero-content-max: none;
  --tpl-hero-visual-max: 300px;
  --tpl-hero-visual-margin: 0;
  --tpl-svc-cols: 1fr;
  --tpl-kmo-cols: 1fr;
  --tpl-stats-cols: repeat(4, 1fr);
  --tpl-value-cols: 1fr;
  --tpl-clients-cols: repeat(2, 1fr);
  --tpl-process-cols: 1fr;
  --tpl-process-align: left;
  --tpl-news-cols: 1fr;
  --tpl-footer-cols: 1.5fr 1fr 1fr;
}
html[data-template="calligraphy"] .hero-float-zone { position: static !important; display: flex; flex-direction: column; gap: 12px; height: auto !important; }
html[data-template="calligraphy"] .hero-float-card { position: static !important; transform: none !important; width: 100% !important; }
html[data-template="calligraphy"] .service-card,
html[data-template="calligraphy"] #kmo .service-card {
  border-left: 4px solid var(--g); border-radius: 0 var(--r) var(--r) 0 !important;
  padding-left: 28px !important; background: linear-gradient(90deg, var(--g10), transparent) !important;
}
html[data-template="calligraphy"] .value-card { border-left: 3px solid var(--g); padding-left: 20px; background: linear-gradient(90deg, var(--g10), transparent) !important; }
html[data-template="calligraphy"] .process-steps { position: relative; padding-left: 36px; max-width: 640px; margin-inline: auto; }
html[data-template="calligraphy"] .process-steps::before {
  content: ''; position: absolute; left: 12px; top: 0; bottom: 0; width: 2px; background: var(--ln2);
}
html[data-template="calligraphy"] .process-step { position: relative; background: transparent !important; border: none; padding-left: 20px; }
html[data-template="calligraphy"] .process-step-num {
  position: absolute; left: -36px; top: 4px; width: 26px; height: 26px; border-radius: 50%;
  background: var(--g); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .65rem;
}
html[data-template="calligraphy"] .news-card { border-left: 4px solid var(--g); border-radius: 0 var(--r) var(--r) 0; margin-bottom: 12px; }

/* ══════════════════════════════════════════════════════════════
   12 · 霓虹赛博 — 控制台面板网格
   ══════════════════════════════════════════════════════════════ */
html[data-template="neon-cyber"] {
  --tpl-hero-display: grid;
  --tpl-hero-cols: 1.15fr 0.85fr;
  --tpl-hero-rows: auto auto;
  --tpl-hero-content-row: 1 / 3;
  --tpl-hero-content-col: 1;
  --tpl-hero-visual-col: 2;
  --tpl-hero-visual-row: 2;
  --tpl-hero-gap: 14px;
  --tpl-h1-size: clamp(2rem, 4.5vw, 3.2rem);
  --tpl-h1-spacing: .02em;
  --tpl-card-radius: var(--r);
  --tpl-card-shadow: inset 0 0 24px rgba(0,240,255,.04);
  --tpl-card-bg: var(--d1);
  --tpl-card-border: 1px solid var(--ln2);
  --tpl-svc-cols: repeat(3, 1fr);
  --tpl-svc-gap: 12px;
  --tpl-kmo-cols: repeat(3, 1fr);
  --tpl-kmo-gap: 12px;
  --tpl-stats-cols: repeat(4, 1fr);
  --tpl-stats-gap: 10px;
  --tpl-stat-bg: var(--d1);
  --tpl-stat-border: 1px solid var(--ln2);
  --tpl-stat-shadow: none;
  --tpl-stat-radius: var(--r);
  --tpl-value-cols: repeat(2, 1fr);
  --tpl-value-gap: 12px;
  --tpl-value-border: 1px solid var(--ln2);
  --tpl-clients-cols: repeat(3, 1fr);
  --tpl-client-radius: var(--r);
  --tpl-process-cols: repeat(3, 1fr);
  --tpl-process-gap: 12px;
  --tpl-process-border: 1px solid var(--ln2);
  --tpl-process-bg: var(--d1);
  --tpl-process-radius: var(--r);
  --tpl-news-cols: repeat(3, 1fr);
  --tpl-news-gap: 12px;
  --tpl-news-border: 1px solid var(--ln2);
  --tpl-cta-bg: var(--d1);
  --tpl-cta-radius: var(--r);
  --tpl-footer-cols: 2fr 1fr 1fr 1fr;
  --tpl-nav-max: 100%;
}
html[data-template="neon-cyber"] .hero-stats {
  grid-column: 2; grid-row: 1;
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px;
  background: var(--d2); border: 1px solid var(--ln2); border-radius: var(--r); padding: 14px !important;
}
html[data-template="neon-cyber"] .hero-float-zone {
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px;
  position: static !important; height: auto !important;
}
html[data-template="neon-cyber"] .hero-float-card {
  position: static !important; transform: none !important; width: 100% !important;
  border: 1px solid var(--ln2) !important; background: var(--d1) !important;
}
html[data-template="neon-cyber"] .stat-item,
html[data-template="neon-cyber"] .value-card,
html[data-template="neon-cyber"] .process-step { font-family: var(--font-display, monospace); }
html[data-template="neon-cyber"] .footer { border-top: 1px solid var(--ln2); }
html[data-template="neon-cyber"] .navbar .nav-inner { border-bottom: 1px solid var(--ln2); }
html[data-template="neon-cyber"] .cta-banner { border: 1px solid var(--ln2); box-shadow: inset 0 0 40px rgba(0,240,255,.05); }

/* ── 区块背景差异（增强套版识别度）────────────────────────── */
html[data-template="midnight-slate"] .section--dark { background: var(--d2) !important; }
html[data-template="forest-jade"] .section--gray { background: var(--d2) !important; }
html[data-template="royal-violet"] .section--kmo { background: var(--d2); border-radius: var(--rl); margin-inline: clamp(12px, 3vw, 32px); }
html[data-template="ocean-teal"] .section--dark { background: linear-gradient(180deg, var(--d2), var(--black)) !important; }
html[data-template="neon-cyber"] .section--dark,
html[data-template="neon-cyber"] .section--gray { background: var(--d2) !important; }

/* ── 子页：服务详情等 ───────────────────────────────────────── */
html[data-template="royal-violet"] .service-detail-inner,
html[data-template="ink-minimal"] .service-detail-inner { grid-template-columns: 1fr !important; max-width: 720px; margin-inline: auto; }
html[data-template="sunset-amber"] .service-detail:nth-child(even) .service-detail-inner { direction: rtl; }
html[data-template="sunset-amber"] .service-detail:nth-child(even) .service-detail-inner > * { direction: ltr; }

/* ── 移动端：单列安全降级，内容完整可见 ─────────────────────── */
@media (max-width: 768px) {
  html[data-template] .hero-shell {
    display: flex !important; flex-direction: column !important;
    grid-template-columns: unset !important; grid-template-rows: unset !important;
    direction: ltr !important; min-height: auto !important;
  }
  html[data-template] .hero-shell > * { direction: ltr !important; grid-column: auto !important; grid-row: auto !important; }
  html[data-template] .hero-visual { max-width: 100% !important; order: 2 !important; margin: 16px auto 0 !important; }
  html[data-template] .hero-stats { grid-column: auto !important; grid-row: auto !important; width: 100%; }
  html[data-template] .services-grid,
  html[data-template] .services-grid--kmo,
  html[data-template] .value-grid,
  html[data-template] .clients-grid,
  html[data-template] .stats-grid,
  html[data-template] .process-steps,
  html[data-template] .news-grid {
    display: grid !important; grid-template-columns: 1fr !important;
    overflow-x: visible !important; flex-wrap: unset !important;
  }
  html[data-template] .service-card,
  html[data-template] .value-card,
  html[data-template] .news-card,
  html[data-template] .client-card {
    display: block !important; direction: ltr !important;
    transform: none !important; margin-top: 0 !important;
    flex: unset !important;
  }
  html[data-template="sunset-amber"] .news-card,
  html[data-template="sunset-amber"] .service-card,
  html[data-template="sunset-amber"] .value-card,
  html[data-template="sunset-amber"] .process-step { display: block !important; grid-template-columns: unset !important; }
  html[data-template="forest-jade"] #services .service-card--orm { grid-column: auto; display: block; }
  html[data-template="calligraphy"] .hero-shell { flex-direction: column !important; }
  html[data-template] .footer-grid { grid-template-columns: 1fr !important; }
}

/* 桌面：薄荷胶囊横滑仅小屏，大屏用网格（已在变量中定义） */
@media (min-width: 769px) {
  html[data-template="mint-spring"] .services-grid,
  html[data-template="mint-spring"] .services-grid--kmo,
  html[data-template="mint-spring"] .value-grid,
  html[data-template="mint-spring"] .process-steps,
  html[data-template="mint-spring"] .news-grid {
    display: grid !important;
    overflow-x: visible !important;
  }
}
