/* Shared scale for all three pages. Page CSS owns composition and decoration;
   this file owns typography and spacing. No per-section title sizes. */
:root {
  --font-family: Nunito, sans-serif;
  --heading-color: var(--home-ink);
  --heading-accent: var(--home-rose);
  --font-weight-heading: 400;
  --font-weight-emphasis: 900;
  --font-weight-label: 700;
  --font-size-display: clamp(44px, 4.7vw, 75px);
  --font-size-section: clamp(32px, 3.8vw, 56px);
  --font-size-profile: clamp(28px, 2.8vw, 40px);
  --font-size-subheading: 20px;
  --font-size-body: 17px;
  --font-size-label: 11px;
  --line-height-display: 1.04;
  --line-height-heading: 1.12;
  --line-height-subheading: 1.35;
  --line-height-body: 1.7;
  --tracking-display: -2.5px;
  --tracking-heading: -.04em;
  --tracking-label: 2px;
  --space-section: 96px;
  --space-heading: 24px;
  --space-content: 32px;
  --space-layout: 48px;
  --space-inline: var(--page-gutter);
  --button-font-size: 16px;
  --button-height: 56px;
  --button-padding: 28px;
}
.type-display {
  font-family: var(--font-family);
  font-size: var(--font-size-display);
  font-weight: var(--font-weight-emphasis);
  line-height: var(--line-height-display);
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
.type-section {
  font-family: var(--font-family);
  font-size: var(--font-size-section);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  letter-spacing: var(--tracking-heading);
  text-wrap: balance;
  color: var(--heading-color);
}
.type-section > span, .type-section > em, .type-display > em {
  font-style: normal;
  font-weight: var(--font-weight-emphasis);
}
.type-section > span, .type-section > em { color: var(--heading-accent); }
.service-section--prematuridade { --heading-accent: #426580; }
.service-section--neurodesenvolvimento, .visit-section, .contact-section { --heading-accent: #386454; }
.start-section, .contact-closing { --heading-color: var(--color-cream); --heading-accent: #efcaa9; }
.start-section .eyebrow, .contact-closing .eyebrow { color: #efcaa9; }
.professional-copy h3 {
  font-size: var(--font-size-profile);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  letter-spacing: var(--tracking-heading);
}
.service-subheading, .start-steps h3, .arrival-row h3, .profile-story h4 {
  font-size: var(--font-size-subheading);
  font-weight: var(--font-weight-emphasis);
  line-height: var(--line-height-subheading);
}
.eyebrow, .service-eyebrow {
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-label);
  line-height: var(--line-height-body);
  letter-spacing: var(--tracking-label);
  margin-bottom: var(--space-heading);
}
.service-intro, .service-note p, .manifesto-bottom p,
.start-heading > p:last-child, .start-steps p,
.moments-intro > .t1, .team-copy > .t2,
.faq-intro > p:not(.eyebrow), .faq-item > div,
.contact-invitation > p:not(.eyebrow), .page-lead, .story-copy,
.content-reserve p, .professionals-heading > p, .profile-story p,
.about-invitation > p:not(.eyebrow), .letter-heading + p, .arrival-row p,
.care-topics li, .faq-item summary, .visit-address address, .contact-information address {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}
.care-manifesto, .service-section, .start-section, .clinic-moments,
.team-intro, .faq-section, .contact-section, .story-section,
.professionals-section, .visit-section, .arrival-section,
.about-invitation, .contact-closing {
  padding: var(--space-section) var(--space-inline);
}
.page-opening { padding-block: var(--space-section); }
.service-intro, .start-heading > p:last-child, .faq-intro > p:not(.eyebrow) {
  margin-top: var(--space-heading);
}
.moments-intro, .professionals-heading { margin-bottom: var(--space-layout); }
.section-label { margin-bottom: var(--space-content); }
.service-bottom { margin-top: var(--space-layout); padding-top: var(--space-content); }
.btn2, .service-cta, .contact-invitation .btn2, .contact-opening .btn2 {
  font-size: var(--button-font-size);
  min-height: var(--button-height);
  padding-inline: var(--button-padding);
}
#nosso-cuidado { scroll-margin-top: 16px; }
@media (min-width: 768px) and (max-width: 1199px) {
  :root {
    --font-size-display: clamp(40px, 4.7vw, 57px);
    --tracking-display: -1.7px;
  }
}
@media (max-width: 767px) {
  :root {
    --font-size-display: clamp(36px, 9.6vw, 57px);
    --line-height-display: 1.08;
    --tracking-display: -1.4px;
  }
}
@media (max-width: 700px) {
  :root {
    --font-size-section: clamp(30px, 8.2vw, 36px);
    --font-size-profile: 28px;
    --font-size-subheading: 18px;
    --font-size-body: 16px;
    --font-size-label: 10px;
    --tracking-label: 1.5px;
    --space-section: 64px;
    --space-heading: 20px;
    --space-content: 24px;
    --space-layout: 32px;
    --space-inline: 24px;
    --button-height: 54px;
    --button-padding: 24px;
  }
}
