/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --gold: #d4af37;
  --gold-gradient: linear-gradient(135deg, #bf953f 0%, #fcf6ba 50%, #b38728 100%);
  --gold-text-gradient: linear-gradient(90deg, #bf953f 0%, #fcf6ba 25%, #b38728 50%, #fbf5b7 75%, #aa771c 100%);
  --black: #0a0a0a;
  --dark: #1a1a1a;
  --grey-96: #f3f4f6;
  --grey-84: #d1d5db;
  --grey-65: #9ca3af;
  --line-green: #06c755;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  background: var(--black);
  color: var(--grey-96);
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }

.container {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

.section-label {
  font-family: 'DIN Condensed', 'Arial Narrow', sans-serif;
  font-size: 40px;
  font-weight: 700;
  color: rgba(212,175,55,0.5);
  letter-spacing: 1.6px;
  text-align: center;
  line-height: 1;
  margin-bottom: 20px;
  font-style: normal;
}

.section-title {
  font-size: clamp(22px, 4vw, 46px);
  font-weight: 700;
  color: var(--grey-96);
  text-align: center;
  line-height: 1.3;
  margin-bottom: 60px;
}

.gold { color: var(--gold); font-weight: 900; }
.serif { font-family: 'Noto Serif JP', serif; }
.pc-only { display: inline; }

/* ===== ANIMATIONS ===== */
.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.feature-item:nth-child(2) { transition-delay: 0.1s; }
.voice-card:nth-child(2) { transition-delay: 0.1s; }
.voice-card:nth-child(3) { transition-delay: 0.2s; }
.plan-card:nth-child(2) { transition-delay: 0.1s; }
.plan-card:nth-child(3) { transition-delay: 0.2s; }
