/* Слайдер сцен на главной (17.10): клуб · студия · клиника · офис. Без внешних библиотек. */
.scenes { padding-top: 2.5rem; }
.scn { position: relative; }
.scn__viewport { overflow: hidden; border-radius: var(--radius); border: 1px solid var(--line); background: var(--surface); box-shadow: 0 16px 40px var(--card-shadow); }
.scn__track { display: flex; margin: 0; padding: 0; list-style: none; transition: transform .6s cubic-bezier(.22,.61,.36,1); will-change: transform; }
.scn__slide { flex: 0 0 100%; min-width: 0; display: grid; grid-template-columns: 1fr; background: var(--surface); }
.scn__media { margin: 0; background: var(--soft-1); aspect-ratio: 4 / 3; overflow: hidden; } /* телефон: квадратный кадр 1080×1080, обрезка 4:3 по центру */
.scn__media picture, .scn__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.scn__body { padding: 1.25rem 1.25rem 1.4rem; display: flex; flex-direction: column; justify-content: center; border-top: 4px solid var(--accent-2); }
.scn__body h3 { margin: 0 0 .5rem; font-size: 1.2rem; font-weight: 800; color: var(--accent); letter-spacing: -.01em; }
.scn__body p { margin: 0 0 1rem; font-size: .92rem; line-height: 1.5; color: var(--muted); }
.scn__body .btn { align-self: flex-start; }
.scn__nav { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: 1rem; }
.scn__arrow { width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid var(--line); background: var(--surface); color: var(--text); font: inherit; font-size: 1.25rem; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: border-color .2s, box-shadow .2s, color .2s; }
.scn__arrow:hover, .scn__arrow:focus-visible { border-color: var(--card-border-h); color: var(--accent); box-shadow: 0 6px 18px var(--card-shadow); }
.scn__dots { display: flex; gap: .5rem; }
.scn__dot { width: .7rem; height: .7rem; padding: 0; border-radius: 999px; border: 0; background: var(--soft-3); cursor: pointer; transition: width .25s, background .25s; }
.scn__dot[aria-current="true"] { width: 1.8rem; background: var(--accent-2); }
.scn__dot:focus-visible, .scn__arrow:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; }
@media (min-width: 641px) {
  .scn__media { aspect-ratio: 16 / 9; }
}
@media (min-width: 900px) {
  .scn__slide { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .scn__body { border-top: 0; border-left: 4px solid var(--accent-2); padding: 1.75rem 1.75rem; }
  .scn__body h3 { font-size: 1.35rem; }
  .scn__body p { font-size: .95rem; }
}
@media (prefers-reduced-motion: reduce) {
  .scn__track { transition: none; }
}
