/* Shared text roles for the homepage and every service page. Load after page CSS. */
:root {
  --site-font: 'Segoe UI', Arial, sans-serif;
  --site-label-size: 12px;
  --site-label-weight: 700;
  --site-heading-weight: 400;
  --site-action-weight: 600;
}
html, body { font-family: var(--site-font); }
.eyebrow, .hero .eyebrow {
  font-family: var(--site-font); font-size: var(--site-label-size);
  font-weight: var(--site-label-weight); line-height: 1.5;
  letter-spacing: .08em; text-transform: uppercase;
}
.hero h1 {
  font-size: clamp(44px, 4.2vw, 60px); font-weight: var(--site-heading-weight);
  line-height: 1.04; letter-spacing: -.035em; text-wrap: pretty;
}
:is(.section-heading, .service-copy, .master-copy, .studio-story-grid, .faq-grid, .contact-grid, .heading, .approach, .price-section, .master, .aftercare, .faq, .location, .final, .shared-review-heading) h2 {
  font-size: clamp(36px, 4vw, 56px); font-weight: var(--site-heading-weight);
  line-height: 1.08; letter-spacing: -.025em; text-wrap: balance;
}
.process-card h3, .steps h3 {
  font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: 0;
}
.hero p.hero-copy, .hero .hero-copy > p.lead {
  font-size: 18px; font-weight: 400; line-height: 1.55; letter-spacing: 0;
}
.button, .hero .button, .hero-actions .button {
  font-family: var(--site-font); font-size: 16px; font-weight: var(--site-action-weight);
  line-height: 1.35; letter-spacing: 0; min-height: 52px;
  padding: 14px 24px; border-radius: 16px;
}
.text-link { font-size: 15px; font-weight: 400; line-height: 1.5; letter-spacing: 0; }
.faq summary, .faq-accordion [data-slot='accordion-trigger'] {
  font-size: 18px; font-weight: 500; line-height: 1.55; letter-spacing: 0;
}
.shared-reviews .review-meta { line-height: 1.5; font-weight: 400; }
.rating-badge { font-size: 16px; font-weight: 400; line-height: 1.4; }
.section-heading > p, .heading > p {
  font-size: 17px; font-weight: 400; line-height: 1.6; letter-spacing: 0;
}
.process-card p, .steps p, .master-copy li, .master li,
.faq details p, .faq-accordion [data-slot='accordion-content'] > div {
  font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: 0;
}
@media (max-width: 1050px) and (min-width: 721px) { .hero h1 { font-size: 44px; } }
@media (max-width: 720px) {
  .hero h1 { font-size: clamp(34px, 9.2vw, 42px); line-height: 1.06; }
  .hero p.hero-copy, .hero .hero-copy > p.lead { font-size: 16px; line-height: 1.5; }
  :is(.section-heading, .service-copy, .master-copy, .studio-story-grid, .faq-grid, .contact-grid, .heading, .approach, .price-section, .master, .aftercare, .faq, .location, .final, .shared-review-heading) h2 { font-size: 34px; }
  .process-card h3, .steps h3 { font-size: 22px; }
  .faq summary, .faq-accordion [data-slot='accordion-trigger'] { font-size: 17px; }
  .section-heading > p, .heading > p { font-size: 16px; }
}
@media (max-width: 720px) and (max-height: 700px) { .hero h1 { font-size: 32px; } }

