/* Provider and hero refinements. Footer styles live in footer-clean.css. */
.hero-gallery .hero-slide { opacity:0; transition:opacity 2.4s ease-in-out; will-change:opacity; }
.hero-gallery .hero-slide.is-active { opacity:1; }
.hero-gallery .hero-slide-clinic { inset:0; top:0; left:0; width:100%; height:100%; max-width:none; aspect-ratio:auto; object-fit:cover; object-position:50% 50%; transform:none; background:none; filter:brightness(1.075); }
.about-main .about-photo.provider-portrait img { object-fit:cover!important; object-position:50% 50%!important; transform:none!important; transform-origin:center!important; }
.provider-gallery { isolation:isolate; outline:none; }
.provider-gallery > img { transition:opacity .3s ease; }
.provider-gallery > img.is-changing { opacity:.18; }
.provider-gallery-control {
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  width:28%;
  min-width:64px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
}
.provider-gallery-control[hidden] { display:none; }
.provider-gallery-previous { left:0; }
.provider-gallery-next { right:0; }
.provider-gallery-control > span {
  position:absolute;
  top:50%;
  display:grid;
  place-items:center;
  width:34px;
  height:52px;
  border:0;
  border-radius:2px;
  background:#1f6557d9;
  box-shadow:none;
  opacity:0;
  transform:translateY(-50%);
  transition:opacity .18s ease, background-color .18s ease;
  pointer-events:none;
}
.provider-gallery-previous > span { left:18px; }
.provider-gallery-next > span { right:18px; }
.provider-gallery-control svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.provider-gallery-control:hover > span,
.provider-gallery-control:focus-visible > span { opacity:1; }
.provider-gallery-control:hover > span { background:#174f45f2; }
.provider-gallery-control:focus-visible { outline:2px solid var(--mint); outline-offset:-4px; }
.provider-gallery-status {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.external-arrow-icon { display:block; width:17px; height:17px; flex:0 0 17px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.site-header .brand picture { display:block; width:100%; height:100%; }
.about-main[data-provider="rochin"] .about-layout,
.about-main[data-provider="kathie"] .about-layout { align-items:start; }
@media (min-width:721px) {
  .about-main[data-provider="rochin"] .about-photo,
  .about-main[data-provider="kathie"] .about-photo { margin-top:78px; }
  .about-main[data-provider="rochin"] .about-photo,
  .about-main[data-provider="kathie"] .about-photo { position:sticky; top:118px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-gallery .hero-slide { transition:none; }
  .hero-gallery .hero-slide:not(:first-child) { display:none; }
  .provider-gallery > img,
  .provider-gallery-control > span { transition:none; }
}
@media (max-width:720px) {
  .site-header>.brand { width:76px; height:64px; }
  .header-menu nav { display:grid; grid-template-columns:1fr; }
  .header-menu nav a { display:block; width:100%; min-width:0; }
  .hero-gallery .hero-slide-clinic { object-position:52% 50%; }
  .provider-gallery-control { width:32%; }
  .provider-gallery-control > span { width:34px; height:50px; opacity:.86; }
  .provider-gallery-previous > span { left:12px; }
  .provider-gallery-next > span { right:12px; }
}
@media (max-width:430px) {
  .about-main .about-photo.provider-portrait img { transform:none; }
}
