/* Dental Herpan: editorial type and a restrained, warm clinical palette. */
:root {
  --ink: var(--noche-elevada);
  --ink-deep: var(--noche);
  --ink-soft: var(--noche-elevada);
  --porcelain: var(--porcelana);
  --mist: var(--porcelana);
  --sea: var(--noche-elevada);
  --sea-pale: var(--porcelana);
  --brass: var(--champan);
  --brass-light: var(--champan);
  --story-brass: var(--champan);
  --line: rgba(17, 42, 57, 0.16);
}

body { line-height: 1.7; }
::selection { background: var(--porcelana); color: var(--tinta); }
:focus-visible { outline: 3px solid var(--grafito); outline-offset: 4px; }
.tooth-story :focus-visible, .journey :focus-visible, .service-atlas :focus-visible,
.doctor-feature :focus-visible { outline-color: var(--champan); }

.tooth-story h1, .tooth-story__chapter-title {
  font-size: clamp(3.15rem, 6.4vw, 6rem);
  letter-spacing: -.035em;
  line-height: .96;
}
.tooth-story__chapter-title { font-size: clamp(2.85rem, 5.5vw, 5.4rem); }
.tooth-story__lede { max-width: 49ch; color: var(--porcelana); line-height: 1.75; }
.tooth-story__details { color: var(--porcelana); line-height: 1.5; }
.tooth-story__microcopy { color: var(--porcelana); }
.tooth-story__actions .button--primary { background: var(--champan); color: var(--tinta); }

.section-heading { font-size: clamp(2.4rem, 4.7vw, 4.65rem); letter-spacing: -.03em; line-height: 1.02; }
.section-copy, .intro-note, .doctor-feature__copy p, .community__copy p { max-width: 60ch; line-height: 1.75; text-wrap: pretty; }
.intro-note, .section-copy { color: var(--grafito); }
.journey .section-copy { color: var(--porcelana); }
.journey-step p, .service-atlas__intro p:not(.eyebrow) { color: var(--porcelana); }
.service-atlas__item strong { letter-spacing: -.025em; line-height: 1.12; }
.specialty h3, .map-card__intro h3 { letter-spacing: -.03em; line-height: 1.02; }
.button, .text-link, .nav-cta { letter-spacing: .005em; }
.primary-nav a { font-size: .83rem; }
.doctor-feature { background: var(--noche); color: var(--porcelana); }
.doctor-feature__copy p { color: var(--porcelana); }
.community { background: var(--porcelana); color: var(--tinta); }
.community__copy p { color: var(--grafito); }
.community__photo figcaption { color: var(--grafito); }

@media (max-width: 700px) {
  .tooth-story h1 { font-size: clamp(3.05rem, 12vw, 4.4rem); line-height: .98; }
  .tooth-story__chapter-title { font-size: clamp(2.75rem, 11vw, 4rem); line-height: 1; }
  .tooth-story__lede { font-size: 1rem; line-height: 1.65; }
  .section-heading { font-size: clamp(2.35rem, 10vw, 3.5rem); }
  html:not(.js) .tooth-story .tooth-scene,
  .js .tooth-story.is-static .tooth-scene { position: relative; inset: auto; height: 290px; }
  html:not(.js) .tooth-story .tooth-scene__poster img,
  .js .tooth-story.is-static .tooth-scene__poster img { object-position: center; transform: none; }
  html:not(.js) .tooth-story__content,
  .js .tooth-story.is-static .tooth-story__content { padding-top: 32px; }
  html:not(.js) .tooth-story__chapter:first-child,
  .js .tooth-story.is-static .tooth-story__chapter:first-child { min-height: 0; }
}
