/* Fluid banner and typography layer — 2026-09-29 */
html {
  overflow-x: hidden;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
}

.hero,
.inner-hero,
.simple-page-hero,
.hero-content,
.inner-hero-copy,
.hero-visual,
.inner-hero-image {
  min-width: 0;
}

.hero h1,
.inner-hero h1,
.simple-page-hero h1,
.article-hero h1,
.brief-intro h1 {
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.hero p,
.inner-hero-copy > p,
.simple-page-hero > p {
  text-wrap: pretty;
}

.hero-image,
.inner-hero-image img,
.contacts-visual-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* Wide desktop and 14–19 inch laptop/monitor windows. */
@media (min-width: 821px) {
  .hero,
  .inner-hero,
  .contacts-visual-hero {
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  }

  .hero-content,
  .inner-hero-copy,
  .contacts-visual-copy {
    padding: clamp(34px, 3.6vw, 62px) clamp(28px, 4vw, 64px);
  }

  .inner-hero h1,
  .simple-page-hero h1 {
    max-width: 780px;
    font-size: clamp(36px, 2.65vw, 50px);
    line-height: 1.05;
  }

  .hero h1 {
    font-size: clamp(32px, 2.45vw, 46px);
    line-height: 1.08;
  }

  .inner-hero-copy > p,
  .hero p {
    margin-top: 15px;
    font-size: clamp(15px, 1.05vw, 17px);
    line-height: 1.55;
  }

  .hero-actions {
    margin-top: 21px;
  }
}

/* Compact laptop windows: preserve a two-column banner without oversized text. */
@media (min-width: 821px) and (max-width: 1366px) {
  .hero,
  .inner-hero,
  .contacts-visual-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 390px !important;
  }

  .hero-content,
  .inner-hero-copy,
  .contacts-visual-copy {
    padding: 34px clamp(24px, 3vw, 42px);
  }

  .inner-hero h1,
  .simple-page-hero h1 {
    font-size: clamp(32px, 3vw, 41px);
    line-height: 1.07;
  }

  .hero h1 {
    font-size: clamp(30px, 2.75vw, 38px);
  }

  .hero-visual,
  .inner-hero-image,
  .contacts-visual-media {
    min-height: 390px !important;
  }

  .contacts-visual-hero,
  .contacts-visual-media {
    height: 390px !important;
  }

  .contacts-visual-media img {
    height: 390px !important;
    min-height: 0 !important;
  }

  .primary-button,
  .secondary-button {
    min-height: 50px;
    padding-inline: 20px;
    font-size: 14px;
  }
}

/* Tablet and phone: text first, complete photo below, no horizontal overflow. */
@media (max-width: 820px) {
  .hero,
  .inner-hero,
  .contacts-visual-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  .hero-content,
  .inner-hero-copy,
  .contacts-visual-copy {
    padding: clamp(42px, 9vw, 68px) clamp(20px, 6vw, 36px) !important;
  }

  .hero h1,
  .inner-hero h1,
  .simple-page-hero h1 {
    max-width: 100%;
    font-size: clamp(32px, 7.4vw, 43px);
    line-height: 1.08;
  }

  .hero-visual,
  .inner-hero-image,
  .contacts-visual-media {
    min-height: clamp(280px, 66vw, 430px) !important;
  }

  .hero-image,
  .inner-hero-image img,
  .contacts-visual-media img {
    min-height: clamp(280px, 66vw, 430px) !important;
    object-position: center;
  }
}

@media (max-width: 520px) {
  .hero-content,
  .inner-hero-copy,
  .contacts-visual-copy,
  .simple-page-hero {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .hero h1,
  .inner-hero h1,
  .simple-page-hero h1,
  .article-hero h1,
  .brief-intro h1 {
    font-size: clamp(29px, 9vw, 36px) !important;
    line-height: 1.1;
  }

  .hero-actions {
    width: 100%;
    align-items: stretch;
    gap: 10px 16px;
  }

  .hero-actions .primary-button,
  .hero-actions .secondary-button {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .section-heading h2,
  .seo-content-heading h2 {
    overflow-wrap: anywhere;
    font-size: clamp(28px, 8vw, 34px);
    line-height: 1.12;
  }
}

@media (max-width: 380px) {
  .hero-content,
  .inner-hero-copy,
  .contacts-visual-copy {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .hero h1,
  .inner-hero h1,
  .simple-page-hero h1 {
    font-size: 29px !important;
  }

  .hero-actions {
    flex-direction: column;
  }

  .hero-actions .primary-button,
  .hero-actions .secondary-button {
    width: 100%;
  }
}

@media (min-width: 821px) {
  .doctor-plus-hero .inner-hero-image img {
    object-position: center 20% !important;
  }
}

/* Doctor Plus hero layout for wide screens */
@media (min-width: 1367px) {
  .doctor-plus-hero {
    grid-template-columns: minmax(0, .86fr) minmax(0, 1fr) !important;
    min-height: clamp(420px, 22.5vw, 460px) !important;
  }
  .doctor-plus-hero .inner-hero-copy {
    padding: clamp(38px, 3.8vw, 68px) clamp(34px, 4.2vw, 76px) !important;
  }
  .doctor-plus-hero h1 {
    max-width: 720px;
    font-size: clamp(38px, 2.35vw, 48px) !important;
    line-height: 1.06 !important;
  }
  .doctor-plus-hero .inner-hero-image,
  .doctor-plus-hero .inner-hero-image img {
    height: clamp(420px, 22.5vw, 460px) !important;
    min-height: 0 !important;
  }
  .doctor-plus-hero .inner-hero-image img {
    object-fit: cover !important;
    object-position: center 18% !important;
  }
}

/* Doctor Plus compact hero v3 */
@media (min-width: 1367px) {
  .doctor-plus-hero {
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr) !important;
    min-height: 380px !important;
  }
  .doctor-plus-hero .inner-hero-copy {
    padding: 36px clamp(34px,3.8vw,68px) !important;
  }
  .doctor-plus-hero h1 {
    max-width: 690px;
    font-size: clamp(36px,2.1vw,44px) !important;
    line-height: 1.06 !important;
  }
  .doctor-plus-hero .inner-hero-image,
  .doctor-plus-hero .inner-hero-image img {
    height: 380px !important;
    min-height: 0 !important;
  }
  .doctor-plus-hero .inner-hero-image img {
    object-fit: cover !important;
    object-position: center top !important;
  }
}
@media (min-width: 821px) and (max-width: 1366px) {
  .doctor-plus-hero,
  .doctor-plus-hero .inner-hero-image,
  .doctor-plus-hero .inner-hero-image img {
    min-height: 360px !important;
    height: 360px !important;
  }
  .doctor-plus-hero .inner-hero-image img {
    object-fit: cover !important;
    object-position: center top !important;
  }
}

/* Hide supplemental links below the footer, 2026-10-06. */
#geography-footer { display: none !important; }
