﻿@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@400;500;600;700&display=swap");

:root {
  --dt-page-top: #FEFCF6;
  --dt-page-mid: #FFFDF8;
  --dt-page-bottom: #FFFDF7;
  --dt-surface: rgba(255, 255, 255, 0.90);
  --dt-surface-strong: rgba(255, 255, 255, 0.96);
  --dt-soft: #F8F7F3;
  --dt-border: #DEDAD0;
  --dt-shadow: 0 18px 44px rgba(15, 44, 71, 0.08);
  --dt-shadow-soft: 0 12px 30px rgba(15, 44, 71, 0.06);
  --dt-image-shadow: 0 24px 54px rgba(15, 44, 71, 0.13);
  --dt-navy: #0F2C47;
  --dt-gold: #C8A46A;
  --dt-muted: #667085;
}

html,
body {
  background: linear-gradient(180deg, var(--dt-page-top) 0%, var(--dt-page-mid) 36%, var(--dt-page-bottom) 100%) !important;
  color: #243447;
}

body {
  min-height: 100vh;
}

.site-header.is-scrolled {
  background: rgba(255, 253, 248, 0.96) !important;
  border-color: rgba(222, 218, 208, 0.90) !important;
}

.site-header .nav-menu-panel {
  background: rgba(255, 252, 247, 0.98) !important;
  border-color: rgba(222, 218, 208, 0.95) !important;
  box-shadow: var(--dt-shadow) !important;
}

.info-card,
.insurance-logo-card,
.insurance-logo-card-large,
.ts-value-card,
.ts-service-card,
.ts-waitlist-card,
.ts-mission-card,
.contact-card,
.membership-card,
.plan-card,
.resource-card,
.service-card,
.review-card,
.location-card {
  background: var(--dt-surface-strong) !important;
  border-color: var(--dt-border) !important;
  box-shadow: var(--dt-shadow) !important;
}

.section-kicker,
.ts-eyebrow,
.ts-service-link,
.card-kicker,
.membership-kicker,
.service-kicker,
.resource-kicker,
.plan-kicker {
  color: var(--dt-gold) !important;
}

a.ts-service-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  width: fit-content !important;
  margin-top: 0.45rem !important;
  color: var(--dt-gold) !important;
  font-family: var(--dt-font-body) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  background-image: linear-gradient(currentColor, currentColor) !important;
  background-repeat: no-repeat !important;
  background-size: calc(100% - 1.35em) 1px !important;
  background-position: left calc(100% - 0.04em) !important;
}

a.ts-service-link::after {
  content: "";
  display: inline-block;
  width: 0.62em;
  height: 0.62em;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  flex: 0 0 auto;
  text-decoration: none !important;
  transform: translateY(0.01em) rotate(45deg);
}

a.ts-service-link:hover {
  color: #ad8545 !important;
}

.site-section,
.page-section,
.content-section,
.resource-section,
.membership-section,
.insurance-section,
.contact-section,
.about-section,
.services-section {
  background: transparent !important;
}

.legacy-story .service-story-section,
.legacy-story.bg-background,
section.bg-background,
.bg-background,
.bg-surface,
.bg-surface-container-low,
.bg-surface-container-lowest,
.bg-surface-bright {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.92) 22%, transparent 58%),
    linear-gradient(180deg, #FEFCF6 0%, #FFFDF8 34%, #FFFDF7 100%) !important;
}

.legacy-story .service-story-image,
.legacy-story .bridge-feature-photo,
.legacy-story .bridge-feature-diagram,
.rounded-\[1\.75rem\].overflow-hidden.shadow-card,
.rounded-\[1\.5rem\].overflow-hidden.shadow-card,
.ts-map-card,
.service-location-map,
.contact-map,
.location-map,
iframe {
  box-shadow: var(--dt-shadow) !important;
}

body.page-interior:not(.page-home) main > section:not(:first-of-type) img:not([class*="logo"]):not([src*="logo"]):not(.tooth-icon) {
  box-shadow: var(--dt-image-shadow) !important;
}

body.page-interior:not(.page-home) .insurance-logo-grid img,
body.page-interior:not(.page-home) .insurance-logo-card img,
body.page-interior:not(.page-home) .insurance-logo-card-large img {
  box-shadow: none !important;
}

.legacy-story .service-story-copy,
.legacy-story .bridge-feature-copy,
.legacy-story .service-story-intro,
.legacy-story .bridge-feature-intro,
.service-content,
.membership-copy,
.insurance-copy,
.contact-copy,
.about-copy {
  color: #334155;
}

.ts-soft {
  background: linear-gradient(180deg, #FAF8F3, #FFFDF8) !important;
}

.ts-cream {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.92) 22%, transparent 58%),
    linear-gradient(180deg, #FEFCF6 0%, #FFFDF8 34%, #FFFDF7 100%) !important;
}

.hero-glass-strip {
  background: rgba(255, 252, 247, 0.92) !important;
  border-color: rgba(222, 218, 208, 0.92) !important;
  box-shadow: var(--dt-shadow-soft) !important;
  color: var(--dt-navy) !important;
}

.hero-glass-strip h2,
.hero-glass-strip p,
.hero-glass-strip .material-symbols-outlined,
.hero-glass-strip a {
  color: var(--dt-navy) !important;
}

.hero-waitlist-icon {
  background: var(--dt-navy) !important;
  border-color: rgba(15, 44, 71, 0.08) !important;
}

.accessibility-panel {
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 100000 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  padding: 10px !important;
  border-radius: 999px !important;
  background: #102b47 !important;
  box-shadow: 0 14px 30px rgba(200, 164, 106, 0.18) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  isolation: isolate !important;
}


.accessibility-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #173858 !important;
  box-shadow: 0 8px 18px rgba(200, 164, 106, 0.12) !important;
  color: #ffffff !important;
  padding: 0 !important;
  flex: 0 0 42px !important;
}

.accessibility-toggle::before {
  content: "";
  width: 19px;
  height: 19px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,248,235,0.96)' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M12 3a15 15 0 0 1 0 18'/%3E%3Cpath d='M12 3a15 15 0 0 0 0 18'/%3E%3C/svg%3E");
}

.accessibility-menu {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-10px) scale(0.98) !important;
  transform-origin: left center !important;
  transition:
    width 180ms ease,
    max-width 180ms ease,
    margin-left 180ms ease,
    opacity 160ms ease,
    transform 160ms ease,
    visibility 160ms ease !important;
  white-space: nowrap !important;
}

.accessibility-panel.is-open .accessibility-menu {
  width: auto !important;
  max-width: min(calc(100vw - 104px), 420px) !important;
  height: auto !important;
  max-height: min(70vh, 420px) !important;
  margin-left: 8px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) scale(1) !important;
}

.accessibility-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.accessibility-group--language {
  gap: 8px !important;
}

.accessibility-btn {
  border: 1px solid rgba(255, 255, 255, 0.04) !important;
  background: #173554 !important;
  color: #f8efe2 !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  min-width: 62px !important;
  height: 38px !important;
  flex: 0 0 auto !important;
  box-shadow: none !important;
}

.accessibility-btn:hover,
.accessibility-btn:focus-visible {
  background: #1d4064 !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
  color: #fff7ea !important;
  transform: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.accessibility-btn.is-active {
  background: #334c6e !important;
  border-color: rgba(255, 255, 255, 0.05) !important;
  color: #fff2dd !important;
}

.accessibility-group .tts-btn {
  min-width: 92px !important;
  background: #EFDDC5 !important;
  color: #0f2740 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.accessibility-group .tts-btn:hover,
.accessibility-group .tts-btn:focus-visible,
.accessibility-group .tts-btn.is-active {
  background: #e7d4bb !important;
  color: #0f2740 !important;
}
@media (max-width: 720px) {
  .accessibility-panel {
    right: 18px !important;
    bottom: 18px !important;
  }

  .accessibility-menu {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    max-width: min(calc(100vw - 40px), 520px) !important;
  }

  .accessibility-group {
    flex-wrap: wrap !important;
  }
}

.site-footer {
  background: #FBF8F1;
  border-top: 1px solid rgba(15, 44, 71, 0.08);
  color: #0F2C47;
}

.footer-shell {
  width: min(1340px, calc(100% - 64px));
  margin: 0 auto;
  padding: 40px 0 24px;
}

.footer-main {
  display: grid;
  grid-template-columns: minmax(0, 350px) 1fr minmax(0, 360px);
  gap: clamp(3rem, 4vw, 5rem);
  align-items: start;
  padding-bottom: 34px;
}

.footer-brand h3 {
  margin: 0 0 10px;
  font-family: var(--dt-font-display);
  font-size: 27px;
  line-height: 1.12;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #0F2C47;
}

.footer-brand p,
.footer-contact p,
.footer-bottom {
  margin: 0;
  font-size: clamp(0.98rem, 1.05vw, 1.08rem);
  line-height: 1.68;
}

.footer-brand p {
  max-width: 350px;
  color: #5d7084;
  font-size: clamp(1rem, 1.08vw, 1.08rem);
  line-height: 1.52;
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 2.15rem;
}

.footer-social-link {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1.85px solid rgba(200, 164, 106, 0.84);
  color: #C8A46A;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.footer-social-link:hover {
  border-color: #C8A46A;
  color: #0F2C47;
  background: rgba(200, 164, 106, 0.08);
  transform: translateY(-1px);
}

.footer-social-link svg {
  width: 25px;
  height: 25px;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.footer-social-link[aria-label="Facebook"] svg {
  width: 28px;
  height: 28px;
}

.footer-social-link svg path {
  fill: currentColor;
  stroke: none;
}

.footer-social-link .footer-social-fill {
  fill: currentColor;
  stroke: none;
}

.footer-column {
  min-width: 0;
}

.footer-brand {
  justify-self: start;
}

.footer-kicker {
  margin: 0 0 1rem;
  font-family: "Inter", sans-serif;
  font-size: clamp(0.92rem, 0.92vw, 1rem);
  line-height: 1.1;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #C8A46A;
}

html body .site-footer .footer-kicker {
  color: #C8A46A !important;
  -webkit-text-fill-color: #C8A46A !important;
  font-family: "Inter", sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: clamp(0.92rem, 0.92vw, 1rem) !important;
  line-height: 1.1 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.footer-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding-top: 0;
  text-align: left;
}

.footer-links a,
.footer-legal a,
.footer-contact a {
  color: #0F2C47;
  text-decoration: none;
  font-size: clamp(1rem, 1.06vw, 1.1rem);
  font-weight: 500;
  line-height: 1.55;
  transition: color 180ms ease;
}

.footer-contact a {
  color: #5d7084;
  font-weight: 500;
}

.footer-links a:hover,
.footer-legal a:hover {
  color: #C8A46A;
}

.footer-contact {
  text-align: left;
  color: rgba(15, 44, 71, 0.72);
  justify-self: end;
  width: min(100%, 360px);
}

.footer-contact-list {
  display: grid;
  gap: 1.35rem;
}

.footer-contact-row {
  display: grid;
  grid-template-columns: 1.45rem minmax(0, 1fr);
  gap: 0.95rem;
  align-items: start;
}

.footer-contact-row .material-symbols-outlined {
  font-size: 1.45rem;
  line-height: 1;
  color: #C8A46A;
}

.footer-contact-row p + p {
  margin-top: 0.1rem;
}

.footer-contact p {
  color: #5d7084;
  font-size: clamp(1rem, 1.06vw, 1.08rem);
  line-height: 1.52;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding-top: 26px;
  border-top: 1px solid rgba(200, 164, 106, 0.58);
  color: #7a8795;
  width: 100%;
}

.footer-legal {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-legal span {
  color: #C8A46A;
}

.footer-legal a {
  font-size: clamp(0.98rem, 1.02vw, 1.05rem);
  line-height: 1.6;
}

.footer-bottom p {
  margin: 0;
}

@media (max-width: 820px) {
  .footer-main {
    grid-template-columns: 1fr;
    gap: 28px;
    text-align: center;
  }

  .footer-brand p {
    max-width: none;
  }

  .footer-social {
    justify-content: center;
  }

  .footer-links {
    align-items: center;
    text-align: center;
  }

  .footer-contact {
    text-align: center;
    justify-self: center;
    width: 100%;
    max-width: none;
  }

  .footer-contact-row {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .footer-brand,
  .footer-nav-column,
  .footer-contact,
  .footer-contact-list,
  .footer-contact-row > div,
  .footer-legal,
  .footer-bottom p {
    width: 100%;
    text-align: center;
  }

  .footer-legal {
    justify-content: center;
    flex-wrap: wrap;
  }

  .footer-contact-row .material-symbols-outlined {
    justify-self: center;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding-bottom: 1.15rem;
  }
}













body.page-interior {
  background: linear-gradient(180deg, var(--dt-page-top) 0%, var(--dt-page-mid) 36%, var(--dt-page-bottom) 100%) !important;
  color: #243447 !important;
}

body.page-interior main {
  background: transparent !important;
}

body.page-interior main > section:first-of-type h1,
body.page-interior main > section:first-of-type .font-display {
  font-family: "Cormorant Garamond", "Playfair Display", serif !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.98) !important;
  letter-spacing: 0.01em !important;
  line-height: 1.02 !important;
  text-shadow: 0 6px 22px rgba(7, 29, 51, 0.16) !important;
}

body.page-interior main > section:first-of-type .max-w-\[980px\] > p,
body.page-interior main > section:first-of-type .max-w-\[980px\] > .text-white\/90,
body.page-interior main > section:first-of-type p.text-white\/90,
body.page-interior main > section:first-of-type p[class*="text-white"] {
  font-family: var(--dt-font-body) !important;
  font-size: clamp(15px, 1.2vw, 22px) !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  max-width: 860px !important;
  text-shadow: 0 6px 18px rgba(7, 29, 51, 0.14) !important;
}






body.page-interior:not(.page-home) main > section:first-of-type .inline-block.px-4.py-1\.5 {
  display: none !important;
}

body.page-about main > section:first-of-type .inline-block.px-4.py-1\.5,
body.page-meet-doctors main > section:first-of-type .inline-block.px-4.py-1\.5,
body.page-membership main > section:first-of-type .inline-block.px-4.py-1\.5,
body.page-insurance main > section:first-of-type .inline-block.px-4.py-1\.5,
body.page-contact main > section:first-of-type .inline-block.px-4.py-1\.5 {
  display: none !important;
}

/* Homepage master typography/layout layer for every interior page.
   Keep this above the shared location module so the map block can lock its own type. */
:root {
  --dt-font-accent: "Playfair Display", serif;
  --dt-font-display: "Cormorant Garamond", serif;
  --dt-font-hero: "Cormorant Garamond", serif;
  --dt-font-body: "Inter", sans-serif;
  --dt-shell-wide: min(1340px, calc(100% - 64px));
  --dt-section-y: clamp(4.35rem, 6vw, 6.9rem);
  --dt-card-radius: 2rem;
}

body.page-interior:not(.page-home) {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.92) 22%, transparent 58%),
    linear-gradient(180deg, #FEFCF6 0%, #FFFDF8 34%, #FFFDF7 100%) !important;
  color: #243447 !important;
  font-family: var(--dt-font-body) !important;
}

body.page-interior:not(.page-home) main {
  background: transparent !important;
}

body.page-interior:not(.page-home) .bg-background,
body.page-interior:not(.page-home) .bg-surface,
body.page-interior:not(.page-home) .bg-surface-container-low,
body.page-interior:not(.page-home) .bg-surface-container-lowest,
body.page-interior:not(.page-home) .bg-surface-bright,
body.page-interior:not(.page-home) .bg-surfaceContainerLow,
body.page-interior:not(.page-home) .bg-surfaceContainerLowest,
body.page-interior:not(.page-home) main > section:not(:first-of-type) .bg-white\/95,
body.page-interior:not(.page-home) main > section:not(:first-of-type) .bg-\[\#f8f9fe\],
body.page-interior:not(.page-home) main > section:not(:first-of-type) .bg-\[\#F8F9FE\],
body.page-interior:not(.page-home) .legacy-story.bg-background,
body.page-interior:not(.page-home) .service-story-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.92) 22%, transparent 58%),
    linear-gradient(180deg, #FEFCF6 0%, #FFFDF8 34%, #FFFDF7 100%) !important;
}

body.page-interior:not(.page-home) main > section:first-of-type {
  min-height: clamp(520px, 56vh, 620px) !important;
  background-color: var(--dt-navy) !important;
}

body.page-interior:not(.page-home) main > section:first-of-type::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(7, 22, 34, 0.22) 0%, rgba(7, 22, 34, 0.22) 100%) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;
}

body.page-interior:not(.page-home) main > section:first-of-type > .absolute.inset-0.z-0 img,
body.page-interior:not(.page-home) main > section:first-of-type .service-hero-media {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center center !important;
}

body.page-interior:not(.page-home) main > section:first-of-type .service-hero-picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.page-interior:not(.page-home) main > section:first-of-type > .relative,
body.page-interior:not(.page-home) main > section:first-of-type > .max-w-\[1320px\],
body.page-interior:not(.page-home) main > section:first-of-type > .max-w-\[1200px\] {
  position: relative !important;
  z-index: 2 !important;
  padding-left: clamp(5.8rem, 8vw, 9.5rem) !important;
  padding-right: clamp(2.5rem, 4.5vw, 5rem) !important;
}

body.page-interior:not(.page-home) main > section:first-of-type .service-left-column {
  width: min(1500px, 100%) !important;
  max-width: none !important;
}

body.page-interior:not(.page-home) main > section:first-of-type h1 {
  display: block !important;
  width: fit-content !important;
  font-family: var(--dt-font-hero) !important;
  color: rgba(255, 255, 255, 0.98) !important;
  font-size: clamp(2.6rem, 4.2vw, 5rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.02 !important;
  text-shadow: 0 6px 22px rgba(7, 29, 51, 0.16) !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

body.page-interior:not(.page-home) main > section:first-of-type h1::after {
  content: "" !important;
  display: block !important;
  width: 42% !important;
  min-width: 3.8rem !important;
  max-width: 13.5rem !important;
  height: 2px !important;
  margin-top: clamp(0.7rem, 1vw, 1rem) !important;
  background: var(--dt-gold) !important;
  border-radius: 999px !important;
}

body.page-interior:not(.page-home) main > section:first-of-type p {
  font-family: var(--dt-font-body) !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: clamp(1rem, 1.1vw, 1.18rem) !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
  max-width: 860px !important;
}

body.page-interior:not(.page-home) main > section:first-of-type .site-hero-subtitle {
  display: none !important;
  margin: clamp(0.75rem, 1.05vw, 1.05rem) 0 0 !important;
  font-family: var(--dt-font-body) !important;
  font-size: clamp(15px, 1.2vw, 22px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.85 !important;
  color: var(--dt-gold) !important;
  text-shadow: none !important;
  max-width: 860px !important;
}

body.page-interior:not(.page-home) main > section:first-of-type .inline-flex {
  display: none !important;
}

body.page-interior:not(.page-home) main > section:not(:first-of-type):not(.site-location-section):not(.site-cta-section),
body.page-interior:not(.page-home) .legacy-story,
body.page-interior:not(.page-home) .legacy-story .service-story-section,
body.page-interior:not(.page-home) .legal-shell {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.92) 22%, transparent 58%),
    linear-gradient(180deg, #FEFCF6 0%, #FFFDF8 34%, #FFFDF7 100%) !important;
}

body.page-interior:not(.page-home) .site-section,
body.page-interior:not(.page-home) .legacy-story .service-story-section,
body.page-interior:not(.page-home) .legal-shell {
  padding-top: var(--dt-section-y) !important;
  padding-bottom: var(--dt-section-y) !important;
}

body.page-interior:not(.page-home) .site-section > .relative.z-10,
body.page-interior:not(.page-home) .site-section > .max-w-\[1320px\],
body.page-interior:not(.page-home) .site-section > .max-w-\[1200px\],
body.page-interior:not(.page-home) .site-section > .max-w-\[1180px\],
body.page-interior:not(.page-home) .legacy-story-shell,
body.page-interior:not(.page-home) .legal-card {
  width: var(--dt-shell-wide) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

body.page-interior:not(.page-home) .section-kicker,
body.page-interior:not(.page-home) .legal-eyebrow,
body.page-interior:not(.page-home) .service-kicker,
body.page-interior:not(.page-home) .resource-kicker,
body.page-interior:not(.page-home) .membership-kicker,
body.page-interior:not(.page-home) .card-kicker {
  color: var(--dt-gold) !important;
  font-family: var(--dt-font-body) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.page-interior:not(.page-home) .site-section .section-kicker + h2,
body.page-interior:not(.page-home) .legal-title {
  font-family: var(--dt-font-display) !important;
  color: var(--dt-navy) !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  line-height: 0.98 !important;
  font-size: clamp(2.62rem, 4.15vw, 4.55rem) !important;
  margin-top: 0 !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-copy h2,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-copy h2,
body.page-interior:not(.page-home) .legacy-story .service-story-intro h2,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-intro h2,
body.page-interior:not(.page-home) .info-card h3,
body.page-interior:not(.page-home) .legal-section h2 {
  font-family: var(--dt-font-display) !important;
  color: var(--dt-navy) !important;
  font-weight: 500 !important;
  font-size: clamp(1.62rem, 1.95vw, 2.08rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
}

body.page-interior:not(.page-home) main p,
body.page-interior:not(.page-home) main li,
body.page-interior:not(.page-home) .text-onSurfaceVariant,
body.page-interior:not(.page-home) .text-slate-600,
body.page-interior:not(.page-home) .text-slate-500,
body.page-interior:not(.page-home) .legacy-story .service-story-copy,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-copy,
body.page-interior:not(.page-home) .legacy-story .service-story-copy p,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-copy p,
body.page-interior:not(.page-home) .legacy-story .service-story-copy li,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-copy li,
body.page-interior:not(.page-home) .info-card p,
body.page-interior:not(.page-home) .legal-intro,
body.page-interior:not(.page-home) .legal-copy,
body.page-interior:not(.page-home) .legal-copy p,
body.page-interior:not(.page-home) .legal-copy li {
  font-family: var(--dt-font-body) !important;
  color: var(--dt-muted) !important;
  font-size: clamp(0.98rem, 1.05vw, 1.08rem) !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
}

body.page-interior:not(.page-home) main p,
body.page-interior:not(.page-home) .legacy-story .service-story-copy p,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-copy p,
body.page-interior:not(.page-home) .legal-copy p,
body.page-interior:not(.page-home) .doctor-body p {
  text-wrap: pretty !important;
}

body.page-interior:not(.page-home) main strong,
body.page-interior:not(.page-home) main b {
  color: #243447 !important;
  font-weight: 700 !important;
}

body.page-interior:not(.page-home) .text-primary,
body.page-interior:not(.page-home) .material-symbols-outlined.text-primary {
  color: var(--dt-gold) !important;
}

body.page-interior:not(.page-home) .info-card,
body.page-interior:not(.page-home) .membership-card,
body.page-interior:not(.page-home) .plan-card,
body.page-interior:not(.page-home) .resource-card,
body.page-interior:not(.page-home) .insurance-logo-card,
body.page-interior:not(.page-home) .insurance-logo-card-large,
body.page-interior:not(.page-home) .legal-card {
  background: rgba(255, 255, 255, 0.90) !important;
  border: 1px solid rgba(21, 59, 92, 0.12) !important;
  border-radius: var(--dt-card-radius) !important;
  box-shadow: 0 24px 54px rgba(21, 59, 92, 0.08) !important;
}

body.page-interior:not(.page-home) .legal-card {
  max-width: min(1180px, calc(100% - 64px)) !important;
  padding: clamp(2.1rem, 3vw, 3rem) clamp(2rem, 3vw, 3.1rem) !important;
}

body.page-interior:not(.page-home) .legal-eyebrow {
  color: #C8A46A !important;
  -webkit-text-fill-color: #C8A46A !important;
  font-family: var(--dt-font-accent) !important;
  font-style: italic !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 0.7rem !important;
}

body.page-interior:not(.page-home) .legal-title {
  max-width: 16ch !important;
  margin-bottom: 1rem !important;
}

body.page-interior:not(.page-home) .legal-intro {
  max-width: 72rem !important;
}

body.page-interior:not(.page-home) .legal-section + .legal-section {
  margin-top: 1.9rem !important;
}

body.page-interior:not(.page-home) .legal-section h2 {
  margin-bottom: 0.55rem !important;
}

body.page-interior:not(.page-home) .legal-section p {
  max-width: 74rem !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-image,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-photo,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-diagram {
  border-radius: 1.75rem !important;
  box-shadow: var(--dt-image-shadow) !important;
  border: 0 !important;
  background-color: #f7f4ec !important;
}

body.page-interior:not(.page-home) .py-20.md\:py-24.bg-\[\#1a5f91\] {
  background: #071D33 !important;
  color: #ffffff !important;
  padding-top: clamp(4.5rem, 6vw, 6rem) !important;
  padding-bottom: clamp(4.5rem, 6vw, 6rem) !important;
  text-align: center !important;
}

body.page-interior:not(.page-home) .py-20.md\:py-24.bg-\[\#1a5f91\] h2 {
  font-family: var(--dt-font-display) !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  font-size: clamp(2.05rem, 3vw, 3.25rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  text-align: center !important;
  text-wrap: balance !important;
}

body.page-interior:not(.page-home) .py-20.md\:py-24.bg-\[\#1a5f91\] p {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 1.1rem !important;
  line-height: 1.72 !important;
  font-weight: 500 !important;
  max-width: 860px !important;
  margin-inline: auto !important;
  text-align: center !important;
  text-wrap: balance !important;
}

body.page-interior:not(.page-home) .py-20.md\:py-24.bg-\[\#1a5f91\] a,
body.page-interior:not(.page-home) .py-20.md\:py-24.bg-\[\#1a5f91\] button {
  background: var(--dt-gold) !important;
  color: var(--dt-navy) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  min-height: 3.65rem !important;
  padding: 0 2.25rem !important;
  font-size: 1.16rem !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

.ts-cta-band,
.site-cta-section {
  background: #071D33 !important;
  color: #ffffff !important;
  text-align: center !important;
  padding: clamp(4.5rem, 6vw, 6rem) 1.5rem !important;
}

.ts-cta-inner,
.site-cta-shell {
  display: block !important;
  text-align: center !important;
  width: min(900px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
}

.ts-cta-band h2,
.site-cta-section h2 {
  font-family: var(--dt-font-display) !important;
  color: #ffffff !important;
  font-size: clamp(2.05rem, 3vw, 3.25rem) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  margin: 0 auto !important;
  max-width: 1100px !important;
  text-wrap: balance !important;
}

.ts-cta-band p:not(.ts-eyebrow),
.site-cta-section p {
  font-family: var(--dt-font-body) !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 1.1rem !important;
  line-height: 1.72 !important;
  font-weight: 500 !important;
  max-width: 860px !important;
  margin: 1.1rem auto 0 !important;
  text-wrap: balance !important;
}

.ts-cta-actions {
  display: flex !important;
  gap: 1.1rem !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin-top: 1.9rem !important;
}

.ts-cta-actions .ts-gold-pill,
.site-cta-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 3.65rem !important;
  padding: 0 2.25rem !important;
  border-radius: 999px !important;
  background: var(--dt-gold) !important;
  color: var(--dt-navy) !important;
  font-family: var(--dt-font-body) !important;
  font-size: 1.16rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.page-interior:not(.page-home) main > .site-cta-section {
  background: #071D33 !important;
  color: #ffffff !important;
}

body.page-interior:not(.page-home) main > .site-cta-section h2 {
  color: #ffffff !important;
}

body.page-interior:not(.page-home) main > .site-cta-section p {
  color: rgba(255, 255, 255, 0.88) !important;
}

body.page-interior:not(.page-home) main > .site-cta-section .site-cta-button {
  background: var(--dt-gold) !important;
  color: var(--dt-navy) !important;
}

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

body.page-interior:not(.page-home) .site-section {
  padding-top: var(--dt-section-y) !important;
  padding-bottom: var(--dt-section-y) !important;
}

body.page-interior:not(.page-home) .site-split {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(72px, 0.2fr) minmax(0, 1fr) !important;
  align-items: center !important;
}

body.page-interior:not(.page-home) .site-split > :first-child {
  grid-column: 1 !important;
}

body.page-interior:not(.page-home) .site-split > :last-child {
  grid-column: 3 !important;
}

body.page-interior:not(.page-home) .site-stack {
  display: grid !important;
  gap: 7.875rem !important;
}

body.page-interior:not(.page-home) .insurance-logo-grid img {
  max-height: 54px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

body.page-interior:not(.page-home) .insurance-logo-card,
body.page-interior:not(.page-home) .insurance-logo-card-large {
  background: #ffffff !important;
  border: 1px solid rgba(21, 59, 92, 0.10) !important;
  box-shadow: 0 18px 42px rgba(15, 44, 71, 0.07) !important;
  overflow: visible !important;
}

body.page-interior:not(.page-home) .insurance-logo-uhc {
  max-height: 128px !important;
  max-width: 290px !important;
  transform: scale(1.52) !important;
  transform-origin: center center !important;
}

body.page-interior:not(.page-home) .insurance-logo-bcbs {
  max-height: 132px !important;
  max-width: 300px !important;
  transform: scale(1.75) !important;
  transform-origin: center center !important;
}

body.page-interior:not(.page-home) .insurance-logo-card-large {
  padding: 0.55rem !important;
}

body.page-interior:not(.page-home) .insurance-logo-card {
  min-height: 122px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.35rem !important;
}

body.page-insurance .site-section .text-center.max-w-3xl {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
}

body.page-insurance {
  --insurance-card-height: 82px;
  --insurance-logo-height: 40px;
}

body.page-insurance main > section:nth-of-type(2) > .relative.z-10 {
  width: min(1040px, calc(100% - 56px)) !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-insurance main > section:first-of-type {
  min-height: clamp(300px, 34vh, 380px) !important;
}

body.page-insurance .site-section {
  padding-top: clamp(1.75rem, 2.4vw, 2.5rem) !important;
  padding-bottom: clamp(1.8rem, 2.4vw, 2.6rem) !important;
}

body.page-insurance .site-section .text-center.max-w-3xl {
  margin-bottom: 1.25rem !important;
}

body.page-insurance .site-section .section-kicker,
body.page-insurance .site-section .section-kicker + h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-insurance .site-section .section-kicker + h2 {
  width: fit-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  font-size: clamp(1.02rem, 1.36vw, 1.52rem) !important;
  line-height: 1.12 !important;
  margin-bottom: 0 !important;
}

body.page-insurance .insurance-logo-grid {
  gap: 1rem !important;
  margin-bottom: 2.1rem !important;
}

body.page-insurance .insurance-logo-card {
  min-height: var(--insurance-card-height) !important;
  padding: 0.55rem 0.8rem !important;
  border-radius: 1.12rem !important;
}

body.page-insurance .insurance-logo-card-large {
  min-height: var(--insurance-card-height) !important;
  padding: 0.45rem 0.7rem !important;
  border-radius: 1.12rem !important;
}

body.page-insurance .insurance-logo-grid img {
  max-height: var(--insurance-logo-height) !important;
}

body.page-insurance .insurance-logo-uhc {
  max-height: calc(var(--insurance-card-height) * 0.72) !important;
  transform: scale(1.08) !important;
}

body.page-insurance .insurance-logo-bcbs {
  max-height: calc(var(--insurance-card-height) * 0.78) !important;
  transform: scale(1.14) !important;
}

body.page-insurance .site-section .w-full p {
  font-size: 1.12rem !important;
  line-height: 1.66 !important;
}

body.page-interior:not(.page-home) .service-hero-media {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1) !important;
  transform-origin: center center !important;
}

body.page-interior:not(.page-home) .legacy-story-shell {
  width: var(--dt-shell-wide) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-intro,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-intro {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin: 0 0 6rem !important;
}

body.page-interior:not(.page-home) .legacy-story .bridge-feature-intro {
  margin-inline: 0 !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-row,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-lower {
  display: grid !important;
  grid-template-columns: minmax(0, 520px) minmax(0, 520px) !important;
  column-gap: clamp(2rem, 3.2vw, 3.2rem) !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 7.875rem !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-row > *,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-lower > * {
  min-width: 0 !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-row > :first-child,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-lower > :first-child {
  grid-column: 1 !important;
  justify-self: start !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-row > :last-child,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-lower > :last-child {
  grid-column: 2 !important;
  justify-self: start !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-row.reverse .service-story-copy {
  grid-column: 1 !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-row.reverse .service-story-image {
  grid-column: 2 !important;
  justify-self: end !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-copy,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-copy {
  min-width: 0 !important;
  max-width: 520px !important;
  width: 100% !important;
  justify-self: stretch !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-copy > * + *,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-copy > * + * {
  margin-top: 0.8rem !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-copy ul,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-copy ul,
body.page-interior:not(.page-home) .legacy-story .service-story-intro ul,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-intro ul {
  display: grid !important;
  gap: 0.7rem !important;
  margin: 0 !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-image,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-photo {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  width: min(100%, 520px) !important;
  max-width: 100% !important;
  justify-self: start !important;
  background-image: none !important;
}

body.page-interior:not(.page-home) .legacy-story .bridge-feature-diagram {
  aspect-ratio: 16 / 9 !important;
  min-height: 300px !important;
  width: 100% !important;
  margin: 0 auto 3rem !important;
  background-image: none !important;
}

body.page-interior:not(.page-home) .legacy-story .family-photo-one,
body.page-interior:not(.page-home) .legacy-story .family-photo-two {
  background-image: none !important;
  background-color: #f7f4ec !important;
}

@media (max-width: 960px) {
  body.page-interior:not(.page-home) .site-section > .relative.z-10,
  body.page-interior:not(.page-home) .site-section > .max-w-\[1320px\],
  body.page-interior:not(.page-home) .site-section > .max-w-\[1200px\],
  body.page-interior:not(.page-home) .site-section > .max-w-\[1180px\],
  body.page-interior:not(.page-home) .legacy-story-shell,
  body.page-interior:not(.page-home) .legal-card {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  body.page-interior:not(.page-home) .site-split,
  body.page-interior:not(.page-home) .legacy-story .service-story-row,
  body.page-interior:not(.page-home) .legacy-story .bridge-feature-lower {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  body.page-interior:not(.page-home) .site-split > :first-child,
  body.page-interior:not(.page-home) .site-split > :last-child,
  body.page-interior:not(.page-home) .legacy-story .service-story-row > :first-child,
  body.page-interior:not(.page-home) .legacy-story .service-story-row > :last-child,
  body.page-interior:not(.page-home) .legacy-story .service-story-row.reverse .service-story-copy,
  body.page-interior:not(.page-home) .legacy-story .service-story-row.reverse .service-story-image,
  body.page-interior:not(.page-home) .legacy-story .bridge-feature-lower > :first-child,
  body.page-interior:not(.page-home) .legacy-story .bridge-feature-lower > :last-child {
    grid-column: auto !important;
    justify-self: stretch !important;
  }

  body.page-interior:not(.page-home) .legacy-story .service-story-image,
  body.page-interior:not(.page-home) .legacy-story .bridge-feature-photo {
    min-height: 300px !important;
    width: 100% !important;
  }
}

/* Rebuilt shared location module */
.site-location-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.92) 22%, transparent 58%),
    linear-gradient(180deg, #FEFCF6 0%, #FFFDF8 34%, #FFFDF7 100%) !important;
  padding: clamp(4.95rem, 6vw, 6.5rem) 0 !important;
}

.site-location-shell {
  width: min(1340px, calc(100% - 64px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
}

.site-location-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(520px, 1.02fr) !important;
  gap: clamp(2rem, 3.1vw, 3.2rem) !important;
  align-items: center !important;
}

.site-location-copy {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  min-width: 0 !important;
}

.site-location-list {
  display: grid !important;
  gap: 1.45rem !important;
  margin-top: 2rem !important;
}

.site-location-list > div {
  display: flex !important;
  gap: 1rem !important;
  align-items: flex-start !important;
}

.site-location-list .material-symbols-outlined {
  color: #c8a46a !important;
  font-size: 1.75rem !important;
  margin-top: 0.2rem !important;
}

/* Location module typography lock: this beats broad interior-page h2/h3/p rules. */
.site-location-section .site-location-grid .site-location-copy .site-location-eyebrow {
  color: #c8a46a !important;
  font-family: var(--dt-font-accent) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  margin: 0 0 1rem !important;
}

.site-location-section .site-location-grid .site-location-copy .site-location-title {
  font-family: var(--dt-font-display) !important;
  color: #153b5c !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.06 !important;
  font-size: clamp(2.75rem, 4.35vw, 4.65rem) !important;
  margin: 0 !important;
}

.site-location-section .site-location-grid .site-location-copy .site-location-title span {
  display: block !important;
}

.site-location-section .site-location-list .site-location-heading {
  color: #153b5c !important;
  font-family: var(--dt-font-display) !important;
  font-weight: 600 !important;
  font-size: 1.14rem !important;
  line-height: 1.35 !important;
  letter-spacing: 0.005em !important;
  margin: 0 0 0.2rem !important;
}

.site-location-section .site-location-list .site-location-meta {
  color: #61758a !important;
  font-family: var(--dt-font-body) !important;
  font-size: clamp(0.98rem, 1.05vw, 1.08rem) !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  margin: 0 !important;
}

.site-location-map {
  border-radius: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(231,216,182,0.78) !important;
  box-shadow: 0 24px 60px rgba(15,44,71,0.12) !important;
  background: #e9eef2 !important;
  min-height: 560px !important;
}

.site-location-map iframe {
  min-height: 560px !important;
  display: block !important;
}

/* Pill rendering polish: keep rounded controls smooth instead of sub-pixel jagged. */
.site-call-link,
.ts-primary-pill,
.ts-gold-pill,
.site-cta-button,
.accessibility-btn,
a.rounded-full,
button.rounded-full {
  border-radius: 9999px !important;
  background-clip: padding-box !important;
  overflow: hidden !important;
  outline: 1px solid transparent !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

.hero-scroll-icon svg,
.hero-scroll-icon path,
.tooth-icon,
.tooth-icon path {
  shape-rendering: geometricPrecision !important;
}

/* Insurance logos should sit cleanly inside the cards without image-level shadows. */
body.page-insurance .insurance-logo-grid,
body.page-insurance .insurance-logo-card,
body.page-insurance .insurance-logo-card-large {
  filter: none !important;
  text-shadow: none !important;
}

body.page-insurance .insurance-logo-grid {
  box-shadow: none !important;
}

body.page-insurance .insurance-logo-card,
body.page-insurance .insurance-logo-card-large {
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: rgba(21, 59, 92, 0.09) !important;
}

body.page-insurance .insurance-logo-card *,
body.page-insurance .insurance-logo-card-large * {
  filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.page-insurance .insurance-logo-card img,
body.page-insurance .insurance-logo-card-large img {
  background: #ffffff !important;
  background-image: none !important;
  mix-blend-mode: normal !important;
}

/* Beat the broad global image-shadow rule for insurance logo images. */
body.page-interior.page-insurance:not(.page-home) main > section:not(:first-of-type) .insurance-logo-grid img:not(.tooth-icon),
body.page-interior.page-insurance:not(.page-home) main > section:not(:first-of-type) .insurance-logo-card img:not(.tooth-icon),
body.page-interior.page-insurance:not(.page-home) main > section:not(:first-of-type) .insurance-logo-card-large img:not(.tooth-icon) {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  background: #ffffff !important;
  background-image: none !important;
}

@media (max-width: 960px) {
  .site-location-grid {
    grid-template-columns: 1fr !important;
  }
  .site-location-shell {
    width: min(1340px, calc(100% - 40px)) !important;
  }
}

/* About page narrative modules */
body.page-about .site-stack {
  gap: clamp(2.8rem, 4.2vw, 4.35rem) !important;
}

body.page-about .info-card {
  padding: clamp(1.75rem, 2.5vw, 2.2rem) !important;
}

body.page-about .about-card-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 3rem !important;
  height: 3rem !important;
  margin-bottom: 1.1rem !important;
  border: 1px solid rgba(200, 164, 106, 0.45) !important;
  border-radius: 999px !important;
  color: var(--dt-gold) !important;
  background: rgba(255, 253, 248, 0.74) !important;
  font-size: 1.45rem !important;
  box-shadow: 0 14px 28px rgba(15, 44, 71, 0.045) !important;
}

body.page-about .about-feature-row {
  grid-template-columns: minmax(0, 560px) minmax(0, 560px) !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: clamp(4.5rem, 6.5vw, 6.25rem) !important;
}

body.page-about .about-feature-row > :first-child,
body.page-about .about-feature-row > :last-child {
  grid-column: auto !important;
}

body.page-about .about-feature-title {
  max-width: 560px !important;
  font-size: clamp(2rem, 2.55vw, 2.95rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 1.05rem !important;
}

body.page-about .about-feature-row .space-y-6 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1.05rem !important;
}

body.page-about .about-feature-row p {
  max-width: 540px !important;
  font-size: 1.03rem !important;
  line-height: 1.72 !important;
}

body.page-about .about-image-plain {
  border-radius: 1.6rem !important;
  overflow: hidden !important;
  background: #f7f4ec !important;
  box-shadow: var(--dt-image-shadow) !important;
  width: 100% !important;
  max-width: 560px !important;
  aspect-ratio: 4 / 3 !important;
  justify-self: center !important;
}

body.page-about .about-image-plain img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  box-shadow: none !important;
  filter: none !important;
}

body.page-about .about-tight-stack {
  display: grid !important;
  gap: 1rem !important;
  width: min(100%, 1120px) !important;
  margin: 0 auto !important;
}

body.page-about .about-quote-card {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  column-gap: 1.45rem !important;
  row-gap: 0.45rem !important;
  align-items: start !important;
  width: min(100%, 1120px) !important;
  margin: 0 auto !important;
  padding: clamp(1.55rem, 2.4vw, 2.15rem) !important;
  border-radius: 1.25rem !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(200, 164, 106, 0.26) !important;
  box-shadow: var(--dt-shadow-soft) !important;
}

body.page-about .about-quote-mark {
  grid-row: span 2 !important;
  font-family: var(--dt-font-display) !important;
  color: var(--dt-gold) !important;
  font-size: clamp(3.1rem, 5vw, 5.25rem) !important;
  line-height: 0.9 !important;
}

body.page-about .about-quote-card blockquote {
  margin: 0 !important;
  font-family: var(--dt-font-display) !important;
  color: var(--dt-navy) !important;
  font-size: clamp(1.25rem, 1.85vw, 1.75rem) !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
}

body.page-about .about-quote-card figcaption {
  color: var(--dt-muted) !important;
  font-family: var(--dt-font-body) !important;
  font-size: 0.98rem !important;
  grid-column: 2 !important;
  justify-self: end !important;
  text-align: right !important;
}

body.page-about .about-support-card {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 1.25rem !important;
  align-items: center !important;
  width: min(100%, 1120px) !important;
  margin: 0 auto !important;
  padding: clamp(1.25rem, 2vw, 1.65rem) clamp(1.45rem, 2.5vw, 2rem) !important;
  border: 1px solid rgba(200, 164, 106, 0.58) !important;
  background: rgba(255, 253, 248, 0.82) !important;
  box-shadow: var(--dt-shadow-soft) !important;
}

body.page-about .about-support-icon {
  width: 3rem !important;
  height: 3rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--dt-gold) !important;
  border: 1px solid rgba(200, 164, 106, 0.45) !important;
}

body.page-about .about-support-card h2 {
  margin: 0 0 0.45rem !important;
  font-family: var(--dt-font-display) !important;
  color: var(--dt-navy) !important;
  font-size: clamp(1.25rem, 1.65vw, 1.65rem) !important;
  font-weight: 600 !important;
  line-height: 1.16 !important;
}

body.page-about .about-support-card p {
  margin: 0 !important;
  font-family: var(--dt-font-body) !important;
  color: var(--dt-muted) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

body.page-about main > .about-cta-section {
  display: block !important;
  background: #071D33 !important;
  color: #ffffff !important;
  padding: clamp(4.35rem, 6vw, 5.7rem) 1.5rem !important;
  text-align: center !important;
  opacity: 1 !important;
}

body.page-about main > .about-cta-section .site-cta-shell {
  width: min(960px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
}

body.page-about main > .about-cta-section h2 {
  color: #ffffff !important;
  max-width: 980px !important;
  font-size: clamp(2.1rem, 3.2vw, 3.35rem) !important;
  line-height: 1.06 !important;
}

body.page-about main > .about-cta-section p {
  color: rgba(255, 255, 255, 0.86) !important;
  max-width: 760px !important;
  margin-top: 1rem !important;
}

body.page-about main > .about-cta-section .site-cta-button {
  margin-top: 1.85rem !important;
}

@media (max-width: 760px) {
  body.page-about .about-feature-row {
    grid-template-columns: 1fr !important;
    row-gap: 2rem !important;
  }

  body.page-about .about-quote-card,
  body.page-about .about-support-card {
    grid-template-columns: 1fr !important;
  }
}

/* Final insurance sizing lock: keep this after all shared image/card rules. */
html body.page-interior.page-insurance main > section:nth-of-type(2) > .relative.z-10 {
  width: min(1180px, calc(100% - 56px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2).site-section {
  padding-top: clamp(2.7rem, 3.4vw, 3.65rem) !important;
  padding-bottom: clamp(6rem, 6.8vw, 7rem) !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2) .text-center.max-w-3xl {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto 1.55rem !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2) .section-kicker {
  font-size: 0.86rem !important;
  line-height: 1 !important;
  letter-spacing: 0.34em !important;
  margin-bottom: 0.7rem !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2) .section-kicker + h2 {
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  white-space: nowrap !important;
  font-size: clamp(1.02rem, 1.36vw, 1.52rem) !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
}

html body.page-insurance .insurance-plans-title {
  font-size: clamp(1.02rem, 1.36vw, 1.52rem) !important;
  line-height: 1.12 !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2) .insurance-logo-grid {
  gap: 1.25rem !important;
  margin-bottom: 2.35rem !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2) .insurance-logo-card,
html body.page-interior.page-insurance main > section:nth-of-type(2) .insurance-logo-card-large {
  min-height: 96px !important;
  padding: 0.7rem 0.95rem !important;
  border-radius: 1.15rem !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2) .insurance-logo-grid img {
  max-height: 48px !important;
  max-width: 88% !important;
  width: auto !important;
  object-fit: contain !important;
  box-shadow: none !important;
  filter: none !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2) .insurance-logo-uhc {
  max-height: 66px !important;
  max-width: 84% !important;
  transform: scale(1.12) !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2) .insurance-logo-bcbs {
  max-height: 70px !important;
  max-width: 82% !important;
  transform: scale(1.18) !important;
}

html body.page-interior.page-insurance main > section:nth-of-type(2) .w-full p {
  max-width: 1180px !important;
  margin-inline: auto !important;
  font-size: 1.13rem !important;
  line-height: 1.68 !important;
}

/* Final About CTA lock: keep the shared CTA visible after all page-specific overrides. */
html body.page-about main section.site-cta-section.about-cta-section {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  isolation: isolate !important;
  background: #071D33 !important;
  background-image: none !important;
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  padding: clamp(4.35rem, 6vw, 5.7rem) 1.5rem !important;
  text-align: center !important;
}

html body.page-about main section.site-cta-section.about-cta-section .site-cta-shell {
  width: min(960px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
}

html body.page-about main section.site-cta-section.about-cta-section h2,
html body.page-about main section.site-cta-section.about-cta-section p {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body.page-about main section.site-cta-section.about-cta-section h2 {
  max-width: 980px !important;
  margin-inline: auto !important;
  font-size: clamp(2.1rem, 3.2vw, 3.35rem) !important;
  line-height: 1.06 !important;
}

html body.page-about main section.site-cta-section.about-cta-section p {
  max-width: 760px !important;
  margin: 1rem auto 0 !important;
  color: rgba(255, 255, 255, 0.86) !important;
}

html body.page-about main section.site-cta-section.about-cta-section .site-cta-button {
  margin-top: 1.85rem !important;
  background: var(--dt-gold) !important;
  color: var(--dt-navy) !important;
}

/* Final CTA compatibility: old service pages still use Tailwind utility CTA sections. */
html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  isolation: isolate !important;
  background: #071D33 !important;
  background-image: none !important;
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-align: center !important;
  padding: clamp(4.35rem, 6vw, 5.7rem) 1.5rem !important;
}

html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] > div {
  width: min(960px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] h2 {
  font-family: var(--dt-font-display) !important;
  color: #ffffff !important;
  font-size: clamp(2.1rem, 3.2vw, 3.35rem) !important;
  line-height: 1.06 !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  margin: 0 auto 1rem !important;
  max-width: 980px !important;
}

html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] p {
  font-family: var(--dt-font-body) !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 1.1rem !important;
  line-height: 1.72 !important;
  font-weight: 500 !important;
  max-width: 760px !important;
  margin: 1rem auto 0 !important;
}

html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 3.65rem !important;
  padding: 0 2.25rem !important;
  border-radius: 999px !important;
  background: var(--dt-gold) !important;
  color: var(--dt-navy) !important;
  font-family: var(--dt-font-body) !important;
  font-size: 1.16rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  margin-top: 1.85rem !important;
}

/* About CTA should remain a full-width band, not a card. */
html body.page-about main section.site-cta-section.about-cta-section {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Final CTA width alignment: every interior CTA uses the same full-bleed band. */
html body.page-interior:not(.page-home) main > section.site-cta-section,
html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

html body.page-interior:not(.page-home) main > section.site-cta-section > .site-cta-shell,
html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] > div {
  width: min(960px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

/* CTA titles stay on one line on desktop. */
.ts-cta-band h2,
html body.page-interior:not(.page-home) main > section.site-cta-section h2,
html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] h2 {
  width: fit-content !important;
  max-width: calc(100vw - 96px) !important;
  margin-inline: auto !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  font-size: clamp(2.95rem, 5.25vw, 4.2rem) !important;
}

@media (max-width: 820px) {
  .ts-cta-band h2,
  html body.page-interior:not(.page-home) main > section.site-cta-section h2,
  html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] h2 {
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

/* Final About narrative alignment: keep image/text rows and floating cards on one shared width. */
html body.page-about {
  --about-narrative-width: var(--dt-shell-wide);
  --about-narrative-gap: minmax(72px, 0.2fr);
  --about-narrative-col: minmax(0, 1fr);
}

html body.page-about .site-stack {
  gap: clamp(3.35rem, 5vw, 4.8rem) !important;
}

html body.page-about .site-split.about-feature-row {
  width: var(--about-narrative-width) !important;
  max-width: var(--about-narrative-width) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: var(--about-narrative-col) var(--about-narrative-gap) var(--about-narrative-col) !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 0 !important;
}

html body.page-about .site-split.about-feature-row > :first-child,
html body.page-about .site-split.about-feature-row > :last-child {
  min-width: 0 !important;
}

html body.page-about .site-split.about-feature-row > :first-child {
  grid-column: 1 !important;
}

html body.page-about .site-split.about-feature-row > :last-child {
  grid-column: 3 !important;
}

html body.page-about .about-feature-title {
  max-width: 560px !important;
  font-size: clamp(1.8rem, 2vw, 2.32rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.028em !important;
  margin-bottom: 1.05rem !important;
}

html body.page-about .about-feature-row p {
  max-width: 560px !important;
  font-size: 1.02rem !important;
  line-height: 1.72 !important;
}

html body.page-about .about-image-plain {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  justify-self: stretch !important;
}

html body.page-about .about-tight-stack,
html body.page-about .about-quote-card,
html body.page-about .about-support-card {
  width: var(--about-narrative-width) !important;
  max-width: var(--about-narrative-width) !important;
  margin-inline: auto !important;
}

html body.page-about .about-quote-card {
  padding: clamp(1.35rem, 2vw, 1.85rem) clamp(1.45rem, 2.4vw, 2.1rem) !important;
}

html body.page-about .about-quote-card blockquote {
  font-size: clamp(1.18rem, 1.55vw, 1.52rem) !important;
  line-height: 1.18 !important;
}

html body.page-about .about-support-card {
  padding: clamp(1.05rem, 1.65vw, 1.42rem) clamp(1.35rem, 2.2vw, 1.9rem) !important;
}

html body.page-about .about-support-card h2 {
  font-size: clamp(1.18rem, 1.42vw, 1.46rem) !important;
}

@media (max-width: 900px) {
  html body.page-about {
    --about-narrative-width: min(100%, calc(100% - 40px));
  }

  html body.page-about .site-split.about-feature-row {
    grid-template-columns: 1fr !important;
    row-gap: 2rem !important;
  }
}

/* Shared service image fallback: prevents placeholder blocks from staying blank. */
html body.page-interior:not(.page-home):not(.page-family-dentistry) .legacy-story .service-story-image,
html body.page-interior:not(.page-home):not(.page-family-dentistry) .legacy-story .bridge-feature-photo {
  background-image: url("../../images/home/hero1.png") !important;
  background-color: #f7f4ec !important;
  background-size: cover !important;
  background-position: center !important;
}

html body.page-interior:not(.page-home):not(.page-family-dentistry) .legacy-story .service-story-row.reverse .service-story-image,
html body.page-interior:not(.page-home):not(.page-family-dentistry) .legacy-story .bridge-feature-diagram {
  background-image: url("../../images/home/hero2.png") !important;
  background-color: #f7f4ec !important;
  background-size: cover !important;
  background-position: center !important;
}

html body.page-interior:not(.page-home) .legacy-story .service-story-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Family service photography */
html body.page-family-dentistry .legacy-story .family-photo-one {
  background-image: url("../../images/family/family_1.jpeg") !important;
  background-color: #f7f4ec !important;
  background-size: cover !important;
  background-position: center !important;
}

html body.page-family-dentistry .legacy-story .family-photo-two {
  background-image: url("../../images/family/family_2.jpeg") !important;
  background-color: #f7f4ec !important;
  background-size: cover !important;
  background-position: center !important;
}

html body.page-crowns-bridges .legacy-story .service-story-image[aria-label="Crowns placeholder image"] {
  background-image: url("../../images/Crown and Bridges/bridge_1.png") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-crowns-bridges .legacy-story .service-story-image[aria-label="Crown benefits placeholder image"] {
  background-image: url("../../images/Crown and Bridges/bridge_2.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-crowns-bridges .legacy-story .service-story-image[aria-label="Dental bridge diagram placeholder image"] {
  background-image: url("../../images/Crown and Bridges/bridge_3.png") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-crowns-bridges .legacy-story .service-story-image[aria-label="Dental bridge consultation placeholder image"] {
  background-image: url("../../images/Crown and Bridges/bridge_4.png") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-dental-implants .legacy-story .service-story-image[aria-label="Dental implants overview placeholder image"] {
  background-image: url("../../images/Dental Implants/implants_1.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-dental-implants .legacy-story .service-story-image[aria-label="Dental implant process placeholder image"] {
  background-image: url("../../images/Dental Implants/implants_2.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-dental-implants .legacy-story .service-story-image[aria-label="Dental implant candidate placeholder image"] {
  background-image: url("../../images/Dental Implants/implants_4.png") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-dental-veneers .legacy-story .service-story-image[aria-label="Veneers concerns placeholder image"] {
  background-image: url("../../images/Veneers/vens_1.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-dental-veneers .legacy-story .service-story-image[aria-label="Veneer procedure placeholder image"] {
  background-image: url("../../images/Veneers/vens_2.png") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-dental-veneers .legacy-story .service-story-image[aria-label="Veneers benefits placeholder image"] {
  background-image: url("../../images/Veneers/vens_3.png") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-dentures-partials .legacy-story .service-story-image[aria-label="Full dentures placeholder image"],
html body.page-dentures-partials .legacy-story .service-story-image[aria-label="Denture process placeholder image"] {
  background-image: url("../../images/Dentures and Partials/dentures_1.png") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-dentures-partials .legacy-story .service-story-image[aria-label="Partial dentures placeholder image"] {
  background-image: url("../../images/Dentures and Partials/dentures_2.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-emergency-dental-care .legacy-story .service-story-image[aria-label="Emergency dental concerns placeholder image"] {
  background-image: url("../../images/Emergency/emgy_1.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-emergency-dental-care .legacy-story .service-story-image[aria-label="Emergency dental visit placeholder image"] {
  background-image: url("../../images/Emergency/emgy_2.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-emergency-dental-care .legacy-story .service-story-image[aria-label="Emergency dentistry benefits placeholder image"] {
  background-image: url("../../images/Emergency/emgy_3.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-extractions-bone-grafts .legacy-story .service-story-image[aria-label="Tooth extraction placeholder image"] {
  background-image: url("../../images/Extractions and Bone Grafts/bone_1.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-extractions-bone-grafts .legacy-story .service-story-image[aria-label="Bone grafting placeholder image"] {
  background-image: url("../../images/Extractions and Bone Grafts/bone_2.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-extractions-bone-grafts .legacy-story .service-story-image[aria-label="Extraction and grafting process placeholder image"] {
  background-image: url("../../images/Extractions and Bone Grafts/bone_3.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-invisalign .legacy-story .service-story-image[aria-label="Invisalign process placeholder image"] {
  background-image: url("../../images/Invisalign/ingn_1.jpg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-invisalign .legacy-story .service-story-image[aria-label="Invisalign benefits placeholder image"] {
  background-image: url("../../images/Invisalign/ingn_2.jpg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-root-canals .legacy-story .service-story-image[aria-label="Root canal procedure placeholder image"],
html body.page-root-canals .legacy-story .service-story-image[aria-label="Root canal benefits placeholder image"] {
  background-image: url("../../images/Root Canal/root_2.jpeg") !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.page-dental-implants main .legacy-story .service-story-diagram {
  width: min(1340px, calc(100% - 64px)) !important;
  max-width: none !important;
  margin: clamp(4.5rem, 6vw, 6rem) auto !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.page-dental-implants main .legacy-story .service-story-diagram img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 900px) {
  html body.page-dental-implants main .legacy-story .service-story-diagram {
    width: min(100%, calc(100% - 40px)) !important;
    margin: 3rem auto !important;
    padding: 0 !important;
  }
}

/* Square image treatment across page content. Keep buttons/icons/logo controls rounded. */
main .ts-image-card,
main .ts-image-card img,
main .ts-service-card,
main .ts-service-card .ts-service-media,
main .ts-service-card .ts-service-img,
main .service-card,
main .service-card img,
main .about-image-plain,
main .about-image-plain img,
main .legacy-story .service-story-image,
main .legacy-story .service-story-image img,
main .legacy-story .bridge-feature-photo,
main .legacy-story .bridge-feature-diagram,
main .legacy-story .bridge-feature-photo img,
main .legacy-story .bridge-feature-diagram img,
main .site-location-map,
main .site-location-map iframe,
main .ts-map-card,
main .ts-map-card img,
main .contact-map,
main .contact-map iframe,
main .location-map,
main .location-map iframe,
main .service-location-map,
main .service-location-map iframe,
main .rounded-\[1\.75rem\].overflow-hidden.shadow-card,
main .rounded-\[1\.5rem\].overflow-hidden.shadow-card {
  border-radius: 0 !important;
}

/* Global map corner reset: location map is injected by site-shell.js and may
   sit outside <main> on some pages, so the earlier main-scoped override misses it. */
.site-location-map,
.site-location-map iframe,
.contact-map,
.contact-map iframe,
.location-map,
.location-map iframe,
.service-location-map,
.service-location-map iframe {
  border-radius: 0 !important;
}


/* =========================================================
   Service page image normalization
   Goal: match the homepage first feature image column (560px)
   and force every service-story image to render as a square.
   ========================================================= */
:root {
  --dt-home-feature-image-size: 560px;
}

body.page-interior:not(.page-home) .legacy-story .service-story-row,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-lower {
  grid-template-columns: minmax(0, var(--dt-home-feature-image-size)) minmax(0, 520px) !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-image,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-photo,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-diagram {
  width: min(100%, var(--dt-home-feature-image-size)) !important;
  max-width: var(--dt-home-feature-image-size) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center center !important;
  justify-self: start !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-row.reverse .service-story-image {
  justify-self: end !important;
}

body.page-interior:not(.page-home) .legacy-story .bridge-feature-diagram {
  margin: 0 auto 3rem !important;
}

body.page-interior:not(.page-home) .legacy-story .service-story-image img,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-photo img,
body.page-interior:not(.page-home) .legacy-story .bridge-feature-diagram img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 960px) {
  body.page-interior:not(.page-home) .legacy-story .service-story-row,
  body.page-interior:not(.page-home) .legacy-story .bridge-feature-lower {
    grid-template-columns: 1fr !important;
  }

  body.page-interior:not(.page-home) .legacy-story .service-story-image,
  body.page-interior:not(.page-home) .legacy-story .bridge-feature-photo,
  body.page-interior:not(.page-home) .legacy-story .bridge-feature-diagram,
  body.page-interior:not(.page-home) .legacy-story .service-story-row.reverse .service-story-image {
    width: min(100%, var(--dt-home-feature-image-size)) !important;
    max-width: var(--dt-home-feature-image-size) !important;
    justify-self: center !important;
  }
}

/* =========================================================
   Correction: square service-page images with sharp corners
   This must stay at the very end so earlier image-card radius
   rules cannot turn service images back into rounded cards.
   ========================================================= */
html body.page-interior:not(.page-home) main .legacy-story .service-story-image,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram,
html body.page-interior:not(.page-home) main .legacy-story .service-story-image img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram img {
  border-radius: 0 !important;
  clip-path: none !important;
}

/* =========================================================
   FINAL GLOBAL CONTENT IMAGE LOCK 鈥?2026-05-06
   Requirement: all regular page content images use the same
   square size as the homepage's first feature image, including About.
   Excludes hero banners, icons, logos, insurance logos, and maps.
   ========================================================= */
:root {
  --dt-reference-image-size: 560px;
}

/* Homepage reference feature image */
html body.page-home main .ts-image-card,
html body.page-home main .ts-image-card img {
  width: min(100%, var(--dt-reference-image-size)) !important;
  max-width: var(--dt-reference-image-size) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: var(--dt-image-shadow) !important;
}

html body.page-home main .ts-image-card img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  box-shadow: none !important;
}

/* About page image cards 鈥?this fixes the rows that were still not matching. */
html body.page-about main .about-image-plain,
html body.page-about main .about-image-plain img {
  width: min(100%, var(--dt-reference-image-size)) !important;
  max-width: var(--dt-reference-image-size) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

html body.page-about main .about-image-plain {
  justify-self: center !important;
  background-size: cover !important;
  background-position: center center !important;
  box-shadow: var(--dt-image-shadow) !important;
}

html body.page-about main .about-image-plain img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  box-shadow: none !important;
}

/* Interior service-page content images and placeholder background blocks. */
html body.page-interior:not(.page-home) main .legacy-story .service-story-image,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram {
  width: min(100%, var(--dt-reference-image-size)) !important;
  max-width: var(--dt-reference-image-size) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center center !important;
  box-shadow: var(--dt-image-shadow) !important;
}

html body.page-interior:not(.page-home) main .legacy-story .service-story-image img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Keep image/text rows balanced around the 560px image size. */
html body.page-interior:not(.page-home) main .legacy-story .service-story-row,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower {
  grid-template-columns: minmax(0, var(--dt-reference-image-size)) minmax(0, var(--dt-reference-image-size)) !important;
  column-gap: clamp(2rem, 3.2vw, 3.2rem) !important;
  justify-content: center !important;
}

html body.page-interior:not(.page-home) main .legacy-story .service-story-copy,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy {
  max-width: var(--dt-reference-image-size) !important;
}

@media (max-width: 960px) {
  html body.page-home main .ts-image-card,
  html body.page-home main .ts-image-card img,
  html body.page-about main .about-image-plain,
  html body.page-about main .about-image-plain img,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-image,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram {
    width: min(100%, var(--dt-reference-image-size)) !important;
    max-width: var(--dt-reference-image-size) !important;
    justify-self: center !important;
  }

  html body.page-interior:not(.page-home) main .legacy-story .service-story-row,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   FINAL MAP-SIZE CONTENT IMAGE LOCK 鈥?2026-05-06
   Requirement: make regular content images visually match the
   shared map module size. Images stretch to the same two-column
   width as the map section, stay square, and keep sharp corners.
   Excludes hero banners, insurance logos, icons, and the map itself.
   ========================================================= */
:root {
  --dt-map-match-gap: clamp(2rem, 3.1vw, 3.2rem);
}

/* Make the main image/text sections use the same two-column rhythm as the map block. */
html body.page-home main .ts-split,
html body.page-about main .site-split,
html body.page-interior:not(.page-home) main .legacy-story .service-story-row,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: var(--dt-map-match-gap) !important;
  row-gap: 2rem !important;
  align-items: center !important;
  justify-content: center !important;
}

html body.page-home main .ts-split > :first-child,
html body.page-about main .site-split > :first-child,
html body.page-interior:not(.page-home) main .legacy-story .service-story-row > :first-child,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower > :first-child {
  grid-column: 1 !important;
  justify-self: stretch !important;
}

html body.page-home main .ts-split > :last-child,
html body.page-about main .site-split > :last-child,
html body.page-interior:not(.page-home) main .legacy-story .service-story-row > :last-child,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower > :last-child {
  grid-column: 2 !important;
  justify-self: stretch !important;
}

/* Preserve alternating service rows while still keeping both columns map-sized. */
html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-copy {
  grid-column: 1 !important;
  justify-self: stretch !important;
}

html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-image {
  grid-column: 2 !important;
  justify-self: stretch !important;
}

/* Homepage first feature image: now fills the same visual column width as the map. */
html body.page-home main .ts-image-card,
html body.page-home main .ts-image-card img,
html body.page-home main .ts-image-card picture {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

html body.page-home main .ts-image-card img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  box-shadow: none !important;
}

/* About page regular images 鈥?fixes About so it matches the larger map-sized treatment. */
html body.page-about main .about-image-plain,
html body.page-about main .about-image-plain img,
html body.page-about main .about-image-plain picture {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

html body.page-about main .about-image-plain {
  justify-self: stretch !important;
  background-size: cover !important;
  background-position: center center !important;
  box-shadow: var(--dt-image-shadow) !important;
}

html body.page-about main .about-image-plain img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  box-shadow: none !important;
}

/* Service-page content images and placeholder background blocks. */
html body.page-interior:not(.page-home) main .legacy-story .service-story-image,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center center !important;
  box-shadow: var(--dt-image-shadow) !important;
  justify-self: stretch !important;
}

html body.page-interior:not(.page-home) main .legacy-story .service-story-image img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.page-interior:not(.page-home) main .legacy-story .service-story-copy,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy {
  width: 100% !important;
  max-width: none !important;
}

/* Bridge diagrams were previously 16:9; lock them to the same square treatment. */
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram {
  margin: 0 auto 3rem !important;
}

/* Mobile/tablet: image becomes full-width square, matching the map's full-width behavior. */
@media (max-width: 960px) {
  html body.page-home main .ts-split,
  html body.page-about main .site-split,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower {
    grid-template-columns: 1fr !important;
    row-gap: 2rem !important;
  }

  html body.page-home main .ts-split > :first-child,
  html body.page-home main .ts-split > :last-child,
  html body.page-about main .site-split > :first-child,
  html body.page-about main .site-split > :last-child,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row > :first-child,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row > :last-child,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-image,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower > :first-child,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower > :last-child {
    grid-column: auto !important;
    justify-self: stretch !important;
  }
}


/* =========================================================
   Final About image enlargement fix
   About uses .site-split.about-feature-row, which had an older
   more-specific 560px column rule. This override must remain last.
   It makes About content images match the shared map-width columns.
   ========================================================= */
html body.page-about main .site-split.about-feature-row {
  width: min(1340px, calc(100% - 64px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: var(--dt-map-match-gap, clamp(2rem, 3.1vw, 3.2rem)) !important;
  row-gap: 2rem !important;
  align-items: center !important;
  justify-content: center !important;
}

html body.page-about main .site-split.about-feature-row > :first-child {
  grid-column: 1 !important;
  justify-self: stretch !important;
  max-width: none !important;
  width: 100% !important;
}

html body.page-about main .site-split.about-feature-row > :last-child {
  grid-column: 2 !important;
  justify-self: stretch !important;
  max-width: none !important;
  width: 100% !important;
}

html body.page-about main .site-split.about-feature-row .about-image-plain,
html body.page-about main .site-split.about-feature-row .about-image-plain img,
html body.page-about main .site-split.about-feature-row .about-image-plain picture {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

html body.page-about main .site-split.about-feature-row .about-image-plain img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  box-shadow: none !important;
}

@media (max-width: 960px) {
  html body.page-about main .site-split.about-feature-row {
    width: min(100%, calc(100vw - 32px)) !important;
    grid-template-columns: 1fr !important;
  }

  html body.page-about main .site-split.about-feature-row > :first-child,
  html body.page-about main .site-split.about-feature-row > :last-child {
    grid-column: auto !important;
    justify-self: stretch !important;
  }
}

/* =========================================================
   HARD FORCE 640px map-sized square images
   This block intentionally stays LAST.
   It overrides older About rules that locked .about-feature-row
   and .about-image-plain around 520/560px.
   ========================================================= */
:root {
  --dt-map-sized-image: 640px;
  --dt-map-sized-gap: clamp(2rem, 3.1vw, 3.2rem);
}

/* Match the shared location/map module: two large columns with a map-sized visual column. */
html body.page-home main .ts-split,
html body.page-about main .site-split,
html body.page-about main .site-split.about-feature-row,
html body.page-interior:not(.page-home) main .legacy-story .service-story-row,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower {
  width: min(1340px, calc(100% - 64px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, var(--dt-map-sized-image)) minmax(0, var(--dt-map-sized-image)) !important;
  column-gap: var(--dt-map-sized-gap) !important;
  row-gap: 2rem !important;
  align-items: center !important;
  justify-content: center !important;
}

html body.page-home main .ts-split > *,
html body.page-about main .site-split > *,
html body.page-about main .site-split.about-feature-row > *,
html body.page-about main .doctor-spotlight > *,
html body.page-meet-doctors main .doctor-spotlight > *,
html body.page-meet-doctors main .doctor-spotlight.is-reverse > *,
html body.page-interior:not(.page-home) main .legacy-story .service-story-row > *,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower > * {
  min-width: 0 !important;
  width: 100% !important;
  max-width: var(--dt-map-sized-image) !important;
}

html body.page-home main .ts-split > :first-child,
html body.page-about main .site-split > :first-child,
html body.page-about main .site-split.about-feature-row > :first-child,
html body.page-interior:not(.page-home) main .legacy-story .service-story-row > :first-child,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower > :first-child {
  grid-column: 1 !important;
  justify-self: stretch !important;
}

html body.page-home main .ts-split > :last-child,
html body.page-about main .site-split > :last-child,
html body.page-about main .site-split.about-feature-row > :last-child,
html body.page-interior:not(.page-home) main .legacy-story .service-story-row > :last-child,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower > :last-child {
  grid-column: 2 !important;
  justify-self: stretch !important;
}

/* Keep service reverse rows alternating correctly. */
html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-copy {
  grid-column: 1 !important;
  justify-self: stretch !important;
}

html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-image {
  grid-column: 2 !important;
  justify-self: stretch !important;
}

/* The actual image blocks: About + homepage first image + service page images. */
html body.page-home main .ts-image-card,
html body.page-home main .ts-image-card img,
html body.page-about main .about-image-plain,
html body.page-about main .about-image-plain img,
html body.page-interior:not(.page-home) main .legacy-story .service-story-image,
html body.page-interior:not(.page-home) main .legacy-story .service-story-image img,
html body.page-meet-doctors main .doctor-photo-frame,
html body.page-meet-doctors main .doctor-photo-frame img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram img {
  width: 100% !important;
  max-width: var(--dt-map-sized-image) !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

html body.page-home main .ts-image-card,
html body.page-about main .about-image-plain,
html body.page-about main .doctor-photo-frame,
html body.page-meet-doctors main .doctor-photo-frame,
html body.page-interior:not(.page-home) main .legacy-story .service-story-image,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram {
  justify-self: stretch !important;
  align-self: center !important;
  background-color: #f7f4ec !important;
  background-size: cover !important;
  background-position: center center !important;
  box-shadow: var(--dt-image-shadow) !important;
}

html body.page-home main .ts-image-card img,
html body.page-about main .about-image-plain img,
html body.page-about main .doctor-photo-frame img,
html body.page-meet-doctors main .doctor-photo-frame img,
html body.page-interior:not(.page-home) main .legacy-story .service-story-image img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo img,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.page-about main .doctor-spotlight-copy,
html body.page-meet-doctors main .doctor-spotlight-copy,
html body.page-interior:not(.page-home) main .legacy-story .service-story-copy,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy {
  width: 100% !important;
  max-width: var(--dt-map-sized-image) !important;
  justify-self: stretch !important;
}

/* Make About text columns also match the image/map column instead of the older 560px cap. */
html body.page-about main .site-split .about-feature-title,
html body.page-about main .site-split p,
html body.page-about main .site-split .space-y-6,
html body.page-about main .site-split .ts-service-link {
  max-width: var(--dt-map-sized-image) !important;
}

/* Mobile/tablet: full-width square images, like the map module stacks. */
@media (max-width: 960px) {
  html body.page-home main .ts-split,
  html body.page-about main .site-split,
  html body.page-about main .site-split.about-feature-row,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower {
    width: min(100%, calc(100% - 40px)) !important;
    grid-template-columns: 1fr !important;
  }

  html body.page-home main .ts-split > *,
  html body.page-about main .site-split > *,
  html body.page-about main .site-split.about-feature-row > *,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row > *,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower > *,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-image {
    grid-column: auto !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  html body.page-home main .ts-image-card,
  html body.page-home main .ts-image-card img,
  html body.page-about main .about-image-plain,
  html body.page-about main .about-image-plain img,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-image,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-image img,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo img,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram img {
    max-width: none !important;
    width: 100% !important;
  }
}

/* About page content images should match the Family Dentistry content-image sizing. */
html body.page-about main .about-image-plain,
html body.page-about main .about-image-plain img {
  width: 100% !important;
  max-width: var(--dt-map-sized-image) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

html body.page-about main .about-image-plain {
  justify-self: stretch !important;
  align-self: center !important;
  background-color: #f7f4ec !important;
  background-size: cover !important;
  background-position: center center !important;
  box-shadow: var(--dt-image-shadow) !important;
}

html body.page-about main .about-image-plain img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  box-shadow: none !important;
}

/* Sitewide three-font type system. Keep this last so older page rules cannot reintroduce mixed fonts. */
:root {
  --dt-font-accent: "Playfair Display", serif;
  --dt-font-display: "Cormorant Garamond", serif;
  --dt-font-hero: "Cormorant Garamond", serif;
  --dt-font-body: "Inter", sans-serif;
}

html body,
html body main,
html body p,
html body li,
html body a,
html body button,
html body input,
html body textarea,
html body select,
html body .font-sans,
html body .nav-trigger,
html body .nav-menu-link,
html body .site-cta-button,
html body .ts-primary-pill,
html body .ts-gold-pill,
html body .site-call-link {
  font-family: var(--dt-font-body) !important;
}

html body h1,
html body h2,
html body h3,
html body .font-display,
html body .site-brand-link,
html body .site-location-title,
html body .site-location-heading,
html body .about-feature-title,
html body .legal-title,
html body .ts-display,
html body .ts-welcome-title,
html body .ts-centered-heading h2,
html body .ts-section-heading h2,
html body .ts-mission-card h2,
html body .ts-value-card h3,
html body .ts-service-title,
html body .legacy-story .service-story-copy h2,
html body .legacy-story .bridge-feature-copy h2,
html body .legacy-story .service-story-intro h2,
html body .legacy-story .bridge-feature-intro h2 {
  font-family: var(--dt-font-display) !important;
}

html body.page-home .hero-title,
html body.page-interior main > section:first-of-type h1 {
  font-family: var(--dt-font-hero) !important;
}

html body.page-home .hero-copy .eyebrow,
html body.page-home .ts-eyebrow,
html body.page-home .ts-strong-note,
html body.page-home .ts-service-kicker,
html body.page-interior:not(.page-home) .section-kicker,
html body.page-interior:not(.page-home) .legal-eyebrow,
html body.page-interior:not(.page-home) .service-kicker,
html body.page-interior:not(.page-home) .resource-kicker,
html body.page-interior:not(.page-home) .membership-kicker,
html body.page-interior:not(.page-home) .card-kicker,
html body .site-location-eyebrow {
  font-family: var(--dt-font-accent) !important;
  color: var(--dt-gold) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
}

html body.page-interior:not(.page-home) .section-kicker,
html body.page-interior:not(.page-home) .legal-eyebrow,
html body.page-interior:not(.page-home) .service-kicker,
html body.page-interior:not(.page-home) .resource-kicker,
html body.page-interior:not(.page-home) .membership-kicker,
html body.page-interior:not(.page-home) .card-kicker,
html body .site-location-eyebrow {
  font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
  margin-bottom: 0.8rem !important;
}

html body.page-home .hero-scroll-label,
html body.page-home .tagline {
  font-family: var(--dt-font-body) !important;
}

.site-intro-band {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.92) 24%, transparent 64%),
    linear-gradient(180deg, #FEFCF6 0%, #FFFDF8 100%) !important;
  padding: clamp(3.85rem, 5.6vw, 5.2rem) 0 clamp(2.4rem, 3.2vw, 3rem) !important;
}

.site-intro-band#opening-updates {
  scroll-margin-top: 4.6rem !important;
}

.site-intro-shell {
  width: min(1080px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.site-intro-eyebrow {
  margin: 0 0 1rem !important;
  font-family: var(--dt-font-accent) !important;
  font-size: clamp(1.1rem, 1.45vw, 1.52rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: var(--dt-gold) !important;
}

.site-intro-title {
  margin: 0 auto !important;
  max-width: 980px !important;
  font-family: var(--dt-font-display) !important;
  font-size: clamp(1.72rem, 2.7vw, 2.95rem) !important;
  font-weight: 600 !important;
  line-height: 1.04 !important;
  letter-spacing: 0.028em !important;
  text-transform: uppercase !important;
  color: #153b5c !important;
  -webkit-text-fill-color: #153b5c !important;
}

.site-intro-copy {
  margin: 1.45rem auto 0 !important;
  max-width: 880px !important;
  font-family: var(--dt-font-body) !important;
  font-size: clamp(0.97rem, 1vw, 1.04rem) !important;
  line-height: 1.72 !important;
  color: var(--dt-muted) !important;
}

.site-intro-note {
  margin: 1.65rem auto 0 !important;
  max-width: 680px !important;
  font-family: var(--dt-font-accent) !important;
  font-size: clamp(0.92rem, 0.98vw, 1rem) !important;
  font-style: italic !important;
  line-height: 1.45 !important;
  color: var(--dt-gold) !important;
}

.site-intro-actions {
  margin-top: 1.85rem !important;
  display: flex !important;
  justify-content: center !important;
}

.site-intro-actions .ts-primary-pill {
  margin-top: 0 !important;
}

.site-intro-divider {
  width: 100% !important;
  height: clamp(2.8rem, 4.8vw, 4.8rem) !important;
  margin-top: -1px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 90' preserveAspectRatio='none'%3E%3Cpath d='M2 2 C 320 86 1280 86 1598 2 L1598 90 L2 90 Z' fill='%23fbf7ef'/%3E%3Cpath d='M2 2 C 320 86 1280 86 1598 2' fill='none' stroke='%23c8a46a' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: 100% 100% !important;
  pointer-events: none !important;
}

body.page-home .site-intro-divider + #about,
body.page-home .site-intro-divider + #about + .ts-soft,
body.page-interior:not(.page-home) .site-intro-divider + .site-section,
body.page-interior:not(.page-home) .site-intro-divider + .legacy-story,
body.page-interior:not(.page-home) .site-intro-divider + .legal-shell,
body.page-interior:not(.page-home) .site-intro-divider + #site-location-root {
  background:
    radial-gradient(circle at 50% 0%, rgba(251, 247, 239, 0.96) 0%, rgba(249, 243, 232, 0.88) 18%, transparent 58%),
    linear-gradient(180deg, #FBF7EF 0%, #F8F1E4 24%, #FBF7EF 100%) !important;
}

body.page-interior:not(.page-home) .site-intro-divider + .legacy-story .service-story-section,
body.page-home .site-intro-divider + #about.ts-section.ts-cream {
  background:
    radial-gradient(circle at 50% 0%, rgba(251, 247, 239, 0.96) 0%, rgba(249, 243, 232, 0.88) 18%, transparent 58%),
    linear-gradient(180deg, #FBF7EF 0%, #F8F1E4 24%, #FBF7EF 100%) !important;
}

body.page-home .site-intro-divider + #about {
  padding-top: clamp(4.4rem, 6vw, 5.6rem) !important;
}

body.page-home .site-intro-divider + #about + .ts-soft {
  padding-top: clamp(4.4rem, 6vw, 5.8rem) !important;
}

body.page-interior:not(.page-home) main > .site-intro-divider + section.site-section,
body.page-interior:not(.page-home) main > .site-intro-divider + section.legal-shell,
body.page-interior:not(.page-home) main > .site-intro-divider + .site-cta-section + .site-location-section,
body.page-interior:not(.page-home) main > .site-intro-divider + .site-location-section {
  padding-top: clamp(4.4rem, 6vw, 5.6rem) !important;
}

body.page-interior:not(.page-home) .site-intro-divider + .legacy-story .service-story-section {
  padding-top: clamp(4.4rem, 6vw, 5.6rem) !important;
}

body.page-interior:not(.page-home) main > .site-intro-divider + section.site-section > .absolute.inset-0 > .absolute.inset-0 {
  background: linear-gradient(180deg, rgba(251, 247, 239, 0.92), rgba(251, 247, 239, 0.9)) !important;
}

body.page-interior:not(.page-home) main > .site-intro-divider + section.site-section > .absolute.inset-0 > img {
  opacity: 0.16 !important;
}

body.page-interior:not(.page-home) main > .site-intro-divider + .site-cta-section {
  margin-top: 0 !important;
}

body.page-interior:not(.page-home) main > .site-intro-divider + .site-cta-section + .site-location-section,
body.page-interior:not(.page-home) main > .site-intro-divider + .site-location-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(251, 247, 239, 0.96) 0%, rgba(249, 243, 232, 0.88) 18%, transparent 58%),
    linear-gradient(180deg, #FBF7EF 0%, #F8F1E4 24%, #FBF7EF 100%) !important;
}

html body.page-interior:not(.page-home),
html body.page-interior:not(.page-home) main {
  overflow-x: clip !important;
}

@media (max-width: 720px) {
  .site-intro-band {
    padding: 3.15rem 0 2.2rem !important;
  }

  .site-intro-shell {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  .site-intro-divider {
    width: 100% !important;
    height: 2.5rem !important;
  }

  .site-intro-title {
    letter-spacing: 0.02em !important;
  }
}

html body .site-intro-band .site-intro-eyebrow {
  margin: 0 0 1rem !important;
  font-family: var(--dt-font-accent) !important;
  font-size: clamp(1.1rem, 1.45vw, 1.52rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--dt-gold) !important;
}

html body .site-intro-band .site-intro-title {
  margin: 0 auto !important;
  max-width: 980px !important;
  font-family: var(--dt-font-display) !important;
  font-size: clamp(1.72rem, 2.7vw, 2.95rem) !important;
  font-weight: 600 !important;
  line-height: 1.04 !important;
  letter-spacing: 0.028em !important;
  text-transform: uppercase !important;
  color: #153b5c !important;
  -webkit-text-fill-color: #153b5c !important;
}

html body .site-intro-band .site-intro-copy {
  margin: 1.45rem auto 0 !important;
  max-width: 880px !important;
  font-family: var(--dt-font-body) !important;
  font-size: clamp(0.98rem, 1.05vw, 1.08rem) !important;
  line-height: 1.68 !important;
  color: var(--dt-muted) !important;
  text-wrap: pretty !important;
}

html body .site-intro-band .site-intro-note {
  margin: 1.65rem auto 0 !important;
  max-width: 680px !important;
  font-family: var(--dt-font-accent) !important;
  font-size: clamp(0.92rem, 0.98vw, 1rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--dt-gold) !important;
}

body.page-interior:not(.page-home) main .site-intro-band .site-intro-eyebrow {
  color: var(--dt-gold) !important;
  font-family: var(--dt-font-accent) !important;
  font-size: clamp(1.1rem, 1.45vw, 1.52rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
  color: #153b5c !important;
  -webkit-text-fill-color: #153b5c !important;
  font-family: var(--dt-font-display) !important;
  font-size: clamp(1.72rem, 2.7vw, 2.95rem) !important;
  font-weight: 600 !important;
  line-height: 1.04 !important;
  letter-spacing: 0.028em !important;
  text-transform: uppercase !important;
}

html body main .site-intro-band .site-intro-title {
  color: #153b5c !important;
  -webkit-text-fill-color: #153b5c !important;
}

body.page-interior:not(.page-home) main .site-intro-band .site-intro-copy {
  color: var(--dt-muted) !important;
  font-family: var(--dt-font-body) !important;
  font-size: clamp(0.98rem, 1.05vw, 1.08rem) !important;
  line-height: 1.68 !important;
  max-width: min(54rem, calc(100vw - 72px)) !important;
  text-wrap: pretty !important;
}

body.page-interior:not(.page-home) main .site-intro-band .site-intro-note {
  color: var(--dt-gold) !important;
  font-family: var(--dt-font-accent) !important;
  font-size: clamp(0.92rem, 0.98vw, 1rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body.page-crowns-bridges main .legacy-story .bridge-feature-diagram,
html body.page-crowns-bridges main .legacy-story .bridge-feature-diagram img {
  aspect-ratio: 16 / 9 !important;
}

/* Service pages: match the Meet the Doctors/map module two-column rhythm. */
html body.page-family-dentistry main .legacy-story-shell,
html body.page-invisalign main .legacy-story-shell,
html body.page-dental-veneers main .legacy-story-shell,
html body.page-crowns-bridges main .legacy-story-shell,
html body.page-dentures-partials main .legacy-story-shell,
html body.page-extractions-bone-grafts main .legacy-story-shell,
html body.page-dental-implants main .legacy-story-shell,
html body.page-root-canals main .legacy-story-shell,
html body.page-emergency-dental-care main .legacy-story-shell {
  width: min(1340px, calc(100% - 64px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

html body.page-family-dentistry main .legacy-story .service-story-row,
html body.page-invisalign main .legacy-story .service-story-row,
html body.page-dental-veneers main .legacy-story .service-story-row,
html body.page-crowns-bridges main .legacy-story .service-story-row,
html body.page-crowns-bridges main .legacy-story .bridge-feature-lower,
html body.page-dentures-partials main .legacy-story .service-story-row,
html body.page-extractions-bone-grafts main .legacy-story .service-story-row,
html body.page-dental-implants main .legacy-story .service-story-row,
html body.page-root-canals main .legacy-story .service-story-row,
html body.page-emergency-dental-care main .legacy-story .service-story-row {
  width: min(1340px, calc(100% - 64px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, var(--dt-map-sized-image, 640px)) minmax(0, var(--dt-map-sized-image, 640px)) !important;
  gap: var(--dt-map-sized-gap, clamp(2rem, 3.1vw, 3.2rem)) !important;
  align-items: center !important;
  justify-content: center !important;
}

html body.page-family-dentistry main .legacy-story .service-story-row.reverse .service-story-copy,
html body.page-invisalign main .legacy-story .service-story-row.reverse .service-story-copy,
html body.page-dental-veneers main .legacy-story .service-story-row.reverse .service-story-copy,
html body.page-crowns-bridges main .legacy-story .service-story-row.reverse .service-story-copy,
html body.page-dentures-partials main .legacy-story .service-story-row.reverse .service-story-copy,
html body.page-extractions-bone-grafts main .legacy-story .service-story-row.reverse .service-story-copy,
html body.page-dental-implants main .legacy-story .service-story-row.reverse .service-story-copy,
html body.page-root-canals main .legacy-story .service-story-row.reverse .service-story-copy,
html body.page-emergency-dental-care main .legacy-story .service-story-row.reverse .service-story-copy {
  grid-column: 1 !important;
}

html body.page-family-dentistry main .legacy-story .service-story-row.reverse .service-story-image,
html body.page-invisalign main .legacy-story .service-story-row.reverse .service-story-image,
html body.page-dental-veneers main .legacy-story .service-story-row.reverse .service-story-image,
html body.page-crowns-bridges main .legacy-story .service-story-row.reverse .service-story-image,
html body.page-dentures-partials main .legacy-story .service-story-row.reverse .service-story-image,
html body.page-extractions-bone-grafts main .legacy-story .service-story-row.reverse .service-story-image,
html body.page-dental-implants main .legacy-story .service-story-row.reverse .service-story-image,
html body.page-root-canals main .legacy-story .service-story-row.reverse .service-story-image,
html body.page-emergency-dental-care main .legacy-story .service-story-row.reverse .service-story-image {
  grid-column: 2 !important;
}

html body.page-family-dentistry main .legacy-story .family-story-copy {
  align-self: center !important;
  width: min(100%, 44rem) !important;
  max-width: 44rem !important;
}

html body.page-family-dentistry main .legacy-story p.service-kicker.family-story-kicker {
  margin: 0 0 0.95rem !important;
  font-family: "Playfair Display", serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(1.1rem, 1.2vw, 1.34rem) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #C8A46A !important;
  -webkit-text-fill-color: #C8A46A !important;
}

html body.page-family-dentistry main .legacy-story h2.family-story-heading {
  margin: 0 !important;
  font-family: "Cormorant Garamond", serif !important;
  color: #0F2C47 !important;
  -webkit-text-fill-color: #0F2C47 !important;
  font-weight: 500 !important;
  font-size: clamp(2.95rem, 3.45vw, 3.95rem) !important;
  line-height: 1.01 !important;
  letter-spacing: -0.038em !important;
  text-wrap: balance !important;
}

html body.page-family-dentistry main .legacy-story .family-story-list {
  list-style: none !important;
  display: grid !important;
  gap: 1.15rem !important;
  margin: 1.5rem 0 0 !important;
  padding: 0 !important;
}

html body.page-family-dentistry main .legacy-story .family-story-list li {
  position: relative !important;
  margin: 0 !important;
  padding-left: 1.28rem !important;
  color: #5b6f85 !important;
  font-family: var(--dt-font-body) !important;
  font-size: clamp(1.06rem, 1.14vw, 1.18rem) !important;
  line-height: 1.74 !important;
  font-weight: 400 !important;
  text-wrap: pretty !important;
}

html body.page-family-dentistry main .legacy-story .family-story-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.76em !important;
  width: 0.36rem !important;
  height: 0.36rem !important;
  border-radius: 999px !important;
  background: var(--dt-gold) !important;
  box-shadow: none !important;
}

html body.page-family-dentistry main .legacy-story .family-story-list li > strong,
html body.page-family-dentistry main .legacy-story .family-story-list strong {
  color: #163B5C !important;
  -webkit-text-fill-color: #163B5C !important;
  font-weight: 700 !important;
}

@media (max-width: 960px) {
  html body.page-family-dentistry main .legacy-story .service-story-row,
  html body.page-invisalign main .legacy-story .service-story-row,
  html body.page-dental-veneers main .legacy-story .service-story-row,
  html body.page-crowns-bridges main .legacy-story .service-story-row,
  html body.page-crowns-bridges main .legacy-story .bridge-feature-lower,
  html body.page-dentures-partials main .legacy-story .service-story-row,
  html body.page-extractions-bone-grafts main .legacy-story .service-story-row,
  html body.page-dental-implants main .legacy-story .service-story-row,
  html body.page-root-canals main .legacy-story .service-story-row,
  html body.page-emergency-dental-care main .legacy-story .service-story-row {
    width: min(100%, calc(100vw - 32px)) !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  html body.page-family-dentistry main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-family-dentistry main .legacy-story .service-story-row.reverse .service-story-image,
  html body.page-invisalign main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-invisalign main .legacy-story .service-story-row.reverse .service-story-image,
  html body.page-dental-veneers main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-dental-veneers main .legacy-story .service-story-row.reverse .service-story-image,
  html body.page-crowns-bridges main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-crowns-bridges main .legacy-story .service-story-row.reverse .service-story-image,
  html body.page-dentures-partials main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-dentures-partials main .legacy-story .service-story-row.reverse .service-story-image,
  html body.page-extractions-bone-grafts main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-extractions-bone-grafts main .legacy-story .service-story-row.reverse .service-story-image,
  html body.page-dental-implants main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-dental-implants main .legacy-story .service-story-row.reverse .service-story-image,
  html body.page-root-canals main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-root-canals main .legacy-story .service-story-row.reverse .service-story-image,
  html body.page-emergency-dental-care main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-emergency-dental-care main .legacy-story .service-story-row.reverse .service-story-image {
    grid-column: auto !important;
  }

  html body.page-family-dentistry main .legacy-story .family-story-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.page-family-dentistry main .legacy-story h2.family-story-heading {
    font-size: clamp(2.24rem, 9.8vw, 2.86rem) !important;
    line-height: 1.03 !important;
  }

  html body.page-family-dentistry main .legacy-story .family-story-list {
    gap: 0.95rem !important;
    margin-top: 1.2rem !important;
  }

  html body.page-family-dentistry main .legacy-story .family-story-list li {
    padding-left: 1.15rem !important;
    font-size: 1.03rem !important;
    line-height: 1.72 !important;
  }
}

/* Responsive hardening: shared mobile layout rules for the static pages. */
html,
body {
  max-width: 100% !important;
}

body {
  overflow-x: hidden !important;
}

img,
video,
iframe {
  max-width: 100%;
}

@media (max-width: 980px) {
  html body main {
    overflow-x: clip !important;
  }

  html body .whitespace-nowrap {
    white-space: normal !important;
  }

  html body.page-home main > section:first-of-type {
    height: 100svh !important;
    min-height: 100svh !important;
    padding: 0 !important;
  }

  html body.page-home .hero-copy {
    top: 50% !important;
    width: min(100%, calc(100% - 32px)) !important;
    transform: translate(-50%, -50%) !important;
  }

  html body.page-home .hero-copy .hero-badge {
    padding: 0.58rem 0.9rem !important;
    font-size: 0.9rem !important;
    margin-bottom: 0.9rem !important;
  }

  html body.page-home .hero-copy .eyebrow {
    font-size: clamp(1.55rem, 7.25vw, 2.32rem) !important;
    margin: 0 0 1.15rem !important;
  }

  html body.page-home .hero-title {
    width: min(100%, 22rem) !important;
    white-space: normal !important;
    display: block !important;
    left: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    font-size: clamp(2.85rem, 11.5vw, 3.55rem) !important;
    letter-spacing: 0.02em !important;
    line-height: 0.92 !important;
  }

  html body.page-home .ornament {
    gap: 1rem !important;
    margin: 1.35rem 0 0.9rem !important;
  }

  html body.page-home .ornament span,
  html body.page-home .ornament .line {
    width: min(24vw, 6.8rem) !important;
    height: 2px !important;
  }

  html body.page-home .ornament .tooth-icon {
    width: 34px !important;
    height: 34px !important;
  }

  html body.page-home .tagline {
    max-width: 100% !important;
    margin-bottom: 1.1rem !important;
    white-space: normal !important;
    font-size: clamp(0.72rem, 3.3vw, 0.95rem) !important;
    letter-spacing: 0.2em !important;
  }

  html body.page-home .hero-copy p {
    max-width: 24rem !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
  }

  html body.page-home .hero-copy p br {
    display: none !important;
  }

  html body.page-home main > section:first-of-type > .absolute.inset-0.z-0 img {
    transform: none !important;
    object-position: center center !important;
  }

  html body.page-home .hero-scroll-cue {
    display: inline-flex !important;
    bottom: max(1.15rem, env(safe-area-inset-bottom, 0px) + 0.55rem) !important;
  }

  html body.page-home .hero-scroll-icon {
    width: 2.2rem !important;
    height: 1.34rem !important;
  }

  html body.page-home .hero-scroll-label {
    display: none !important;
  }

  html body.page-interior:not(.page-home) main > section:first-of-type {
    min-height: 430px !important;
    padding-top: 4.6rem !important;
    padding-bottom: 2.4rem !important;
  }

  html body.page-interior:not(.page-home) main > section:first-of-type > .relative.z-10,
  html body.page-interior:not(.page-home) main > section:first-of-type > div.relative.z-10 {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  html body.page-interior:not(.page-home) main > section:first-of-type h1 {
    max-width: min(100%, 25rem) !important;
    white-space: normal !important;
    font-size: clamp(2.15rem, 10vw, 3.1rem) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
  }

  html body.page-interior:not(.page-home) main > section:first-of-type .inline-block,
  html body.page-interior:not(.page-home) main > section:first-of-type span {
    white-space: normal !important;
  }

  html body .site-intro-shell,
  html body .ts-shell,
  html body .ts-shell-feature,
  html body .footer-shell,
  html body .site-location-shell,
  html body.page-interior:not(.page-home) main .legacy-story-shell {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  html body .site-intro-band {
    padding: 3.05rem 0 2rem !important;
  }

  html body .site-intro-title,
  html body main .site-intro-band .site-intro-title,
  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
    font-size: clamp(1.42rem, 7vw, 2rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0.01em !important;
    overflow-wrap: anywhere !important;
  }

  html body .site-intro-copy,
  html body .site-intro-note {
    max-width: 100% !important;
  }

  html body.page-home .ts-section,
  html body.page-interior:not(.page-home) .site-section,
  html body.page-interior:not(.page-home) .legacy-story .service-story-section {
    padding-top: 4.85rem !important;
    padding-bottom: 3.95rem !important;
  }

  html body.page-home main .ts-split,
  html body.page-home .ts-mike-shell,
  html body.page-about main .site-split,
  html body.page-about main .site-split.about-feature-row,
  html body .doctor-spotlight,
  html body .doctor-spotlight.is-reverse,
  html body .site-location-grid,
  html body .ts-cta-inner,
  html body .site-cta-shell {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2.05rem !important;
    width: min(100%, calc(100vw - 32px)) !important;
  }

  html body.page-home main .ts-split > *,
  html body.page-home .ts-mike-shell > *,
  html body.page-about main .site-split > *,
  html body .doctor-spotlight > *,
  html body .doctor-spotlight.is-reverse > * {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  html body.page-home .ts-copy-block,
  html body.page-home .ts-mike-copy,
  html body.page-about .doctor-spotlight-copy,
  html body .doctor-spotlight-copy,
  html body .service-story-copy {
    text-align: left !important;
  }

  html body.page-home #about .ts-welcome-title,
  html body.page-home .ts-mike-copy h2,
  html body.page-home .ts-centered-heading h2,
  html body.page-home .ts-section-heading h2,
  html body.page-home .ts-mission-card h2,
  html body.page-about main h2,
  html body .doctor-spotlight-copy h2,
  html body .service-story-copy h2 {
    font-size: clamp(1.92rem, 9.4vw, 2.65rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  html body.page-home .ts-mike-section {
    padding: 3.2rem 0 !important;
  }

  html body.page-home .ts-image-card,
  html body.page-home .ts-image-card img,
  html body.page-home .ts-mike-photo,
  html body.page-home .ts-mike-photo img,
  html body .doctor-photo-frame,
  html body .doctor-photo-frame img,
  html body.page-about main .about-image-plain,
  html body.page-about main .about-image-plain img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
  }

  html body.page-home .ts-mike-photo,
  html body.page-home .ts-mike-photo img {
    aspect-ratio: 1 / 1 !important;
  }

  html body .doctor-photo-frame img,
  html body.page-home .ts-image-card img,
  html body.page-home .ts-mike-photo img,
  html body.page-about main .about-image-plain img {
    object-fit: cover !important;
  }

  html body.page-home .ts-values-grid,
  html body.page-home .ts-services-grid,
  html body.page-membership main .grid,
  html body.page-insurance main .insurance-logo-grid {
    grid-template-columns: 1fr !important;
  }

  html body.page-home .ts-service-card,
  html body.page-home .ts-value-card {
    border-radius: 0 !important;
  }

  html body.page-home .ts-service-img-wrap,
  html body.page-home .ts-service-img {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  html body .ts-mission-section {
    padding: 3rem 1rem !important;
  }

  html body .ts-mission-card,
  html body .partial-denture-band-card,
  html body .about-language-cta-card {
    width: min(100%, calc(100vw - 32px)) !important;
    padding: 2rem 1.25rem !important;
    border-radius: 0.9rem !important;
  }

  html body .ts-cta-band,
  html body .site-cta-section {
    padding: 2.7rem 0 2.35rem !important;
  }

  html body .ts-cta-actions,
  html body .site-intro-actions {
    width: 100% !important;
  }

  html body .ts-primary-pill,
  html body .ts-gold-pill,
  html body .site-cta-button,
  html body .membership-contact-button,
  html body a.rounded-full {
    max-width: 100% !important;
    min-height: 2.8rem !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: normal !important;
  }

  html body .site-location-section {
    padding: 3.4rem 0 !important;
  }

  html body .site-location-list {
    grid-template-columns: 1fr !important;
  }

  html body .site-location-map,
  html body .site-location-map iframe,
  html body .contact-map,
  html body .contact-map iframe {
    min-height: 320px !important;
    height: 320px !important;
    border-radius: 0 !important;
  }

  html body .footer-main,
  html body .footer-bottom {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 1.35rem !important;
  }

  html body .footer-links {
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  html body .accessibility-panel {
    left: auto !important;
    right: 0.8rem !important;
    bottom: 0.8rem !important;
    max-width: min(92vw, 22rem) !important;
  }
}

@media (max-width: 520px) {
  html body.page-home main > section:first-of-type {
    height: 100svh !important;
    min-height: 100svh !important;
  }

  html body.page-home .hero-title {
    width: min(100%, 18.5rem) !important;
    font-size: clamp(2.55rem, 12vw, 3.05rem) !important;
    letter-spacing: 0.015em !important;
  }

  html body.page-home .tagline {
    letter-spacing: 0.13em !important;
  }

  html body.page-interior:not(.page-home) main > section:first-of-type {
    min-height: 380px !important;
  }

  html body .site-intro-shell,
  html body .ts-shell,
  html body .ts-shell-feature,
  html body .footer-shell,
  html body .site-location-shell,
  html body.page-interior:not(.page-home) main .legacy-story-shell,
  html body.page-home main .ts-split,
  html body.page-home .ts-mike-shell,
  html body.page-about main .site-split,
  html body .doctor-spotlight,
  html body .doctor-spotlight.is-reverse,
  html body .site-location-grid,
  html body .ts-cta-inner,
  html body .site-cta-shell {
    width: min(100%, calc(100% - 24px)) !important;
  }

  html body .site-intro-title,
  html body main .site-intro-band .site-intro-title,
  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
    font-size: clamp(1.32rem, 7.2vw, 1.82rem) !important;
  }

  html body .accessibility-panel {
    transform: scale(0.9) !important;
    transform-origin: right bottom !important;
  }
}

html body.page-interior main > section.site-cta-section.family-cta-template {
  background: #071D33 !important;
  color: #ffffff !important;
  padding-top: 5rem !important;
  padding-bottom: 6rem !important;
}

html body.page-interior main > section.site-cta-section.family-cta-template .family-cta-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 3.5rem !important;
  padding: 1rem 3rem !important;
  border-radius: 9999px !important;
  background: var(--dt-gold) !important;
  color: var(--dt-navy) !important;
  font-family: var(--dt-font-body) !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 20px 35px rgba(200, 164, 106, 0.18) !important;
}

html body.page-interior main > section.site-cta-section.family-cta-template .family-cta-button:hover {
  background: #d6b875 !important;
}

html body.page-interior:not(.page-home) main > section.site-cta-section.family-cta-template[class*="bg-"][class*="text-white"] {
  background: #071D33 !important;
  color: #ffffff !important;
}

html body.page-interior:not(.page-home) main > section.site-cta-section.family-cta-template[class*="bg-"][class*="text-white"] .family-cta-button.bg-white {
  background: var(--dt-gold) !important;
  color: var(--dt-navy) !important;
}

html body.page-interior:not(.page-home) main > section.site-cta-section.family-cta-template[class*="bg-"][class*="text-white"] .family-cta-button.bg-white:hover {
  background: #d6b875 !important;
}

html body .ts-cta-band p:not(.ts-eyebrow),
html body.page-interior:not(.page-home) main > section.site-cta-section p,
html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] p {
  width: auto !important;
  max-width: min(960px, calc(100vw - 96px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
}

@media (max-width: 640px) {
  html body .ts-cta-band p:not(.ts-eyebrow),
  html body.page-interior:not(.page-home) main > section.site-cta-section p,
  html body.page-interior:not(.page-home) main > section:not(:first-of-type)[class*="bg-"][class*="text-white"] p {
    max-width: calc(100vw - 36px) !important;
  }
}

html body .ts-cta-band,
html body.page-interior:not(.page-home) main > section.site-cta-section {
  background: #071D33 !important;
  color: #ffffff !important;
  padding: clamp(3.7rem, 5vw, 4.9rem) 1.5rem clamp(2.95rem, 4.1vw, 3.85rem) !important;
}

html body .ts-cta-band .ts-cta-inner,
html body.page-interior:not(.page-home) main > section.site-cta-section .site-cta-shell {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: none !important;
}

html body .ts-cta-band h2,
html body.page-interior:not(.page-home) main > section.site-cta-section h2 {
  font-family: var(--dt-font-display) !important;
  font-size: clamp(2.05rem, 3vw, 3.25rem) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  color: #ffffff !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  text-align: center !important;
  white-space: normal !important;
  text-wrap: balance !important;
}

html body .ts-cta-band p:not(.ts-eyebrow),
html body.page-interior:not(.page-home) main > section.site-cta-section p {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 1.1rem !important;
  line-height: 1.72 !important;
  max-width: 860px !important;
  margin: 1.1rem auto 0 !important;
  text-align: center !important;
  text-wrap: balance !important;
}

html body .ts-cta-band .ts-cta-actions,
html body.page-interior:not(.page-home) main > section.site-cta-section .ts-cta-actions {
  margin-top: 2.05rem !important;
  gap: 1.1rem !important;
}

html body.page-home #about .ts-copy-block > p:not(.ts-eyebrow):not(.ts-strong-note),
html body.page-home .ts-mike-copy p,
html body.page-interior:not(.page-home) main .legacy-story .service-story-copy p,
html body.page-interior:not(.page-home) main .legacy-story .service-story-copy li,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy p,
html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy li,
html body.page-interior:not(.page-home) main .site-section > .relative.z-10 p,
html body.page-interior:not(.page-home) main .site-section > .relative.z-10 li,
html body.page-interior:not(.page-home) main .legal-card p,
html body.page-interior:not(.page-home) main .legal-card li {
  color: #516579 !important;
}

@media (max-width: 980px) {
  html body .ts-cta-band,
  html body .site-cta-section {
    padding: 2.5rem 0 2rem !important;
  }

  html body .ts-cta-band h2,
  html body.page-interior:not(.page-home) main > section.site-cta-section h2 {
    font-size: clamp(2.35rem, 11.8vw, 3.35rem) !important;
    line-height: 1.03 !important;
    letter-spacing: 0 !important;
    max-width: min(12ch, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }

  html body .ts-cta-band h2,
  html body.page-interior:not(.page-home) main > section.site-cta-section h2 {
    overflow-wrap: normal !important;
  }

  html body .ts-cta-band p:not(.ts-eyebrow),
  html body.page-interior:not(.page-home) main > section.site-cta-section p {
    font-size: 1rem !important;
    line-height: 1.72 !important;
    max-width: min(30rem, calc(100vw - 36px)) !important;
    margin-top: 0.85rem !important;
    text-wrap: pretty !important;
  }
}

@media (min-width: 981px) {
  html[lang="zh-CN"] body.page-home #opening-updates .site-intro-title,
  html[lang="es"] body.page-home #opening-updates .site-intro-title {
    width: max-content !important;
    max-width: calc(100vw - 96px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

@media (min-width: 981px) {
  html[lang="zh-CN"] body.page-home .site-intro-band#opening-updates .site-intro-title,
  html[lang="es"] body.page-home .site-intro-band#opening-updates .site-intro-title {
    display: block !important;
    width: min(100%, 56rem) !important;
    max-width: min(100%, 56rem) !important;
    margin-inline: auto !important;
    text-align: center !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

@media (min-width: 981px) {
  html body.page-home .site-intro-band#opening-updates .site-intro-title,
  html[lang="zh-CN"] body.page-home .site-intro-band#opening-updates .site-intro-title,
  html[lang="es"] body.page-home .site-intro-band#opening-updates .site-intro-title {
    display: block !important;
    position: relative !important;
    left: 50% !important;
    width: max-content !important;
    max-width: calc(100vw - 96px) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
  }
}

@media (min-width: 981px) {
  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-eyebrow {
    margin: 0 0 1rem !important;
    font-family: "Playfair Display", serif !important;
    font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #C8A46A !important;
    -webkit-text-fill-color: #C8A46A !important;
  }

  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
    width: min(100%, 1000px) !important;
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: clamp(2.35rem, 3.55vw, 4.05rem) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.028em !important;
    text-transform: none !important;
    color: #153b5c !important;
    -webkit-text-fill-color: #153b5c !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

/* Last legal-page background override. Keep Privacy Policy and Terms of Use warm cream through the whole content area. */
html body.page-privacy-policy,
html body.page-terms-of-use,
html body.page-privacy-policy main,
html body.page-terms-of-use main,
html body.page-privacy-policy main > .site-intro-divider + section.legal-shell,
html body.page-terms-of-use main > .site-intro-divider + section.legal-shell {
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 253, 248, 0.98) 0%, rgba(251, 247, 239, 0.92) 24%, rgba(251, 247, 239, 0.82) 58%, rgba(251, 247, 239, 0.72) 100%),
    linear-gradient(180deg, #FEFCF6 0%, #FBF7EF 34%, #F8F1E4 72%, #FBF7EF 100%) !important;
}

/* Final legal-page background lock: keep the warm cream field continuous below the hero. */
html body.page-privacy-policy,
html body.page-terms-of-use,
html body.page-privacy-policy main,
html body.page-terms-of-use main {
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 253, 248, 0.98) 0%, rgba(251, 247, 239, 0.92) 24%, rgba(251, 247, 239, 0.72) 56%, transparent 78%),
    linear-gradient(180deg, #FEFCF6 0%, #FBF7EF 34%, #F8F1E4 72%, #FBF7EF 100%) !important;
}

html body.page-privacy-policy main > .site-intro-divider + section.legal-shell,
html body.page-terms-of-use main > .site-intro-divider + section.legal-shell {
  background: transparent !important;
}

@media (max-width: 980px) {
  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-eyebrow {
    margin: 0 0 0.95rem !important;
    font-family: "Playfair Display", serif !important;
    font-size: clamp(1.1rem, 1.2vw, 1.34rem) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #C8A46A !important;
    -webkit-text-fill-color: #C8A46A !important;
  }

  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
    width: min(100%, 23rem) !important;
    max-width: 23rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: clamp(2.12rem, 9.2vw, 2.7rem) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.038em !important;
    text-transform: none !important;
    color: #0F2C47 !important;
    -webkit-text-fill-color: #0F2C47 !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

/* Edge dock for translation and read-page controls. */
html body .accessibility-panel.accessibility-panel {
  right: 0 !important;
  opacity: 0.82 !important;
  transition:
    right 180ms ease,
    opacity 180ms ease,
    transform 180ms ease,
    padding 180ms ease,
    border-radius 180ms ease !important;
}

html body .accessibility-panel.accessibility-panel:not(.is-open) {
  padding: 7px 3px 7px 7px !important;
  border-radius: 999px 0 0 999px !important;
}

html body .accessibility-panel.accessibility-panel:not(.is-open) .accessibility-toggle {
  width: 30px !important;
  height: 46px !important;
  flex-basis: 30px !important;
}

html body .accessibility-panel.accessibility-panel.is-open {
  right: 18px !important;
  opacity: 1 !important;
}

html body .accessibility-panel.accessibility-panel.is-open {
  z-index: 100001 !important;
}

@media (max-width: 720px) {
  html body .accessibility-panel.accessibility-panel {
    top: auto !important;
    right: 0 !important;
    bottom: max(1rem, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    opacity: 0.78 !important;
    transform: scale(0.9) !important;
    transform-origin: right bottom !important;
  }

  html body .accessibility-panel.accessibility-panel:not(.is-open) {
    padding: 6px 2px 6px 6px !important;
    border-radius: 999px 0 0 999px !important;
  }

  html body .accessibility-panel.accessibility-panel:not(.is-open) .accessibility-toggle {
    width: 28px !important;
    height: 42px !important;
    flex-basis: 28px !important;
  }

  html body .accessibility-panel.accessibility-panel.is-open {
    right: max(0.7rem, env(safe-area-inset-right)) !important;
    opacity: 1 !important;
  }

  html body .accessibility-panel.accessibility-panel.is-open {
    transform: scale(1) !important;
  }
}

/* Detail polish pass: preserve the desktop home hero, refine repeated surfaces and mobile rhythm. */
html body.page-home .ts-service-card {
  border-color: rgba(200, 164, 106, 0.34) !important;
  box-shadow: 0 16px 42px rgba(15, 44, 71, 0.075) !important;
  background: rgba(255, 255, 255, 0.965) !important;
}

html body.page-home .ts-service-card:hover {
  box-shadow: 0 24px 56px rgba(15, 44, 71, 0.115) !important;
}

html body.page-home .ts-service-img-wrap {
  background: #edf2f5 !important;
}

html body.page-home .ts-service-img {
  filter: saturate(0.96) contrast(1.02) brightness(1.01) !important;
}

html body.page-home .ts-service-img-wrap::after {
  background:
    linear-gradient(180deg, rgba(15, 44, 71, 0.02), rgba(15, 44, 71, 0.08)),
    linear-gradient(90deg, rgba(254, 252, 246, 0.12), transparent 42%) !important;
}

html body.page-home .ts-service-body {
  padding: clamp(1.35rem, 2vw, 1.8rem) clamp(1.35rem, 2.1vw, 1.9rem) clamp(1.55rem, 2.2vw, 2rem) !important;
}

html body.page-home .ts-service-title {
  margin-bottom: 0.65rem !important;
}

html body.page-home .ts-service-body p {
  line-height: 1.68 !important;
}

html body.page-home .ts-service-link {
  margin-top: 0.85rem !important;
}

html body.page-home .ts-value-card,
html body.page-home .ts-mission-card,
html body.page-home .ts-image-card img,
html body.page-home .ts-mike-photo {
  box-shadow: 0 18px 44px rgba(15, 44, 71, 0.09) !important;
}

html body.page-interior:not(.page-home) main > section:first-of-type {
  min-height: clamp(500px, 52vh, 600px) !important;
}

html body.page-interior:not(.page-home) main > section:first-of-type::after {
  background:
    linear-gradient(90deg, rgba(7, 22, 34, 0.56) 0%, rgba(7, 22, 34, 0.34) 38%, rgba(7, 22, 34, 0.16) 100%),
    linear-gradient(180deg, rgba(7, 22, 34, 0.18), rgba(7, 22, 34, 0.22)) !important;
}

html body.page-interior:not(.page-home) main > section:first-of-type h1 {
  text-shadow: 0 10px 26px rgba(7, 22, 34, 0.22) !important;
}

html body.page-dental-implants main > section:first-of-type img,
html body.page-dental-veneers main > section:first-of-type img,
html body.page-invisalign main > section:first-of-type img {
  object-position: center 44% !important;
}

html body.page-emergency-dental-care main > section:first-of-type img,
html body.page-family-dentistry main > section:first-of-type img {
  object-position: center center !important;
}

@media (min-width: 981px) {
  html body.page-interior:not(.page-home) main > section:first-of-type > .relative,
  html body.page-interior:not(.page-home) main > section:first-of-type > .max-w-\[1320px\],
  html body.page-interior:not(.page-home) main > section:first-of-type > .max-w-\[1200px\] {
    padding-top: clamp(7.4rem, 10vw, 9rem) !important;
  }
}

@media (max-width: 980px) {
  html body.page-home .home-hero-section {
    height: 100svh !important;
    min-height: 100svh !important;
  }

  html body.page-home .hero-copy {
    top: 50% !important;
    width: min(92vw, 25rem) !important;
    transform: translate(-50%, -50%) !important;
  }

  html body.page-home .hero-copy .hero-badge {
    padding: 0.52rem 0.86rem !important;
    font-size: 0.88rem !important;
    margin-bottom: 0.95rem !important;
  }

  html body.page-home .hero-copy .eyebrow {
    font-size: clamp(1.62rem, 8.2vw, 2.32rem) !important;
    margin-bottom: 1.05rem !important;
  }

  html body.page-home .hero-title {
    font-size: clamp(2.55rem, 10.8vw, 3.25rem) !important;
    line-height: 0.98 !important;
    letter-spacing: 0.018em !important;
    white-space: normal !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.page-home .ornament {
    gap: 1rem !important;
    margin: 1.05rem 0 0.9rem !important;
  }

  html body.page-home .ornament span,
  html body.page-home .ornament .line {
    width: min(22vw, 5.5rem) !important;
    height: 1px !important;
  }

  html body.page-home .ornament .tooth-icon {
    width: 2.05rem !important;
    height: 2.05rem !important;
  }

  html body.page-home .tagline {
    font-size: clamp(0.72rem, 3.1vw, 0.86rem) !important;
    letter-spacing: 0.24em !important;
    margin-bottom: 1rem !important;
  }

  html body.page-home .hero-copy p {
    font-size: 0.98rem !important;
    line-height: 1.62 !important;
    max-width: 22rem !important;
  }

  html body.page-home .hero-copy p br {
    display: none !important;
  }

  html body.page-home .hero-scroll-cue {
    bottom: max(0.9rem, env(safe-area-inset-bottom)) !important;
  }

  html body.page-home .hero-scroll-icon {
    width: 2.08rem !important;
    height: 1.28rem !important;
  }

  html body.page-home .hero-scroll-label {
    display: none !important;
  }

  html body.page-home #about.ts-section {
    padding-top: 3.1rem !important;
  }

  html body.page-home .ts-shell,
  html body.page-home .ts-shell-feature {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  html body.page-home .ts-copy-block > p:not(.ts-eyebrow):not(.ts-strong-note),
  html body.page-home .ts-mike-copy p,
  html body.page-home .ts-section-copy,
  html body.page-home .ts-service-body p {
    font-size: 1rem !important;
    line-height: 1.68 !important;
  }

  html body.page-home .ts-gold-rule {
    margin-top: 1.55rem !important;
    margin-bottom: 0.9rem !important;
    width: 12rem !important;
  }

  html body.page-home .ts-image-card img,
  html body.page-home .ts-mike-photo,
  html body.page-home .ts-mike-photo img {
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
  }

  html body.page-home .ts-services-grid {
    gap: 1.25rem !important;
  }

  html body.page-home .ts-service-card {
    border-radius: 1.15rem !important;
  }

  html body.page-home .ts-service-img-wrap,
  html body.page-home .ts-service-img {
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
  }

  html body.page-home .ts-service-body {
    padding: 1.2rem 1.25rem 1.45rem !important;
  }

  html body.page-home .ts-service-title {
    font-size: clamp(1.45rem, 7vw, 1.9rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
    text-align: left !important;
  }

  html body.page-home .ts-service-link {
    margin-top: 0.75rem !important;
  }

  html body.page-interior:not(.page-home) main > section:first-of-type {
    min-height: 380px !important;
  }

  html body.page-interior:not(.page-home) main > section:first-of-type::after {
    background:
      linear-gradient(90deg, rgba(7, 22, 34, 0.62), rgba(7, 22, 34, 0.22)),
      linear-gradient(180deg, rgba(7, 22, 34, 0.12), rgba(7, 22, 34, 0.28)) !important;
  }

  html body.page-interior:not(.page-home) main > section:first-of-type h1 {
    font-size: clamp(2.45rem, 12vw, 3.65rem) !important;
    line-height: 1.02 !important;
    max-width: min(100%, 20rem) !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }

  html body.page-interior:not(.page-home) main > section:first-of-type h1::after {
    margin-top: 0.65rem !important;
  }

  html body.page-interior:not(.page-home) .site-intro-band {
    padding-top: 3.25rem !important;
    padding-bottom: 2.7rem !important;
  }

  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
    max-width: 20.5rem !important;
  }

  html body.page-interior:not(.page-home) main p,
  html body.page-interior:not(.page-home) main li {
    line-height: 1.68 !important;
  }
}

@media (max-width: 720px) {
  html body .accessibility-panel {
    right: max(0.7rem, env(safe-area-inset-right)) !important;
    top: calc(3.8rem + max(0.65rem, env(safe-area-inset-top))) !important;
    bottom: auto !important;
    padding: 0.46rem !important;
    transform: scale(0.88) !important;
    transform-origin: right top !important;
  }

  html body .accessibility-panel.is-open {
    left: auto !important;
    max-width: calc(100vw - 1.4rem) !important;
    transform: scale(1) !important;
  }

  html body .accessibility-toggle {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  html body .accessibility-btn {
    height: 34px !important;
    min-width: 52px !important;
    padding: 0 0.65rem !important;
    font-size: 11px !important;
  }
}

/* Last legal-page background override. Keep Privacy Policy and Terms of Use warm cream through the whole content area. */
html body.page-privacy-policy,
html body.page-terms-of-use,
html body.page-privacy-policy main,
html body.page-terms-of-use main,
html body.page-privacy-policy main > .site-intro-divider + section.legal-shell,
html body.page-terms-of-use main > .site-intro-divider + section.legal-shell {
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 253, 248, 0.98) 0%, rgba(251, 247, 239, 0.92) 24%, rgba(251, 247, 239, 0.82) 58%, rgba(251, 247, 239, 0.72) 100%),
    linear-gradient(180deg, #FEFCF6 0%, #FBF7EF 34%, #F8F1E4 72%, #FBF7EF 100%) !important;
}

body.page-privacy-policy main > .site-intro-divider + section.legal-shell,
body.page-terms-of-use main > .site-intro-divider + section.legal-shell {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 253, 248, 0.98) 0%, rgba(251, 247, 239, 0.92) 22%, transparent 62%),
    linear-gradient(180deg, #FEFCF6 0%, #FBF7EF 42%, #FFFDF8 100%) !important;
  padding-top: clamp(4.6rem, 6vw, 6.2rem) !important;
  padding-bottom: clamp(4.8rem, 6.5vw, 6.6rem) !important;
}

body.page-privacy-policy main .legal-card,
body.page-terms-of-use main .legal-card {
  width: min(920px, calc(100% - 64px)) !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.page-privacy-policy main .legal-eyebrow,
body.page-terms-of-use main .legal-eyebrow {
  margin: 0 0 0.75rem !important;
  font-family: "Playfair Display", serif !important;
  font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #C8A46A !important;
  -webkit-text-fill-color: #C8A46A !important;
}

body.page-privacy-policy main .legal-title,
body.page-terms-of-use main .legal-title {
  max-width: 18ch !important;
  margin: 0 0 1.25rem !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(3.2rem, 4.8vw, 5.3rem) !important;
  font-weight: 500 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.04em !important;
  color: #0F2C47 !important;
  -webkit-text-fill-color: #0F2C47 !important;
  text-wrap: balance !important;
}

body.page-privacy-policy main .legal-intro,
body.page-terms-of-use main .legal-intro,
body.page-privacy-policy main .legal-copy p,
body.page-terms-of-use main .legal-copy p {
  max-width: 100% !important;
  margin: 0 !important;
  font-family: "Inter", sans-serif !important;
  font-size: clamp(1rem, 1.05vw, 1.08rem) !important;
  font-weight: 400 !important;
  line-height: 1.76 !important;
  color: #475F78 !important;
  -webkit-text-fill-color: #475F78 !important;
}

body.page-privacy-policy main .legal-section,
body.page-terms-of-use main .legal-section {
  margin-top: clamp(1.55rem, 2vw, 2rem) !important;
}

body.page-privacy-policy main .legal-section h2,
body.page-terms-of-use main .legal-section h2 {
  margin: 0 0 0.55rem !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(1.78rem, 2.2vw, 2.35rem) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: #0F2C47 !important;
  -webkit-text-fill-color: #0F2C47 !important;
}

body.page-privacy-policy main .legal-copy a,
body.page-terms-of-use main .legal-copy a {
  color: #0F2C47 !important;
  -webkit-text-fill-color: #0F2C47 !important;
  text-decoration-color: rgba(200, 164, 106, 0.8) !important;
}

@media (max-width: 980px) {
  body.page-privacy-policy main > .site-intro-divider + section.legal-shell,
  body.page-terms-of-use main > .site-intro-divider + section.legal-shell {
    padding-top: 3.4rem !important;
    padding-bottom: 4.2rem !important;
  }

  body.page-privacy-policy main .legal-card,
  body.page-terms-of-use main .legal-card {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  body.page-privacy-policy main .legal-title,
  body.page-terms-of-use main .legal-title {
    max-width: 12ch !important;
    font-size: clamp(3rem, 15vw, 4.2rem) !important;
  }

  body.page-privacy-policy main .legal-section,
  body.page-terms-of-use main .legal-section {
    margin-top: 1.45rem !important;
  }
}

@media (min-width: 981px) {
  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-eyebrow {
    margin: 0 0 1rem !important;
    font-family: "Playfair Display", serif !important;
    font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #C8A46A !important;
    -webkit-text-fill-color: #C8A46A !important;
  }

  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
    width: min(100%, 1000px) !important;
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: clamp(2.35rem, 3.55vw, 4.05rem) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.028em !important;
    text-transform: none !important;
    color: #153b5c !important;
    -webkit-text-fill-color: #153b5c !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

@media (max-width: 980px) {
  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-eyebrow {
    margin: 0 0 0.95rem !important;
    font-family: "Playfair Display", serif !important;
    font-size: clamp(1.1rem, 1.2vw, 1.34rem) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #C8A46A !important;
    -webkit-text-fill-color: #C8A46A !important;
  }

  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
    width: min(100%, 23rem) !important;
    max-width: 23rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: clamp(2.12rem, 9.2vw, 2.7rem) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.038em !important;
    text-transform: none !important;
    color: #0F2C47 !important;
    -webkit-text-fill-color: #0F2C47 !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

@media (min-width: 981px) {
  html[lang="zh-CN"] body.page-home #opening-updates .site-intro-shell,
  html[lang="es"] body.page-home #opening-updates .site-intro-shell {
    text-align: center !important;
  }

  html[lang="zh-CN"] body.page-home #opening-updates .site-intro-title,
  html[lang="es"] body.page-home #opening-updates .site-intro-title,
  html[lang="zh-CN"] body.page-home .site-intro-band#opening-updates .site-intro-title,
  html[lang="es"] body.page-home .site-intro-band#opening-updates .site-intro-title {
    display: block !important;
    width: min(100%, 980px) !important;
    max-width: min(100%, 980px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

html body .site-footer .footer-kicker {
  margin: 0 0 1rem !important;
  font-family: "Inter", sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.1 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #C8A46A !important;
  -webkit-text-fill-color: #C8A46A !important;
  font-synthesis: none !important;
}

html body.page-home .site-footer .footer-nav-column > .footer-kicker,
html body.page-interior:not(.page-home) .site-footer .footer-nav-column > .footer-kicker {
  margin: 0 0 1rem !important;
  font-family: "Inter", sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.1 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #C8A46A !important;
  -webkit-text-fill-color: #C8A46A !important;
  text-wrap: nowrap !important;
}

@media (min-width: 981px) {
  html[lang="zh-CN"] body.page-home #opening-updates .site-intro-shell,
  html[lang="es"] body.page-home #opening-updates .site-intro-shell {
    text-align: center !important;
  }

  html[lang="zh-CN"] body.page-home #opening-updates .site-intro-title,
  html[lang="es"] body.page-home #opening-updates .site-intro-title {
    display: block !important;
    width: min(100%, 1200px) !important;
    max-width: min(100%, 1200px) !important;
    margin-inline: auto !important;
    text-align: center !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

@media (max-width: 980px) {
  html body .ts-cta-band .ts-cta-actions,
  html body.page-interior:not(.page-home) main > section.site-cta-section .ts-cta-actions {
    margin-top: 0.95rem !important;
    gap: 0.65rem !important;
  }

  html body .ts-cta-actions .ts-gold-pill,
  html body .site-cta-button,
  html body.page-interior main > section.site-cta-section.family-cta-template .family-cta-button {
    min-height: 2.8rem !important;
    min-width: 6.2rem !important;
    padding: 0 1.2rem !important;
    font-size: 0.95rem !important;
  }

  html body.page-home main .ts-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: min(100%, calc(100vw - 32px)) !important;
    gap: 1.75rem !important;
    align-items: start !important;
  }

  html body.page-home main .ts-split > *,
  html body.page-home main .ts-split > :first-child,
  html body.page-home main .ts-split > :last-child {
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body.page-home main .ts-copy-block {
    text-align: left !important;
    width: 100% !important;
    max-width: none !important;
  }

  html body.page-home #about .ts-welcome-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.15rem, 12vw, 3.25rem) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal !important;
  }

  html body.page-home .site-intro-band .site-intro-eyebrow {
    font-size: clamp(1rem, 4.9vw, 1.18rem) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
  }

  html body.page-home .site-intro-band .site-intro-title,
  html body.page-home #services .ts-section-heading > h2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.15rem, 12vw, 3.25rem) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    overflow-wrap: normal !important;
  }

  html body.page-home .ts-copy-block > p:not(.ts-eyebrow):not(.ts-strong-note),
  html body.page-home .site-intro-copy,
  html body.page-home .site-location-meta,
  html body.page-home .footer-brand p,
  html body.page-home .footer-contact p,
  html body.page-home .footer-legal a,
  html body.page-home .footer-bottom,
  html body.page-home .footer-bottom p,
  html body.page-home .ts-cta-band p:not(.ts-eyebrow),
  html body.page-home .ts-section-heading p:last-child,
  html body.page-home .ts-section-copy,
  html body.page-home .ts-waitlist-card p:not(.ts-eyebrow),
  html body.page-home .ts-value-card p,
  html body.page-home .ts-service-body p,
  html body.page-home .ts-mike-copy p,
  html body.page-home .ts-mission-card p:not(.ts-eyebrow) {
    font-size: 1rem !important;
    line-height: 1.72 !important;
  }

  html body.page-home .ts-copy-block > p:not(.ts-eyebrow):not(.ts-strong-note) {
    max-width: 100% !important;
    margin-top: 1.05rem !important;
  }

  html body.page-about main .doctor-spotlight,
  html body.page-meet-doctors main .doctor-spotlight,
  html body.page-meet-doctors main .doctor-spotlight.is-reverse,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower {
    width: min(100%, calc(100vw - 32px)) !important;
    grid-template-columns: 1fr !important;
    gap: 1.8rem !important;
  }

  html body.page-about main .doctor-spotlight + .doctor-spotlight,
  html body.page-meet-doctors main .doctor-spotlight + .doctor-spotlight,
  html body.page-meet-doctors main .doctor-spotlight.is-reverse + .doctor-spotlight,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row + .service-story-row,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row + .bridge-feature-lower,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower + .service-story-row,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower + .bridge-feature-lower {
    margin-top: 2.35rem !important;
  }

  html body.page-about main .doctor-spotlight > *,
  html body.page-meet-doctors main .doctor-spotlight > *,
  html body.page-meet-doctors main .doctor-spotlight.is-reverse > *,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row > *,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-lower > *,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-copy,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-row.reverse .service-story-image {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
    min-width: 0 !important;
  }

  html body.page-about main .doctor-photo-frame,
  html body.page-about main .doctor-photo-frame img,
  html body.page-meet-doctors main .doctor-photo-frame,
  html body.page-meet-doctors main .doctor-photo-frame img,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-image,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-image img,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-photo img,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-diagram img {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    height: auto !important;
    object-fit: cover !important;
  }

  html body.page-about main .doctor-spotlight-copy,
  html body.page-meet-doctors main .doctor-spotlight-copy,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-copy,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
    text-align: left !important;
  }

  html body.page-about main .doctor-spotlight-copy h2,
  html body.page-meet-doctors main .doctor-spotlight-copy h2,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-copy h2,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy h2,
  html body.page-interior:not(.page-home) main .site-section > .relative.z-10 h2,
  html body.page-interior:not(.page-home) main .legal-card h2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(1.9rem, 9.3vw, 2.6rem) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    margin-bottom: 0 !important;
  }

  html body.page-about main .doctor-spotlight-copy p,
  html body.page-meet-doctors main .doctor-spotlight-copy p,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-copy p,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy p,
  html body.page-interior:not(.page-home) main .site-section > .relative.z-10 p,
  html body.page-interior:not(.page-home) main .legal-card p,
  html body.page-interior:not(.page-home) main .legal-card li {
    max-width: 100% !important;
    margin: 0 !important;
    text-wrap: pretty !important;
  }

  html body.page-about main .doctor-spotlight-copy > * + *,
  html body.page-meet-doctors main .doctor-spotlight-copy > * + *,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-copy > * + *,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy > * + *,
  html body.page-interior:not(.page-home) main .site-section > .relative.z-10 > * + *,
  html body.page-interior:not(.page-home) main .legal-card > * + * {
    margin-top: 1.2rem !important;
  }

  html body.page-about main .doctor-spotlight-copy h2 + p,
  html body.page-about main .doctor-spotlight-copy h2 + ul,
  html body.page-about main .doctor-spotlight-copy h2 + ol,
  html body.page-meet-doctors main .doctor-spotlight-copy h2 + p,
  html body.page-meet-doctors main .doctor-spotlight-copy h2 + ul,
  html body.page-meet-doctors main .doctor-spotlight-copy h2 + ol,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-copy h2 + p,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-copy h2 + ul,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-copy h2 + ol,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy h2 + p,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy h2 + ul,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy h2 + ol,
  html body.page-interior:not(.page-home) main .site-section > .relative.z-10 h2 + p,
  html body.page-interior:not(.page-home) main .site-section > .relative.z-10 h2 + ul,
  html body.page-interior:not(.page-home) main .site-section > .relative.z-10 h2 + ol,
  html body.page-interior:not(.page-home) main .legal-card h2 + p,
  html body.page-interior:not(.page-home) main .legal-card h2 + ul,
  html body.page-interior:not(.page-home) main .legal-card h2 + ol {
    margin-top: 1.45rem !important;
  }

  html body.page-about main .doctor-spotlight-copy ul,
  html body.page-meet-doctors main .doctor-spotlight-copy ul,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-copy ul,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy ul,
  html body.page-interior:not(.page-home) main .legal-card ul,
  html body.page-interior:not(.page-home) main .legal-card ol {
    display: grid !important;
    gap: 0.9rem !important;
    margin: 0 !important;
  }

  html body.page-interior:not(.page-home) main p,
  html body.page-interior:not(.page-home) main li,
  html body.page-interior:not(.page-home) .site-intro-copy,
  html body.page-interior:not(.page-home) .site-location-meta,
  html body.page-interior:not(.page-home) .footer-brand p,
  html body.page-interior:not(.page-home) .footer-contact p,
  html body.page-interior:not(.page-home) .footer-legal a,
  html body.page-interior:not(.page-home) .footer-bottom,
  html body.page-interior:not(.page-home) .footer-bottom p,
  html body.page-interior:not(.page-home) .doctor-body p {
    font-size: 1rem !important;
    line-height: 1.72 !important;
    text-wrap: pretty !important;
  }

  html body.page-home .ts-gold-rule {
    width: 9.5rem !important;
    margin-top: 1.7rem !important;
    margin-bottom: 1rem !important;
  }

  html body.page-home .ts-strong-note {
    max-width: 100% !important;
    font-size: 1rem !important;
  }

  html body.page-home .ts-image-card,
  html body.page-home .ts-image-card img,
  html body.page-home .ts-mike-photo,
  html body.page-home .ts-mike-photo img,
  html body.page-about main .about-image-plain,
  html body.page-about main .about-image-plain img,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-image,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-image img,
  html body .doctor-photo-frame,
  html body .doctor-photo-frame img {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    height: auto !important;
    object-fit: cover !important;
  }

  html body .site-location-map,
  html body .contact-map,
  html body .location-map,
  html body .service-location-map,
  html body .ts-map-card {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 0 !important;
  }

  html body .site-location-map iframe,
  html body .contact-map iframe,
  html body .location-map iframe,
  html body .service-location-map iframe,
  html body .ts-map-card iframe,
  html body .ts-map-card img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    display: block !important;
  }
}

@media (max-width: 720px) {
  html body .accessibility-panel {
    right: 14px !important;
    top: calc(3.8rem + max(10px, env(safe-area-inset-top))) !important;
    bottom: auto !important;
    left: auto !important;
    max-width: calc(100vw - 28px) !important;
    padding: 8px !important;
    border-radius: 999px !important;
    flex-wrap: nowrap !important;
    transform-origin: right top !important;
  }

  html body .accessibility-toggle {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }

  html body .accessibility-menu {
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    max-width: 0 !important;
    white-space: nowrap !important;
  }

  html body .accessibility-panel.is-open .accessibility-menu {
    width: auto !important;
    max-width: calc(100vw - 96px) !important;
    height: auto !important;
    max-height: 52px !important;
    margin-left: 7px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) scale(1) !important;
  }

  html body .accessibility-group {
    flex-wrap: nowrap !important;
    gap: 6px !important;
  }

  html body .accessibility-btn {
    min-width: 54px !important;
    height: 34px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  html body .accessibility-group .tts-btn {
    min-width: 78px !important;
    padding: 0 13px !important;
  }

  html body .accessibility-panel.accessibility-panel.is-open .accessibility-menu.accessibility-menu {
    display: flex !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: calc(100vw - 96px) !important;
    height: auto !important;
    max-height: 52px !important;
    overflow: visible !important;
    margin-left: 7px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) scale(1) !important;
  }
}

@media (max-width: 980px) {
  html body .doctor-profile-shell,
  html body .about-doctor-quote-shell,
  html body.page-interior:not(.page-home) main .doctor-profile-shell,
  html body.page-interior:not(.page-home) main .about-doctor-quote-shell {
    width: min(100%, calc(100vw - 32px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body .doctor-spotlight-copy,
  html body.page-about main .doctor-spotlight-copy,
  html body.page-meet-doctors main .doctor-spotlight-copy,
  html body.page-interior:not(.page-home) main .legacy-story .service-story-copy,
  html body.page-interior:not(.page-home) main .legacy-story .bridge-feature-copy,
  html body.page-about main .site-split .space-y-6,
  html body.page-about main .site-split p,
  html body.page-about main .site-split .about-feature-title,
  html body.page-about main .site-split .ts-service-link,
  html body.page-about main .doctor-spotlight-copy p.ts-strong-note,
  html body.page-about main .about-language-cta-card p {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-interior:not(.page-home) main > .site-intro-divider + section.site-section,
  body.page-interior:not(.page-home) main > .site-intro-divider + section.legal-shell,
  body.page-interior:not(.page-home) main > .site-intro-divider + .site-cta-section + .site-location-section,
  body.page-interior:not(.page-home) main > .site-intro-divider + .site-location-section {
    padding-top: 4.85rem !important;
  }

  body.page-interior:not(.page-home) .site-intro-divider + .legacy-story .service-story-section {
    padding-top: 4.85rem !important;
  }

  html body .site-cta-section,
  html body .ts-cta-band.site-cta-section,
  html body.page-interior:not(.page-home) main > section.site-cta-section,
  html body.page-interior:not(.page-home) main > section.ts-cta-band.site-cta-section {
    padding: 2.3rem 0 1.85rem !important;
  }

  html body .site-cta-section .site-cta-shell,
  html body .ts-cta-band.site-cta-section .site-cta-shell,
  html body .site-cta-section .ts-cta-inner,
  html body .ts-cta-band.site-cta-section .ts-cta-inner,
  html body.page-interior:not(.page-home) main > section.site-cta-section .site-cta-shell,
  html body.page-interior:not(.page-home) main > section.ts-cta-band.site-cta-section .site-cta-shell,
  html body.page-interior:not(.page-home) main > section.site-cta-section .ts-cta-inner,
  html body.page-interior:not(.page-home) main > section.ts-cta-band.site-cta-section .ts-cta-inner {
    gap: 1.05rem !important;
    align-items: center !important;
    justify-items: center !important;
  }

  html body .site-cta-section h2,
  html body .ts-cta-band.site-cta-section h2,
  html body.page-interior:not(.page-home) main > section.site-cta-section h2,
  html body.page-interior:not(.page-home) main > section.ts-cta-band.site-cta-section h2 {
    font-size: clamp(2.12rem, 9.6vw, 2.64rem) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    font-weight: 600 !important;
    width: min(100%, 20.35rem) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    white-space: normal !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  html body .site-cta-section p:not(.ts-eyebrow),
  html body .ts-cta-band.site-cta-section p:not(.ts-eyebrow),
  html body.page-interior:not(.page-home) main > section.site-cta-section p,
  html body.page-interior:not(.page-home) main > section.ts-cta-band.site-cta-section p {
    font-size: 0.95rem !important;
    line-height: 1.64 !important;
    max-width: min(18.9rem, calc(100vw - 58px)) !important;
    margin: 0.6rem auto 0 !important;
    text-align: center !important;
    text-wrap: pretty !important;
  }

  html body .site-cta-section .ts-cta-actions,
  html body .ts-cta-band.site-cta-section .ts-cta-actions,
  html body.page-interior:not(.page-home) main > section.site-cta-section .ts-cta-actions,
  html body.page-interior:not(.page-home) main > section.ts-cta-band.site-cta-section .ts-cta-actions {
    margin-top: 0.18rem !important;
    gap: 0.65rem !important;
  }

  html body .site-cta-section .ts-cta-actions .ts-gold-pill,
  html body .site-cta-section .site-cta-button,
  html body .ts-cta-band.site-cta-section .ts-cta-actions .ts-gold-pill,
  html body .ts-cta-band.site-cta-section .site-cta-button,
  html body.page-interior main > section.site-cta-section.family-cta-template .family-cta-button,
  html body.page-interior main > section.ts-cta-band.site-cta-section.family-cta-template .family-cta-button {
    min-height: 2.7rem !important;
    min-width: 5.9rem !important;
    padding: 0 1.1rem !important;
    font-size: 0.94rem !important;
  }

  html body.page-interior:not(.page-home) main > section.site-cta-section p,
  html body.page-interior:not(.page-home) main > section.ts-cta-band.site-cta-section p {
    max-width: min(19rem, calc(100vw - 56px)) !important;
  }
}

html body.page-family-dentistry main .legacy-story .service-story-copy h2.family-story-heading,
html body.page-family-dentistry main .legacy-story h2.family-story-heading {
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(2.28rem, 2.56vw, 2.96rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.038em !important;
  color: #0F2C47 !important;
  -webkit-text-fill-color: #0F2C47 !important;
  margin: 0 0 1.7rem !important;
}

html body.page-family-dentistry main .legacy-story .service-story-copy h2.family-story-heading + .family-story-list,
html body.page-family-dentistry main .legacy-story h2.family-story-heading + .family-story-list {
  margin-top: 0 !important;
}

html body.page-family-dentistry main .legacy-story p.service-kicker.family-story-kicker + h2.family-story-heading {
  margin-top: 0 !important;
}

@media (max-width: 980px) {
  html body.page-family-dentistry main .legacy-story p.service-kicker.family-story-kicker {
    margin: 0 0 0.95rem !important;
  }

  html body.page-family-dentistry main .legacy-story .service-story-copy h2.family-story-heading,
  html body.page-family-dentistry main .legacy-story h2.family-story-heading {
    font-size: clamp(2.12rem, 9.2vw, 2.7rem) !important;
    line-height: 1.08 !important;
    margin: 0 0 1.35rem !important;
  }
}

html body.page-interior:not(.page-home) main .legacy-story .editorial-story-copy {
  align-self: center !important;
  width: min(100%, 44rem) !important;
  max-width: 44rem !important;
}

html body.page-interior:not(.page-home) main .legacy-story p.editorial-story-kicker {
  margin: 0 0 0.95rem !important;
  font-family: "Playfair Display", serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(1.1rem, 1.2vw, 1.34rem) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #C8A46A !important;
  -webkit-text-fill-color: #C8A46A !important;
}

html body.page-interior:not(.page-home) main .legacy-story p.editorial-story-kicker.editorial-story-kicker-secondary {
  margin-top: 1.7rem !important;
}

html body.page-interior:not(.page-home) main .legacy-story h2.editorial-story-heading {
  margin: 0 0 1.7rem !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(2.28rem, 2.56vw, 2.96rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.038em !important;
  color: #0F2C47 !important;
  -webkit-text-fill-color: #0F2C47 !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
}

html body.page-interior:not(.page-home) main .legacy-story p.editorial-story-body {
  margin: 0 !important;
  color: #5B6F85 !important;
  font-family: var(--dt-font-body) !important;
  font-size: clamp(1.06rem, 1.14vw, 1.18rem) !important;
  line-height: 1.74 !important;
  font-weight: 400 !important;
  text-wrap: pretty !important;
}

html body.page-interior:not(.page-home) main .legacy-story p.editorial-story-body + p.editorial-story-body {
  margin-top: 1rem !important;
}

html body.page-interior:not(.page-home) main .legacy-story p.editorial-story-body + .editorial-story-list,
html body.page-interior:not(.page-home) main .legacy-story h2.editorial-story-heading + p.editorial-story-body {
  margin-top: 0 !important;
}

html body.page-interior:not(.page-home) main .legacy-story p.editorial-story-body + ul.editorial-story-list,
html body.page-interior:not(.page-home) main .legacy-story p.editorial-story-body + ol.editorial-story-list {
  margin-top: 1.15rem !important;
}

html body.page-interior:not(.page-home) main .legacy-story ul.editorial-story-list,
html body.page-interior:not(.page-home) main .legacy-story ol.editorial-story-list {
  list-style: none !important;
  display: grid !important;
  gap: 1.15rem !important;
  margin: 1.5rem 0 0 !important;
  padding: 0 !important;
}

html body.page-interior:not(.page-home) main .legacy-story .editorial-story-list li {
  position: relative !important;
  margin: 0 !important;
  padding-left: 1.28rem !important;
  color: #5B6F85 !important;
  font-family: var(--dt-font-body) !important;
  font-size: clamp(1.06rem, 1.14vw, 1.18rem) !important;
  line-height: 1.74 !important;
  font-weight: 400 !important;
  text-wrap: pretty !important;
}

html body.page-interior:not(.page-home) main .legacy-story .editorial-story-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.76em !important;
  width: 0.36rem !important;
  height: 0.36rem !important;
  border-radius: 999px !important;
  background: #C8A46A !important;
}

html body.page-interior:not(.page-home) main .legacy-story .editorial-story-list li > strong,
html body.page-interior:not(.page-home) main .legacy-story .editorial-story-list strong {
  color: #163B5C !important;
  -webkit-text-fill-color: #163B5C !important;
  font-weight: 700 !important;
}

@media (min-width: 981px) {
  html body.page-about .doctor-profile-shell,
  html body.page-meet-doctors .doctor-profile-shell,
  html body.page-family-dentistry .doctor-profile-shell,
  html body.page-invisalign .doctor-profile-shell,
  html body.page-dental-veneers .doctor-profile-shell,
  html body.page-crowns-bridges .doctor-profile-shell,
  html body.page-dentures-partials .doctor-profile-shell,
  html body.page-extractions-bone-grafts .doctor-profile-shell,
  html body.page-dental-implants .doctor-profile-shell,
  html body.page-root-canals .doctor-profile-shell,
  html body.page-emergency-dental-care .doctor-profile-shell,
  html body.page-about main .legacy-story-shell,
  html body.page-meet-doctors main .legacy-story-shell,
  html body.page-family-dentistry main .legacy-story-shell,
  html body.page-invisalign main .legacy-story-shell,
  html body.page-dental-veneers main .legacy-story-shell,
  html body.page-crowns-bridges main .legacy-story-shell,
  html body.page-dentures-partials main .legacy-story-shell,
  html body.page-extractions-bone-grafts main .legacy-story-shell,
  html body.page-dental-implants main .legacy-story-shell,
  html body.page-root-canals main .legacy-story-shell,
  html body.page-emergency-dental-care main .legacy-story-shell {
    width: min(1340px, calc(100% - 64px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  html body.page-about .doctor-spotlight,
  html body.page-meet-doctors .doctor-spotlight,
  html body.page-family-dentistry .doctor-spotlight,
  html body.page-invisalign .doctor-spotlight,
  html body.page-dental-veneers .doctor-spotlight,
  html body.page-crowns-bridges .doctor-spotlight,
  html body.page-dentures-partials .doctor-spotlight,
  html body.page-extractions-bone-grafts .doctor-spotlight,
  html body.page-dental-implants .doctor-spotlight,
  html body.page-root-canals .doctor-spotlight,
  html body.page-emergency-dental-care .doctor-spotlight,
  html body.page-family-dentistry main .legacy-story .service-story-row,
  html body.page-invisalign main .legacy-story .service-story-row,
  html body.page-dental-veneers main .legacy-story .service-story-row,
  html body.page-crowns-bridges main .legacy-story .service-story-row,
  html body.page-crowns-bridges main .legacy-story .bridge-feature-lower,
  html body.page-dentures-partials main .legacy-story .service-story-row,
  html body.page-extractions-bone-grafts main .legacy-story .service-story-row,
  html body.page-dental-implants main .legacy-story .service-story-row,
  html body.page-root-canals main .legacy-story .service-story-row,
  html body.page-emergency-dental-care main .legacy-story .service-story-row {
    grid-template-columns: minmax(0, 600px) minmax(0, 620px) !important;
    gap: clamp(3rem, 5.5vw, 5rem) !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.page-about .doctor-photo-frame,
  html body.page-meet-doctors .doctor-photo-frame,
  html body.page-family-dentistry .doctor-photo-frame,
  html body.page-invisalign .doctor-photo-frame,
  html body.page-dental-veneers .doctor-photo-frame,
  html body.page-crowns-bridges .doctor-photo-frame,
  html body.page-dentures-partials .doctor-photo-frame,
  html body.page-extractions-bone-grafts .doctor-photo-frame,
  html body.page-dental-implants .doctor-photo-frame,
  html body.page-root-canals .doctor-photo-frame,
  html body.page-emergency-dental-care .doctor-photo-frame,
  html body.page-family-dentistry main .legacy-story .service-story-image,
  html body.page-invisalign main .legacy-story .service-story-image,
  html body.page-dental-veneers main .legacy-story .service-story-image,
  html body.page-crowns-bridges main .legacy-story .service-story-image,
  html body.page-dentures-partials main .legacy-story .service-story-image,
  html body.page-extractions-bone-grafts main .legacy-story .service-story-image,
  html body.page-dental-implants main .legacy-story .service-story-image,
  html body.page-root-canals main .legacy-story .service-story-image,
  html body.page-emergency-dental-care main .legacy-story .service-story-image {
    max-width: 600px !important;
    width: 100% !important;
  }

  html body.page-about .doctor-spotlight-copy,
  html body.page-meet-doctors .doctor-spotlight-copy,
  html body.page-family-dentistry .doctor-spotlight-copy,
  html body.page-invisalign .doctor-spotlight-copy,
  html body.page-dental-veneers .doctor-spotlight-copy,
  html body.page-crowns-bridges .doctor-spotlight-copy,
  html body.page-dentures-partials .doctor-spotlight-copy,
  html body.page-extractions-bone-grafts .doctor-spotlight-copy,
  html body.page-dental-implants .doctor-spotlight-copy,
  html body.page-root-canals .doctor-spotlight-copy,
  html body.page-emergency-dental-care .doctor-spotlight-copy,
  html body.page-family-dentistry main .legacy-story .service-story-copy,
  html body.page-invisalign main .legacy-story .service-story-copy,
  html body.page-dental-veneers main .legacy-story .service-story-copy,
  html body.page-crowns-bridges main .legacy-story .service-story-copy,
  html body.page-dentures-partials main .legacy-story .service-story-copy,
  html body.page-extractions-bone-grafts main .legacy-story .service-story-copy,
  html body.page-dental-implants main .legacy-story .service-story-copy,
  html body.page-root-canals main .legacy-story .service-story-copy,
  html body.page-emergency-dental-care main .legacy-story .service-story-copy {
    max-width: 620px !important;
    width: 100% !important;
  }

  html body.page-about .about-language-cta-card > .section-kicker,
  html body.page-membership .info-card > .section-kicker {
    font-family: "Playfair Display", serif !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: clamp(1.1rem, 1.2vw, 1.34rem) !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #C8A46A !important;
    -webkit-text-fill-color: #C8A46A !important;
  }

  html body.page-crowns-bridges .bridge-restoration-intro > .editorial-story-kicker {
    margin-bottom: 0.95rem !important;
  }

  html body.page-crowns-bridges .bridge-restoration-intro > .editorial-story-heading {
    margin-bottom: 1.2rem !important;
  }

  html body.page-crowns-bridges .bridge-restoration-intro > .editorial-story-body {
    max-width: 62rem !important;
  }

  html body.page-crowns-bridges .bridge-restoration-section .doctor-spotlight-copy > .editorial-story-heading + .editorial-story-body,
  html body.page-crowns-bridges .bridge-restoration-section .doctor-spotlight-copy > .editorial-story-heading + .editorial-story-list {
    margin-top: 0 !important;
  }

  html body.page-crowns-bridges .bridge-restoration-section .doctor-spotlight-copy > .editorial-story-body + .editorial-story-heading {
    margin-top: 1.9rem !important;
  }

  html body.page-dental-veneers .doctor-spotlight:last-child .editorial-story-kicker {
    margin-bottom: 1.15rem !important;
  }

  html body.page-dental-veneers .doctor-spotlight:last-child .editorial-story-heading {
    margin-bottom: 1.95rem !important;
    word-spacing: 0.06em !important;
  }

  html body.page-home main .ts-split {
    grid-template-columns: minmax(0, 600px) minmax(0, 620px) !important;
    gap: clamp(3rem, 5.5vw, 5rem) !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.page-home main .ts-image-card,
  html body.page-home main .ts-image-card picture,
  html body.page-home main .ts-image-card img {
    width: 100% !important;
    max-width: 600px !important;
    aspect-ratio: 1 / 1 !important;
  }

  html body.page-home main .ts-copy {
    width: 100% !important;
    max-width: 620px !important;
  }

  html body .site-location-grid {
    grid-template-columns: minmax(0, 600px) minmax(0, 620px) !important;
    gap: clamp(3rem, 5.5vw, 5rem) !important;
    justify-content: center !important;
  }

  html body .site-location-map {
    width: 100% !important;
    max-width: 600px !important;
  }

  html body .site-location-copy {
    width: 100% !important;
    max-width: 620px !important;
  }

  html body .footer-main {
    grid-template-columns: minmax(0, 350px) 1fr minmax(0, 360px) !important;
    gap: clamp(3rem, 4vw, 5rem) !important;
    align-items: start !important;
  }

  html body .footer-shell {
    width: min(1340px, calc(100% - 64px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  html body .footer-brand,
  html body .footer-contact {
    width: 100% !important;
  }

  html body .footer-brand {
    justify-self: start !important;
  }

  html body .footer-brand p {
    max-width: 350px !important;
  }

  html body .footer-contact {
    max-width: 360px !important;
    justify-self: end !important;
    text-align: left !important;
  }

  html body .footer-nav-column {
    justify-self: center !important;
    width: min(100%, 220px) !important;
  }

  html body .footer-links,
  html body .footer-contact-list {
    width: 100% !important;
  }

  html body .footer-contact-row {
    grid-template-columns: 1.5rem minmax(0, 1fr) !important;
    justify-items: start !important;
  }

  html body .footer-social {
    margin-top: 2rem !important;
  }

  html body .footer-bottom {
    width: 100% !important;
  }

  html body.page-home .site-intro-band .site-intro-eyebrow {
    font-family: var(--home-accent-display) !important;
    color: var(--home-map-gold) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    margin-bottom: 1rem !important;
  }

  html body.page-home .site-intro-band .site-intro-title,
  html body.page-home #services .ts-section-heading > h2 {
    font-family: var(--home-display) !important;
    color: var(--home-map-title) !important;
    font-size: clamp(2.35rem, 3.55vw, 4.05rem) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.028em !important;
    text-transform: none !important;
    white-space: normal !important;
    text-wrap: balance !important;
    -webkit-text-fill-color: var(--home-map-title) !important;
  }

  html body.page-home .site-intro-band .site-intro-title {
    max-width: 1000px !important;
    white-space: nowrap !important;
  }

  html body.page-home #services .ts-section-heading > h2 {
    max-width: 720px !important;
    margin-inline: auto !important;
    white-space: nowrap !important;
  }

  html body.page-home #services .ts-service-title {
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: clamp(1.3rem, 1.56vw, 1.5rem) !important;
    font-weight: 600 !important;
    line-height: 1.18 !important;
  }
}

@media (max-width: 980px) {
  html body.page-interior:not(.page-home) main .legacy-story .editorial-story-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.page-interior:not(.page-home) main .legacy-story h2.editorial-story-heading {
    font-size: clamp(2.12rem, 9.2vw, 2.7rem) !important;
    line-height: 1.08 !important;
    margin-bottom: 1.35rem !important;
  }

  html body.page-interior:not(.page-home) main .legacy-story p.editorial-story-body {
    font-size: 1.03rem !important;
    line-height: 1.72 !important;
  }

  html body.page-interior:not(.page-home) main .legacy-story ul.editorial-story-list,
  html body.page-interior:not(.page-home) main .legacy-story ol.editorial-story-list {
    gap: 0.95rem !important;
    margin-top: 1.2rem !important;
  }

  html body.page-interior:not(.page-home) main .legacy-story .editorial-story-list li {
    padding-left: 1.15rem !important;
    font-size: 1.03rem !important;
    line-height: 1.72 !important;
  }

  html body.page-family-dentistry main .doctor-profile-shell,
  html body.page-invisalign main .doctor-profile-shell,
  html body.page-dental-veneers main .doctor-profile-shell,
  html body.page-crowns-bridges main .doctor-profile-shell,
  html body.page-dentures-partials main .doctor-profile-shell,
  html body.page-extractions-bone-grafts main .doctor-profile-shell,
  html body.page-dental-implants main .doctor-profile-shell,
  html body.page-root-canals main .doctor-profile-shell,
  html body.page-emergency-dental-care main .doctor-profile-shell {
    width: min(100%, calc(100vw - 32px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  html body.page-family-dentistry main .doctor-spotlight,
  html body.page-family-dentistry main .doctor-spotlight.is-reverse,
  html body.page-invisalign main .doctor-spotlight,
  html body.page-invisalign main .doctor-spotlight.is-reverse,
  html body.page-dental-veneers main .doctor-spotlight,
  html body.page-dental-veneers main .doctor-spotlight.is-reverse,
  html body.page-crowns-bridges main .doctor-spotlight,
  html body.page-crowns-bridges main .doctor-spotlight.is-reverse,
  html body.page-dentures-partials main .doctor-spotlight,
  html body.page-dentures-partials main .doctor-spotlight.is-reverse,
  html body.page-extractions-bone-grafts main .doctor-spotlight,
  html body.page-extractions-bone-grafts main .doctor-spotlight.is-reverse,
  html body.page-dental-implants main .doctor-spotlight,
  html body.page-dental-implants main .doctor-spotlight.is-reverse,
  html body.page-root-canals main .doctor-spotlight,
  html body.page-root-canals main .doctor-spotlight.is-reverse,
  html body.page-emergency-dental-care main .doctor-spotlight,
  html body.page-emergency-dental-care main .doctor-spotlight.is-reverse {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: min(100%, calc(100vw - 32px)) !important;
    max-width: none !important;
    gap: 2.05rem !important;
    margin-inline: auto !important;
  }

  html body.page-family-dentistry main .doctor-spotlight + .doctor-spotlight,
  html body.page-family-dentistry main .doctor-spotlight.is-reverse + .doctor-spotlight,
  html body.page-invisalign main .doctor-spotlight + .doctor-spotlight,
  html body.page-invisalign main .doctor-spotlight.is-reverse + .doctor-spotlight,
  html body.page-dental-veneers main .doctor-spotlight + .doctor-spotlight,
  html body.page-dental-veneers main .doctor-spotlight.is-reverse + .doctor-spotlight,
  html body.page-crowns-bridges main .doctor-spotlight + .doctor-spotlight,
  html body.page-crowns-bridges main .doctor-spotlight.is-reverse + .doctor-spotlight,
  html body.page-dentures-partials main .doctor-spotlight + .doctor-spotlight,
  html body.page-dentures-partials main .doctor-spotlight.is-reverse + .doctor-spotlight,
  html body.page-extractions-bone-grafts main .doctor-spotlight + .doctor-spotlight,
  html body.page-extractions-bone-grafts main .doctor-spotlight.is-reverse + .doctor-spotlight,
  html body.page-dental-implants main .doctor-spotlight + .doctor-spotlight,
  html body.page-dental-implants main .doctor-spotlight.is-reverse + .doctor-spotlight,
  html body.page-root-canals main .doctor-spotlight + .doctor-spotlight,
  html body.page-root-canals main .doctor-spotlight.is-reverse + .doctor-spotlight,
  html body.page-emergency-dental-care main .doctor-spotlight + .doctor-spotlight,
  html body.page-emergency-dental-care main .doctor-spotlight.is-reverse + .doctor-spotlight {
    margin-top: 2.35rem !important;
  }

  html body.page-family-dentistry main .doctor-spotlight > *,
  html body.page-family-dentistry main .doctor-spotlight.is-reverse > *,
  html body.page-invisalign main .doctor-spotlight > *,
  html body.page-invisalign main .doctor-spotlight.is-reverse > *,
  html body.page-dental-veneers main .doctor-spotlight > *,
  html body.page-dental-veneers main .doctor-spotlight.is-reverse > *,
  html body.page-crowns-bridges main .doctor-spotlight > *,
  html body.page-crowns-bridges main .doctor-spotlight.is-reverse > *,
  html body.page-dentures-partials main .doctor-spotlight > *,
  html body.page-dentures-partials main .doctor-spotlight.is-reverse > *,
  html body.page-extractions-bone-grafts main .doctor-spotlight > *,
  html body.page-extractions-bone-grafts main .doctor-spotlight.is-reverse > *,
  html body.page-dental-implants main .doctor-spotlight > *,
  html body.page-dental-implants main .doctor-spotlight.is-reverse > *,
  html body.page-root-canals main .doctor-spotlight > *,
  html body.page-root-canals main .doctor-spotlight.is-reverse > *,
  html body.page-emergency-dental-care main .doctor-spotlight > *,
  html body.page-emergency-dental-care main .doctor-spotlight.is-reverse > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }

  html body.page-family-dentistry main .doctor-photo-frame,
  html body.page-family-dentistry main .doctor-photo-frame img,
  html body.page-family-dentistry main .doctor-spotlight-copy,
  html body.page-invisalign main .doctor-photo-frame,
  html body.page-invisalign main .doctor-photo-frame img,
  html body.page-invisalign main .doctor-spotlight-copy,
  html body.page-dental-veneers main .doctor-photo-frame,
  html body.page-dental-veneers main .doctor-photo-frame img,
  html body.page-dental-veneers main .doctor-spotlight-copy,
  html body.page-crowns-bridges main .doctor-photo-frame,
  html body.page-crowns-bridges main .doctor-photo-frame img,
  html body.page-crowns-bridges main .doctor-spotlight-copy,
  html body.page-dentures-partials main .doctor-photo-frame,
  html body.page-dentures-partials main .doctor-photo-frame img,
  html body.page-dentures-partials main .doctor-spotlight-copy,
  html body.page-extractions-bone-grafts main .doctor-photo-frame,
  html body.page-extractions-bone-grafts main .doctor-photo-frame img,
  html body.page-extractions-bone-grafts main .doctor-spotlight-copy,
  html body.page-dental-implants main .doctor-photo-frame,
  html body.page-dental-implants main .doctor-photo-frame img,
  html body.page-dental-implants main .doctor-spotlight-copy,
  html body.page-root-canals main .doctor-photo-frame,
  html body.page-root-canals main .doctor-photo-frame img,
  html body.page-root-canals main .doctor-spotlight-copy,
  html body.page-emergency-dental-care main .doctor-photo-frame,
  html body.page-emergency-dental-care main .doctor-photo-frame img,
  html body.page-emergency-dental-care main .doctor-spotlight-copy {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 520px) {
  html body.page-family-dentistry main .doctor-profile-shell,
  html body.page-family-dentistry main .doctor-spotlight,
  html body.page-family-dentistry main .doctor-spotlight.is-reverse,
  html body.page-invisalign main .doctor-spotlight,
  html body.page-invisalign main .doctor-spotlight.is-reverse,
  html body.page-dental-veneers main .doctor-spotlight,
  html body.page-dental-veneers main .doctor-spotlight.is-reverse,
  html body.page-crowns-bridges main .doctor-spotlight,
  html body.page-crowns-bridges main .doctor-spotlight.is-reverse,
  html body.page-dentures-partials main .doctor-spotlight,
  html body.page-dentures-partials main .doctor-spotlight.is-reverse,
  html body.page-extractions-bone-grafts main .doctor-spotlight,
  html body.page-extractions-bone-grafts main .doctor-spotlight.is-reverse,
  html body.page-dental-implants main .doctor-spotlight,
  html body.page-dental-implants main .doctor-spotlight.is-reverse,
  html body.page-root-canals main .doctor-spotlight,
  html body.page-root-canals main .doctor-spotlight.is-reverse,
  html body.page-emergency-dental-care main .doctor-spotlight,
  html body.page-emergency-dental-care main .doctor-spotlight.is-reverse {
    width: min(100%, calc(100vw - 32px)) !important;
  }
}

@media (max-width: 980px) {
  html body.page-home #opening-updates .site-intro-eyebrow {
    font-family: "Playfair Display", serif !important;
    font-size: clamp(1.1rem, 1.2vw, 1.34rem) !important;
    line-height: 1.12 !important;
    font-style: italic !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 0 0.95rem !important;
    color: #C8A46A !important;
    -webkit-text-fill-color: #C8A46A !important;
  }

  html body.page-home #opening-updates .site-intro-title {
    width: min(100%, 23rem) !important;
    max-width: 23rem !important;
    margin-inline: auto !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: clamp(2.12rem, 9.2vw, 2.7rem) !important;
    line-height: 1.08 !important;
    font-weight: 500 !important;
    letter-spacing: -0.038em !important;
    text-transform: none !important;
    white-space: normal !important;
    text-wrap: balance !important;
    color: #0F2C47 !important;
    -webkit-text-fill-color: #0F2C47 !important;
  }

  html body.page-home .ts-centered-heading {
    grid-template-columns: minmax(0, 4.25rem) minmax(0, 15.5rem) minmax(0, 4.25rem) !important;
    gap: 0.9rem !important;
    align-items: center !important;
    width: min(100%, calc(100vw - 32px)) !important;
    margin-inline: auto !important;
  }

  html body.page-home .ts-centered-heading h2 {
    width: 100% !important;
    max-width: 15.5rem !important;
    margin: 0 auto !important;
    font-size: clamp(2rem, 9.6vw, 2.65rem) !important;
    line-height: 1.08 !important;
    text-align: center !important;
    text-wrap: balance !important;
  }

  html body.page-home .ts-centered-heading .ts-heading-line {
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.page-membership .info-card > .section-kicker {
    font-family: "Playfair Display", serif !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: clamp(1.1rem, 1.2vw, 1.34rem) !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #C8A46A !important;
    -webkit-text-fill-color: #C8A46A !important;
  }

  html body.page-membership .info-card > p.text-primary {
    margin-bottom: 1.15rem !important;
  }

  html body.page-membership .info-card > .membership-contact-button {
    margin-top: 0.35rem !important;
  }
}

@media (min-width: 981px) {
  html[lang="zh-CN"] body.page-home .site-intro-band#opening-updates .site-intro-title,
  html[lang="es"] body.page-home .site-intro-band#opening-updates .site-intro-title {
    display: block !important;
    width: min(100%, 56rem) !important;
    max-width: min(100%, 56rem) !important;
    margin-inline: auto !important;
    text-align: center !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

@media (min-width: 981px) {
  html body.page-home .site-intro-band#opening-updates .site-intro-title,
  html[lang="zh-CN"] body.page-home .site-intro-band#opening-updates .site-intro-title,
  html[lang="es"] body.page-home .site-intro-band#opening-updates .site-intro-title {
    display: block !important;
    position: relative !important;
    left: 50% !important;
    width: max-content !important;
    max-width: calc(100vw - 96px) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
  }
}

@media (min-width: 981px) {
  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-eyebrow {
    margin: 0 0 1rem !important;
    font-family: "Playfair Display", serif !important;
    font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #C8A46A !important;
    -webkit-text-fill-color: #C8A46A !important;
  }

  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
    width: min(100%, 1000px) !important;
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: clamp(2.35rem, 3.55vw, 4.05rem) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.028em !important;
    text-transform: none !important;
    color: #153b5c !important;
    -webkit-text-fill-color: #153b5c !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}

@media (max-width: 980px) {
  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-eyebrow {
    margin: 0 0 0.95rem !important;
    font-family: "Playfair Display", serif !important;
    font-size: clamp(1.1rem, 1.2vw, 1.34rem) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #C8A46A !important;
    -webkit-text-fill-color: #C8A46A !important;
  }

  html body.page-interior:not(.page-home) main .site-intro-band .site-intro-title {
    width: min(100%, 23rem) !important;
    max-width: 23rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: clamp(2.12rem, 9.2vw, 2.7rem) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.038em !important;
    text-transform: none !important;
    color: #0F2C47 !important;
    -webkit-text-fill-color: #0F2C47 !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
}
