/* ============================================================
   MOOD HOUSE — Typography System
   ============================================================ */

/* Heading Scale */
.h1 { font-size: clamp(2.5rem, 6vw, var(--fs-6xl)); font-weight: 300; letter-spacing: -0.02em; }
.h2 { font-size: clamp(2rem, 4vw, var(--fs-4xl));   font-weight: 400; letter-spacing: -0.01em; }
.h3 { font-size: clamp(1.5rem, 3vw, var(--fs-3xl)); font-weight: 400; }
.h4 { font-size: clamp(1.25rem, 2.5vw, var(--fs-2xl)); font-weight: 400; }
.h5 { font-size: var(--fs-xl); font-weight: 400; }
.h6 { font-size: var(--fs-lg); font-weight: 500; font-family: var(--font-body); }

/* Pre-title / Eyebrow */
.eyebrow {
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gold);
  display: block;
  margin-bottom: 12px;
}

/* Pull quote / accent italic */
.quote-text {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: clamp(1.25rem, 2.5vw, 1.875rem);
  font-weight: 300;
  line-height: 1.5;
  color: var(--color-text);
}

/* Body sizes */
.text-sm   { font-size: var(--fs-sm); }
.text-base { font-size: var(--fs-base); }
.text-md   { font-size: var(--fs-md); }
.text-lg   { font-size: var(--fs-lg); }

/* Colors */
.text-gold    { color: var(--color-gold); }
.text-muted   { color: var(--color-text-muted); }
.text-white   { color: var(--color-white); }
.text-dark    { color: var(--color-bg-dark); }

/* Weight helpers */
.fw-light  { font-weight: 300; }
.fw-normal { font-weight: 400; }
.fw-medium { font-weight: 500; }
.fw-semi   { font-weight: 600; }

/* Line height helpers */
.lh-tight  { line-height: 1.2; }
.lh-snug   { line-height: 1.4; }
.lh-base   { line-height: 1.7; }
.lh-loose  { line-height: 1.9; }

/* Alignment */
.text-center  { text-align: center; }
.text-left    { text-align: left; }
.text-right   { text-align: right; }

/* Decorative underline */
.heading-underline {
  position: relative;
  display: inline-block;
}
.heading-underline::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--color-gold);
}
.heading-underline.centered::after {
  left: 50%;
  transform: translateX(-50%);
}

/* Section title block */
.section-title-block {
  margin-bottom: 60px;
}
.section-title-block.centered {
  text-align: center;
}
.section-title-block .eyebrow { margin-bottom: 8px; }
.section-title-block h2 { margin-bottom: 16px; }
.section-title-block p {
  color: var(--color-text-muted);
  font-size: var(--fs-md);
  line-height: 1.8;
  max-width: 580px;
}
.section-title-block.centered p { margin: 0 auto; }

/* Star rating */
.stars {
  display: flex;
  gap: 3px;
  align-items: center;
}
.star {
  width: 16px;
  height: 16px;
  fill: var(--color-gold);
  color: var(--color-gold);
}
