/* ============================================================
   顶呱呱跨境 DINGGUAGUA — 主题层
   1) 四套可切换视觉风格
   2) 新组件：业务范围 / 服务清单 / 服务保证 / 荣誉证书 / 信赖保证 / 风格切换器
   ============================================================ */

/* ---------------- 扩展 token（默认：深海青） ---------------- */
:root {
  --wrap: 1320px;
  --card: #FFFFFF;
  --card-2: #FFFFFF;
  --header-bg: rgba(255, 255, 255, .92);
  --hero-grad:
    radial-gradient(900px 420px at 82% -8%, rgba(18, 165, 148, .13), transparent 62%),
    radial-gradient(700px 380px at 6% 0%, rgba(11, 37, 69, .07), transparent 60%),
    #FFFFFF;
  --hero-grid-c: rgba(11, 37, 69, .045);
  --dark-grad: linear-gradient(155deg, #0B2545 0%, #103A50 58%, #0A3F46 100%);
  --footer-bg: #071B33;
  --ink-hover: #12345C;
  --card-hover-bd: #CBD9E8;
  --rad-btn: 999px;
  --sec-pad: 88px;
  --head-ff: var(--ff);
  --mark-grad: linear-gradient(150deg, #124A63 0%, #0B2545 55%, #08303B 100%);
  --seal: #B03A2E;
  --live: #35D0B8;
  --on-dark-accent: #7DDBCC;
  --engine-glow: rgba(18, 165, 148, .30);
  --step-bg: rgba(18, 165, 148, .18);
  --step-bd: rgba(53, 208, 184, .42);
  --cert-paper: #FFFDF6;
  --cert-line: #E2D2B2;
  --cert-ink: #3B2E1B;
  --cert-muted: #8B7B5D;
  --cert-gold: #A9762F;
}

/* ---------------- 风格二：商务蓝 ---------------- */
[data-theme="azure"] {
  --ink: #0E2547;
  --ink-2: #193A63;
  --body: #31465F;
  --muted: #6B819C;
  --line: #DDE7F4;
  --line-2: #EBF1FA;
  --bg: #F3F7FD;
  --surface: #FFFFFF;
  --accent: #2563EB;
  --accent-2: #1B4FD1;
  --accent-soft: #E8F0FE;
  --gold: #B4801F;
  --gold-soft: #FBF2DD;

  --card: #FFFFFF;
  --header-bg: rgba(255, 255, 255, .93);
  --hero-grad:
    radial-gradient(900px 420px at 84% -8%, rgba(37, 99, 235, .15), transparent 62%),
    radial-gradient(700px 380px at 4% 0%, rgba(14, 37, 71, .07), transparent 60%),
    #FFFFFF;
  --hero-grid-c: rgba(14, 37, 71, .045);
  --dark-grad: linear-gradient(155deg, #0B1B33 0%, #12335C 58%, #0E2B50 100%);
  --footer-bg: #081A30;
  --ink-hover: #16305A;
  --card-hover-bd: #BDD1EC;

  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 24px;
  --rad-btn: 10px;
  --sec-pad: 86px;

  --sh-1: 0 1px 2px rgba(14, 37, 71, .06);
  --sh-2: 0 10px 30px -14px rgba(14, 37, 71, .22);
  --sh-3: 0 28px 64px -28px rgba(14, 37, 71, .34);

  --mark-grad: linear-gradient(150deg, #2563EB 0%, #0E2547 100%);
  --live: #8FB8FF;
  --on-dark-accent: #8FB8FF;
  --engine-glow: rgba(37, 99, 235, .35);
  --step-bg: rgba(37, 99, 235, .20);
  --step-bd: rgba(143, 184, 255, .45);
}

/* ---------------- 风格三：品牌蓝（顶呱呱标准蓝 #4974F6） ---------------- */
[data-theme="brand"] {
  --ink: #12224B;
  --ink-2: #1B3566;
  --body: #33456A;
  --muted: #6E7FA3;
  --line: #E1E7F8;
  --line-2: #EFF3FD;
  --bg: #F5F7FF;
  --surface: #FFFFFF;
  --accent: #4974F6;
  --accent-2: #3358DC;
  --accent-soft: #EAEFFF;
  --gold: #C08A2E;
  --gold-soft: #FBF2DE;

  --card: #FFFFFF;
  --header-bg: rgba(255, 255, 255, .93);
  --hero-grad:
    radial-gradient(920px 440px at 86% -10%, rgba(73, 116, 246, .20), transparent 62%),
    radial-gradient(620px 360px at 2% 6%, rgba(73, 116, 246, .10), transparent 60%),
    #FFFFFF;
  --hero-grid-c: rgba(18, 34, 75, .045);
  --dark-grad: linear-gradient(155deg, #0F1D42 0%, #1C3A85 58%, #2549B8 100%);
  --footer-bg: #081230;
  --ink-hover: #1B3566;
  --card-hover-bd: #C3D2F5;

  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 18px;
  --r-xl: 26px;
  --rad-btn: 999px;
  --sec-pad: 88px;

  --sh-1: 0 1px 2px rgba(18, 34, 75, .06);
  --sh-2: 0 12px 32px -16px rgba(41, 72, 158, .26);
  --sh-3: 0 30px 66px -30px rgba(41, 72, 158, .36);

  --mark-grad: linear-gradient(150deg, #4974F6 0%, #2B4FD0 100%);
  --live: #8FB4FF;
  --on-dark-accent: #A8C2FF;
  --engine-glow: rgba(73, 116, 246, .38);
  --step-bg: rgba(73, 116, 246, .22);
  --step-bd: rgba(168, 194, 255, .45);
}

/* 品牌蓝：主按钮直接用标准蓝，更贴近品牌 VI */
[data-theme="brand"] .btn-primary {
  background: var(--accent);
  box-shadow: 0 12px 30px -14px rgba(73, 116, 246, .7);
}
[data-theme="brand"] .btn-primary:hover { background: var(--accent-2); }
[data-theme="brand"] .logo-mark { box-shadow: 0 6px 16px -8px rgba(73, 116, 246, .75); }


/* ---------------- 风格四：墨绿（金融稳重） ---------------- */
[data-theme="forest"] {
  --ink: #0C2B24;
  --ink-2: #143D33;
  --body: #2F4A42;
  --muted: #6B847C;
  --line: #DCE8E3;
  --line-2: #EBF3EF;
  --bg: #F4F8F5;
  --surface: #FFFFFF;
  --accent: #12876A;
  --accent-2: #0C6D55;
  --accent-soft: #E3F3EC;
  --gold: #B08A2E;
  --gold-soft: #F8F0DC;

  --card: #FFFFFF;
  --header-bg: rgba(255, 255, 255, .93);
  --hero-grad:
    radial-gradient(900px 420px at 84% -8%, rgba(18, 135, 106, .15), transparent 62%),
    radial-gradient(680px 360px at 4% 0%, rgba(12, 43, 36, .07), transparent 60%),
    #FFFFFF;
  --hero-grid-c: rgba(12, 43, 36, .045);
  --dark-grad: linear-gradient(155deg, #08251F 0%, #0F3D32 60%, #0B3128 100%);
  --footer-bg: #061C17;
  --ink-hover: #143D33;
  --card-hover-bd: #C3D9D1;

  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --rad-btn: 8px;
  --sec-pad: 86px;

  --sh-1: 0 1px 2px rgba(12, 43, 36, .06);
  --sh-2: 0 12px 30px -16px rgba(12, 43, 36, .24);
  --sh-3: 0 28px 64px -30px rgba(12, 43, 36, .34);

  --mark-grad: linear-gradient(150deg, #12876A 0%, #0C2B24 100%);
  --live: #7FE0C6;
  --on-dark-accent: #8FE3CB;
  --engine-glow: rgba(18, 135, 106, .35);
  --step-bg: rgba(18, 135, 106, .20);
  --step-bd: rgba(143, 227, 203, .45);
}

/* ---------------- 风格五：酒红（高端私行） ---------------- */
[data-theme="wine"] {
  --ink: #2B0F1C;
  --ink-2: #441A2B;
  --body: #4E313C;
  --muted: #8B6E78;
  --line: #EADCE2;
  --line-2: #F5EBEF;
  --bg: #FBF5F7;
  --surface: #FFFFFF;
  --accent: #8C2F45;
  --accent-2: #6E2235;
  --accent-soft: #F6E7EC;
  --gold: #B08A2E;
  --gold-soft: #F8F0DC;

  --card: #FFFFFF;
  --header-bg: rgba(255, 255, 255, .93);
  --hero-grad:
    radial-gradient(900px 420px at 84% -8%, rgba(140, 47, 69, .13), transparent 62%),
    radial-gradient(680px 360px at 4% 0%, rgba(176, 138, 46, .08), transparent 60%),
    #FFFFFF;
  --hero-grid-c: rgba(43, 15, 28, .045);
  --dark-grad: linear-gradient(155deg, #240B16 0%, #43162A 58%, #33101F 100%);
  --footer-bg: #1C0812;
  --ink-hover: #441A2B;
  --card-hover-bd: #DCC3CC;

  --r-sm: 6px;
  --r-md: 9px;
  --r-lg: 12px;
  --r-xl: 18px;
  --rad-btn: 6px;
  --sec-pad: 86px;

  --sh-1: 0 1px 2px rgba(43, 15, 28, .07);
  --sh-2: 0 12px 30px -16px rgba(43, 15, 28, .26);
  --sh-3: 0 28px 64px -30px rgba(43, 15, 28, .36);

  --mark-grad: linear-gradient(150deg, #8C2F45 0%, #2B0F1C 100%);
  --live: #F0C48E;
  --on-dark-accent: #E8B6C4;
  --engine-glow: rgba(140, 47, 69, .38);
  --step-bg: rgba(140, 47, 69, .22);
  --step-bd: rgba(232, 182, 196, .45);
}

/* ---------------- 风格六：藏紫（科技高端） ---------------- */
[data-theme="plum"] {
  --ink: #221437;
  --ink-2: #342050;
  --body: #443454;
  --muted: #83738F;
  --line: #E5DCEF;
  --line-2: #F1EBF7;
  --bg: #F7F4FB;
  --surface: #FFFFFF;
  --accent: #6042A6;
  --accent-2: #4B3188;
  --accent-soft: #EDE7F9;
  --gold: #B08A2E;
  --gold-soft: #F8F0DC;

  --card: #FFFFFF;
  --header-bg: rgba(255, 255, 255, .93);
  --hero-grad:
    radial-gradient(900px 420px at 84% -8%, rgba(96, 66, 166, .16), transparent 62%),
    radial-gradient(680px 360px at 4% 0%, rgba(34, 20, 55, .07), transparent 60%),
    #FFFFFF;
  --hero-grid-c: rgba(34, 20, 55, .045);
  --dark-grad: linear-gradient(155deg, #1B1030 0%, #33205C 58%, #291748 100%);
  --footer-bg: #140B25;
  --ink-hover: #342050;
  --card-hover-bd: #D3C6E6;

  --r-sm: 12px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-xl: 28px;
  --rad-btn: 999px;
  --sec-pad: 86px;

  --sh-1: 0 1px 2px rgba(34, 20, 55, .06);
  --sh-2: 0 12px 32px -16px rgba(34, 20, 55, .26);
  --sh-3: 0 28px 64px -30px rgba(34, 20, 55, .34);

  --mark-grad: linear-gradient(150deg, #6042A6 0%, #221437 100%);
  --live: #C0A8F5;
  --on-dark-accent: #C9B4F2;
  --engine-glow: rgba(96, 66, 166, .38);
  --step-bg: rgba(96, 66, 166, .22);
  --step-bd: rgba(201, 180, 242, .45);
}

/* ---------------- 风格七：岩灰（极简商务） ---------------- */
[data-theme="slate"] {
  --ink: #1C232B;
  --ink-2: #2D3742;
  --body: #3D4854;
  --muted: #77828F;
  --line: #DEE3E9;
  --line-2: #ECF0F4;
  --bg: #F4F6F8;
  --surface: #FFFFFF;
  --accent: #3E6B8F;
  --accent-2: #2F5573;
  --accent-soft: #E7EFF5;
  --gold: #9C7B3A;
  --gold-soft: #F6EEDC;

  --card: #FFFFFF;
  --header-bg: rgba(255, 255, 255, .94);
  --hero-grad:
    radial-gradient(880px 420px at 84% -8%, rgba(62, 107, 143, .13), transparent 62%),
    radial-gradient(680px 360px at 4% 0%, rgba(28, 35, 43, .06), transparent 60%),
    #FFFFFF;
  --hero-grid-c: rgba(28, 35, 43, .05);
  --dark-grad: linear-gradient(155deg, #161C23 0%, #242E38 60%, #1B242C 100%);
  --footer-bg: #10151A;
  --ink-hover: #2D3742;
  --card-hover-bd: #C6D1DB;

  --r-sm: 4px;
  --r-md: 6px;
  --r-lg: 10px;
  --r-xl: 14px;
  --rad-btn: 4px;
  --sec-pad: 92px;

  --sh-1: 0 1px 2px rgba(28, 35, 43, .06);
  --sh-2: 0 10px 26px -16px rgba(28, 35, 43, .24);
  --sh-3: 0 26px 58px -30px rgba(28, 35, 43, .32);

  --mark-grad: linear-gradient(150deg, #3E6B8F 0%, #1C232B 100%);
  --live: #A8CBE6;
  --on-dark-accent: #A8CBE6;
  --engine-glow: rgba(62, 107, 143, .35);
  --step-bg: rgba(62, 107, 143, .22);
  --step-bd: rgba(168, 203, 230, .45);
}

/* ---------------- 风格八：朱砂金 ---------------- */
[data-theme="cinnabar"] {
  --ink: #2A1310;
  --ink-2: #3D211B;
  --body: #4B3733;
  --muted: #8B746C;
  --line: #EBDDD3;
  --line-2: #F5ECE5;
  --bg: #FBF5EF;
  --surface: #FFFDFB;
  --accent: #C0392B;
  --accent-2: #A22C20;
  --accent-soft: #FBEAE4;
  --gold: #A9762F;
  --gold-soft: #F9EEDB;

  --card: #FFFDFB;
  --header-bg: rgba(255, 253, 251, .93);
  --hero-grad:
    radial-gradient(880px 420px at 84% -10%, rgba(192, 57, 43, .11), transparent 62%),
    radial-gradient(680px 380px at 4% 0%, rgba(169, 118, 47, .10), transparent 60%),
    #FFFDFB;
  --hero-grid-c: rgba(42, 19, 16, .045);
  --dark-grad: linear-gradient(155deg, #2A1310 0%, #4A211A 62%, #33150F 100%);
  --footer-bg: #240F0C;
  --ink-hover: #45221C;
  --card-hover-bd: #E0C9BA;

  --r-sm: 6px;
  --r-md: 9px;
  --r-lg: 12px;
  --r-xl: 16px;
  --rad-btn: 6px;
  --sec-pad: 80px;

  --sh-1: 0 1px 2px rgba(42, 19, 16, .06);
  --sh-2: 0 10px 28px -14px rgba(42, 19, 16, .22);
  --sh-3: 0 26px 60px -30px rgba(42, 19, 16, .34);

  --mark-grad: linear-gradient(150deg, #C0392B 0%, #8E2318 100%);
  --live: #F0BE8A;
  --on-dark-accent: #F0C08C;
  --engine-glow: rgba(192, 57, 43, .32);
  --step-bg: rgba(192, 57, 43, .22);
  --step-bd: rgba(240, 190, 138, .45);
}

/* ---------------- 风格九：墨黑极简 ---------------- */
[data-theme="ink"] {
  --ink: #101113;
  --ink-2: #232529;
  --body: #3C3F44;
  --muted: #75787D;
  --line: #DEDED8;
  --line-2: #ECECE7;
  --bg: #F3F3EF;
  --surface: #FFFFFF;
  --accent: #101113;
  --accent-2: #000000;
  --accent-soft: #EDEDE7;
  --gold: #7C6A3F;
  --gold-soft: #F2EFE4;

  --card: #FFFFFF;
  --header-bg: rgba(255, 255, 255, .94);
  --hero-grad:
    radial-gradient(720px 360px at 78% -10%, rgba(16, 17, 19, .055), transparent 62%),
    #FFFFFF;
  --hero-grid-c: rgba(16, 17, 19, .05);
  --dark-grad: #101113;
  --footer-bg: #0A0B0C;
  --ink-hover: #000000;
  --card-hover-bd: #BDBDB6;

  --r-sm: 2px;
  --r-md: 2px;
  --r-lg: 3px;
  --r-xl: 4px;
  --rad-btn: 2px;
  --sec-pad: 96px;

  --sh-1: none;
  --sh-2: 0 2px 0 rgba(16, 17, 19, .09);
  --sh-3: 0 26px 54px -36px rgba(0, 0, 0, .55);

  --mark-grad: #101113;
  --seal: #A8352A;
  --live: #E8E8E2;
  --on-dark-accent: #E8E8E2;
  --engine-glow: rgba(255, 255, 255, .10);
  --step-bg: rgba(255, 255, 255, .10);
  --step-bd: rgba(255, 255, 255, .30);
}

/* ---------------- 风格十：暖砂书卷 ---------------- */
[data-theme="sand"] {
  --ink: #2E2A22;
  --ink-2: #453F33;
  --body: #4E4739;
  --muted: #8B8270;
  --line: #E7DDCB;
  --line-2: #F2EBDD;
  --bg: #F7F1E4;
  --surface: #FDFBF6;
  --accent: #8C6A3F;
  --accent-2: #6F5230;
  --accent-soft: #F2E8D6;
  --gold: #A9843C;
  --gold-soft: #F5EAD2;

  --card: #FDFBF6;
  --header-bg: rgba(253, 251, 246, .94);
  --hero-grad:
    radial-gradient(900px 420px at 84% -8%, rgba(140, 106, 63, .13), transparent 62%),
    #FDFBF6;
  --hero-grid-c: rgba(46, 42, 34, .04);
  --dark-grad: linear-gradient(155deg, #2E2A22 0%, #463D2C 60%, #3A3223 100%);
  --footer-bg: #231F18;
  --ink-hover: #3B3527;
  --card-hover-bd: #D8C9AE;

  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-xl: 30px;
  --rad-btn: 999px;
  --sec-pad: 92px;

  --sh-1: 0 1px 2px rgba(46, 42, 34, .05);
  --sh-2: 0 12px 30px -16px rgba(46, 42, 34, .22);
  --sh-3: 0 28px 60px -30px rgba(46, 42, 34, .30);

  --mark-grad: linear-gradient(150deg, #8C6A3F 0%, #5E4526 100%);
  --head-ff: "Songti SC", "Source Han Serif SC", "Noto Serif SC", "SimSun", serif;
  --live: #E0BE7C;
  --on-dark-accent: #E4C48A;
  --engine-glow: rgba(140, 106, 63, .34);
  --step-bg: rgba(140, 106, 63, .24);
  --step-bd: rgba(228, 196, 138, .42);
}

/* ============================================================
   主题对基础组件的接管
   ============================================================ */
h1, h2, h3, h4 { font-family: var(--head-ff); }
[data-theme="sand"] h1,
[data-theme="sand"] h2,
[data-theme="sand"] h3,
[data-theme="sand"] h4 { letter-spacing: 0; font-weight: 700; }
[data-theme="ink"] h1 { letter-spacing: -.042em; font-weight: 800; }
[data-theme="ink"] h2 { letter-spacing: -.032em; font-weight: 800; }

.sec { padding: var(--sec-pad) 0; }
section[id] { scroll-margin-top: 90px; }
.no-anim .reveal.is-in { animation: none; }
.no-anim .ticker-track { animation: none; }

.header { background: var(--header-bg); }
.mobile-menu { background: var(--card); }
.burger { background: var(--card); border-radius: var(--r-sm); }
.btn { border-radius: var(--rad-btn); }
.btn-primary:hover { background: var(--ink-hover); }
.btn-ghost { background: var(--card); }
.btn-ghost:hover { border-color: var(--card-hover-bd); background: var(--card); }
.pill { border-radius: var(--rad-btn); }
.pill--line { background: var(--card); }

.hero { background: var(--hero-grad); }
.hero::after {
  background-image:
    linear-gradient(to right, var(--hero-grid-c) 1px, transparent 1px),
    linear-gradient(to bottom, var(--hero-grid-c) 1px, transparent 1px);
}
.logo-mark { background: var(--mark-grad); border-radius: calc(var(--r-sm) + 1px); }
.logo--img { gap: 12px; }
.logo-img {
  height: 42px;
  width: auto;
  display: block;
  flex-shrink: 0;
}
.logo-div {
  width: 1px;
  height: 24px;
  background: currentColor;
  opacity: .16;
  flex-shrink: 0;
}
.logo--img .logo-txt strong { font-size: 14.5px; letter-spacing: .05em; }
.footer .logo-img { height: 32px; filter: brightness(0) invert(1); opacity: .95; }
.footer .logo-div { background: #fff; opacity: .22; }
.logo-mark b {
  font-family: var(--ff);
  font-size: 19px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  letter-spacing: 0;
}

.preview-card { background: var(--card); }
.preview-top { background: var(--dark-grad); }
.trust-item { background: var(--card); }
.matrix-card { background: var(--card); }
.matrix-card:hover { border-color: var(--card-hover-bd); }
.matrix-icon { border-radius: var(--r-sm); }
.price-card { background: var(--card); }
.price-card:hover { border-color: var(--card-hover-bd); }
.adv-wrap .adv-card { background: var(--card); }
.adv-wrap { border-radius: var(--r-lg); }
.engine { background: var(--dark-grad); }
.engine::before { background: radial-gradient(circle, var(--engine-glow), transparent 68%); }
.engine-step i { background: var(--step-bg); border-color: var(--step-bd); color: var(--on-dark-accent); }
.eyebrow--light { color: var(--on-dark-accent); }
.stat-band .s b i { color: var(--on-dark-accent); }
.pledge-top .tag i { background: var(--live); box-shadow: 0 0 0 3px rgba(255, 255, 255, .12); }
.phase-tab.is-active { background: var(--card); }
.phase-item { background: var(--card); }
.flow-dot { background: var(--card); }
.quote-card { background: var(--card); }
.art-card { background: var(--card); }
.acc-panel > div { color: var(--body); }
.cta-band { background: radial-gradient(600px 300px at 88% 10%, rgba(255, 255, 255, .10), transparent 65%), var(--ink); }
.footer { background: var(--footer-bg); }

.step-no { background: var(--card); border-radius: var(--r-sm); }
.opt { background: var(--card); }
.opt.is-selected { background: var(--accent-soft); }
.chip { background: var(--card); }
.rec-card { background: var(--card); }
.filter-bar { background: var(--card); }
.svc-card { background: var(--card); }
.order-item { background: var(--card); }
.order-panel { background: var(--card); }
.advisor { background: var(--card); }
.k-news-item { background: var(--card); }
.k-search { background: var(--card); }
.pack-card { background: var(--card); }
.modal { background: var(--card); border-radius: var(--r-lg); }
.field input, .field .row2 button { background: var(--card); border-radius: var(--r-sm); }
.field .row2 button { border-radius: var(--r-sm); }
.toast { border-radius: var(--r-sm); }
.cart-bar { background: var(--card); }
.page-head {
  background:
    radial-gradient(700px 300px at 85% 0%, var(--accent-soft), transparent 62%),
    var(--bg);
}
.cart-inner .cart-total b { color: var(--ink); }

/* 墨黑风格：去掉彩色光晕，改用硬边框 */
[data-theme="ink"] .hero { background: #fff; }
[data-theme="ink"] .hero::after { display: none; }
[data-theme="ink"] .engine,
[data-theme="ink"] .cta-band,
[data-theme="ink"] .preview-top { background: #101113; }
[data-theme="ink"] .btn-accent { box-shadow: none; }
[data-theme="ink"] .matrix-card,
[data-theme="ink"] .price-card,
[data-theme="ink"] .svc-block,
[data-theme="ink"] .promise { border-color: #D6D6CF; }
[data-theme="ink"] .sec-head h2 { text-transform: none; }
[data-theme="ink"] .eyebrow { letter-spacing: .18em; color: var(--ink); }
[data-theme="ink"] .eyebrow::before { width: 24px; }
[data-theme="ink"] .hero h1 em {
  color: var(--ink);
  background: linear-gradient(transparent 66%, #E7E7DF 66%);
  padding: 0 3px;
}

/* 朱砂金：标题更硬朗，卡片顶部加一条朱砂细线 */
[data-theme="cinnabar"] .sec-head h2 { letter-spacing: -.01em; }
[data-theme="cinnabar"] .hero h1 em { color: var(--accent); }
[data-theme="cinnabar"] .price-card { border-top: 2px solid rgba(192, 57, 43, .5); }

/* ============================================================
   首页 Hero — 服务承诺卡
   ============================================================ */
.pledge-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-3);
  overflow: hidden;
}
.pledge-top {
  padding: 20px 24px 18px;
  background: var(--dark-grad);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.pledge-top .row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pledge-top .t {
  flex: 1;
  min-width: 0;
  font-size: 11px;
  letter-spacing: .16em;
  font-weight: 600;
  color: rgba(255, 255, 255, .55);
}
.pledge-top .tag {
  display: inline-flex;
  white-space: nowrap;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: rgba(255, 255, 255, .8);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  padding: 2px 9px;
}
.pledge-top .tag i {
  width: 5px; height: 5px; border-radius: 50%;
  background: #4FD8C2;
  box-shadow: 0 0 0 3px rgba(79, 216, 194, .18);
}
.pledge-top h2 {
  margin-top: 14px;
  font-size: 21px;
  color: #fff;
  letter-spacing: -.01em;
}
.pledge-top p {
  margin-top: 6px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, .6);
}
.pledge-body { padding: 6px 24px 4px; }
.pledge-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px dashed var(--line);
}
.pledge-row:last-child { border-bottom: 0; }
.pledge-ico {
  width: 30px; height: 30px;
  border-radius: var(--r-sm);
  background: var(--accent-soft);
  color: var(--accent-2);
  display: grid; place-items: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.pledge-ico svg { width: 15px; height: 15px; }
.pledge-row strong { display: block; font-size: 13.6px; color: var(--ink); font-weight: 600; }
.pledge-row span { display: block; font-size: 11.8px; color: var(--muted); line-height: 1.6; }
.pledge-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 24px;
  background: var(--bg);
  border-top: 1px solid var(--line-2);
}
.pledge-foot .kv { display: flex; gap: 22px; }
.pledge-foot .kv div small { display: block; font-size: 10px; color: var(--muted); }
.pledge-foot .kv div b {
  font-size: 15px; color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.pledge-foot a {
  font-size: 12.5px; font-weight: 600; color: var(--accent-2);
  display: inline-flex; align-items: center; gap: 5px;
  white-space: nowrap;
}

/* ============================================================
   业务范围
   ============================================================ */
.scope-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.scope-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 22px 22px 20px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  overflow: hidden;
}
.scope-card:hover { transform: translateY(-3px); box-shadow: var(--sh-2); border-color: var(--card-hover-bd); }
.scope-card::after {
  content: "";
  position: absolute;
  right: -40px; bottom: -46px;
  width: 120px; height: 120px;
  border-radius: 50%;
  background: var(--accent-soft);
  opacity: .38;
  pointer-events: none;
}
.scope-hd { display: flex; align-items: center; gap: 11px; position: relative; z-index: 1; }
.scope-code {
  width: 38px; height: 26px;
  border-radius: var(--r-sm);
  background: var(--ink);
  color: #fff;
  display: grid; place-items: center;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .04em;
  flex-shrink: 0;
}
.scope-hd h3 { font-size: 16px; line-height: 1.2; }
.scope-hd .en {
  display: block;
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--muted);
  font-weight: 600;
  margin-top: 2px;
}
.scope-tags {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 15px;
  margin-bottom: 14px;
}
.scope-tags .tg {
  font-size: 11px;
  line-height: 1;
  padding: 6px 7px;
  border-radius: calc(var(--r-sm) - 1px);
  background: var(--bg);
  border: 1px solid var(--line-2);
  color: var(--body);
  white-space: nowrap;
}
.scope-tags .tg--key {
  background: var(--accent-soft);
  border-color: transparent;
  color: var(--accent-2);
  font-weight: 600;
}
.scope-meta {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px dashed var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 11.5px;
  color: var(--muted);
}
.scope-meta b { color: var(--ink); font-size: 12.5px; font-variant-numeric: tabular-nums; }

/* 能力矩阵表 */
.cap-wrap {
  margin-top: 26px;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--card);
  overflow: hidden;
}
.cap-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--line-2);
  background: var(--bg);
}
.cap-head h3 { font-size: 14.5px; }
.cap-head span { font-size: 11.5px; color: var(--muted); }
.cap-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cap-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  font-size: 12.8px;
}
.cap-table th, .cap-table td {
  padding: 12px 10px;
  text-align: center;
  border-bottom: 1px solid var(--line-2);
  white-space: nowrap;
}
.cap-table th {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: .02em;
}
.cap-table th:first-child, .cap-table td:first-child {
  text-align: left;
  padding-left: 22px;
  position: sticky;
  left: 0;
  background: var(--card);
  z-index: 1;
  font-weight: 600;
  color: var(--ink);
}
.cap-table tbody tr:last-child td { border-bottom: 0; }
.cap-table tbody tr:hover td { background: var(--bg); }
.cap-table tbody tr:hover td:first-child { background: var(--bg); }
.cap-table td .y {
  display: inline-grid;
  place-items: center;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--accent-soft);
  color: var(--accent-2);
  font-size: 10px;
  font-weight: 700;
}
.cap-table td .n { color: #C3CCD9; }
[data-theme="cinnabar"] .cap-table td .n,
[data-theme="sand"] .cap-table td .n { color: #CBBBA8; }
[data-theme="ink"] .cap-table td .n { color: #C9C9C2; }

/* ============================================================
   服务清单（八项服务）
   ============================================================ */
.svc-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.svc-block {
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 22px 20px 20px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.svc-block:hover { transform: translateY(-3px); box-shadow: var(--sh-2); border-color: var(--card-hover-bd); }
.svc-hd { display: flex; align-items: flex-start; gap: 11px; }
.svc-ico {
  width: 38px; height: 38px;
  border-radius: var(--r-sm);
  background: var(--accent-soft);
  color: var(--accent-2);
  display: grid; place-items: center;
  flex-shrink: 0;
}
.svc-ico svg { width: 19px; height: 19px; }
.svc-hd h3 { font-size: 15px; line-height: 1.35; }
.svc-hd .sub { font-size: 11.5px; color: var(--muted); margin-top: 3px; display: block; line-height: 1.5; }
.svc-items {
  list-style: none;
  padding: 13px 0 0;
  margin: 14px 0 0;
  border-top: 1px dashed var(--line);
  flex: 1;
}
.svc-items li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 12.3px;
  color: var(--body);
  padding: 3.5px 0;
}
.svc-items li em {
  font-style: normal;
  color: var(--muted);
  font-size: 11.5px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.svc-bottom {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--line-2);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
}
.svc-bottom .pr small { display: block; font-size: 10.5px; color: var(--muted); }
.svc-bottom .pr b {
  font-size: 19px;
  color: var(--ink);
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.svc-bottom .pr b i { font-style: normal; font-size: 11px; color: var(--muted); font-weight: 500; }
.svc-bottom a {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent-2);
  white-space: nowrap;
}

/* ============================================================
   服务保证
   ============================================================ */
.promise-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.promise {
  position: relative;
  background: var(--card);
  padding: 28px 26px 26px;
  overflow: hidden;
}
.promise .pn {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  color: var(--accent-2);
}
.promise h3 {
  margin-top: 12px;
  font-size: 17px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.promise p {
  margin-top: 9px;
  font-size: 13.2px;
  line-height: 1.75;
  color: var(--muted);
}
.promise .seal {
  position: absolute;
  right: 20px; top: 22px;
  width: 54px; height: 54px;
  border-radius: 50%;
  border: 1.5px solid var(--seal);
  color: var(--seal);
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 9px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .08em;
  transform: rotate(-11deg);
  opacity: .42;
  pointer-events: none;
}
.promise .seal b { display: block; font-size: 14px; letter-spacing: .04em; }

.promise-bar {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.promise-bar .pb {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px 16px;
  border: 1px dashed var(--line);
  border-radius: var(--r-md);
  background: var(--card);
}
.promise-bar .pb svg { flex-shrink: 0; margin-top: 2px; color: var(--accent-2); }
.promise-bar .pb strong { display: block; font-size: 12.8px; color: var(--ink); }
.promise-bar .pb span { font-size: 11.3px; color: var(--muted); line-height: 1.6; }

/* ============================================================
   荣誉证书
   ============================================================ */
.cert-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.cert {
  position: relative;
  padding: 8px;
  background: linear-gradient(180deg, #FFFEFA 0%, #FBF5E8 100%);
  border: 1px solid var(--cert-line);
  border-radius: 3px;
  box-shadow: 0 12px 30px -22px rgba(60, 44, 20, .55);
  cursor: zoom-in;
  transition: transform .22s ease, box-shadow .22s ease;
  text-align: center;
}
.cert:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -24px rgba(60, 44, 20, .5); }
.cert::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(169, 118, 47, .32);
  pointer-events: none;
}
.cert-in {
  position: relative;
  padding: 22px 16px 20px;
  border: 1px solid rgba(169, 118, 47, .16);
  background-image:
    repeating-linear-gradient(45deg, rgba(169, 118, 47, .035) 0 1px, transparent 1px 9px);
}
.cert-kind {
  font-size: 9px;
  letter-spacing: .32em;
  color: var(--cert-gold);
  font-weight: 700;
}
.cert-in h4 {
  margin-top: 10px;
  font-family: "Songti SC", "Source Han Serif SC", "SimSun", serif;
  font-size: 15.5px;
  line-height: 1.45;
  color: var(--cert-ink);
  font-weight: 700;
}
.cert-sub {
  margin-top: 7px;
  font-size: 11.2px;
  color: var(--cert-muted);
  line-height: 1.6;
}
.cert-line {
  width: 40px; height: 1px;
  background: rgba(169, 118, 47, .38);
  margin: 12px auto 10px;
}
.cert-no {
  font-size: 9.6px;
  color: #A2916F;
  letter-spacing: .04em;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
}
.cert-issuer {
  margin-top: 4px;
  font-size: 10.5px;
  color: var(--cert-muted);
}
.cert-seal {
  position: absolute;
  right: 10px; bottom: 8px;
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 2px solid rgba(176, 58, 46, .5);
  color: rgba(176, 58, 46, .62);
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 7.4px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .06em;
  transform: rotate(-13deg);
}
.cert-seal b { display: block; font-size: 11px; }
.cert-tip {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 7px;
  font-size: 10.5px;
  color: #8E7C5A;
  background: rgba(251, 245, 232, .92);
  border-top: 1px solid rgba(169, 118, 47, .2);
  opacity: 0;
  transition: opacity .2s ease;
}
.cert:hover .cert-tip { opacity: 1; }

/* 荣誉墙 */
.honor-strip {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.honor {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--card);
}
.honor .medal {
  width: 34px; height: 34px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--gold-soft);
  color: var(--gold);
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 700;
}
.honor strong { display: block; font-size: 12.6px; color: var(--ink); line-height: 1.4; }
.honor span { display: block; font-size: 10.8px; color: var(--muted); margin-top: 2px; }

/* 证书放大 */
.cert-zoom {
  position: fixed;
  inset: 0;
  z-index: 220;
  display: none;
  place-items: center;
  padding: 24px;
  background: rgba(10, 16, 24, .74);
  backdrop-filter: blur(3px);
}
.cert-zoom.is-on { display: grid; }
.cert-zoom-card {
  width: min(520px, 94vw);
  background: linear-gradient(180deg, #FFFEFA, #FBF5E8);
  border: 1px solid var(--cert-line);
  padding: 14px;
  position: relative;
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6);
}
.cert-zoom-card .cert-in { padding: 40px 30px 36px; }
.cert-zoom-card .cert-in h4 { font-size: 23px; margin-top: 16px; }
.cert-zoom-card .cert-sub { font-size: 13px; margin-top: 12px; }
.cert-zoom-card .cert-no { font-size: 11px; margin-top: 8px; }
.cert-zoom-card .cert-issuer { font-size: 12px; margin-top: 8px; }
.cert-zoom-card .cert-seal { width: 86px; height: 86px; font-size: 9px; right: 18px; bottom: 16px; }
.cert-zoom-card .cert-seal b { font-size: 18px; }
.cert-zoom-note {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed rgba(169, 118, 47, .28);
  text-align: center;
  font-size: 11px;
  color: #8B7B5D;
}
.cert-zoom-close {
  position: absolute;
  right: -14px; top: -14px;
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  color: #333;
  font-size: 18px;
  line-height: 1;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .3);
}

/* ============================================================
   信赖保证
   ============================================================ */
.trust-figures {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 30px;
}
.trust-figures .tf { background: var(--card); padding: 24px 26px; }
.trust-figures .tf b {
  display: block;
  font-size: 30px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -.03em;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.trust-figures .tf b i { font-style: normal; font-size: 14px; color: var(--accent-2); }
.trust-figures .tf span { display: block; margin-top: 6px; font-size: 12px; color: var(--muted); }

.client-wall {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1px;
  background: var(--line-2);
  border: 1px solid var(--line-2);
  border-radius: var(--r-md);
  overflow: hidden;
  margin-top: 18px;
}
.client-wall .cw {
  background: var(--card);
  height: 84px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 8px;
  transition: background .2s ease;
}
.client-wall .cw:hover { background: var(--bg); }
.client-wall .cw b {
  display: block;
  font-size: 13px;
  color: var(--ink);
  letter-spacing: .02em;
  font-weight: 700;
  opacity: .72;
}
.client-wall .cw span {
  display: block;
  font-size: 9px;
  letter-spacing: .18em;
  color: var(--muted);
  margin-top: 3px;
  opacity: .8;
}

.verify-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 18px;
}
.verify {
  position: relative;
  padding: 24px 22px 22px;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--card);
}
.verify .vn {
  position: absolute;
  right: 18px; top: 14px;
  font-size: 34px;
  font-weight: 800;
  color: var(--ink);
  opacity: .07;
  line-height: 1;
  letter-spacing: -.04em;
}
.verify h4 { font-size: 14.5px; }
.verify p { margin-top: 8px; font-size: 12.6px; color: var(--muted); line-height: 1.7; }
.verify .vlink {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--accent-2);
}

.pay-row {
  margin-top: 30px;
  padding: 18px 22px;
  border: 1px dashed var(--line);
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  background: var(--card);
}
.pay-row .pl { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pay-row .pl strong { font-size: 12.8px; color: var(--ink); margin-right: 4px; }
.pay-chip {
  font-size: 11.5px;
  padding: 5px 10px;
  border-radius: var(--rad-btn);
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--body);
}
.pay-row .pr-note { font-size: 11.5px; color: var(--muted); }

/* ============================================================
   风格切换器
   ============================================================ */
.themebar {
  position: fixed;
  right: 22px;
  bottom: 24px;
  z-index: 150;
  font-family: var(--ff);
}
body[data-page="services"] .themebar { bottom: 26px; }
.themebar-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 0 16px 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: var(--ink);
  color: #fff;
  font-size: 12.8px;
  font-weight: 600;
  box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .55);
  transition: transform .18s ease, box-shadow .18s ease;
}
.themebar-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 34px -14px rgba(0, 0, 0, .55); }
.cart-bar.is-on ~ .themebar { bottom: 100px; }
.themebar-btn .tb-ico {
  width: 22px; height: 22px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255, 255, 255, .14);
}
.themebar-btn .tb-ico svg { width: 13px; height: 13px; }
.themebar-btn .tb-caret {
  font-size: 9px;
  opacity: .6;
  transition: transform .2s ease;
}
.themebar.is-open .tb-caret { transform: rotate(180deg); }

.theme-panel {
  position: absolute;
  right: 0;
  bottom: 52px;
  width: 296px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45);
  padding: 14px;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px) scale(.98);
  transform-origin: bottom right;
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.themebar.is-open .theme-panel { opacity: 1; visibility: visible; transform: none; }
.theme-panel .tp-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 2px 4px 10px;
}
.theme-panel .tp-head strong { font-size: 13px; color: var(--ink); }
.theme-panel .tp-head span { font-size: 10.5px; color: var(--muted); }
.theme-list { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.tp-group {
  grid-column: 1 / -1;
  padding: 9px 4px 3px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .14em;
  color: var(--muted);
  text-transform: uppercase;
}
.tp-group:first-child { padding-top: 2px; }
.theme-opt {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 8px 9px;
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  background: transparent;
  text-align: left;
  transition: background .16s ease, border-color .16s ease;
  width: 100%;
}
.theme-opt:hover { background: var(--bg); }
.theme-opt.is-active { border-color: var(--line); background: var(--bg); }
.to-top { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.to-dots { display: flex; gap: 2px; flex-shrink: 0; }
.to-dots i {
  width: 15px; height: 6px;
  display: block;
  border-radius: 2px;
}
.to-dots i:first-child { border-radius: 3px 1px 1px 3px; }
.to-dots i:last-child { border-radius: 1px 3px 3px 1px; }
.to-txt { min-width: 0; }
.to-txt strong { display: block; font-size: 12px; color: var(--ink); font-weight: 600; }
.to-txt em { display: block; font-style: normal; font-size: 9.8px; color: var(--muted); margin-top: 1px; }
.theme-opt .to-check {
  width: 13px; height: 13px;
  border-radius: 50%;
  border: 1px solid var(--line);
  flex-shrink: 0;
  display: grid; place-items: center;
  color: transparent;
  font-size: 8px;
}
.theme-opt.is-active .to-check { background: var(--ink); border-color: var(--ink); color: #fff; }
.theme-panel .tp-note {
  margin-top: 10px;
  padding: 10px 4px 2px;
  border-top: 1px solid var(--line-2);
  font-size: 10.5px;
  color: var(--muted);
  line-height: 1.6;
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1080px) {
  .svc-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .scope-grid { grid-template-columns: repeat(2, 1fr); }
  .promise-grid { grid-template-columns: repeat(2, 1fr); }
  .promise-bar { grid-template-columns: repeat(2, 1fr); }
  .cert-grid { grid-template-columns: repeat(2, 1fr); }
  .honor-strip { grid-template-columns: repeat(2, 1fr); }
  .client-wall { grid-template-columns: repeat(4, 1fr); }
  .trust-figures { grid-template-columns: repeat(2, 1fr); }
  .verify-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .sec { padding: 62px 0; }
  .svc-grid-4 { grid-template-columns: 1fr; }
  .scope-grid { grid-template-columns: 1fr; }
  .promise-grid { grid-template-columns: 1fr; }
  .promise-bar { grid-template-columns: 1fr; }
  .cert-grid { grid-template-columns: 1fr; }
  .honor-strip { grid-template-columns: 1fr; }
  .client-wall { grid-template-columns: repeat(2, 1fr); }
  .trust-figures { grid-template-columns: repeat(2, 1fr); }
  .trust-figures .tf { padding: 18px 18px; }
  .trust-figures .tf b { font-size: 24px; }
  .pledge-foot { flex-direction: column; align-items: flex-start; gap: 10px; }
  .pledge-foot .kv { gap: 18px; }
  .cap-table th:first-child, .cap-table td:first-child { padding-left: 16px; }
  .themebar { right: 14px; bottom: 14px; }
  .themebar-btn { height: 40px; padding: 0 13px 0 10px; font-size: 12px; }
  .theme-panel { width: min(280px, calc(100vw - 28px)); }
  .cert-tip { opacity: 1; }
  .promise .seal { width: 46px; height: 46px; font-size: 8px; }
  .pay-row { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* 移动端：压缩 logo 与头部按钮，避免横向溢出 */
@media (max-width: 640px) {
  .header-inner { gap: 10px; }
  .logo--img { gap: 8px; }
  .logo-img { height: 30px; }
  .logo--img .logo-txt strong { font-size: 12.5px; }
  .logo--img .logo-txt span { display: none; }
  .logo-div { height: 18px; }
  .header-right { gap: 10px; }
  .header-right .btn { height: 34px; padding: 0 12px; font-size: 12.5px; }
  .burger { width: 36px; height: 36px; }
}

@media (max-width: 340px) {
  .header-right .btn { display: none; }
}

/* ============================================================
   服务卡：交付口径（原价格位改为「含什么 · 怎么交付」）
   ============================================================ */
.svc-lead {
  margin-top: 14px;
  padding: 2px 0 2px 11px;
  border-left: 3px solid var(--accent);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.55;
  letter-spacing: .01em;
}
.svc-card:hover .svc-lead { border-left-color: var(--gold); }

@media (max-width: 480px) {
  .svc-lead { font-size: 13px; }
}

/* ============================================================
   语言切换（简体 / 繁體 / English）
   ============================================================ */
.lang-sw { position: relative; flex-shrink: 0; }
.lang-sw-btn {
  display: inline-flex; align-items: center; gap: 7px;
  height: 38px; padding: 0 10px 0 11px;
  border: 1px solid var(--line); border-radius: 10px;
  background: var(--card, #fff); color: var(--ink);
  font: inherit; font-size: 12.5px; font-weight: 600;
  cursor: pointer; transition: border-color .16s, color .16s;
}
.lang-sw-btn:hover { border-color: var(--accent); color: var(--accent); }
.lang-ico { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; opacity: .8; }
.lang-cur { letter-spacing: .04em; }
.lang-caret {
  width: 0; height: 0; opacity: .45;
  border-left: 3.5px solid transparent; border-right: 3.5px solid transparent;
  border-top: 4px solid currentColor; transition: transform .18s;
}
.lang-sw.is-open .lang-caret { transform: rotate(180deg); }
.lang-menu {
  position: absolute; top: calc(100% + 8px); right: 0; min-width: 148px; padding: 5px;
  background: var(--card, #fff); border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 20px 42px -20px rgba(11, 37, 69, .38);
  opacity: 0; visibility: hidden; transform: translateY(-4px); z-index: 130;
  transition: opacity .16s, transform .16s, visibility .16s;
}
.lang-sw.is-open .lang-menu { opacity: 1; visibility: visible; transform: none; }
.lang-menu button {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  width: 100%; padding: 8px 10px; border: 0; border-radius: 8px; background: none;
  color: var(--body); font: inherit; font-size: 12.5px; text-align: left; cursor: pointer;
}
.lang-menu button:hover { background: var(--bg); color: var(--ink); }
.lang-menu button em { font-style: normal; font-size: 10.5px; color: var(--muted); letter-spacing: .06em; }
.lang-menu button.is-on { color: var(--accent); font-weight: 700; }
.lang-menu button.is-on em { color: var(--accent); }

@media (max-width: 900px) {
  .lang-sw-btn { gap: 6px; height: 34px; padding: 0 9px; }
}
@media (max-width: 640px) {
  .lang-cur { display: none; }
  .lang-sw-btn { padding: 0 8px; }
}

/* 英文模式：印章字号适配（英文比两字中文长） */
[data-lang="en"] .cert-seal { font-size: 6.6px; letter-spacing: .02em; }
[data-lang="en"] .cert-seal b { font-size: 7.6px; letter-spacing: .04em; }
[data-lang="en"] .cert-zoom-card .cert-seal { font-size: 8px; }
[data-lang="en"] .cert-zoom-card .cert-seal b { font-size: 11px; }

/* 移动端：语言按钮与英文 CTA 收紧，保证不横向溢出 */
@media (max-width: 640px) {
  .header-tel { display: none; }
  .lang-sw-btn { width: 34px; height: 34px; padding: 0; justify-content: center; }
  .lang-cur, .lang-caret { display: none; }
  [data-lang="en"] .header-right .btn { padding: 0 10px; font-size: 11.5px; }
  [data-lang="en"] .logo--img .logo-txt strong { font-size: 11px; }
  [data-lang="en"] .logo-img { height: 26px; }
}

@media (max-width: 640px) {
  [data-lang="en"] .logo--img .logo-txt,
  [data-lang="en"] .logo-div { display: none; }
}

/* 英文排版微调 */
.header-tel { white-space: nowrap; }
[data-lang="en"] .nav a { white-space: nowrap; }
[data-lang="en"] .header-inner { gap: 22px; }
@media (max-width: 1180px) {
  [data-lang="en"] .header-tel span { display: none; }
}

/* 英文导航更紧凑，避免 1440 下头部横向溢出 */
[data-lang="en"] .nav { gap: 16px; }
[data-lang="en"] .nav a { font-size: 13.2px; }
[data-lang="en"] .header-right { gap: 12px; }
[data-lang="en"] .header-inner { gap: 18px; }
@media (max-width: 1320px) {
  [data-lang="en"] .nav { gap: 12px; }
  [data-lang="en"] .nav a { font-size: 12.6px; }
}

/* 英文头部：英文标签更长，收起热线与副标，保住导航单行 */
[data-lang="en"] .header-tel { display: none; }
[data-lang="en"] .logo--img .logo-txt span { display: none; }
[data-lang="en"] .logo--img .logo-txt strong { font-size: 13px; letter-spacing: .02em; }
[data-lang="en"] .logo-img { height: 38px; }
[data-lang="en"] .nav { gap: 15px; }
[data-lang="en"] .nav a { font-size: 13px; }
