.professional-subsection {
  grid-column: 1 / -1;
  margin-top: 45px;
  padding-top: 75px;
  border-top: 1px solid var(--line);
}
.professional-subsection-heading {
  margin-bottom: 38px;
  text-align: center;
}
.professional-subsection-heading h3 {
  margin: 18px 0 0;
  font-family: var(--serif);
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 400;
  line-height: 1.05;
}
.professional-subsection-heading em { color: var(--nude); font-weight: 400; }
.professional-carousel { position: relative; max-width: 920px; margin: 0 auto; outline: none; }
.professional-track { position: relative; height: min(76vh, 760px); overflow: hidden; background: #eee9e4; }
.professional-slide { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .65s ease, visibility .65s ease; }
.professional-slide.active { opacity: 1; visibility: visible; }
.professional-slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
.professional-slide figcaption { position: absolute; right: 18px; bottom: 16px; padding: 7px 11px; background: rgba(17,17,17,.72); color: #fff; font-size: 12px; letter-spacing: .12em; }
.professional-arrow { position: absolute; top: 50%; z-index: 2; width: 48px; height: 48px; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.65); border-radius: 50%; background: rgba(17,17,17,.55); color: #fff; font-size: 21px; cursor: pointer; transition: .25s ease; }
.professional-arrow:hover { background: var(--nude); border-color: var(--nude); }
.professional-prev { left: 18px; }
.professional-next { right: 18px; }
.professional-dots { display: flex; justify-content: center; gap: 9px; margin-top: 20px; }
.professional-dot { width: 8px; height: 8px; padding: 0; border: 1px solid var(--ink); border-radius: 50%; background: transparent; cursor: pointer; }
.professional-dot.active { background: var(--ink); }
@media (max-width: 700px) {
  .professional-subsection { margin-top: 18px; padding-top: 58px; }
  .professional-track { height: 68vh; min-height: 480px; max-height: 680px; }
  .professional-arrow { width: 42px; height: 42px; }
  .professional-prev { left: 10px; }
  .professional-next { right: 10px; }
}
@media (prefers-reduced-motion: reduce) { .professional-slide { transition: none; } }
