/* ==========================================================================
   TYPOGRAPHY SYSTEM — LUXURY EDITORIAL ARCHITECTURE
   Display & Headlines: Cormorant Garamond | Interface & Body: Manrope
   ========================================================================== */

/* Universal Baseline Typography */
body {
  font-family: var(--font-primary);
  font-weight: var(--fw-regular);
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  color: var(--color-text-primary);
  letter-spacing: var(--tracking-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings: Cormorant Garamond display serif */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: var(--fw-regular);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  color: inherit;
  margin: 0;
}

/* Hero Title */
.hero-title {
  font-family: var(--font-display);
  font-size: var(--fs-hero);
  font-weight: var(--fw-regular);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #ffffff;
  text-wrap: balance;
  margin-bottom: var(--space-xs);
  text-transform: uppercase;
}

.hero-title .title-italic {
  font-style: italic;
  font-weight: var(--fw-light);
  letter-spacing: 0.01em;
}

/* Section Headings */
.section-title {
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: var(--fw-regular);
  letter-spacing: -0.02em;
  line-height: 1.12;
  margin-bottom: var(--space-sm);
  text-wrap: balance;
}

/* Large Statement Heading for Editorial Sections */
.editorial-headline {
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: var(--fw-regular);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: inherit;
  margin-bottom: var(--space-md);
  text-wrap: balance;
}

/* Signature Serif Accent */
.signature-serif {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: var(--fw-light);
  letter-spacing: 0.01em;
}

/* Subtle Editorial Kickers (Manrope, uppercase, tracked) */
.section-kicker {
  display: inline-block;
  font-family: var(--font-primary);
  font-size: var(--fs-kicker);
  font-weight: var(--fw-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-kicker);
  color: var(--color-accent-gold);
  margin-bottom: var(--space-sm);
}

.theme-ivory .section-kicker,
.theme-stone .section-kicker {
  color: var(--color-accent-gold);
}

/* Lead & Body Paragraphs (Manrope) */
.lead-text {
  font-family: var(--font-primary);
  font-size: var(--fs-lead);
  font-weight: var(--fw-light);
  line-height: 1.68;
  color: var(--color-text-secondary);
  max-width: 62ch;
  text-wrap: pretty;
}

.body-text {
  font-family: var(--font-primary);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-relaxed);
  color: var(--color-text-secondary);
}

.caption-text {
  font-family: var(--font-primary);
  font-size: var(--fs-caption);
  font-weight: var(--fw-regular);
  line-height: 1.55;
  color: var(--color-text-muted);
  letter-spacing: var(--tracking-wide);
}

/* Large Editorial Numeral */
.editorial-numeral {
  font-family: var(--font-primary);
  font-size: var(--fs-numeral);
  font-weight: var(--fw-light);
  line-height: 1;
  letter-spacing: var(--tracking-numeral);
  color: var(--color-accent-gold);
}

/* Minimal Editorial Row Headings */
.row-title {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  font-weight: var(--fw-regular);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

/* Contextual Typography Color Inheritances */
/* Light / Ivory Sections */
.theme-ivory,
.theme-stone {
  color: var(--color-text-light-primary);
}

.theme-ivory h1, .theme-ivory h2, .theme-ivory h3, .theme-ivory h4, .theme-ivory h5, .theme-ivory h6,
.theme-stone h1, .theme-stone h2, .theme-stone h3, .theme-stone h4, .theme-stone h5, .theme-stone h6,
.theme-ivory .editorial-headline, .theme-stone .editorial-headline,
.theme-ivory .section-title, .theme-stone .section-title,
.theme-ivory .row-title, .theme-stone .row-title,
.pillar-title {
  color: var(--color-text-light-primary);
}

.theme-ivory .lead-text, .theme-ivory .body-text, .theme-ivory p,
.theme-stone .lead-text, .theme-stone .body-text, .theme-stone p,
.pillar-desc {
  color: var(--color-text-light-secondary);
}

.pillar-kicker {
  color: var(--color-accent-gold) !important;
}

.theme-ivory .caption-text,
.theme-stone .caption-text {
  color: var(--color-text-light-muted);
}

/* Dark Sections */
.theme-dark {
  color: var(--color-text-dark-primary);
}

.theme-dark h1, .theme-dark h2, .theme-dark h3 {
  color: var(--color-text-dark-primary);
}

.theme-dark .lead-text, .theme-dark .body-text {
  color: var(--color-text-dark-secondary);
}

.theme-dark .caption-text {
  color: var(--color-text-dark-muted);
}
