/* Final homepage polish. Loaded after home-v3.css. */

.home-v3 .section {
  padding-block: clamp(4.5rem, 7vw, 6.2rem);
}

.home-v3 .v3-hero-grid {
  min-height: 620px;
  padding-block: 46px 54px;
}
.home-v3 .v3-hero h1 {
  max-width: 8.8ch;
}
.home-v3 .v3-hero-visual {
  width: min(100%, 535px);
}
.home-v3 .v3-hero-note {
  max-width: 540px;
  font-size: 0.76rem;
  line-height: 1.65;
}
.home-v3 .v3-hero-note a {
  font-weight: 600;
  white-space: nowrap;
}

.home-v3 .v3-discover {
  max-width: 1120px;
  grid-template-columns: minmax(300px, 0.76fr) minmax(0, 1.24fr);
}
.home-v3 .v3-video-frame {
  min-height: 485px;
}
.home-v3 .v3-video-frame .v2-video {
  width: min(100%, 305px);
  height: 430px;
}
.home-v3 .v3-discover-copy {
  min-width: 0;
  padding: clamp(44px, 6vw, 72px);
}

.home-v3 .v3-care-card {
  min-height: 440px;
  padding: 36px 38px;
}
.home-v3 .v3-care-card .care-icon {
  margin-bottom: 28px;
}
.home-v3 .v3-care-card h3 {
  font-size: clamp(3.1rem, 4.6vw, 4.25rem);
}
.home-v3 .v3-service-list {
  margin: 24px 0 28px;
}

.home-v3 .v3-treatments .container {
  max-width: 1080px;
}
.home-v3 .v3-treatment-intro {
  margin-bottom: 44px;
}
.home-v3 .v3-treatment-columns {
  gap: 28px;
}
.home-v3 .v3-treatment-category-head {
  padding: 24px 26px 20px;
}
.home-v3 .v3-treatment-row {
  min-height: 64px;
  padding: 12px 24px;
}
.home-v3 .v3-treatment-name {
  font-size: 0.92rem;
}

.home-v3 .v3-clinicians .section-heading--split {
  margin-bottom: 38px;
}
.home-v3 .v3-clinicians .clinician-spread {
  gap: 26px;
}
.home-v3 .v3-clinicians .clinician-caption {
  margin-top: 16px;
  padding-top: 15px;
}

.home-v3 .v3-approach-head > p {
  font-size: 0.9rem;
}
.home-v3 .v3-approach .principles {
  margin-top: 42px;
  gap: 24px;
}
.home-v3 .v3-approach .principles article {
  padding-top: 20px;
}
.home-v3 .v3-approach .principle-icon {
  width: 50px;
  height: 50px;
}
.home-v3 .v3-approach .principles h3 {
  margin-top: 13px;
  font-size: 1.95rem;
}
.home-v3 .v3-approach .principles p {
  line-height: 1.7;
}

.home-v3 .v3-statement {
  padding-block: clamp(5.5rem, 9vw, 8rem);
}
.home-v3 .v3-statement h2,
.home-v3 .v3-statement h2 em,
.home-v3 .v3-statement p {
  opacity: 1;
}

.home-v3 .v3-faq {
  padding-block: clamp(4.5rem, 7vw, 6rem);
  gap: 64px;
}
.home-v3 .v3-faq .faq-button {
  font-size: 0.9rem;
}

.home-v3 .appointment-section {
  background: #e5ede5;
}
.home-v3 .appointment-layout--contact {
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
  gap: 68px;
}
.home-v3 .quick-contact--cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}
.home-v3 .quick-contact--cards > * {
  width: 100%;
  padding: 14px;
}
.home-v3 .appointment-contact-panel {
  min-height: 390px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.home-v3 .site-footer {
  padding-top: 54px;
}
.home-v3 .footer-top {
  padding-bottom: 48px;
}
.home-v3 .footer-top nav > a,
.home-v3 .footer-location {
  font-size: 0.8rem;
}
.home-v3 .footer-location .small a {
  min-height: 34px;
}

@media (max-width: 900px) {
  .home-v3 .v3-hero-grid {
    min-height: 0;
    padding-block: 32px 38px;
  }

  /* home-v3-final.css is loaded after home-v3.css, so the responsive
     discover layout must be restated here to avoid the desktop columns
     winning in the cascade on tablet/mobile. */
  .home-v3 .v3-discover {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    width: 100%;
    max-width: 680px;
    margin-inline: auto;
  }
  .home-v3 .v3-discover > * {
    width: 100%;
    min-width: 0;
  }
  .home-v3 .v3-video-frame {
    min-height: 0;
  }

  .home-v3 .appointment-layout--contact {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}

@media (max-width: 700px) {
  .home-v3 .section {
    padding-block: 46px;
  }
  .home-v3 .v3-hero-grid {
    padding-block: 22px 26px;
    gap: 20px;
  }
  .home-v3 .v3-hero h1 {
    font-size: clamp(3.15rem, 12.4vw, 3.8rem);
    line-height: 0.96;
  }
  .home-v3 .v3-hero-lede {
    margin-top: 17px;
    font-size: 0.9rem;
  }
  .home-v3 .v3-hero .hero-actions {
    margin-top: 18px;
  }
  .home-v3 .v3-hero-visual {
    width: min(84%, 320px);
  }
  .home-v3 .v3-hero-image {
    max-height: 300px;
  }
  .home-v3 .v3-discover-wrap {
    padding-top: 36px;
    padding-bottom: 36px;
  }
  .home-v3 .v3-discover {
    max-width: 100%;
  }
  .home-v3 .v3-video-frame {
    padding: 22px 18px;
    background: #e7eee8;
  }
  .home-v3 .v3-video-frame .v2-video {
    width: min(62vw, 220px);
    height: auto;
    aspect-ratio: 9 / 16;
    margin-inline: auto;
  }
  .home-v3 .v3-discover-copy {
    width: 100%;
    padding: 30px 24px 34px;
  }
  .home-v3 .v3-discover-copy h2 {
    font-size: 2.65rem;
    max-width: 8ch;
  }
  .home-v3 .v3-discover-copy p {
    font-size: 0.9rem;
    line-height: 1.7;
  }
  .home-v3 .v3-care-card {
    padding: 24px 22px;
  }
  .home-v3 .v3-care-card h3 {
    font-size: 2.75rem;
  }
  .home-v3 .v3-treatment-columns {
    gap: 18px;
  }
  .home-v3 .v3-treatment-category-head {
    padding: 20px 18px 16px;
  }
  .home-v3 .v3-treatment-row {
    min-height: 56px;
    padding: 10px 16px;
  }
  .home-v3 .v3-treatment-name {
    font-size: 0.86rem;
  }
  .home-v3 .v3-clinicians .clinician-spread {
    gap: 30px;
  }
  .home-v3 .v3-approach-head > p {
    font-size: 0.9rem;
    line-height: 1.7;
  }
  .home-v3 .v3-approach .principles {
    margin-top: 28px;
    gap: 16px;
  }
  .home-v3 .v3-approach .principles article {
    padding-top: 18px;
  }
  .home-v3 .v3-approach .principle-icon {
    width: 46px;
    height: 46px;
  }
  .home-v3 .v3-approach .principles h3 {
    font-size: 1.75rem;
  }
  .home-v3 .v3-statement {
    padding-block: 64px;
  }
  .home-v3 .v3-statement h2 {
    font-size: clamp(2.8rem, 11.6vw, 3.45rem);
  }
  .home-v3 .v3-faq {
    gap: 22px;
    padding-block: 46px;
  }
  .home-v3 .v3-faq .faq-button {
    min-height: 58px;
    font-size: 0.86rem;
  }
  .home-v3 .quick-contact--cards {
    grid-template-columns: 1fr;
  }
  .home-v3 .appointment-contact-panel {
    min-height: 0;
  }
  .home-v3 .footer-top {
    gap: 26px 20px;
  }
}

/* UI/UX audit corrections. */
.home-v3 .v3-care-card--aesthetics > p {
  color: var(--ivory);
}
.home-v3 .v3-treatment-category {
  align-self: start;
  background: transparent;
  border: 0;
}
.home-v3 .v3-treatment-category-head {
  padding: 0 0 18px;
  border-color: rgba(5, 47, 37, 0.18);
}
.home-v3 .v3-treatment-list {
  display: grid;
  gap: 8px;
  padding-top: 12px;
}
.home-v3 .v3-treatment-list .v3-treatment-row {
  min-height: 58px;
  background: rgba(251, 248, 241, 0.64);
  border: 1px solid rgba(5, 47, 37, 0.09);
}
.home-v3 .v3-video-frame .v2-video img {
  filter: saturate(0.84) contrast(1.025);
}
.home-v3 .footer-location .small a {
  min-height: 44px;
}
@media (max-width: 900px) {
  html.mobile-dock-visible body.home-v3 {
    padding-bottom: 62px;
  }
  html.menu-open body.home-v3 .contact-dock {
    display: none !important;
  }
}
@media (max-width: 700px) {
  .home-v3 .v3-treatment-row {
    min-height: 52px;
  }
}
