/* Existing practice photography is shown in full, without a forced crop. */
.hero-image-frame {
  height: auto;
  aspect-ratio: 3 / 2;
  border-radius: 24px 80px 24px 24px;
  border: 1px solid #d6e2e5;
}
.hero-image-frame img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.hero-visual {
  padding-bottom: 72px;
}
.hero-comfort-card {
  left: -20px;
  bottom: 0;
}
.location-pill {
  top: -19px;
}
.hero-sun {
  top: -51px;
}
.service-visual.has-photo {
  height: auto;
  min-height: 0;
  display: block;
}
.service-visual.has-photo img {
  width: 100%;
  height: auto;
  display: block;
}
.service-sidebar-symbol.has-photo {
  height: auto;
  display: block;
}
.service-sidebar-symbol.has-photo img {
  width: 100%;
  height: auto;
  display: block;
}
.practice-gallery-section {
  background: #fffaf0;
  border-top: 1px solid #f1e3b8;
  border-bottom: 1px solid #f1e3b8;
}
.practice-photo-columns {
  columns: 3;
  column-gap: 25px;
}
.practice-photo {
  break-inside: avoid;
  margin: 0 0 25px;
  border: 1px solid #e4dfcf;
  border-radius: 12px;
  overflow: hidden;
  background: var(--cream);
}
.practice-photo a {
  display: block;
  position: relative;
}
.practice-photo a:focus-visible {
  outline-offset: -5px;
}
.practice-photo img {
  width: 100%;
  height: auto;
  display: block;
}
.practice-photo figcaption {
  padding: 16px 19px;
  font-size: 12px;
  color: var(--ink);
  line-height: 1.6;
}
.practice-photo figcaption span {
  display: block;
  font-size: 9px;
  color: var(--body);
  margin-top: 4px;
}
.practice-gallery-note {
  max-width: 760px;
  font-size: 11px;
  line-height: 1.8;
  margin-top: 8px;
}
.service-content-image { margin-top: 34px; }
.service-content-image + .service-content-block { margin-top: 34px; }
.service-content-image figcaption a { display: inline; position: static; color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (min-width: 1450px) {
  .hero-image-frame { height: auto; }
}
@media (max-width: 1050px) {
  .hero-image-frame { height: auto; }
  .practice-photo-columns { columns: 2; column-gap: 20px; }
  .practice-photo { margin-bottom: 20px; }
}
@media (max-width: 800px) {
  .hero-image-frame { height: auto; }
  .hero-comfort-card { left: -10px; }
  .hero-visual { padding-bottom: 68px; }
}
@media (max-width: 640px) {
  .hero-visual { padding: 0 0 77px; max-width: 480px; }
  .hero-image-frame { height: auto; border-radius: 18px 60px 18px 18px; }
  .hero-image-frame img { object-position: center; }
  .hero-comfort-card { left: 0; bottom: 0; }
  .location-pill { top: -17px; right: 0; }
  .service-card:has(.has-photo) { grid-template-columns: 1fr; }
  .service-visual.has-photo { border-right: 0; border-bottom: 1px solid var(--line); }
  .practice-photo-columns { columns: 1; }
  .practice-photo { margin-bottom: 22px; }
  .practice-photo figcaption { padding: 15px 18px; }
  .practice-gallery-note { font-size: 10px; }
}
@media (max-width: 370px) {
  .hero-image-frame { height: auto; }
}


/* Dedicated Meet Dr. Jeff photo: retain the complete portrait and label its source. */
.doctor-home-photo {
  margin: 0;
  padding: 10px;
  overflow: hidden;
  align-self: center;
  border: 1px solid #e4dfcf;
  border-radius: 110px 110px 12px 12px;
  background: var(--cream);
  box-shadow: 0 12px 32px #203a4310;
}
.doctor-home-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 100px 100px 6px 6px;
}
.doctor-home-photo figcaption {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 15px 13px 11px;
  text-align: center;
}
.doctor-home-photo figcaption strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 400;
}
.doctor-home-photo figcaption span {
  color: var(--body);
  font-size: 10px;
}
@media (max-width: 640px) {
  .doctor-home-photo {
    width: 100%;
    max-width: 440px;
    border-radius: 80px 80px 12px 12px;
    margin: 0 auto;
  }
  .doctor-home-photo img {
    border-radius: 70px 70px 6px 6px;
  }
}


/* Doctor-reviewed four-option services grid; layout alone adapts by screen width. */
.services-section .service-cards-four { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
.service-visual-laser.has-photo { height: 201px; min-height: 201px; flex: none; overflow: hidden; }
.service-visual-laser.has-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 68%; }
@media (max-width: 1200px) {
  .services-section .service-cards-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-visual-laser.has-photo { height: 173px; min-height: 173px; }
}
@media (max-width: 640px) {
  .services-section .service-cards-four { grid-template-columns: 1fr; }
  .service-visual-laser.has-photo { height: 190px; min-height: 190px; }
}
