/* Team portraits, visible specialties, and the concise practice introduction. */
.mm-team__intro { max-width: 700px; margin: 0 auto 40px; }
.mm-team__intro h2 { text-align: center; margin: 12px 0 20px; }
.mm-team__intro > p:last-child { max-width: 58ch; margin: 0 auto; }
.mm-team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
}
.mm-team-carousel__viewport { min-width: 0; }
.mm-team-carousel__controls { display: none; }
.mm-team-carousel__dots { display: flex; align-items: center; gap: 10px; }
.mm-team-carousel__button {
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid var(--mm-border);
  border-radius: 50%;
  background: var(--mm-white);
  color: var(--mm-teal);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease, opacity .2s ease;
}
.mm-team-carousel__button:hover:not(:disabled),
.mm-team-carousel__button:focus-visible {
  background: var(--mm-teal);
  color: var(--mm-white);
  transform: translateY(-2px);
}
.mm-team-carousel__button:disabled { cursor: default; opacity: .35; }
.mm-team-carousel__dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #b7c8c0;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.mm-team-carousel__dot[aria-current="true"] { background: var(--mm-teal); transform: scale(1.3); }
.mm-team-carousel__dot:focus-visible { outline: 2px solid var(--mm-teal); outline-offset: 4px; }
.mm-profile {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--mm-border);
  border-radius: var(--mm-radius);
  background: var(--mm-white);
  box-shadow: 0 8px 24px #214e5010;
}
@media (min-width: 1100px) {
  .mm-profile { min-height: 840px; }
}
.mm-profile__portrait {
  display: block;
  width: calc(100% + 48px);
  max-width: none;
  height: auto;
  margin: -24px -24px 0;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 25%;
  border-radius: var(--mm-radius) var(--mm-radius) 0 0;
  background: var(--mm-sage);
}
.mm-palette .mm-team .mm-profile h3 { font-size: 1.25rem; margin: 20px 0 12px !important; text-align: left; }
.mm-profile__role {
  margin: 0 0 8px;
  font-size: .9375rem;
  line-height: 1.5;
  color: var(--mm-muted);
}
.mm-profile__phone {
  margin: 0 0 16px;
  font-size: .9375rem;
  line-height: 1.5;
}
.mm-profile__phone a { color: var(--mm-teal); text-decoration: none; }
.mm-profile__phone a:hover { text-decoration: underline; text-underline-offset: 3px; }
.mm-profile__specialties {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  min-height: 7.2em;
  font-size: .875rem;
  line-height: 1.6;
  color: var(--mm-muted);
  flex: 1 1 auto;
}
.mm-profile__specialties li { position: relative; padding-left: 16px; margin: 0 0 5px; }
.mm-profile__specialties li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #719388; position: absolute; left: 0; top: .6em; }
.mm-palette .mm-team .mm-profile__details { margin: auto 0 0; padding-top: 0; }
.mm-profile__details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 8px 0;
  font-size: .9375rem;
  list-style: none;
}
.mm-profile__details { margin-top: auto; }
.mm-profile__details summary::-webkit-details-marker { display: none; }
.mm-profile__details summary:hover { text-decoration: underline; text-underline-offset: 4px; }
.mm-profile__details summary:focus-visible { outline-offset: -2px !important; border-radius: 4px; }
.mm-profile__plus { position: relative; width: 18px; height: 18px; flex: 0 0 18px; }
.mm-profile__plus::before, .mm-profile__plus::after { content: ""; position: absolute; background: currentColor; border-radius: 1px; }
.mm-profile__plus::before { width: 12px; height: 2px; left: 3px; top: 8px; }
.mm-profile__plus::after { width: 2px; height: 12px; left: 8px; top: 3px; }
.mm-profile__details[open] .mm-profile__plus::after { display: none; }
.mm-typography .mm-profile__bio p { font-size: .9375rem; line-height: 1.7; margin: 12px 0 18px; }
.mm-profile__bio p:last-child { margin-bottom: 0; }
.mm-palette .mm-about { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 48px; }
.mm-about__content, .mm-about__gallery { min-width: 0; }
.mm-palette .mm-about .mm-about__intro { margin-bottom: 28px; }
.mm-about__strengths { list-style: none; margin: 0; padding: 0; }
.mm-about__strengths li { border-top: 1px solid var(--mm-border); padding: 18px 0; }
.mm-about__strengths li:last-child { padding-bottom: 0; }
.mm-typography .mm-about__strengths h3 { font-size: 1.0625rem; line-height: 1.4; margin: 0 0 6px; text-wrap: initial; }
.mm-palette .mm-about__strengths p { font-size: 1rem; line-height: 1.6; margin: 0; }
.mm-about__gallery .wp-block-kadence-advancedgallery { margin: 0; }

/* The replacement team portrait is panoramic; keep every colleague in frame. */
.kb-gallery-wrap-id-luxe-hair-salon__front-page_bc87cd-68 .kb-blocks-slider > .kb-slide-item:nth-child(3) .kb-gallery-image-ratio-land32 {
  padding-bottom: 50% !important;
}

@media (max-width: 1099px) {
  .mm-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 24px; }
  .mm-profile { min-height: 1120px; }
}
@media (max-width: 781px) {
  .mm-palette .mm-about { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 599px) {
  .mm-team-carousel__viewport { overflow: hidden; padding: 0 0 3px; }
  .mm-team-grid {
    display: flex;
    grid-template-columns: none;
    align-items: stretch;
    gap: 0;
    transition: transform .45s cubic-bezier(.22,.61,.36,1);
    will-change: transform;
  }
  .mm-team-grid > .mm-profile { flex: 0 0 100%; width: 100%; box-sizing: border-box; }
  .mm-profile { min-height: 0; }
  .mm-team-carousel__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 28px;
  }
  .mm-profile__specialties { min-height: 0; }
  .mm-team__intro { margin-bottom: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  .mm-team-grid { transition: none; }
  .mm-team-carousel__button, .mm-team-carousel__dot { transition: none; }
}
