.doctor-page {
  background:
    radial-gradient(circle at 0 18%, rgba(22, 167, 201, .08), transparent 22%),
    radial-gradient(circle at 100% 46%, rgba(13, 59, 115, .05), transparent 24%),
    #fff;
  color: var(--text);
}
.doctor-page .wrap {
  width: min(100% - 96px, 1320px);
}
.nav-link.active {
  color: var(--teal-dark);
  background: var(--soft);
}
.doctor-page h1,
.doctor-page h2 {
  color: var(--navy);
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0;
}
.doctor-page b,
.doctor-page strong {
  color: var(--teal-dark);
}
.doctor-line {
  width: 68px;
  height: 4px;
  margin: 12px 0 24px;
  border-radius: 999px;
  background: var(--teal);
}
.doctor-line.centered {
  margin-left: auto;
  margin-right: auto;
}
.eyebrow {
  display: inline-block;
  color: var(--teal-dark);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.doctor-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  gap: 56px;
  align-items: center;
  min-height: calc(100vh - 136px);
  padding: 56px 0;
}
.doctor-intro h1 {
  font-size: clamp(54px, 5vw, 78px);
  line-height: .95;
  margin-top: 8px;
}
.doctor-intro > p {
  max-width: 760px;
  margin-bottom: 22px;
  padding-left: 18px;
  border-left: 4px solid #e8f5fb;
  color: var(--text);
  font-size: 18px;
  line-height: 1.75;
}
.continuity-card {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 20px;
  margin-top: 30px;
  padding: 30px;
  border: 1px solid #dfe8f3;
  border-radius: 10px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 30px rgba(13, 59, 115, .08);
}
.continuity-card > .fa {
  width: 70px;
  height: 70px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #d8edf5;
  border-radius: 50%;
  color: var(--teal-dark);
  font-size: 36px;
}
.continuity-card span {
  color: var(--teal-dark);
  font-family: var(--font-subtitle);
  font-size: 20px;
  font-weight: 700;
}
.continuity-card h2 {
  max-width: 470px;
  font-size: 34px;
  line-height: 1.05;
}
.continuity-card p {
  margin: 18px 0;
  line-height: 1.65;
}
.continuity-card ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.continuity-card li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-weight: 500;
}
.continuity-card li::before {
  content: "\f00c";
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: #fff;
  background: var(--teal);
  font-family: FontAwesome;
  font-size: 12px;
}

.doctor-profile-card,
.doctor-id-card,
.education-section,
.promise-section,
.allies-section,
.location-section,
.doctor-footer {
  border: 1px solid #dfe8f3;
  border-radius: 12px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 14px 34px rgba(13, 59, 115, .08);
}
.doctor-profile-card {
  overflow: hidden;
}
.doctor-photo-panel {
  min-height: 410px;
  display: flex;
  align-items: end;
  justify-content: center;
  background:
    radial-gradient(circle at 74% 18%, rgba(22, 167, 201, .12), transparent 24%),
    linear-gradient(180deg, rgba(245,251,255,.86), rgba(255,255,255,.95));
}
.doctor-photo-panel img {
  width: min(72%, 360px);
  max-height: 390px;
  object-fit: contain;
}
.doctor-profile-copy {
  padding: 24px 42px 28px;
  text-align: center;
}
.doctor-profile-copy h2 {
  font-family: var(--font-subtitle);
  font-size: 29px;
  line-height: 1.1;
}
.doctor-profile-copy p {
  color: var(--teal-dark);
  font-size: 17px;
  font-weight: 700;
}
.doctor-profile-copy > span {
  display: block;
  margin-bottom: 18px;
  color: var(--navy);
  font-weight: 500;
}
.doctor-profile-copy ul {
  display: grid;
  gap: 9px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: left;
  font-size: 14px;
}
.doctor-profile-copy li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
}
.doctor-profile-copy .fa {
  color: var(--teal-dark);
}
.signature-strip {
  padding: 22px 32px 28px;
  background: linear-gradient(90deg, var(--teal-dark), var(--navy));
  color: #fff;
  text-align: center;
}
.signature-strip p {
  margin-bottom: 12px;
  font-family: var(--font-subtitle);
  font-size: 18px;
  font-style: italic;
}
.signature-strip img {
  width: 210px;
  margin: 0 auto;
  filter: brightness(0) invert(1);
}

.doctor-gallery {
  position: relative;
  width: min(100% - 40px, 1440px);
  margin: 50px auto;
  padding: 26px 64px;
  overflow: hidden;
  background: linear-gradient(135deg, #fff 0%, #f5fbfe 100%);
  border: 1px solid #d9e9f2;
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(13, 59, 115, .07);
}
.doctor-gallery-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 0;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}
.doctor-gallery-track::-webkit-scrollbar {
  display: none;
}
.doctor-gallery-slide {
  flex: 0 0 clamp(230px, 20vw, 300px);
  aspect-ratio: 4 / 3;
  height: auto;
  margin: 0;
  overflow: hidden;
  border: 1px solid #dcebf3;
  border-radius: 14px;
  scroll-snap-align: start;
  background: #eef7fb;
  box-shadow: 0 8px 20px rgba(13, 59, 115, .08);
}
.doctor-gallery-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 22%;
}
.doctor-gallery-control {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 44px;
  height: 44px;
  border: 1px solid #cae1ee;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: var(--navy);
  font-size: 25px;
  transform: translateY(-50%);
  box-shadow: 0 8px 22px rgba(4, 57, 105, .12);
  cursor: pointer;
}
.doctor-gallery-prev { left: 12px; }
.doctor-gallery-next { right: 12px; }

@media (max-width: 767px) {
  .doctor-gallery {
    width: calc(100% - 24px);
    margin: 28px 0;
    margin-inline: auto;
    padding: 16px 46px;
    border-radius: 14px;
  }
  .doctor-gallery-track {
    gap: 14px;
  }
  .doctor-gallery-slide {
    flex-basis: min(72vw, 290px);
    aspect-ratio: 4 / 3;
  }
  .doctor-gallery-control {
    width: 38px;
    height: 38px;
  }
  .doctor-gallery-prev { left: 8px; }
  .doctor-gallery-next { right: 8px; }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .doctor-gallery {
    width: calc(100% - 36px);
    padding-inline: 56px;
  }
  .doctor-gallery-slide {
    flex-basis: clamp(220px, 28vw, 280px);
  }
}

.doctor-id-card {
  display: grid;
  grid-template-columns: 430px 1fr;
  gap: 54px;
  padding: 36px;
  margin-bottom: 58px;
}
.id-photo img {
  width: 100%;
  height: 470px;
  border-radius: 10px;
  object-fit: contain;
  background: var(--soft);
}
.id-photo article {
  margin-top: 14px;
  padding: 24px;
  border-radius: 10px;
  background: var(--soft);
}
.id-photo article .fa {
  color: var(--teal-dark);
  font-size: 34px;
}
.id-photo h3,
.formation-box h3 {
  color: var(--navy);
  font-family: var(--font-subtitle);
}
.id-content h2 {
  font-size: clamp(42px, 4vw, 60px);
  line-height: 1;
}
.subtitle {
  color: var(--teal-dark);
  font-size: 19px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.registry {
  color: var(--navy);
  font-size: 17px;
  font-weight: 600;
}
.registry span {
  display: inline-block;
  width: 1px;
  height: 18px;
  margin: 0 18px;
  vertical-align: middle;
  background: #b7c9d9;
}
.profile-points {
  display: grid;
  gap: 18px;
  padding: 0;
  margin: 24px 0 28px;
  list-style: none;
}
.profile-points li {
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 14px;
}
.profile-points .fa {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfe6ef;
  border-radius: 50%;
  color: var(--teal-dark);
  font-size: 22px;
}
.formation-box {
  padding: 28px;
  border-top: 2px solid #cae4ed;
  border-bottom: 2px solid #cae4ed;
}
.formation-box h3 {
  margin-bottom: 14px;
  font-size: 24px;
}
.formation-box h3 .fa {
  color: var(--teal-dark);
  margin-right: 10px;
}
.formation-box ul {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.formation-box li::before {
  content: "\f00c";
  color: var(--teal-dark);
  font-family: FontAwesome;
  margin-right: 10px;
}
.social-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  margin-top: 28px;
}
.social-row a {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 500;
}
.social-row .fa {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfe6ef;
  border-radius: 50%;
  color: var(--teal-dark);
  font-size: 28px;
}

.education-section,
.promise-section,
.allies-section,
.location-section,
.doctor-footer {
  margin-bottom: 58px;
  padding: 42px;
}
.education-section {
  margin-top: 12px;
}
.education-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
}
.education-grid h2 {
  margin-bottom: 20px;
  font-family: var(--font-subtitle);
  font-size: 30px;
}
.education-grid h2 .fa {
  color: var(--teal-dark);
  margin-right: 12px;
}
.education-grid ul {
  display: grid;
  gap: 18px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.education-grid li {
  padding-bottom: 18px;
  border-bottom: 1px solid #e2ebf2;
}
.education-grid li::before {
  content: "\f105";
  color: var(--teal-dark);
  font-family: FontAwesome;
  margin-right: 12px;
}
.education-grid li b {
  color: var(--navy);
}
.education-grid li span {
  display: block;
  margin-left: 28px;
}
.metric-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 34px;
  border: 1px solid #dfe8f3;
  border-radius: 10px;
  overflow: hidden;
}
.metric-row article {
  min-height: 130px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 6px;
  padding: 18px;
  text-align: center;
  border-right: 1px solid #dfe8f3;
}
.metric-row article:last-child { border-right: 0; }
.metric-row .fa {
  color: var(--teal-dark);
  font-size: 36px;
}
.metric-row b {
  color: var(--navy);
}
.metric-row span {
  font-size: 13px;
}

.promise-copy {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 28px;
  align-items: center;
  padding: 28px;
  border-radius: 10px;
  background: var(--soft);
}
.promise-copy > .fa {
  color: var(--teal-dark);
  font-size: 84px;
}
.promise-copy h2 {
  font-family: var(--font-subtitle);
  font-size: 31px;
}
.team-title {
  margin: 34px 0 26px;
  text-align: center;
  font-family: var(--font-subtitle) !important;
  font-size: 34px;
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  text-align: center;
}
.team-grid article {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 10px;
}
.team-grid img {
  width: 138px;
  height: 138px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--soft);
}
.team-grid h3 {
  color: var(--navy);
  font-family: var(--font-subtitle);
  font-size: 20px;
}
.team-grid span {
  color: var(--teal-dark);
  font-size: 13px;
  font-weight: 700;
}
.team-grid p {
  font-size: 13px;
}
.team-grid .fa {
  color: var(--teal-dark);
  font-size: 34px;
}

.family-section {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
  align-items: stretch;
  margin-bottom: 58px;
  padding: 46px;
  border-radius: 12px;
  background: var(--soft);
  overflow: hidden;
}
.family-copy h2 {
  font-size: clamp(40px, 4vw, 60px);
  line-height: .98;
}
.family-copy h2 span {
  color: var(--teal-dark);
  font-family: var(--font-subtitle);
  font-style: italic;
}
.success-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 18px;
  margin: 26px 0;
}
.success-row article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  column-gap: 14px;
  row-gap: 4px;
  padding: 18px 20px;
  border-radius: 10px;
  background: #fff;
}
.success-row .fa {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
  color: var(--teal-dark);
  font-size: 32px;
  text-align: center;
}
.success-row b {
  grid-column: 2;
  grid-row: 1;
  color: var(--teal-dark);
  font-size: 34px;
  line-height: 1;
}
.success-row span {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: normal;
  word-break: normal;
}
.success-row article:nth-child(2) .fa,
.success-row article:nth-child(2) span {
  grid-row: 1;
}
.success-row article:nth-child(2) span {
  align-self: center;
}
.family-copy ul {
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.family-copy li {
  padding-left: 28px;
  border-left: 3px solid #c9e8f1;
}
.family-section > img,
.family-section > p:has(> img:only-child) {
  width: 100%;
  height: 100%;
  min-height: 420px;
  margin: 0;
  min-width: 0;
}

.family-section > p:has(> img:only-child) {
  position: relative;
  overflow: hidden;
}

.family-section > img,
.family-section > p:has(> img:only-child) > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  border-radius: 10px;
}

.family-section > p:has(> img:only-child) > img {
  position: absolute;
  inset: 0;
}

.allies-section,
.location-section {
  text-align: center;
}
.allies-section h2,
.location-section h2 {
  font-size: clamp(42px, 4vw, 64px);
}
.allies-section > p {
  max-width: 850px;
  margin: 0 auto 34px;
  font-size: 18px;
  line-height: 1.7;
}
.allies-carousel-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 0 45px;
}

.allies-carousel-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 12px 6px;
  width: 100%;
}

.allies-carousel-track::-webkit-scrollbar {
  display: none;
}

.ally-card {
  flex: 0 0 calc(20% - 16px);
  min-width: 220px;
  min-height: 200px;
  scroll-snap-align: start;
  background: #ffffff;
  border: 1px solid #dfe8f3;
  border-radius: 14px;
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ally-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 100, 150, 0.09);
}

.ally-logo-box {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.ally-logo-box img {
  max-width: 160px;
  max-height: 68px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: contrast(105%);
  transition: transform 0.3s ease;
}

.ally-card:hover .ally-logo-box img {
  transform: scale(1.05);
}

.ally-card b {
  color: var(--navy, #162542);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 6px;
  display: block;
}

.ally-card span {
  font-size: 14px;
  color: #55687d;
  line-height: 1.4;
  display: block;
}

.ally-card:hover .ally-logo-box img {
  transform: scale(1.05);
}

.ally-card b {
  color: var(--navy, #162542);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 6px;
  display: block;
}

.ally-card span {
  font-size: 14px;
  color: #55687d;
  line-height: 1.4;
  display: block;
}

.allies-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #cbdbe9;
  color: #1a365d;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
}

.allies-control:hover {
  background: #0087a4;
  border-color: #0087a4;
  color: #ffffff;
}

.allies-prev { left: 0; }
.allies-next { right: 0; }

@media (max-width: 1024px) {
  .ally-card {
    flex: 0 0 calc(33.333% - 14px);
  }
}

@media (max-width: 768px) {
  .allies-carousel-wrapper {
    padding: 0 35px;
  }
  .ally-card {
    flex: 0 0 calc(50% - 10px);
    min-width: 180px;
    padding: 18px 12px;
  }
  .ally-logo-box {
    height: 70px;
  }
  .ally-logo-box img {
    max-height: 55px;
    max-width: 130px;
  }
  .ally-card b {
    font-size: 17px;
  }
  .ally-card span {
    font-size: 13px;
  }
}
.allies-note {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px !important;
}
.allies-note .fa {
  color: var(--teal-dark);
  font-size: 28px;
}

.location-section .marker {
  width: 70px;
  height: 70px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe8f3;
  border-radius: 50%;
  color: var(--teal-dark);
  font-size: 36px;
}
.address-card {
  width: min(100%, 900px);
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: center;
  gap: 26px;
  margin: 24px auto;
  padding: 24px 46px;
  border-radius: 12px;
  background: var(--soft);
  text-align: left;
}
.address-card .fa {
  color: var(--teal-dark);
  font-size: 64px;
  text-align: center;
}
.address-card p {
  color: var(--navy);
  font-family: var(--font-subtitle);
  font-size: 31px;
  line-height: 1.2;
}
.address-card p em {
  display: inline-block;
  margin: 6px 0;
  color: var(--teal-dark);
  font-family: var(--font-body);
  font-size: 0.55em;
  font-weight: 600;
}
.address-card span {
  color: var(--teal-dark);
}
.contact-cards {
  width: min(100%, 900px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 0 auto;
}
.contact-cards article {
  display: grid;
  gap: 12px;
  justify-items: center;
  padding: 34px;
  border: 1px solid #dfe8f3;
  border-radius: 12px;
}
.contact-cards .fa {
  width: 72px;
  height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--teal-dark);
  background: var(--soft);
  font-size: 38px;
}
.contact-cards h3 {
  color: var(--navy);
  font-family: var(--font-subtitle);
  font-size: 27px;
  text-transform: uppercase;
}
.contact-cards a {
  color: var(--navy);
  font-family: var(--font-subtitle);
  font-size: 32px;
  font-weight: 700;
}
.blue-banner {
  width: min(100%, 900px);
  display: grid;
  grid-template-columns: 80px 1fr;
  align-items: center;
  gap: 24px;
  margin: 24px auto 0;
  padding: 24px 34px;
  border-radius: 10px;
  color: #fff;
  background: var(--navy);
  text-align: left;
}
.blue-banner .fa {
  width: 62px;
  height: 62px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 50%;
  font-size: 32px;
}
.blue-banner span {
  color: #7be3f3;
}

.doctor-footer {
  display: grid;
  grid-template-columns: .9fr 1.1fr .9fr;
  gap: 52px;
  margin-bottom: 40px;
}
.doctor-footer img {
  width: 220px;
  margin-bottom: 18px;
}
.doctor-footer h3 {
  color: var(--navy);
  font-family: var(--font-subtitle);
  font-size: 24px;
  text-transform: uppercase;
}
.doctor-footer ul {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 16px 0 0;
  list-style: none;
}
.doctor-footer li::before {
  content: "\f105";
  color: var(--teal-dark);
  font-family: FontAwesome;
  margin-right: 10px;
}
.footer-brand {
  display: grid;
  gap: 14px;
}
.footer-brand p {
  color: var(--navy);
  font-family: var(--font-subtitle);
  font-size: 16px;
}
.footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin-top: 18px;
  padding: 0 26px;
  border-radius: 999px;
  color: #fff;
  background: var(--navy);
  font-weight: 700;
}

/* Visual polish for the doctor profile page */
.doctor-page {
  padding-bottom: 42px;
}
.doctor-hero {
  gap: clamp(46px, 5vw, 86px);
  min-height: 760px;
  padding: 72px 0 84px;
}
.doctor-intro {
  max-width: 760px;
}
.doctor-intro h1 {
  font-size: clamp(62px, 5.5vw, 90px);
}
.doctor-intro > p {
  margin-bottom: 18px;
  padding: 18px 0 18px 24px;
  border-left-color: #d8f1f7;
  background: linear-gradient(90deg, rgba(245,251,255,.9), rgba(255,255,255,0));
}
.continuity-card {
  grid-template-columns: 86px 1fr;
  padding: 34px 36px;
  border-color: #cfe2ee;
  box-shadow: 0 22px 48px rgba(13, 59, 115, .11);
}
.continuity-card h2 {
  max-width: 560px;
}
.continuity-card ul {
  gap: 14px 28px;
}
.doctor-profile-card {
  max-width: 560px;
  margin-left: auto;
  border-color: #cfe2ee;
  box-shadow: 0 28px 60px rgba(13, 59, 115, .14);
}
.doctor-photo-panel {
  min-height: 0;
  padding: 14px 14px 0;
  background: linear-gradient(180deg, #f5fbff, #fff);
}
.doctor-photo-panel img {
  width: 100%;
  height: 438px;
  max-height: none;
  border-radius: 10px 10px 0 0;
  object-fit: cover;
  object-position: center 18%;
}
.doctor-profile-copy {
  padding: 28px 46px 30px;
}
.doctor-profile-copy ul {
  width: min(100%, 450px);
  margin: 0 auto;
  gap: 12px;
}
.signature-strip {
  padding: 24px 34px 30px;
}
.signature-strip img {
  width: 290px;
}
.education-section,
.promise-section,
.allies-section,
.location-section,
.doctor-footer {
  margin-bottom: 76px;
  padding: clamp(34px, 4vw, 58px);
  border-color: #d4e5f0;
  box-shadow: 0 24px 54px rgba(13, 59, 115, .08);
}
.education-grid {
  gap: 34px;
}
.education-grid article {
  padding: 28px;
  border-radius: 10px;
  background: linear-gradient(180deg, #fff, rgba(245,251,255,.72));
}
.education-grid h2 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
}
.education-grid h2 .fa {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0;
  border-radius: 50%;
  background: #eaf8fc;
}
.metric-row {
  gap: 0;
  margin-top: 38px;
  background: #fff;
  box-shadow: inset 0 0 0 1px #e6f0f7;
}
.metric-row article {
  min-height: 142px;
}
.promise-section {
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,251,255,.7)),
    #fff;
}
.promise-copy {
  grid-template-columns: 100px 1fr;
  padding: 34px 42px;
  background: linear-gradient(90deg, #eef9fd, #f8fcff);
}
.promise-copy > .fa {
  font-size: 78px;
}
.team-title {
  margin: 48px 0 34px;
  font-size: clamp(36px, 3.5vw, 48px);
}
.team-grid {
  gap: 22px;
}
.team-grid article {
  min-height: 370px;
  padding: 22px 18px 26px;
  border: 1px solid #dcebf4;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 32px rgba(13, 59, 115, .07);
}
.team-grid img {
  width: 150px;
  height: 150px;
  border: 8px solid #f2fbff;
  box-shadow: 0 12px 24px rgba(13, 59, 115, .1);
}
.team-grid article:first-child img {
  object-fit: contain;
  object-position: center bottom;
  padding: 8px 8px 0;
}
.team-grid h3 {
  min-height: 52px;
  display: flex;
  align-items: end;
  justify-content: center;
  margin-top: 4px;
}
.team-grid p {
  max-width: 220px;
  line-height: 1.55;
}
.family-section {
  grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
  gap: 48px;
  align-items: center;
  padding: clamp(36px, 4.5vw, 64px);
  background:
    radial-gradient(circle at 92% 18%, rgba(22,167,201,.16), transparent 24%),
    linear-gradient(135deg, #eef9fd 0%, #f7fcff 52%, #fff 100%);
  box-shadow: 0 26px 58px rgba(13, 59, 115, .09);
}
.family-copy h2 {
  font-size: clamp(46px, 4.4vw, 72px);
}
.success-row {
  grid-template-columns: minmax(240px, .9fr) minmax(260px, 1.1fr);
}
.success-row article {
  min-height: 112px;
  border: 1px solid #e0edf5;
  box-shadow: 0 14px 28px rgba(13, 59, 115, .06);
}
.family-copy ul {
  gap: 18px;
}
.family-copy li {
  padding-left: 30px;
  font-size: 17px;
  line-height: 1.55;
}
.family-section > img,
.family-section > p:has(> img:only-child),
.family-section > p:has(> img:only-child) > img {
  min-height: 560px;
  border-radius: 12px;
  box-shadow: 0 24px 50px rgba(13, 59, 115, .14);
  object-position: center;
}
.allies-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 0, rgba(22,167,201,.12), transparent 24%),
    #fff;
}
.allies-grid {
  gap: 14px;
  padding: 14px;
  border: 0;
  background: #f5fbff;
}
.allies-grid article {
  min-height: 188px;
  border: 1px solid #dcebf4 !important;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 28px rgba(13, 59, 115, .06);
}
.allies-grid b {
  font-size: 25px;
}
.location-section {
  background:
    radial-gradient(circle at 50% 12%, rgba(22,167,201,.1), transparent 18%),
    #fff;
}
.location-section .address-card,
.location-section .contact-cards,
.location-section .blue-banner {
  width: 100%;
  max-width: none;
}
.address-card,
.contact-cards article {
  border: 1px solid #d8e8f2;
  box-shadow: 0 16px 34px rgba(13, 59, 115, .07);
}
.contact-cards article {
  transition: transform .2s ease, box-shadow .2s ease;
}
.contact-cards article:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 42px rgba(13, 59, 115, .11);
}
.blue-banner {
  width: min(100%, 980px);
  background: linear-gradient(90deg, #0d3b73, #078eaa);
  box-shadow: 0 18px 36px rgba(13, 59, 115, .18);
}
.doctor-footer {
  background: linear-gradient(135deg, #f8fcff, #fff);
}
.footer-cta {
  background: linear-gradient(90deg, var(--teal), var(--navy));
  box-shadow: 0 14px 28px rgba(13, 59, 115, .16);
}

@media (max-width: 1350px) {
  .doctor-profile-card {
    max-width: 720px;
    margin: 0 auto;
  }
  .metric-row,
  .team-grid,
  .allies-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .allies-grid article,
  .metric-row article {
    border-bottom: 1px solid #dfe8f3;
  }
  .doctor-footer {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .family-section {
    grid-template-columns: 1fr;
  }

  .family-section > p:has(> img:only-child) {
    height: 560px;
  }
}

@media (max-width: 1100px) {
  .doctor-page .wrap {
    width: min(100% - 48px, 1320px);
  }
  .doctor-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
}

@media (max-width: 700px) {
  html,
  body {
    overflow-x: hidden;
  }
  .doctor-page,
  .doctor-page .wrap,
  .doctor-hero,
  .doctor-intro,
  .doctor-profile-card,
  .continuity-card,
  .education-section,
  .promise-section,
  .family-section,
  .allies-section,
  .location-section,
  .doctor-footer {
    max-width: 100%;
    min-width: 0;
  }
  .doctor-page * {
    min-width: 0;
  }
  .doctor-page .wrap {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }
  .doctor-hero {
    display: block;
    padding: 34px 0;
  }
  .doctor-intro,
  .doctor-profile-card {
    width: 100%;
  }
  .doctor-intro h1,
  .id-content h2,
  .allies-section h2,
  .location-section h2 {
    font-size: 39px;
    line-height: 1.02;
    overflow-wrap: break-word;
  }
  .doctor-intro > p {
    padding: 16px 14px 16px 18px;
    font-size: 16px;
    line-height: 1.65;
  }
  .continuity-card,
  .doctor-id-card,
  .education-section,
  .promise-section,
  .allies-section,
  .location-section,
  .doctor-footer,
  .family-section {
    padding: 24px 18px;
  }
  .continuity-card,
  .education-grid,
  .promise-copy,
  .contact-cards,
  .address-card,
  .blue-banner {
    grid-template-columns: 1fr;
  }
  .continuity-card h2,
  .family-copy h2,
  .team-title {
    font-size: 34px;
    line-height: 1.05;
  }
  .continuity-card ul,
  .metric-row,
  .team-grid,
  .allies-grid,
  .success-row {
    grid-template-columns: 1fr;
  }
  .doctor-photo-panel {
    min-height: 0;
  }
  .doctor-photo-panel img {
    height: 345px;
    max-height: none;
  }
  .education-grid article,
  .team-grid article {
    padding: 20px 16px;
  }
  .team-grid article {
    min-height: auto;
  }
  .family-section {
    gap: 24px;
  }
  .id-photo img {
    height: 360px;
  }
  .subtitle {
    letter-spacing: .06em;
  }
  .social-row {
    gap: 18px;
  }
  .family-section > img,
  .family-section > p:has(> img:only-child),
  .family-section > p:has(> img:only-child) > img {
    min-height: 420px;
    height: 420px;
    aspect-ratio: 4 / 5;
  }
  .address-card,
  .blue-banner {
    text-align: center;
    justify-items: center;
  }
  .address-card p,
  .contact-cards a {
    font-size: 24px;
  }
}

/* Responsive final: portada y navegación móvil */
@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    font-size: 16px;
  }

  .wrap,
  .header-inner,
  .drjam-footer-inner {
    width: calc(100% - 28px) !important;
    max-width: 460px !important;
  }

  .site-header,
  .site-main,
  .drjam-footer,
  .hero,
  .section,
  .promo-bar,
  .final-cta {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  .site-header {
    padding: 0px 0 18px !important;
    border-bottom: 1px solid #e3eef5 !important;
    box-shadow: 0 12px 34px rgba(13, 59, 115, .07) !important;
  }

  .header-inner {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  .header-inner .brand {
    justify-self: center !important;
    display: flex !important;
    justify-content: center !important;
  }

  .header-inner .brand img {
    width: 240px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .header-cta {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    font-size: 16px !important;
    box-shadow: 0 12px 26px rgba(22, 167, 201, .24) !important;
  }

  .main-nav {
    order: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .main-nav .has-mega {
    grid-column: 1 / -1 !important;
  }

  .main-nav > .nav-link,
  .main-nav .has-mega > .nav-link {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 0 12px !important;
    border: 1px solid #dbeaf2 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #073368 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    text-align: left !important;
    white-space: normal !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    box-shadow: 0 8px 20px rgba(13, 59, 115, .06) !important;
  }

  .main-nav .nav-link .fa {
    width: 22px !important;
    min-width: 22px !important;
    font-size: 18px !important;
    color: #16a7c9 !important;
    text-align: center !important;
  }

  .mega-menu {
    display: none !important;
  }

  .hero {
    min-height: 0 !important;
    background: #f5fbff !important;
  }

  .hero-bg {
    opacity: .45 !important;
    background-position: center !important;
  }

  .hero-grid {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 34px 0 30px !important;
  }

  .hero-copy h1,
  .section h2,
  .results-card h2,
  .doctor-card h2,
  .stories h2 {
    font-size: clamp(34px, 12vw, 48px) !important;
    line-height: 1.03 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    overflow-wrap: break-word !important;
  }

  .hero-copy > p,
  .lead-form > p,
  .section p,
  .results-card > p,
  .doctor-text p,
  .story-card blockquote,
  .contact-grid p {
    font-size: 16px !important;
    line-height: 1.65 !important;
    text-align: justify !important;
    text-justify: inter-word !important;
    /* hyphens: auto !important; */
  }

  .gift-card,
  .lead-form,
  .panel,
  .results-card,
  .doctor-card,
  .story-card,
  .contact-grid article {
    border-radius: 12px !important;
    box-shadow: 0 14px 34px rgba(13, 59, 115, .08) !important;
  }

  .gift-card {
    grid-template-columns: 48px 1fr !important;
    gap: 10px 14px !important;
    padding: 18px !important;
  }

  .trust-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .lead-form {
    width: 100% !important;
    padding: 22px 16px !important;
  }

  .lead-form h2 {
    max-width: 100% !important;
    font-size: clamp(28px, 9vw, 34px) !important;
    line-height: 1.05 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
    text-wrap: balance;
  }

  .lead-form p,
  .hero-copy p,
  .section p,
  .results-card p,
  .story-card p,
  .contact-grid p {
    text-align: left !important;
    text-justify: auto !important;
  }

  .lead-form input,
  .lead-form select,
  .lead-form textarea {
    min-height: 48px !important;
    font-size: 15px !important;
    max-width: 100% !important;
  }

  .lead-form textarea {
    min-height: 110px !important;
  }

  .lead-form .btn,
  .btn,
  .cta-wide {
    width: 100% !important;
    min-height: 50px !important;
    padding: 0 18px !important;
    justify-content: center !important;
    font-size: 15px !important;
    white-space: normal !important;
  }

  .promo-bar {
    padding: 0 !important;
  }

  .promo-inner {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 24px 18px !important;
    text-align: center !important;
    border-radius: 0 !important;
  }

  .section {
    padding: 42px 0 !important;
  }

  .section h2 {
    text-align: center !important;
  }

  .treatment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 12px !important;
  }

  .treatment-grid a {
    min-height: 116px !important;
    padding: 14px 8px !important;
    border-radius: 12px !important;
  }

  .treatment-grid .fa {
    font-size: 42px !important;
  }

  .treatment-grid h3 {
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .proof-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .results-card {
    padding: 26px 18px !important;
  }

  .stats {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .stats div {
    grid-template-columns: 72px 1fr !important;
    gap: 14px !important;
    align-items: center !important;
  }

  .stats .fa {
    width: 62px !important;
    height: 62px !important;
    font-size: 28px !important;
  }

  .stats strong {
    font-size: 42px !important;
    line-height: 1 !important;
  }

  .stats span {
    font-size: 16px !important;
    line-height: 1.3 !important;
  }

  .mini-facts {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .mini-facts span {
    min-height: 78px !important;
    padding: 14px !important;
    font-size: 16px !important;
  }

  .mini-facts b {
    font-size: 38px !important;
  }

  .doctor-card {
    min-height: 0 !important;
    padding: 26px 18px 0 !important;
  }

  .doctor-card img {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: min(88%, 330px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 18px auto 0 !important;
    display: block !important;
    object-fit: contain !important;
  }

  .doctor-text {
    max-width: none !important;
  }

  .doctor-list li {
    grid-template-columns: 26px 1fr !important;
    gap: 10px !important;
    font-size: 15px !important;
  }

  .stories h2 {
    text-align: center !important;
  }

  .story-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 0 !important;
  }

  .story-card {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
  }

  .story-card img {
    grid-row: auto !important;
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
  }

  .slider-arrow {
    display: none !important;
  }

  .contact-grid {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 8px 0 !important;
    background: #f5fbff !important;
  }

  .contact-grid article {
    grid-template-columns: 54px 1fr !important;
    gap: 14px !important;
    padding: 20px 16px !important;
    background: #f5fbff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .contact-grid article + article {
    border-top: 1px solid #dcebf3 !important;
  }

  .contact-grid .fa {
    width: 50px !important;
    height: 50px !important;
    font-size: 24px !important;
  }

  .contact-grid strong {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  .final-cta {
    padding: 22px 0 38px !important;
  }

  .final-inner {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 24px 18px !important;
    border-radius: 14px !important;
    text-align: center !important;
  }

  .final-inner > .fa {
    margin: 0 auto !important;
    font-size: 54px !important;
  }

  .final-inner p {
    text-align: center !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  .drjam-footer {
    padding: 28px 0 !important;
  }

  .drjam-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    text-align: center !important;
  }

  .drjam-footer .brand {
    justify-self: center !important;
  }

  .drjam-footer .brand img {
    max-width: 185px !important;
  }

  .drjam-footer p {
    text-align: center !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  .drjam-footer-actions {
    justify-content: center !important;
    gap: 10px 16px !important;
  }
}

@media (max-width: 430px) {
  .wrap,
  .header-inner,
  .drjam-footer-inner {
    width: calc(100% - 22px) !important;
    max-width: 420px !important;
  }

  .main-nav {
    grid-template-columns: 1fr !important;
  }

  .hero-copy h1,
  .section h2,
  .results-card h2,
  .doctor-card h2,
  .stories h2 {
    font-size: clamp(31px, 11vw, 39px) !important;
  }

  .treatment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .treatment-grid h3 {
    font-size: 16px !important;
  }

  .stats div {
    grid-template-columns: 58px 1fr !important;
  }

  .stats .fa {
    width: 52px !important;
    height: 52px !important;
  }

  .contact-grid article {
    grid-template-columns: 46px 1fr !important;
    padding: 18px 14px !important;
  }

  .contact-grid .fa {
    width: 42px !important;
    height: 42px !important;
    font-size: 21px !important;
  }
}

/* Ajuste final móvil: evita espacios raros, cortes y menú con aire excesivo */
@media (max-width: 760px) {
  .site-header,
  .hero,
  .section,
  .promo-bar,
  .drjam-footer,
  .page-section,
  .landing-section {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  .main-nav {
    gap: 10px !important;
    margin-top: 14px !important;
  }

  .main-nav > .nav-link,
  .main-nav .has-mega > .nav-link {
    min-height: 58px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    text-align: left !important;
  }

  .main-nav .nav-link span {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.2 !important;
  }

  .hero,
  .section,
  .proof,
  .stories,
  .contact-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .section h2,
  .results-card h2,
  .stories h2,
  .doctor-card h2 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
  }

  .hero-copy p,
  .section p,
  .results-card p,
  .story-card p,
  .story-card blockquote,
  .stories blockquote,
  .testimonial-card p,
  .testimonial-card blockquote,
  .success-card p,
  .success-card blockquote,
  .patient-card p,
  .patient-card blockquote,
  .contact-grid p {
    text-align: left !important;
    text-align-last: left !important;
    text-justify: auto !important;
    word-spacing: normal !important;
    letter-spacing: 0 !important;
    hyphens: none !important;
  }

  .story-card,
  .testimonial-card,
  .success-card,
  .patient-card {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .story-card blockquote,
  .testimonial-card blockquote,
  .success-card blockquote,
  .patient-card blockquote {
    display: block !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  .story-card img,
  .testimonial-card img,
  .success-card img,
  .patient-card img {
    max-width: 100% !important;
  }

  .treatment-grid {
    gap: 18px 12px !important;
    margin-top: 18px !important;
  }

  .treatment-grid a {
    min-height: 108px !important;
    padding: 16px 10px !important;
  }
}

@media (max-width: 430px) {
  .main-nav {
    gap: 9px !important;
  }

  .main-nav > .nav-link,
  .main-nav .has-mega > .nav-link {
    min-height: 54px !important;
    padding: 11px 12px !important;
  }

  .treatment-grid {
    gap: 16px 8px !important;
  }

  .treatment-grid a {
    min-height: 102px !important;
  }
}

/* Pulido visual de portada: más aire, tarjetas claras y CTA sin cortes raros */
@media (min-width: 761px) {
  .hero {
    position: relative;
    overflow: hidden;
  }

  .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    /* background:
      linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .9) 32%, rgba(255, 255, 255, .58) 58%, rgba(255, 255, 255, .82) 100%); */
  }

  .hero-bg {
    opacity: 1 !important;
    background-position: center, center 42% !important;
    filter: none;
  }

  .hero-grid {
    position: relative;
    z-index: 2;
    gap: clamp(56px, 6vw, 96px);
    align-items: center;
  }

  .hero-copy {
    max-width: 590px;
  }

  .hero-copy h1 {
    text-wrap: balance;
  }

  .hero-copy > p {
    max-width: 570px;
  }

  .lead-form {
    border: 1px solid rgba(22, 167, 201, .18);
    border-radius: 14px;
    box-shadow: 0 22px 50px rgba(13, 59, 115, .15);
    padding: 34px 32px 26px;
  }

  .lead-form h2 {
    margin-bottom: 8px;
  }

  .lead-form p {
    margin-bottom: 20px;
  }

  .lead-form input,
  .lead-form select,
  .lead-form textarea {
    min-height: 46px;
    border-color: #d8e8f2;
    border-radius: 8px;
  }

  .lead-form textarea {
    min-height: 92px;
  }

  .lead-form .btn {
    min-height: 54px;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(22, 167, 201, .22);
  }

  .treatment-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(122px, 1fr));
    gap: 0;
    overflow: hidden;
    margin-top: 24px;
    background: #fff;
    border: 1px solid #e2eef6;
    border-radius: 12px;
    box-shadow: 0 18px 42px rgba(13, 59, 115, .08);
  }

  .treatment-grid a {
    min-height: 128px;
    padding: 24px 16px;
    border-right: 1px solid #e6f0f7;
    border-radius: 0;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
  }

  .treatment-grid a:last-child {
    border-right: 0;
  }

  .treatment-grid a:hover,
  .treatment-grid a:focus-visible {
    background: #f5fbff;
    box-shadow: inset 0 -3px 0 #16a7c9;
    transform: translateY(-3px);
  }

  .treatment-grid h3 {
    max-width: 150px;
    margin-inline: auto;
    line-height: 1.12;
    text-wrap: balance;
  }

  .stories .wrap {
    position: relative;
  }

  .story-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
  }

  .story-card {
    min-height: 198px;
    align-items: flex-start;
    padding: 24px;
    border-radius: 10px;
    box-shadow: 0 16px 38px rgba(13, 59, 115, .09);
  }

  .story-card img {
    width: 86px;
    height: 86px;
    flex: 0 0 86px;
    object-fit: cover;
  }

  .story-card p,
  .story-card blockquote,
  .final-cta p {
    text-align: left !important;
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  .story-card blockquote {
    line-height: 1.52;
  }

  .story-card strong {
    display: block;
    margin-top: 10px;
  }

  .final-cta p {
    max-width: 640px;
    line-height: 1.35;
    text-wrap: balance;
  }

  .final-cta .cta-wide {
    min-width: 330px;
  }
}

@media (max-width: 1180px) and (min-width: 761px) {
  .treatment-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .treatment-grid a:nth-child(3n) {
    border-right: 0;
  }

  .treatment-grid a:nth-child(n + 4) {
    border-top: 1px solid #e6f0f7;
  }
}

@media (max-width: 760px) {
  .lead-form select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .final-cta .fa-heart-o {
    flex: 0 0 56px !important;
    width: 56px !important;
    max-width: 56px !important;
    overflow: hidden !important;
  }
}

/* Ajustes de contacto flotante, footer compacto y confianza de portada */
.drjam-whatsapp-float {
  position: fixed;
  left: 36px;
  bottom: 15px;
  z-index: 9999;
  display: inline-flex;
  width: 62px;
  height: 62px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #25d366;
  color: #fff;
  font-size: 34px;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(13, 59, 115, .2);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.drjam-whatsapp-float:hover,
.drjam-whatsapp-float:focus {
  color: #fff;
  background: #20bd5a;
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(13, 59, 115, .26);
}

.drjam-whatsapp-float .fa {
  line-height: 1;
}

.trust-row article {
  gap: 10px;
}

.trust-row span {
  max-width: 132px;
  line-height: 1.18;
  text-wrap: balance;
}

.drjam-footer {
  padding: 18px 0 !important;
  border-top: 1px solid #dcebf3;
}

.drjam-footer-inner {
  min-height: 0 !important;
  align-items: center !important;
  gap: 24px !important;
}

.drjam-footer .brand img {
  max-width: 150px !important;
  max-height: 76px !important;
  width: auto !important;
  object-fit: contain !important;
}

.drjam-footer p {
  margin: 0 !important;
  line-height: 1.35 !important;
}

.drjam-footer-actions {
  align-items: center !important;
}

.drjam-admin-content {
  background: #fff;
  color: #0d3b73;
  padding: clamp(42px, 6vw, 82px) 0;
}

.drjam-admin-content .wrap {
  max-width: 1120px;
  margin: 0 auto;
}

.drjam-admin-content p {
  text-align: justify;
}

.drjam-admin-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.drjam-admin-content h1,
.drjam-admin-content h2,
.drjam-admin-content h3 {
  color: #0d3b73;
  letter-spacing: 0;
}

@media (max-width: 760px) {
  .drjam-whatsapp-float {
    left: 16px;
    bottom: 16px;
    width: 54px;
    height: 54px;
    font-size: 30px;
  }

  .trust-row span {
    max-width: none;
  }

  .drjam-footer {
    padding: 20px 0 !important;
  }

  .drjam-footer-inner {
    gap: 12px !important;
  }

  .drjam-footer .brand img {
    max-width: 138px !important;
    max-height: 64px !important;
  }

  .drjam-footer p {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .drjam-footer-actions {
    gap: 8px 14px !important;
  }
}
