
.legal-page, .schedule-page { background: var(--color-surface, #fff); color: var(--color-on-surface, #29242B); }
.legal-hero, .schedule-hero { padding: 150px 24px 72px; background: linear-gradient(135deg, rgba(114,90,120,.13), rgba(217,199,207,.25)); }
.legal-hero-inner, .schedule-hero-inner, .legal-content, .schedule-content { width: 100%; max-width: 1120px; margin: 0 auto; }
.legal-hero h1, .schedule-hero h1 { margin: 0; font-family: var(--font-family-heading); font-size: 52px; line-height: 1.08; color: var(--color-on-surface); }
.legal-hero p, .schedule-hero p { max-width: 760px; margin: 18px 0 0; font-size: 18px; line-height: 1.75; }
.legal-content, .schedule-content { padding: 72px 24px 96px; }
.legal-card { padding: 34px; margin-bottom: 24px; background: #fff; border: 1px solid rgba(114,90,120,.16); border-radius: 24px; box-shadow: 0 14px 34px rgba(41,36,43,.06); }
.legal-card h2 { margin: 0 0 16px; font-family: var(--font-family-heading); font-size: 30px; }
.legal-card h3 { margin: 26px 0 10px; font-size: 20px; }
.legal-card p, .legal-card li { font-size: 16px; line-height: 1.8; }
.legal-card ul { padding-left: 22px; margin: 12px 0; }
.legal-back { display: inline-flex; align-items: center; justify-content: center; margin-top: 20px; padding: 12px 20px; border-radius: 999px; background: var(--color-primary, #725A78); color: #fff; font-weight: 700; }
.schedule-grid { display: flex; flex-wrap: wrap; gap: 20px; }
.schedule-day { flex: 1 1 300px; min-width: 0; padding: 28px; background: #fff; border: 1px solid rgba(114,90,120,.16); border-radius: 24px; box-shadow: 0 14px 34px rgba(41,36,43,.06); }
.schedule-day h2 { margin: 0 0 18px; font-family: var(--font-family-heading); font-size: 28px; }
.schedule-slot { padding: 16px 0; border-top: 1px solid rgba(114,90,120,.14); }
.schedule-slot:first-of-type { border-top: 0; }
.schedule-slot strong { display: block; margin-bottom: 4px; }
.schedule-note { margin-top: 30px; padding: 24px; border-radius: 20px; background: rgba(217,199,207,.2); }
@media (max-width: 768px) {
  .legal-hero, .schedule-hero { padding: 120px 18px 52px; text-align: center; }
  .legal-hero h1, .schedule-hero h1 { font-size: 34px; }
  .legal-hero p, .schedule-hero p { margin-left: auto; margin-right: auto; }
  .legal-content, .schedule-content { padding: 48px 16px 72px; }
  .legal-card { padding: 24px 18px; }
  .legal-card h2, .schedule-day h2 { font-size: 26px; }
  .schedule-grid { flex-direction: column; }
  .schedule-day { width: 100%; flex-basis: auto; }
}
