/* Shared GR page introductions, including native CMS content in every language.
 * Page-specific styles load after the shared head, so these rules intentionally
 * take precedence. Only page introductions are targeted, never section/card copy.
 */
html body .page h1 {
  font-size: clamp(42px, 4.4vw, 60px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
  margin-block: 0 22px !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}

html body .page h1 em { font-style: normal; }

@media (min-width: 701px) and (max-width: 1000px) {
  html body .page h1 { font-size: 44px !important; }
}

@media (max-width: 700px) {
  html body .page h1 {
    font-size: 30px !important;
    line-height: 1.2 !important;
    letter-spacing: -.035em !important;
    margin-block: 0 16px !important;
  }
}

/* Arabic reads more naturally without Latin-style negative tracking. */
html[dir="rtl"] body .page h1 { letter-spacing: 0 !important; }

/* One vertical reading order: label, title, introduction, then media/actions. */
html body .page :is(.gr-gallery-intro,.gr-contact-intro,.hc-intro,.gb-intro,.gb-post-header,.ft-intro-heading,.gr-about-hero>.gr-container,.qc-hero-layout) {
  display: block !important;
  text-align: center !important;
}
html body .page :is(.gr-gallery-intro,.gr-contact-intro,.hc-intro,.gb-intro,.gb-post-header,.ft-intro,.gr-about-hero,.qc-hero,.ttm-page-title-row) {
  padding-block: 56px 40px !important;
  background: #fff !important;
}
html body .page :is(.gr-gallery-intro,.gr-contact-intro,.hc-intro,.gb-intro,.gb-post-header,.ft-intro-heading,.gr-about-hero,.qc-hero,.ttm-page-title-row,.cs-banner-copy,.gr-location-hero-content) h1 {
  max-width: 900px !important;
  margin-inline: auto !important;
  text-align: center !important;
  color: var(--gr-ink) !important;
}
html body .page :is(.gr-gallery-intro,.gr-contact-intro,.hc-intro,.gb-intro,.gb-post-header,.ft-intro-heading,.gr-about-hero,.cs-banner-copy,.gr-location-hero-content) :is(.gr-eyebrow,.hc-kicker,.gb-kicker,.ft-kicker,.cs-label) {
  display: block !important;
  max-width: 900px !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
  text-align: center !important;
  color: var(--gr-blue-action) !important;
}
html body .page :is(.gr-gallery-intro,.gr-contact-intro,.hc-intro)>p:last-child,
html body .page :is(.gb-intro,.gb-post-header) .gb-lead,
html body .page .ft-intro-heading .ft-intro-copy p,
html body .page .gr-about-hero>.gr-container>div>p:not(.gr-eyebrow),
html body .page .qc-hero-copy p,
html body .page :is(.cs-banner-copy .cs-lead,.gr-location-hero-content .gr-location-lead) {
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  color: var(--gr-muted) !important;
}
html body .page :is(.gr-gallery-intro,.gr-contact-intro)>p br { display: none; }
html body .page .ft-intro-copy { margin: 0 !important; }
html body .page .ft-intro-copy p+p { margin-top: 8px !important; }
html body .page .ft-intro-heading { margin-bottom: 32px !important; }
html body .page .gr-about-hero .gr-button { margin-top: 24px; }
html body .page .gr-about-hero>.gr-container>img,
html body .page .qc-hero-layout>figure {
  display: block;
  width: 100%;
  max-width: 980px;
  margin: 32px auto 0;
}
html body .page .gr-about-hero>.gr-container>img { height: 380px; }
html body .page .qc-hero-layout>figure img { height: 340px; }
html body .page .ttm-page-title-row .ttm-row-wrapper-bg-layer { display: none !important; }
/* Legacy information pages use the same centered heading, without a title bar. */
html body .page .ttm-page-title-row { border: 0; min-height: 0; }
html body .page .ttm-page-title-row .ttm-page-title-row-inner {
  display: block !important;
  text-align: center !important;
  padding: 0 !important;
}
html body .page .ttm-page-title-row h1 { margin-bottom: 0 !important; }

/* Photo banners retain their imagery, with the same centered type hierarchy. */
html body .page .gr-location-hero-inner { padding-block: 0 !important; }
html body .page :is(.gr-location-hero-content,.cs-banner-copy) {
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding-block: 64px !important;
  text-align: center !important;
}
html body .page .gr-location-hero-image { inset: 0 !important; }
html body .page .gr-location-hero:before {
  background: linear-gradient(0deg,rgba(7,24,35,.62),rgba(7,24,35,.48)) !important;
}
html body .page .gr-location-hero .gr-eyebrow>span { display: none; }
html body .page :is(.gr-location-hero-content,.cs-banner-copy) :is(h1,.gr-eyebrow,.cs-label,.gr-location-lead,.cs-lead) {
  color: #fff !important;
}
html body .page .gr-scene-hero-actions { justify-content: center; margin-top: 24px; }
html body .page .cs-story-link { margin: 24px auto 0; }

@media(max-width:700px) {
  html body .page :is(.gr-gallery-intro,.gr-contact-intro,.hc-intro,.gb-intro,.gb-post-header,.ft-intro,.gr-about-hero,.qc-hero,.ttm-page-title-row) {
    padding-block: 34px 30px !important;
  }
  html body .page :is(.gr-gallery-intro,.gr-contact-intro,.hc-intro,.gb-intro,.gb-post-header,.ft-intro-heading,.gr-about-hero,.cs-banner-copy,.gr-location-hero-content) :is(.gr-eyebrow,.hc-kicker,.gb-kicker,.ft-kicker,.cs-label) {
    font-size: 10px !important;
    margin-bottom: 16px !important;
  }
  html body .page :is(.gr-gallery-intro,.gr-contact-intro,.hc-intro)>p:last-child,
  html body .page :is(.gb-intro,.gb-post-header) .gb-lead,
  html body .page .ft-intro-heading .ft-intro-copy p,
  html body .page .gr-about-hero>.gr-container>div>p:not(.gr-eyebrow),
  html body .page .qc-hero-copy p,
  html body .page :is(.cs-banner-copy .cs-lead,.gr-location-hero-content .gr-location-lead) {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
  html body .page .ft-intro-heading { margin-bottom: 26px !important; }
  html body .page .gr-about-hero>.gr-container>img,
  html body .page .qc-hero-layout>figure { margin-top: 26px; }
  html body .page .gr-about-hero>.gr-container>img,
  html body .page .qc-hero-layout>figure img { height: 230px; }
  html body .page :is(.gr-location-hero-content,.cs-banner-copy) { padding-block: 42px !important; }
  html body .page .gr-scene-hero-actions { align-items: center; }
}
html[dir="rtl"] body .page :is(.gr-gallery-intro,.gr-contact-intro,.hc-intro,.gb-intro,.gb-post-header,.ft-intro-heading,.gr-about-hero,.cs-banner-copy,.gr-location-hero-content) :is(.gr-eyebrow,.hc-kicker,.gb-kicker,.ft-kicker,.cs-label) {
  letter-spacing: 0 !important;
}
