/* ============================================================
   賢滙 Sage — V27 統一設計系統（紅／白／啡木色系，無 dark mode）
   Additive：只補統一 token、按鈕/卡片 hover、以及新區塊樣式；
   不覆寫既有版面。全站於 v24.css 之後載入。
   ============================================================ */

/* ---------- 設計 token（品牌色 / 間距 / 圓角 / 陰影）---------- */
:root {
  --sage-red: #B3262E;
  --sage-red-dark: #8E1B23;
  --sage-wood: #7D4530;
  --sage-wood-dark: #5E331F;
  --sage-cream: #F4EFE5;
  --sage-paper: #FBFAF7;
  --sage-ink: #1A1A1A;
  --sage-muted: #6B5D54;
  --sage-line: #E8E0D2;
  --sage-gold: #C9985A;
  /* 間距梯度 */
  --sp-1: .5rem; --sp-2: 1rem; --sp-3: 1.5rem; --sp-4: 2rem; --sp-6: 3rem; --sp-8: 4rem;
  /* 圓角 */
  --rad-sm: 10px; --rad: 14px; --rad-lg: 20px; --rad-pill: 999px;
  /* 陰影 */
  --sh-1: 0 1px 2px rgba(125,69,48,.05), 0 6px 18px rgba(125,69,48,.07);
  --sh-2: 0 6px 16px rgba(94,51,31,.10), 0 20px 44px rgba(94,51,31,.10);
}

/* ---------- 統一互動：平滑 transition ---------- */
a, button, .btn, .btn-primary, .wa, .form,
.card, .kbfaq-item, [class*="card"] {
  transition: color .2s ease, background-color .2s ease, border-color .2s ease,
              box-shadow .25s ease, transform .2s ease;
}

/* ---------- 統一卡片 hover（輕微浮起，不改版面）---------- */
.svc-card:hover, .service-card:hover, .card:hover,
.v27-stat:hover, .v27-tst-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--sh-2);
}

/* ---------- 數據亮點區（真實賣點）---------- */
.v27-stats { background: var(--sage-paper); border-top: 1px solid var(--sage-line);
  border-bottom: 1px solid var(--sage-line); padding: clamp(56px, 6vw, 88px) 24px; }
.v27-stats .in { max-width: 1120px; margin: 0 auto; }
.v27-stats .eyebrow { text-align: center; font-size: 12px; letter-spacing: 2.5px;
  text-transform: uppercase; color: var(--sage-red); font-weight: 700; margin-bottom: 10px; }
.v27-stats h2 { text-align: center; font-family: "Noto Serif HK","Songti SC",serif;
  font-size: clamp(24px, 3vw, 34px); font-weight: 700; color: var(--sage-ink);
  margin: 0 0 8px; text-wrap: balance; }
.v27-stats .sub { text-align: center; color: var(--sage-muted); font-size: 15px;
  line-height: 1.7; max-width: 640px; margin: 0 auto 40px; text-wrap: pretty; }
.v27-stat-grid { display: grid; gap: clamp(14px, 1.6vw, 22px);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.v27-stat { background: #fff; border: 1px solid var(--sage-line); border-radius: var(--rad);
  padding: 26px 22px; text-align: center; box-shadow: var(--sh-1);
  display: flex; flex-direction: column; align-items: center; gap: 8px; }
.v27-stat .ic { width: 42px; height: 42px; border-radius: 12px; display: grid;
  place-items: center; background: #FCE8E9; color: var(--sage-red); margin-bottom: 4px; }
.v27-stat .ic svg { width: 22px; height: 22px; }
.v27-stat .big { font-family: "Noto Serif HK","Songti SC",serif; font-size: clamp(19px,2.2vw,23px);
  font-weight: 800; color: var(--sage-ink); line-height: 1.25; }
.v27-stat .lbl { font-size: 13.5px; color: var(--sage-muted); line-height: 1.6; }

/* ---------- 客戶見證區（placeholder，明確標示）---------- */
.v27-tst { background: linear-gradient(180deg, #fff 0%, var(--sage-cream) 100%);
  padding: clamp(52px, 6vw, 84px) 24px; }
.v27-tst .in { max-width: 1120px; margin: 0 auto; }
.v27-tst .eyebrow { text-align: center; font-size: 12px; letter-spacing: 2.5px;
  text-transform: uppercase; color: var(--sage-red); font-weight: 700; margin-bottom: 10px; }
.v27-tst h2 { text-align: center; font-family: "Noto Serif HK","Songti SC",serif;
  font-size: clamp(24px, 3vw, 34px); font-weight: 700; color: var(--sage-ink);
  margin: 0 0 8px; text-wrap: balance; }
.v27-tst .sub { text-align: center; color: var(--sage-muted); font-size: 14px;
  line-height: 1.7; max-width: 620px; margin: 0 auto 40px; }
.v27-tst-grid { display: grid; gap: clamp(16px, 2vw, 24px);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); align-items: stretch; }
.v27-tst-card { background: #fff; border: 1px solid var(--sage-line); border-radius: var(--rad-lg);
  padding: 28px 26px; box-shadow: var(--sh-1); display: flex; flex-direction: column; height: 100%; }
.v27-tst-card .quote { font-size: 30px; line-height: 1; color: var(--sage-gold);
  font-family: Georgia, serif; margin-bottom: 8px; }
.v27-tst-card .body { font-size: 14.5px; color: var(--sage-ink); line-height: 1.85; flex: 1; }
.v27-tst-card .ph { display: inline-block; margin-bottom: 10px; font-size: 11px; font-weight: 700;
  letter-spacing: 1px; color: var(--sage-red); background: #FCE8E9; padding: 4px 10px; border-radius: var(--rad-pill); }
.v27-tst-card .who { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--sage-line);
  font-size: 13px; color: var(--sage-muted); }
.v27-tst-card .who strong { color: var(--sage-ink); font-weight: 600; }
.v27-tst .note { text-align: center; font-size: 12.5px; color: var(--sage-muted);
  margin-top: 28px; font-style: italic; }
