/* One expressive serif for secondary headings throughout the site. */
@font-face {
  font-family: AnnaSubheading;
  src: url('/assets/lora-subheading-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
:root { --site-subheader-font: AnnaSubheading, Georgia, serif; }
body #main :is(h3,h4,h5,h6,summary,.hero-description,.pricing-guidance-subheading,.thank-you-response,.package-lead):not(.experience-introduction-subheading,.pricing-about-planning-lead,.planning-location-lead),
body[data-page^="pricing-"]:not([data-page="pricing-southern-california"]) #main #pricing-about-title,
body.blog-post-page [data-bid="post-content"] :is(h3,h4,h5,h6).wp-block-heading,
body.journal-post .post-body :is(h3,h4,h5,h6) {
  font-family: var(--site-subheader-font) !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* Let long photographer descriptors wrap naturally in the new face. */
body[data-page="pricing-southern-california"] #main #guidance .guidance-subheading {
  font-family: var(--heading-font) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  /* Use the same wrapping in Safari and Chromium; no balanced fallback. */
  text-wrap: wrap;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body[data-page^="pricing-"]:not([data-page="pricing-southern-california"]) #main #pricing-about-title {
  white-space: normal !important;
  text-wrap: balance;
}
body #main :is(h2,h3,h4,h5,h6) { white-space: normal !important; }

/* Smaller supporting headings keep a clear step below the section headers. */
body #main :is(h3,h4,h5,h6):not(.experience-introduction-subheading,.pricing-about-planning-lead,.planning-location-lead) {
  font-size: 20px !important;
}
body #main :is(summary,.package-lead) { font-size: 18px !important; }
body #main .thank-you-response,
body[data-page^="pricing-"]:not([data-page="pricing-southern-california"]) #main #pricing-about-title {
  font-size: 20px !important;
}
@media (max-width:760px) {
  body #main :is(h3,h4,h5,h6):not(.experience-introduction-subheading,.pricing-about-planning-lead,.planning-location-lead),
  body #main .thank-you-response,
  body[data-page^="pricing-"]:not([data-page="pricing-southern-california"]) #main #pricing-about-title {
    font-size: 18px !important;
  }
  body #main :is(summary,.package-lead) { font-size: 17px !important; }
}

/* Match every hero subtitle to the LA landing page. */
body #main .hero .hero-description {
  font-family: Editorial, Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(23px,2.1vw,28px) !important;
  line-height: 1.3 !important;
  letter-spacing: 0;
  white-space: normal !important;
  text-wrap: balance;
}
@media (max-width:760px) {
  body #main .hero .hero-description {
    font-size: 22px !important;
  }
}
@media (max-width:600px) {
  body #main .hero .hero-description {
    font-size: clamp(16px,4.7vw,20px) !important;
  }
}

/* Match the requested photographer descriptors to their greetings, retaining sizes. */
body:is([data-page="pricing-la-landing"],[data-page="pricing-san-diego-landing"],[data-page="pricing-joshua-tree"],[data-page="pricing-big-sur-landing"]) #main #about-anna #pricing-about-title {
  font-family: var(--heading-font) !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

/* LA resource titles use H2 semantics with their existing card typography. */
body[data-page="pricing-la-landing"] #main .pricing-resource-link .pricing-resource-title {
  font-family: var(--site-subheader-font) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 20px !important;
  line-height: 1.35;
  letter-spacing: -.015em;
  text-align: left;
  margin: 0 0 24px;
}
@media (max-width:760px) {
  body[data-page="pricing-la-landing"] #main .pricing-resource-link .pricing-resource-title {
    font-size: 18px !important;
  }
}
