/* ================================================================
   VERITAS · 12 套全站视觉设计层
   布局 → template-suites / template-pages
   配色 → themes.css
   设计感 → 本文件（装饰 / 质感 / 字体 / 卡片形态 / 子页 Hero）
   ================================================================ */

/* ── 全局设计变量钩子 ───────────────────────────────────────── */
html[data-template] {
  --des-page-hero-bg: transparent;
  --des-page-hero-tag-bg: var(--g10);
  --des-page-hero-tag-border: 1px solid var(--ln);
  --des-card-radius: var(--rl);
  --des-card-shadow: 0 4px 24px rgba(38,46,72,.06);
  --des-card-border: 1px solid var(--ln);
  --des-card-bg: var(--d1);
  --des-nav-cta-radius: var(--r);
  --des-input-radius: var(--r);
  --des-section-deco: none;
}

html[data-template] .nav-link {
  font-weight: var(--des-nav-weight, 600);
  letter-spacing: var(--des-nav-spacing, 0);
}
html[data-template] .nav-cta {
  border-radius: var(--des-nav-cta-radius);
  box-shadow: var(--des-nav-cta-shadow, none);
  text-transform: var(--des-nav-cta-case, none);
  letter-spacing: var(--des-nav-cta-spacing, 0);
}

/* 子页 Hero */
html[data-template] .page-hero {
  background: var(--des-page-hero-bg);
  position: relative;
  overflow: hidden;
}
html[data-template] .page-hero::before,
html[data-template] .page-hero::after {
  content: var(--des-page-hero-before, none);
}
html[data-template] .page-hero-tag,
html[data-template] .page-hero .sec-label {
  display: inline-block;
  background: var(--des-page-hero-tag-bg);
  border: var(--des-page-hero-tag-border);
  border-radius: var(--des-page-hero-tag-radius, 999px);
  padding: var(--des-page-hero-tag-padding, 5px 14px);
  font-size: var(--des-page-hero-tag-size, .72rem);
  font-weight: 700;
  letter-spacing: var(--des-page-hero-tag-spacing, .12em);
  text-transform: var(--des-page-hero-tag-case, uppercase);
  color: var(--des-page-hero-tag-color, var(--g));
  margin-bottom: 16px;
}
html[data-template] .page-hero-title,
html[data-template] .page-hero h1 {
  font-family: var(--des-page-title-font, var(--font-display, var(--font)));
  font-weight: var(--des-page-title-weight, 900);
}

/* 子页卡片通用 */
html[data-template] .mission-card,
html[data-template] .case-full-card,
html[data-template] .contact-info-card,
html[data-template] .contact-form-card,
html[data-template] .news-list-card,
html[data-template] .article-card,
html[data-template] .service-detail-inner {
  border-radius: var(--des-card-radius);
  box-shadow: var(--des-card-shadow);
  border: var(--des-card-border);
  background: var(--des-card-bg);
}

html[data-template] .contact-form-card input,
html[data-template] .contact-form-card textarea,
html[data-template] .contact-form-card select {
  border-radius: var(--des-input-radius);
  border: var(--des-input-border, 1px solid var(--ln));
  background: var(--des-input-bg, var(--d1));
}

html[data-template] .filter-btn,
html[data-template] .news-filter-btn {
  border-radius: var(--des-filter-radius, 999px);
  font-weight: var(--des-filter-weight, 600);
  letter-spacing: var(--des-filter-spacing, 0);
}

html[data-template] .news-hero {
  background: var(--des-news-hero-bg, linear-gradient(135deg, var(--primary, var(--g)) 0%, var(--primary-light, var(--gl)) 100%));
  position: relative;
  overflow: hidden;
}
html[data-template] .news-hero-tag {
  background: var(--des-news-tag-bg, rgba(255,255,255,.15));
  border: var(--des-news-tag-border, none);
  border-radius: var(--des-news-tag-radius, 999px);
  padding: 5px 14px;
  display: inline-block;
}

/* ═══════════════════════════════════════════════════════════════
   A · 鸢尾旗舰 — 电路商务 · 渐变顶条 · 菱形徽章
   ═══════════════════════════════════════════════════════════════ */
html[data-template="classic-iris"] {
  --des-page-hero-bg:
    linear-gradient(135deg, var(--g10) 0%, transparent 55%),
    var(--circuit, none), var(--black);
  --des-page-hero-tag-bg: linear-gradient(135deg, var(--g10), transparent);
  --des-page-hero-tag-border: 1px solid var(--ln);
  --des-page-hero-tag-radius: 6px;
  --des-card-radius: var(--rl);
  --des-card-shadow: 0 8px 32px rgba(91,115,183,.1);
  --des-card-border: 1px solid var(--ln);
  --des-nav-cta-radius: 10px;
  --des-nav-cta-shadow: 0 4px 16px rgba(91,115,183,.25);
}
html[data-template="classic-iris"] .page-hero::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--geo), var(--seo), var(--orm));
}
html[data-template="classic-iris"] .page-hero-title em,
html[data-template="classic-iris"] .page-hero h1 em {
  background: var(--grad-brand);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
html[data-template="classic-iris"] .mission-card {
  border-top: 3px solid var(--g);
  background: linear-gradient(165deg, var(--d1), var(--d2));
}
html[data-template="classic-iris"] .mission-card:nth-child(2) { border-top-color: var(--seo); }
html[data-template="classic-iris"] .mission-card:nth-child(3) { border-top-color: var(--orm); }
html[data-template="classic-iris"] .case-full-header {
  background: linear-gradient(135deg, var(--g) 0%, var(--gl) 100%) !important;
}
html[data-template="classic-iris"] .contact-info-card {
  background: linear-gradient(160deg, var(--g) 0%, var(--gl) 100%) !important;
  box-shadow: 0 16px 48px rgba(91,115,183,.25);
}
html[data-template="classic-iris"] .about-card-main {
  box-shadow: 0 20px 60px rgba(91,115,183,.22);
}

/* ═══════════════════════════════════════════════════════════════
   B · 午夜深空 — 影院光晕 · 毛玻璃 · 发光胶囊
   ═══════════════════════════════════════════════════════════════ */
html[data-template="midnight-slate"] {
  --des-page-hero-bg:
    radial-gradient(ellipse 70% 55% at 50% -10%, rgba(77,163,255,.18) 0%, transparent 65%),
    radial-gradient(ellipse 40% 35% at 85% 80%, rgba(61,214,198,.1) 0%, transparent 55%),
    var(--black);
  --des-page-hero-tag-bg: rgba(77,163,255,.12);
  --des-page-hero-tag-border: 1px solid rgba(77,163,255,.28);
  --des-page-hero-tag-color: var(--gl);
  --des-page-title-font: var(--font);
  --des-card-radius: 16px;
  --des-card-bg: rgba(21,25,34,.75);
  --des-card-border: 1px solid rgba(77,163,255,.2);
  --des-card-shadow: 0 12px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
  --des-nav-cta-radius: 999px;
  --des-nav-cta-shadow: 0 0 20px rgba(77,163,255,.35);
  --des-input-radius: 12px;
  --des-input-bg: rgba(21,25,34,.8);
  --des-input-border: 1px solid rgba(77,163,255,.2);
  --des-news-hero-bg:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(77,163,255,.2) 0%, transparent 60%),
    var(--d2);
}
html[data-template="midnight-slate"] .page-hero-title,
html[data-template="midnight-slate"] .page-hero h1 {
  text-shadow: 0 0 48px rgba(77,163,255,.2);
}
html[data-template="midnight-slate"] .mission-card,
html[data-template="midnight-slate"] .case-full-card,
html[data-template="midnight-slate"] .contact-form-card,
html[data-template="midnight-slate"] .news-list-card,
html[data-template="midnight-slate"] .article-card {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
html[data-template="midnight-slate"] .contact-info-card {
  background: rgba(21,25,34,.85) !important;
  backdrop-filter: blur(16px);
  border: 1px solid rgba(77,163,255,.25) !important;
  box-shadow: 0 0 40px rgba(77,163,255,.12);
}
html[data-template="midnight-slate"] .case-result-num {
  color: var(--gl);
  text-shadow: 0 0 16px rgba(77,163,255,.4);
}
html[data-template="midnight-slate"] .filter-btn.active,
html[data-template="midnight-slate"] .news-filter-btn.active {
  box-shadow: 0 0 16px rgba(77,163,255,.35);
}

/* ═══════════════════════════════════════════════════════════════
   C · 翡翠有机 — 大圆角 · 柔和光斑 · 生态绿晕
   ═══════════════════════════════════════════════════════════════ */
html[data-template="forest-jade"] {
  --des-page-hero-bg:
    radial-gradient(circle at 15% 25%, rgba(45,139,110,.12) 0%, transparent 45%),
    radial-gradient(circle at 85% 75%, rgba(61,168,130,.1) 0%, transparent 40%),
    var(--black);
  --des-page-hero-tag-bg: var(--g10);
  --des-page-hero-tag-border: 1px solid rgba(45,139,110,.25);
  --des-page-hero-tag-radius: 12px;
  --des-page-hero-tag-color: var(--g);
  --des-page-title-font: var(--font-display);
  --des-card-radius: 24px;
  --des-card-shadow: 0 16px 48px rgba(45,139,110,.1);
  --des-card-border: 1px solid rgba(45,139,110,.18);
  --des-nav-cta-radius: 16px;
  --des-input-radius: 14px;
  --des-filter-radius: 14px;
}
html[data-template="forest-jade"] .page-hero-tag::before { content: '🌿 '; }
html[data-template="forest-jade"] .mission-card {
  background: linear-gradient(145deg, var(--d1), var(--d2));
}
html[data-template="forest-jade"] .mission-icon {
  width: 56px; height: 56px;
  background: var(--g10);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
  font-size: 1.6rem;
}
html[data-template="forest-jade"] .case-full-card {
  overflow: hidden;
}
html[data-template="forest-jade"] .case-full-body {
  background: linear-gradient(180deg, var(--d1), var(--d2));
}
html[data-template="forest-jade"] .contact-info-card {
  border-radius: 24px !important;
  background: linear-gradient(145deg, var(--g), var(--gl)) !important;
  box-shadow: 0 16px 48px rgba(45,139,110,.2);
}
html[data-template="forest-jade"] .contact-form-card {
  border: 2px solid rgba(45,139,110,.15);
}
html[data-template="forest-jade"] .about-intro-visual::after {
  content: '';
  position: absolute;
  inset: -12px;
  border-radius: 32px;
  border: 2px dashed rgba(45,139,110,.2);
  pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════════
   D · 琥珀杂志 — 章节编号 · 纸纹 · 衬线社论
   ═══════════════════════════════════════════════════════════════ */
html[data-template="sunset-amber"] {
  --des-page-hero-bg:
    repeating-linear-gradient(0deg, transparent, transparent 28px, rgba(196,122,42,.05) 28px, rgba(196,122,42,.05) 29px),
    linear-gradient(180deg, var(--d1), var(--black));
  --des-page-hero-tag-bg: var(--g);
  --des-page-hero-tag-color: #fff;
  --des-page-hero-tag-radius: 0;
  --des-page-hero-tag-spacing: .18em;
  --des-page-title-font: var(--font-display);
  --des-page-title-weight: 700;
  --des-card-radius: 0 14px 14px 0;
  --des-card-shadow: 5px 5px 0 rgba(196,122,42,.12);
  --des-card-border: none;
  --des-card-border: 1px solid var(--ln);
  --des-nav-cta-radius: 4px;
  --des-filter-radius: 4px;
  --des-input-radius: 4px;
}
html[data-template="sunset-amber"] .page-hero { counter-reset: page-ch; }
html[data-template="sunset-amber"] .page-hero-title::before,
html[data-template="sunset-amber"] .page-hero h1::before {
  content: '§ ';
  color: var(--g);
  font-size: .55em;
  font-weight: 800;
}
html[data-template="sunset-amber"] .mission-card,
html[data-template="sunset-amber"] .case-full-card,
html[data-template="sunset-amber"] .news-list-card {
  border-left: 5px solid var(--g) !important;
}
html[data-template="sunset-amber"] .service-detail-tag {
  font-family: var(--font-display);
  letter-spacing: .06em;
}
html[data-template="sunset-amber"] .case-challenge-title {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--g);
  letter-spacing: .08em;
}
html[data-template="sunset-amber"] .contact-info-card {
  background: var(--g) !important;
  border-radius: 0 16px 16px 0 !important;
  box-shadow: 6px 6px 0 rgba(196,122,42,.15);
}
html[data-template="sunset-amber"] .timeline-year {
  font-family: var(--font-display);
  font-size: .85rem;
  font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════
   E · 皇家高定 — 装饰线 · 大留白 · 奢品细线
   ═══════════════════════════════════════════════════════════════ */
html[data-template="royal-violet"] {
  --des-page-hero-bg: radial-gradient(ellipse 55% 45% at 50% 0%, rgba(107,63,160,.07) 0%, transparent 70%), var(--black);
  --des-page-hero-tag-bg: transparent;
  --des-page-hero-tag-border: 1px solid var(--g);
  --des-page-hero-tag-radius: 0;
  --des-page-hero-tag-spacing: .2em;
  --des-page-hero-tag-color: var(--g);
  --des-page-title-font: var(--font-display);
  --des-page-title-weight: 700;
  --des-card-radius: 0;
  --des-card-shadow: none;
  --des-card-border: none;
  --des-card-bg: transparent;
  --des-nav-cta-radius: 0;
  --des-nav-cta-case: uppercase;
  --des-nav-cta-spacing: .14em;
  --des-filter-radius: 0;
  --des-input-radius: 0;
}
html[data-template="royal-violet"] .page-hero-title::after,
html[data-template="royal-violet"] .page-hero h1::after {
  content: '';
  display: block;
  width: 48px; height: 2px;
  background: linear-gradient(90deg, var(--g), transparent);
  margin: 20px auto 0;
}
html[data-template="royal-violet"] .mission-card,
html[data-template="royal-violet"] .case-full-card,
html[data-template="royal-violet"] .news-list-card {
  border-bottom: 1px solid var(--ln) !important;
  padding-bottom: 32px;
}
html[data-template="royal-violet"] .contact-info-card {
  background: var(--g) !important;
  border-radius: 0 !important;
}
html[data-template="royal-violet"] .contact-form-card {
  border: 1px solid var(--ln);
  padding: 40px;
  background: var(--d1);
}
html[data-template="royal-violet"] .service-detail-title {
  font-family: var(--font-display);
  letter-spacing: .02em;
}
html[data-template="royal-violet"] .legal-body h2 {
  font-family: var(--font-display);
  letter-spacing: .04em;
}

/* ═══════════════════════════════════════════════════════════════
   F · 海洋 SaaS — Dashboard 网格 · 浮动图标 · 渐变数字
   ═══════════════════════════════════════════════════════════════ */
html[data-template="ocean-teal"] {
  --des-page-hero-bg:
    linear-gradient(135deg, rgba(14,116,144,.07) 0%, transparent 50%),
    linear-gradient(225deg, rgba(34,211,238,.05) 0%, transparent 50%),
    var(--black);
  --des-page-hero-tag-bg: rgba(14,116,144,.12);
  --des-page-hero-tag-border: 1px solid rgba(14,116,144,.25);
  --des-page-hero-tag-color: var(--g);
  --des-card-radius: 20px;
  --des-card-shadow: 0 12px 40px rgba(14,116,144,.1);
  --des-card-border: 1px solid rgba(14,116,144,.15);
  --des-nav-cta-radius: 12px;
  --des-nav-cta-shadow: 0 8px 24px rgba(14,116,144,.25);
  --des-input-radius: 12px;
  --des-filter-radius: 10px;
}
html[data-template="ocean-teal"] .page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(var(--ln) 1px, transparent 1px),
    linear-gradient(90deg, var(--ln) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .35;
  pointer-events: none;
}
html[data-template="ocean-teal"] .mission-card {
  padding-top: 48px;
  position: relative;
}
html[data-template="ocean-teal"] .mission-icon {
  position: absolute;
  top: -16px; left: 50%;
  transform: translateX(-50%);
  width: 48px; height: 48px;
  background: linear-gradient(135deg, var(--g), var(--gll));
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 20px rgba(14,116,144,.25);
  font-size: 1.4rem;
}
html[data-template="ocean-teal"] .case-result-num {
  background: linear-gradient(135deg, var(--g), var(--gll));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.6rem;
}
html[data-template="ocean-teal"] .contact-info-card {
  background: linear-gradient(135deg, var(--g), var(--gl)) !important;
  box-shadow: 0 16px 48px rgba(14,116,144,.2);
}
html[data-template="ocean-teal"] .stat-item,
html[data-template="ocean-teal"] .about-highlight {
  border: 1px solid rgba(14,116,144,.15);
}

/* ═══════════════════════════════════════════════════════════════
   G · 玫瑰轻奢 — 柔光晕染 · 大圆角 · 优雅字距
   ═══════════════════════════════════════════════════════════════ */
html[data-template="rose-blush"] {
  --des-page-hero-bg:
    radial-gradient(ellipse 50% 40% at 25% 30%, rgba(232,136,154,.18) 0%, transparent 60%),
    radial-gradient(ellipse 45% 35% at 75% 70%, rgba(212,101,128,.12) 0%, transparent 55%),
    var(--black);
  --des-page-hero-tag-bg: rgba(190,75,106,.12);
  --des-page-hero-tag-border: 1px solid rgba(190,75,106,.2);
  --des-page-hero-tag-radius: 999px;
  --des-page-hero-tag-color: var(--g);
  --des-page-title-font: var(--font-display);
  --des-card-radius: 28px;
  --des-card-shadow: 0 20px 60px rgba(190,75,106,.12);
  --des-card-border: 1px solid rgba(190,75,106,.12);
  --des-nav-cta-radius: 999px;
  --des-input-radius: 16px;
  --des-filter-radius: 999px;
  --des-news-hero-bg:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(232,136,154,.25) 0%, transparent 60%),
    linear-gradient(135deg, var(--g), var(--gl));
}
html[data-template="rose-blush"] .page-hero-title,
html[data-template="rose-blush"] .page-hero h1 {
  letter-spacing: .02em;
}
html[data-template="rose-blush"] .mission-card {
  background: linear-gradient(145deg, var(--d1), rgba(248,232,238,.5));
}
html[data-template="rose-blush"] .contact-info-card {
  background: linear-gradient(145deg, var(--gd), var(--g), var(--gl)) !important;
  box-shadow: 0 20px 60px rgba(190,75,106,.25);
  border-radius: 28px !important;
}
html[data-template="rose-blush"] .contact-form-card {
  background: var(--d1);
  padding: 36px;
}
html[data-template="rose-blush"] .case-full-card:hover {
  box-shadow: 0 24px 64px rgba(190,75,106,.18) !important;
}
html[data-template="rose-blush"] .news-list-title {
  font-family: var(--font-display);
  font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════
   H · 墨色瑞士 — 网格线 · 粗分割 · 大写标签
   ═══════════════════════════════════════════════════════════════ */
html[data-template="ink-minimal"] {
  --des-page-hero-bg:
    linear-gradient(var(--ln) 1px, transparent 1px),
    linear-gradient(90deg, var(--ln) 1px, transparent 1px),
    var(--d1);
  --des-page-hero-bg-size: 40px 40px;
  --des-page-hero-tag-bg: transparent;
  --des-page-hero-tag-border: 2px solid var(--t1);
  --des-page-hero-tag-radius: 0;
  --des-page-hero-tag-color: var(--t1);
  --des-page-hero-tag-case: uppercase;
  --des-page-hero-tag-spacing: .22em;
  --des-page-hero-tag-size: .62rem;
  --des-page-title-weight: 900;
  --des-card-radius: 0;
  --des-card-shadow: none;
  --des-card-border: none;
  --des-card-bg: transparent;
  --des-nav-cta-radius: 0;
  --des-nav-cta-case: uppercase;
  --des-nav-cta-spacing: .1em;
  --des-filter-radius: 0;
  --des-input-radius: 0;
  --des-input-border: 2px solid var(--t1);
}
html[data-template="ink-minimal"] .page-hero {
  background-size: 40px 40px;
  border-bottom: 4px solid var(--t1);
}
html[data-template="ink-minimal"] .page-hero-title,
html[data-template="ink-minimal"] .page-hero h1 {
  text-transform: uppercase;
  letter-spacing: -.04em;
}
html[data-template="ink-minimal"] .mission-card,
html[data-template="ink-minimal"] .case-full-card,
html[data-template="ink-minimal"] .news-list-card,
html[data-template="ink-minimal"] .service-detail-inner {
  border-bottom: 2px solid var(--t1) !important;
}
html[data-template="ink-minimal"] .contact-info-card {
  background: var(--t1) !important;
  border-radius: 0 !important;
}
html[data-template="ink-minimal"] .contact-form-card {
  border: 2px solid var(--t1);
  padding: 32px;
}
html[data-template="ink-minimal"] .filter-btn.active {
  background: var(--t1) !important;
  color: var(--d1) !important;
  border-color: var(--t1) !important;
}
html[data-template="ink-minimal"] .case-result-num {
  font-weight: 900;
  border-bottom: 3px solid var(--t1);
  display: inline-block;
}

/* ═══════════════════════════════════════════════════════════════
   I · 赤红权威 — 色带通栏 · 直角 · 左边框强调
   ═══════════════════════════════════════════════════════════════ */
html[data-template="crimson-bold"] {
  --des-page-hero-bg: var(--g);
  --des-page-hero-tag-bg: rgba(255,255,255,.18);
  --des-page-hero-tag-border: 1px solid rgba(255,255,255,.3);
  --des-page-hero-tag-color: #fff;
  --des-page-hero-tag-radius: 2px;
  --des-card-radius: 0;
  --des-card-shadow: none;
  --des-card-border: none;
  --des-nav-cta-radius: 2px;
  --des-filter-radius: 2px;
  --des-input-radius: 2px;
  --des-news-hero-bg: var(--g);
}
html[data-template="crimson-bold"] .page-hero-title,
html[data-template="crimson-bold"] .page-hero-desc,
html[data-template="crimson-bold"] .page-hero-tag,
html[data-template="crimson-bold"] .page-hero h1,
html[data-template="crimson-bold"] .page-hero p {
  color: #fff !important;
}
html[data-template="crimson-bold"] .page-hero-title,
html[data-template="crimson-bold"] .page-hero h1 {
  border-left: 8px solid rgba(255,255,255,.9);
  padding-left: 24px;
  font-weight: 900;
}
html[data-template="crimson-bold"] .mission-card,
html[data-template="crimson-bold"] .service-detail-inner {
  border-left: 6px solid var(--g) !important;
  background: var(--g10) !important;
  padding-left: 28px !important;
}
html[data-template="crimson-bold"] .case-full-card {
  border-left: 6px solid var(--g) !important;
}
html[data-template="crimson-bold"] .case-result-num {
  color: var(--g);
  font-weight: 900;
  font-size: 1.6rem;
}
html[data-template="crimson-bold"] .contact-info-card {
  background: var(--g) !important;
  border-radius: 0 !important;
}
html[data-template="crimson-bold"] .contact-form-card {
  border: 2px solid var(--g);
  border-radius: 0;
  padding: 36px;
}
html[data-template="crimson-bold"] .about-card-main {
  border-radius: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   J · 薄荷创意 — 粗野阴影 · 胶囊 · 错位色块
   ═══════════════════════════════════════════════════════════════ */
html[data-template="mint-spring"] {
  --des-page-hero-bg:
    linear-gradient(135deg, rgba(5,150,105,.08) 0%, transparent 50%),
    linear-gradient(225deg, rgba(52,211,153,.06) 0%, transparent 50%),
    var(--black);
  --des-page-hero-tag-bg: var(--g);
  --des-page-hero-tag-color: #fff;
  --des-page-hero-tag-radius: 999px;
  --des-card-radius: 20px;
  --des-card-shadow: 6px 6px 0 var(--g10), 6px 6px 0 1px var(--ln);
  --des-card-border: 2px solid var(--ln);
  --des-nav-cta-radius: 999px;
  --des-nav-cta-shadow: 4px 4px 0 var(--gd);
  --des-input-radius: 14px;
  --des-filter-radius: 999px;
}
html[data-template="mint-spring"] .page-hero-tag {
  transform: rotate(-2deg);
  box-shadow: 3px 3px 0 var(--gd);
}
html[data-template="mint-spring"] .mission-card {
  box-shadow: 5px 5px 0 var(--g10), 5px 5px 0 1px var(--ln) !important;
  border: 2px solid var(--ln) !important;
}
html[data-template="mint-spring"] .mission-card:nth-child(1) { border-left: 5px solid var(--geo) !important; }
html[data-template="mint-spring"] .mission-card:nth-child(2) { border-left: 5px solid var(--seo) !important; transform: translateY(4px); }
html[data-template="mint-spring"] .mission-card:nth-child(3) { border-left: 5px solid var(--orm) !important; transform: translateY(8px); }
html[data-template="mint-spring"] .case-full-card {
  box-shadow: 6px 6px 0 var(--g10) !important;
  border: 2px solid var(--ln) !important;
}
html[data-template="mint-spring"] .contact-form-card {
  box-shadow: 6px 6px 0 var(--g10) !important;
  border: 2px solid var(--ln) !important;
  padding: 32px;
}
html[data-template="mint-spring"] .contact-info-card {
  box-shadow: 6px 6px 0 rgba(0,0,0,.15) !important;
  border-radius: 20px !important;
}
html[data-template="mint-spring"] .filter-btn.active {
  box-shadow: 3px 3px 0 var(--gd);
  transform: translate(-1px, -1px);
}

/* ═══════════════════════════════════════════════════════════════
   K · 墨韵文创 — 书卷纸纹 · 朱印 · 左边线叙事
   ═══════════════════════════════════════════════════════════════ */
html[data-template="calligraphy"] {
  --des-page-hero-bg:
    linear-gradient(90deg, rgba(139,69,19,.07) 0%, transparent 10%),
    repeating-linear-gradient(0deg, transparent, transparent 32px, rgba(139,69,19,.04) 32px, rgba(139,69,19,.04) 33px),
    var(--black);
  --des-page-hero-tag-bg: transparent;
  --des-page-hero-tag-border: 2px solid var(--g);
  --des-page-hero-tag-radius: 0;
  --des-page-hero-tag-color: var(--g);
  --des-page-title-font: var(--font-display);
  --des-card-radius: 0 var(--r) var(--r) 0;
  --des-card-shadow: none;
  --des-card-border: none;
  --des-card-bg: linear-gradient(90deg, var(--g10), transparent);
  --des-nav-cta-radius: 0;
  --des-filter-radius: 0;
  --des-input-radius: 0;
}
html[data-template="calligraphy"] .page-hero-tag::before { content: '印 · '; font-family: var(--font-display); }
html[data-template="calligraphy"] .page-hero-title,
html[data-template="calligraphy"] .page-hero h1 {
  font-family: 'Ma Shan Zheng', var(--font-display), serif;
  font-weight: 400;
  letter-spacing: .08em;
}
html[data-template="calligraphy"] .mission-card,
html[data-template="calligraphy"] .case-full-card,
html[data-template="calligraphy"] .news-list-card,
html[data-template="calligraphy"] .service-detail-inner {
  border-left: 4px solid var(--g) !important;
  padding-left: 24px !important;
  background: linear-gradient(90deg, var(--g10), transparent) !important;
}
html[data-template="calligraphy"] .timeline-item::before {
  background: var(--g);
  box-shadow: 0 0 0 3px var(--d1), 0 0 0 5px var(--g);
}
html[data-template="calligraphy"] .contact-info-card {
  background: linear-gradient(160deg, #8B4513, #A0522D) !important;
  border-radius: 0 var(--rl) var(--rl) 0 !important;
}
html[data-template="calligraphy"] .about-card-main {
  font-family: var(--font-display);
}
html[data-template="calligraphy"] .legal-body h2::before {
  content: '◆ ';
  color: var(--g);
  font-size: .8em;
}

/* ═══════════════════════════════════════════════════════════════
   L · 霓虹赛博 — HUD 角标 · 扫描线 · 霓虹描边
   ═══════════════════════════════════════════════════════════════ */
html[data-template="neon-cyber"] {
  --des-page-hero-bg:
    linear-gradient(135deg, rgba(0,240,255,.04) 0%, transparent 40%),
    linear-gradient(225deg, rgba(255,0,170,.03) 0%, transparent 40%),
    var(--black);
  --des-page-hero-tag-bg: rgba(0,240,255,.08);
  --des-page-hero-tag-border: 1px solid rgba(0,240,255,.35);
  --des-page-hero-tag-color: var(--gl);
  --des-page-hero-tag-radius: 2px;
  --des-page-hero-tag-case: uppercase;
  --des-page-hero-tag-spacing: .2em;
  --des-page-hero-tag-size: .6rem;
  --des-page-title-font: var(--font-display);
  --des-card-radius: var(--r);
  --des-card-shadow: inset 0 0 24px rgba(0,240,255,.04);
  --des-card-border: 1px solid var(--ln2);
  --des-card-bg: var(--d1);
  --des-nav-cta-radius: 2px;
  --des-nav-cta-case: uppercase;
  --des-nav-cta-spacing: .12em;
  --des-nav-cta-shadow: 0 0 16px rgba(0,240,255,.25);
  --des-input-radius: 2px;
  --des-input-border: 1px solid var(--ln2);
  --des-input-bg: rgba(10,10,18,.8);
  --des-filter-radius: 2px;
  --des-filter-weight: 700;
  --des-filter-spacing: .08em;
  --des-news-hero-bg:
    linear-gradient(180deg, rgba(0,240,255,.08) 0%, transparent 100%),
    var(--d2);
}
html[data-template="neon-cyber"] .page-hero-title,
html[data-template="neon-cyber"] .page-hero h1 {
  text-transform: uppercase;
  letter-spacing: .06em;
  text-shadow: 0 0 30px rgba(0,240,255,.2);
}
html[data-template="neon-cyber"] .page-hero-tag::before { content: '// '; opacity: .6; }
html[data-template="neon-cyber"] .mission-card,
html[data-template="neon-cyber"] .case-full-card,
html[data-template="neon-cyber"] .contact-form-card,
html[data-template="neon-cyber"] .news-list-card,
html[data-template="neon-cyber"] .article-card {
  position: relative;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
html[data-template="neon-cyber"] .mission-card::before,
html[data-template="neon-cyber"] .case-full-card::before,
html[data-template="neon-cyber"] .contact-form-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 12px; height: 12px;
  border-top: 2px solid var(--gl);
  border-left: 2px solid var(--gl);
  pointer-events: none;
}
html[data-template="neon-cyber"] .mission-card::after,
html[data-template="neon-cyber"] .case-full-card::after {
  content: '';
  position: absolute;
  bottom: 0; right: 0;
  width: 12px; height: 12px;
  border-bottom: 2px solid var(--gl);
  border-right: 2px solid var(--gl);
  pointer-events: none;
}
html[data-template="neon-cyber"] .case-result-num {
  font-family: var(--font-display);
  color: var(--gl);
  text-shadow: 0 0 12px rgba(0,240,255,.5);
}
html[data-template="neon-cyber"] .contact-info-card {
  background: var(--d1) !important;
  border: 1px solid var(--ln2) !important;
  box-shadow: inset 0 0 32px rgba(0,240,255,.05), 0 0 24px rgba(0,240,255,.08) !important;
}
html[data-template="neon-cyber"] .filter-btn {
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: .72rem;
  border: 1px solid var(--ln2);
  background: var(--d1);
}
html[data-template="neon-cyber"] .filter-btn.active {
  border-color: var(--gl);
  color: var(--gl);
  box-shadow: 0 0 12px rgba(0,240,255,.3);
}
html[data-template="neon-cyber"] .service-detail-tag {
  font-family: var(--font-display);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .68rem;
}

/* ── 首页区块设计增强（补充 template-schemes）────────────────── */
html[data-template="classic-iris"] .cta-banner {
  background: linear-gradient(135deg, var(--d2), var(--d1)) !important;
  border: 1px solid var(--ln);
}
html[data-template="midnight-slate"] .news-card,
html[data-template="midnight-slate"] .client-card,
html[data-template="midnight-slate"] .value-card {
  backdrop-filter: blur(12px);
  border: 1px solid rgba(77,163,255,.15) !important;
}
html[data-template="forest-jade"] .cta-banner {
  border-radius: 28px;
  margin-inline: clamp(12px, 3vw, 36px);
  background: linear-gradient(145deg, var(--d1), var(--d2)) !important;
}
html[data-template="sunset-amber"] .process-step-num {
  font-family: var(--font-display);
  color: var(--g);
  font-weight: 800;
}
html[data-template="ocean-teal"] .clients-grid .client-card {
  border-top: 3px solid var(--g);
}
html[data-template="crimson-bold"] .news-hero-title,
html[data-template="crimson-bold"] .news-hero-sub { color: #fff !important; }
html[data-template="mint-spring"] .news-card,
html[data-template="mint-spring"] .client-card {
  box-shadow: 4px 4px 0 var(--g10) !important;
  border: 2px solid var(--ln) !important;
}
html[data-template="calligraphy"] .team-card {
  border-left: 3px solid var(--g);
  border-radius: 0 var(--r) var(--r) 0;
}
html[data-template="neon-cyber"] .news-hero-title {
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: .08em;
  text-shadow: 0 0 20px rgba(0,240,255,.3);
}

@media (max-width: 768px) {
  html[data-template="mint-spring"] .mission-card:nth-child(2),
  html[data-template="mint-spring"] .mission-card:nth-child(3) { transform: none; }
  html[data-template="rose-blush"] .case-full-card:nth-child(2),
  html[data-template="rose-blush"] .case-full-card:nth-child(3) { transform: none; }
  html[data-template="neon-cyber"] .mission-card,
  html[data-template="neon-cyber"] .case-full-card { clip-path: none; }
  html[data-template="calligraphy"] .page-hero .container { grid-template-columns: 1fr !important; }
  html[data-template="calligraphy"] .page-hero-tag { writing-mode: horizontal-tb; }
}
