/* ============================================================
   茲茲文教首頁 — 精品設計層
   只在首頁 index.html 載入,覆蓋 style.css 中的首頁區塊樣式
   ============================================================ */

:root {
  --font-serif: 'Noto Serif TC', 'Cormorant Garamond', serif;
  /* 細金線常用 */
  --gold-line: linear-gradient(90deg, transparent, var(--tzutzu-gold), transparent);
}

/* ============================================================
   全頁 padding 調整(只首頁套用 — 透過 body 上的 class 控制)
   ============================================================ */
body.luxury main { padding-top: 90px; }
body.luxury section.block { padding: 120px 60px; }

/* 容器寬度限制 */
body.luxury .container { max-width: 1240px; margin: 0 auto; }

/* ============================================================
   HERO 區
   ============================================================ */
body.luxury .hero {
  background: #FFFFFF;
  min-height: 100vh;
  display: grid;
  grid-template-columns: 0.8fr 1.15fr;  /* 主視覺欄較寬,放大插圖 */
  gap: 48px;
  align-items: center;
  padding: 72px 72px 64px;
  max-width: 1540px;
  margin: 0 auto;
  position: relative;
  overflow: visible;
}
body.luxury .hero::before { display: none; }
body.luxury .hero-bg { display: none; }

/* 左上儀式標記 (EST. 2014 ── TZUTZU) */
body.luxury .hero::after {
  content: 'EST. 2014';
  position: absolute;
  top: 50px;
  left: 80px;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 6px;
  color: var(--tzutzu-brown);
  font-weight: 600;
}

/* Hero 內容區 */
body.luxury .hero-inner {
  max-width: none;
  padding-top: 24px;
}

/* 上方 eyebrow:短金線 + 中文小標 */
body.luxury .hero-eyebrow {
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 8px;
  color: var(--tzutzu-brown);
  font-weight: 600;
  margin-bottom: 28px;
  display: inline-block;
  position: relative;
  padding-left: 40px;
}
body.luxury .hero-eyebrow::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  width: 28px; height: 1px;
  background: var(--tzutzu-gold);
}

/* 大標題:襯線體、不要過粗、不換行 */
body.luxury .hero h1 {
  font-family: var(--font-serif);
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.2;
  font-weight: 500;  /* 從 700 降到 500,更精緻 */
  letter-spacing: 1px;
  color: var(--tzutzu-brown-title);
  margin-bottom: 26px;
  white-space: nowrap;
}
body.luxury .hero h1 .gold {
  color: var(--tzutzu-gold);
  font-weight: 500;
  font-style: normal;
}
/* accent 不再用紅色,統一棕色;只保留 .gold 作為唯一強調 */
body.luxury .hero h1 .accent {
  color: var(--tzutzu-brown-title);
  font-weight: 500;
}

/* 細金線分隔 */
body.luxury .hero h1 + .hero-positioning::before {
  content: '';
  display: block;
  width: 80px;
  height: 1px;
  background: var(--gold-line);
  margin-bottom: 22px;
}

/* 副標小卡片 → 改成乾淨的中文小標 */
body.luxury .hero-positioning {
  font-family: var(--font-sans);
  font-size: 14px;
  letter-spacing: 6px;
  color: var(--tzutzu-brown);
  background: none;
  border: none;
  padding: 0;
  margin-bottom: 18px;
  font-weight: 500;
  display: block;
}

/* tagline 內文 */
body.luxury .hero-tagline {
  font-family: var(--font-sans);
  font-size: 15px;
  color: var(--tzutzu-brown);
  line-height: 1.7;
  letter-spacing: 1.5px;
  margin-bottom: 36px;
  max-width: 540px;
  font-weight: 400;
}
body.luxury .hero-tagline .nowrap { white-space: nowrap; }

/* 按鈕區:方角、精品文案 */
body.luxury .hero-actions {
  display: flex;
  gap: 16px;
  margin-bottom: 0;
}
body.luxury .hero .btn {
  border-radius: 2px;  /* 從 100px → 2px */
  padding: 18px 36px;
  font-size: 13px;
  letter-spacing: 5px;
  font-weight: 600;
  transition: all 0.3s;
}
body.luxury .hero .btn-line {
  background: #06C755;  /* LINE 品牌綠 */
  color: white;
  border: 1px solid #06C755;
}
body.luxury .hero .btn-line:hover {
  background: #05A648;
  border-color: #05A648;
  transform: none;
}
body.luxury .hero .btn-secondary {
  background: transparent;
  color: var(--tzutzu-brown-title);
  border: 1px solid var(--tzutzu-gold);
}
body.luxury .hero .btn-secondary:hover {
  background: var(--tzutzu-gold);
  color: white;
  transform: none;
}

/* Hero 插圖容器 — HTML 上插圖是 hero 直接子元素。
   桌機版:hero-inner 用 display:contents,讓文字子元素升級為 hero grid 直接項目。
   文字佔第一欄,插圖佔第二欄並跨滿文字列高。 */
body.luxury .hero {
  grid-template-rows: repeat(5, auto);
}
body.luxury .hero-inner {
  display: contents;
}
body.luxury .hero-eyebrow { grid-column: 1; grid-row: 1; }
body.luxury .hero h1 { grid-column: 1; grid-row: 2; }
body.luxury .hero-positioning { grid-column: 1; grid-row: 3; }
body.luxury .hero-tagline { grid-column: 1; grid-row: 4; }
body.luxury .hero-actions { grid-column: 1; grid-row: 5; }
body.luxury .hero-illustration {
  grid-column: 2;
  grid-row: 1 / 6;
  align-self: center;
  justify-self: center;
  position: relative;
}
body.luxury .hero-illustration img {
  width: 100%;
  max-width: 860px;
  height: auto;
  max-height: 92vh;
}

/* ============================================================
   區塊標題標準範本 (.section-eyebrow + .section-title)
   ============================================================ */
body.luxury .section-eyebrow {
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 8px;
  color: var(--tzutzu-brown);
  font-weight: 600;
  margin-bottom: 32px;
  display: inline-block;
  position: relative;
  padding-left: 40px;
}
body.luxury .section-eyebrow::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  width: 28px; height: 1px;
  background: var(--tzutzu-gold);
}

body.luxury .section-title {
  font-family: var(--font-serif);
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.45;
  font-weight: 500;  /* 從 700 降到 500 */
  letter-spacing: 1px;
  color: var(--tzutzu-brown-title);
  margin-bottom: 24px;
}
/* accent 不再用紅色,統一棕色 */
body.luxury .section-title .accent {
  color: var(--tzutzu-brown-title);
}

body.luxury .section-intro {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 2;
  color: var(--tzutzu-brown);
  letter-spacing: 1.5px;
  max-width: 720px;
  margin-bottom: 64px;
}

/* 區塊標題下方:加細金線 */
body.luxury .section-title + .section-intro::before,
body.luxury .section-title:not(:has(+ .section-intro))::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: var(--gold-line);
  margin: 28px 0 28px;
}

/* ============================================================
   數字統計區塊 (stats-block)
   ============================================================ */
body.luxury .stats-block {
  background: #FFFFFF;
  padding: 80px 60px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
body.luxury .stats-block::before { display: none; }

body.luxury .stats-grid {
  max-width: 1200px;
  margin: 0 auto;
  gap: 0;
  border: none !important;
  padding: 0 !important;
}

body.luxury .stat-item {
  position: relative;
  padding: 0 32px;
}
body.luxury .stat-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0; top: 20%;
  height: 60%; width: 1px;
  background: var(--border);
}

body.luxury .stat-number {
  font-family: var(--font-serif);
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 500;
  letter-spacing: 1px;
  color: var(--tzutzu-brown-title);
  line-height: 1;
}
body.luxury .stat-suffix {
  font-family: var(--font-sans);
  font-size: 22px;
  font-weight: 400;
  color: var(--tzutzu-gold);
  margin-left: 4px;
}
body.luxury .stat-label {
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 5px;
  color: var(--tzutzu-brown);
  font-weight: 600;
  margin-top: 16px;
}
body.luxury .stat-label-en {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 3px;
  color: var(--tzutzu-gold);
  margin-top: 6px;
  font-weight: 400;
  text-transform: uppercase;
}

/* ============================================================
   創辦人引言區 (founder-section)
   ============================================================ */
body.luxury .founder-section {
  background: #FFFFFF;
}
/* founder h2 引用 .section-title 那組規則自動會用襯線 */

/* ============================================================
   精選師資 (faculty-spotlight)
   ============================================================ */
body.luxury .faculty-spotlight {
  background: #FFFFFF;
}
body.luxury .faculty-card {
  border-radius: 4px;  /* 圓角縮小 */
  border: 1px solid var(--border);
  background: #FFFFFF;
  box-shadow: none;
  transition: all 0.4s;
}
body.luxury .faculty-card:hover {
  transform: translateY(-4px);
  border-color: var(--tzutzu-gold);
  box-shadow: 0 12px 32px rgba(184, 153, 104, 0.12);
}
body.luxury .faculty-photo {
  background: #FAF6F0;  /* 改成米白 */
  aspect-ratio: 1 / 1;  /* 改成正方形 */
}
body.luxury .faculty-photo::before { display: none; }
body.luxury .faculty-name {
  font-family: var(--font-sans);  /* 小標題用 Sans */
  font-weight: 700;
  letter-spacing: 2px;
}
body.luxury .faculty-tagline {
  font-style: normal;  /* 不要斜體 */
  letter-spacing: 1px;
}

/* ============================================================
   三大學齡部卡片 (three-stages)
   ============================================================ */
body.luxury .three-stages {
  background: #FFFFFF;
}
body.luxury .stage-card {
  border-radius: 4px;  /* 從 24 縮小 */
  border: 1px solid var(--border);
  /* 保留前面已調好的極淡底色,只縮邊框、縮圓角 */
}
body.luxury .stage-card-header::before {
  height: 1px;  /* 從 5px 縮到 1px */
}
body.luxury .stage-card h3 {
  font-family: var(--font-sans);  /* 卡片小標,用 Sans */
  font-weight: 700;
}
body.luxury .stage-card-body {
  padding: 0 40px 40px;
}
body.luxury .stage-card-header {
  padding: 40px 40px 24px;
}

/* ============================================================
   分校卡 (branches-preview)
   ============================================================ */
body.luxury .branches-preview {
  background: #FFFFFF;
}

/* ============================================================
   家長見證 (testimonials)
   ============================================================ */
body.luxury .testimonials {
  background: #FFFFFF;
}

/* ============================================================
   字體分工:只有「真正的大標題」用襯線,其餘全用 Sans
   ============================================================ */
/* 全站元素先預設用 Sans(把 style.css 用到 serif 的也覆蓋掉) */
body.luxury h1,
body.luxury h2,
body.luxury h3,
body.luxury h4,
body.luxury h5,
body.luxury h6 {
  font-family: var(--font-sans);
}

/* 只有以下三個元素用襯線(真正的大標) */
body.luxury .hero h1,
body.luxury .section-title,
body.luxury .stat-number {
  font-family: var(--font-serif);
}

/* ============================================================
   字重和諧化:跟 site-luxury 同步,避免首頁的卡片標題太重
   ============================================================ */
body.luxury .philo-title,
body.luxury .stage-tag,
body.luxury .shilin-header,
body.luxury .branch-mini-shilin h4,
body.luxury .why-pole-name,
body.luxury .why-center-name,
body.luxury .philo-card-name,
body.luxury .philo-spot-label,
body.luxury .stage-card h3,
body.luxury .faculty-name,
body.luxury .branch-mini h4,
body.luxury .testimonial-card .testimonial-source,
body.luxury .feature-card h4,
body.luxury .stage-cta,
body.luxury h4 {
  font-weight: 500;
}

body.luxury .why-tzutzu .section-intro strong,
body.luxury .why-footnote strong,
body.luxury .philo-spot-desc strong,
body.luxury .section-intro strong,
body.luxury p strong,
body.luxury li strong {
  font-weight: 600;
}

body.luxury .tianmu-emphasis::before,
body.luxury .branch-mini-shilin .branch-tel,
body.luxury .branch-mini .branch-tel {
  font-weight: 600;
}

/* 通用降字重:所有 H2、H3 在 luxury 下都用 500 */
body.luxury h2,
body.luxury h3,
body.luxury .subject-header h2,
body.luxury .branch-section-header h2 {
  font-weight: 500;
}

/* ============================================================
   按鈕全站方角化 (僅首頁範圍)
   ============================================================ */
body.luxury .btn {
  border-radius: 2px;
  letter-spacing: 4px;
  font-weight: 600;
}

/* ============================================================
   響應式 - 手機版
   ============================================================ */
@media (max-width: 768px) {
  body.luxury section.block { padding: 80px 24px; }
  /* 手機版:hero 單欄。插圖插在 tagline 與 actions 之間,居中、清楚 */
  body.luxury .hero {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, auto);
    padding: 80px 24px 60px;
    gap: 0;
  }
  body.luxury .hero-eyebrow { grid-column: 1; grid-row: 1; }
  body.luxury .hero h1 { grid-column: 1; grid-row: 2; }
  body.luxury .hero-positioning { grid-column: 1; grid-row: 3; }
  body.luxury .hero-tagline { grid-column: 1; grid-row: 4; }
  body.luxury .hero-illustration {
    grid-column: 1;
    grid-row: 5;
    position: static;
    transform: none;
    width: auto;
    max-width: none;
    display: flex;
    justify-content: center;
    align-self: auto;
    justify-self: auto;
    margin: 8px 0 28px;
    opacity: 1;
  }
  body.luxury .hero-actions { grid-column: 1; grid-row: 6; }
  body.luxury .hero-illustration img {
    width: auto;
    height: 200px;
    max-height: 200px;
    max-width: 100%;
    transform: none;
  }
  body.luxury .hero::after {
    top: 30px; left: 24px;
    font-size: 10px;
    letter-spacing: 4px;
  }
  body.luxury .hero-eyebrow {
    font-size: 11px;
    letter-spacing: 5px;
    margin-bottom: 32px;
  }
  body.luxury .hero h1 {
    font-size: clamp(32px, 8vw, 44px);
    margin-bottom: 28px;
    white-space: normal;  /* 手機允許換行 */
    letter-spacing: 0.5px;
  }
  body.luxury .hero-positioning {
    font-size: 12px;
    letter-spacing: 4px;
  }
  body.luxury .hero-tagline {
    font-size: 14px;
    margin-bottom: 36px;
  }
  body.luxury .hero-actions {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 48px;
  }
  body.luxury .hero .btn {
    padding: 16px 24px;
    text-align: center;
    justify-content: center;
  }
  body.luxury .stats-block {
    padding: 50px 20px;
  }
  body.luxury .stat-item {
    padding: 0 8px;
  }
  /* 數字 + 後綴強制同一行不換行 */
  body.luxury .stat-item > div:first-child {
    white-space: nowrap;
    display: flex;
    align-items: baseline;
    justify-content: center;
  }
  /* 手機版字級再縮 */
  body.luxury .stat-number {
    font-size: 36px;
  }
  body.luxury .stat-suffix {
    font-size: 16px;
    margin-left: 3px;
  }
  body.luxury .stat-label {
    font-size: 11px;
    letter-spacing: 3px;
  }
  body.luxury .stat-label-en {
    font-size: 9.5px;
    letter-spacing: 2px;
  }
  body.luxury .section-title {
    font-size: clamp(26px, 6vw, 36px);
    letter-spacing: 1.5px;
  }
  body.luxury .section-eyebrow {
    font-size: 11px;
    letter-spacing: 5px;
  }

  /* 漢堡選單手機版精緻化 */
  body.luxury .fullscreen-menu-list a {
    font-size: 17px !important;
    letter-spacing: 4px !important;
    font-weight: 400;
    padding: 6px 16px !important;
  }
  body.luxury .fullscreen-menu-list li {
    margin: 8px 0 !important;
  }
}

/* 平板尺寸選單也精緻化 */
@media (min-width: 769px) and (max-width: 1024px) {
  body.luxury .fullscreen-menu-list a {
    font-size: 20px !important;
    letter-spacing: 5px !important;
    font-weight: 400;
  }
}

/* ============================================================
   SEO LOCAL INTRO — Hero 下方在地定位段
   ============================================================ */
.local-intro {
  background: linear-gradient(180deg, transparent 0%, rgba(201, 169, 97, 0.04) 100%);
  border-top: 1px solid rgba(201, 169, 97, 0.12);
  border-bottom: 1px solid rgba(201, 169, 97, 0.12);
}
.local-intro p {
  font-family: "Noto Serif TC", serif;
  letter-spacing: 1px;
}
.local-intro strong {
  color: var(--tzutzu-red, #8B2521);
  font-weight: 500;
}
@media (max-width: 768px) {
  .local-intro {
    padding: 28px 0 12px !important;
  }
  .local-intro p {
    font-size: 14.5px !important;
    line-height: 1.85 !important;
    padding: 0 16px;
  }
}
