/* Homepage specialty photos, 2026-11-06. Scoped to the four treatment rows. */
.home-specialty {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid #ece9e5;
}
.home-specialty__visual { position: relative; margin: 0; height: 240px; }
.home-specialty__photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-specialty__photo--orthodontics { object-position: 50% 50%; }
.home-specialty__caption {
  position: absolute; right: 12px; bottom: 10px; padding: 3px 9px;
  color: #555; background: rgba(255,255,255,.9); font-size: 11px;
}
.home-specialty > .container { position: relative; padding-top: 26px; padding-bottom: 30px; }
.home-specialty .white-outline { text-shadow: none; }
.home-specialty .h3 { margin-top: 0; }
.home-specialty .btn { white-space: normal; max-width: 100%; }
@media (min-width: 768px) {
  .home-specialty { min-height: 340px; display: flex; align-items: center; }
  .home-specialty__visual { position: absolute; top: 0; bottom: 0; width: 50%; height: auto; }
  .home-specialty--image-right .home-specialty__visual { right: 0; }
  .home-specialty--image-left .home-specialty__visual { left: 0; }
  .home-specialty__visual::after {
    content: ''; position: absolute; top: 0; bottom: 0; width: 65px; pointer-events: none;
  }
  .home-specialty--image-right .home-specialty__visual::after {
    left: 0; background: linear-gradient(to right, #fff, rgba(255,255,255,0));
  }
  .home-specialty--image-left .home-specialty__visual::after {
    right: 0; background: linear-gradient(to left, #fff, rgba(255,255,255,0));
  }
  .home-specialty--image-right .col-sm-6 { padding-right: 42px; }
  .home-specialty--image-left .col-sm-6 { padding-left: 42px; }
  .home-specialty > .container { padding-top: 44px; padding-bottom: 44px; }
}
@media (min-width: 1200px) {
  .home-specialty__photo { object-fit: cover; }
  .home-specialty { min-height: 380px; }
}
@media (max-width: 400px) {
  .home-specialty__visual { height: 215px; }
  .home-specialty .btn { font-size: 16px; }
}
