/* ===========================================================
   大米 · 咨询服务网站  —— 设计系统
   美学基调：回归存在本身 / 破碎与重建 / 温暖 · 留白 · 诗意
   =========================================================== */

:root {
  /* 基础纸感色板 */
  --paper: #F6F1E7;
  --paper-deep: #EEE6D6;
  --paper-line: rgba(43, 38, 34, 0.09);

  --ink: #2B2621;
  --ink-soft: #756C61;
  --ink-faint: #A69C8F;

  /* 金缮金线 —— 贯穿全站的修复/重生意象 */
  --gold: #B4863F;
  --gold-soft: #D9BD86;
  --gold-glow: rgba(180, 134, 63, 0.18);

  /* YouTube 分支：陶土 / 赤陶色，代表创作的行动与热度 */
  --clay: #AD5B3B;
  --clay-deep: #833F28;
  --clay-tint: #F3E4DA;

  /* 人生方向分支：鼠尾草绿，代表安定与生命力 */
  --sage: #6E7F5C;
  --sage-deep: #4D5A3F;
  --sage-tint: #EAEEE0;

  --accent: var(--clay);
  --accent-deep: var(--clay-deep);
  --accent-tint: var(--clay-tint);

  --font-serif: 'Noto Serif SC', 'Songti SC', serif;
  --font-display: 'Cormorant Garamond', 'Noto Serif SC', serif;
  --font-hand: 'Ma Shan Zheng', cursive;

  --radius-lg: 1.75rem;
  --radius-md: 1.1rem;
}

body.theme-life {
  --accent: var(--sage);
  --accent-deep: var(--sage-deep);
  --accent-tint: var(--sage-tint);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-serif);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: 0.01em;
}

p { line-height: 1.9; }

::selection {
  background: var(--gold-glow);
  color: var(--ink);
}

/* ---------- 通用容器留白 ---------- */
.section-pad { padding-top: 6rem; padding-bottom: 6rem; }
@media (max-width: 767px) {
  .section-pad { padding-top: 4rem; padding-bottom: 4rem; }
}

/* ---------- 金线分隔（kintsugi 裂纹式装饰线） ---------- */
.gold-divider {
  position: relative;
  width: 100%;
  max-width: 220px;
  height: 1px;
  margin: 2rem auto;
  background: linear-gradient(90deg, transparent, var(--gold) 45%, var(--gold) 55%, transparent);
  opacity: 0.75;
}
.gold-divider::before {
  content: '◆';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.5rem;
  color: var(--gold);
  background: var(--paper);
  padding: 0 0.6rem;
}

.eyebrow {
  display: inline-block;
  font-family: var(--font-display);
  font-style: italic;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: var(--accent);
}

/* ---------- 按钮 ---------- */
.btn-primary {
  display: inline-block;
  background: var(--accent);
  color: #FFF8EE;
  padding: 0.95rem 2.2rem;
  border-radius: 999px;
  font-weight: 500;
  letter-spacing: 0.03em;
  transition: all 0.35s ease;
  box-shadow: 0 12px 28px -14px rgba(43,38,34,0.4);
}
.btn-primary:hover {
  background: var(--accent-deep);
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -12px rgba(43,38,34,0.45);
}

.btn-secondary {
  display: inline-block;
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--ink-faint);
  padding: 0.9rem 2.2rem;
  border-radius: 999px;
  font-weight: 500;
  letter-spacing: 0.03em;
  transition: all 0.35s ease;
}
.btn-secondary:hover {
  border-color: var(--accent);
  color: var(--accent-deep);
  background: var(--accent-tint);
}

/* ---------- 卡片 ---------- */
.paper-card {
  background: #FFFDF8;
  border: 1px solid var(--paper-line);
  border-radius: var(--radius-lg);
  transition: all 0.4s ease;
}
.card-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 60px -30px rgba(43,38,34,0.28);
}

/* ---------- 手写下划线（金色，取代原来红色路径） ---------- */
.handwritten-underline {
  position: relative;
  display: inline-block;
}
.handwritten-underline::after {
  content: '';
  position: absolute;
  left: -4px;
  right: -4px;
  bottom: -6px;
  height: 10px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12'%3E%3Cpath d='M5,6 Q50,1 100,5 T200,6 T290,5' stroke='%23B4863F' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;
  background-size: 260px 10px;
  opacity: 0.85;
}

.text-accent { color: var(--accent); }
.serif-italic { font-family: var(--font-display); font-style: italic; }

.hero-gradient {
  background: radial-gradient(ellipse at top, var(--paper-deep) 0%, var(--paper) 60%);
}

/* ---------- 引言板块（大段诗意文字） ---------- */
.manifesto-quote {
  font-family: var(--font-display);
  font-style: italic;
  line-height: 2.1;
  color: var(--ink);
}

/* ---------- 数字动画 ---------- */
.counter-animate { font-variant-numeric: tabular-nums; }
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-counter { animation: fadeInUp 0.9s ease-out forwards; }

.fade-in-section {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}
.fade-in-section.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- FAQ 折叠 ---------- */
.faq-item { border-bottom: 1px solid var(--paper-line); }
.faq-item .faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.faq-item.open .faq-answer { max-height: 500px; }
.faq-item .faq-icon { transition: transform 0.3s ease; }
.faq-item.open .faq-icon { transform: rotate(45deg); }

/* ---------- 首页入口卡片 ---------- */
.entry-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
}
.entry-card .entry-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(43,38,34,0.05) 0%, rgba(30,26,22,0.72) 100%);
}

/* ---------- 移动端菜单 ---------- */
#mobile-menu { transition: max-height 0.3s ease; overflow: hidden; }

/* ---------- 学员反馈轮播 ---------- */
.testimonial-slide { transition: opacity 0.5s ease; }

/* ---------- 有机装饰圆点（背景氛围用） ---------- */
.blob-decor {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.35;
  pointer-events: none;
  z-index: 0;
}

/* ---------- 金缮碗图片的呼吸式呈现 ---------- */
.kintsugi-frame { position: relative; }
.kintsugi-frame img { border-radius: var(--radius-lg); }

/* ---------- 邮箱地址展示 + 复制按钮（mailto 的备用方案） ---------- */
.email-fallback {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 0.85rem;
  color: var(--ink-soft);
}
.email-fallback .email-address {
  font-family: var(--font-display);
  letter-spacing: 0.01em;
  color: var(--ink);
  word-break: break-all;
}
.copy-email-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: transparent;
  border: 1px solid var(--paper-line);
  color: var(--ink-soft);
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.25s ease;
}
.copy-email-btn:hover {
  border-color: var(--accent);
  color: var(--accent-deep);
  background: var(--accent-tint);
}
.copy-email-btn.copied {
  border-color: var(--accent);
  color: var(--accent-deep);
  background: var(--accent-tint);
}
