/* ============================================================
   Адаптив: 1440 (шапка) → 1000 (мобильная перестройка) → 560 (детали)
   ============================================================ */
  @media (max-width:1440px) {
    /* на ноутбуках уплотняем шапку, чтобы меню не переносилось */
    .site-nav { gap:20px; }
    .site-nav a { font-size:14px; }
    .head-in { gap:14px; }
    .logo img { width:80px; height:80px; }
  }
  @media (max-width:1360px) {
    /* подпись у логотипа не помещается — оставляем только знак */
    .logo-sub { display:none; }
    /* в двухколоночном hero узкая колонка: бренд-блок ставим колонкой */
    .hero-brand { flex-direction:column; align-items:flex-start; gap:20px; }
    .hero-brand-sub { max-width:none; }
    /* направления: 4 колонки не помещаются на ноутбуках (описание сжималось
       до ~113px) — название и темп в строке, описание и уровень во второй;
       темп и уровень — по правому краю, на одной вертикали */
    .d-row { grid-template-columns:1fr auto; gap:6px 16px; }
    .d-row .t { grid-column:1; grid-row:1; min-width:0; }
    .d-row .meta { grid-column:2; grid-row:1 / span 2; align-self:center; }
    .d-row .d { grid-column:1; grid-row:2; font-size:15px; line-height:1.55; }
  }
  @media (max-width:1200px) {
    /* шапка переходит на бургер */
    .site-nav { display:none; }
    .burger { display:flex; flex:0 0 46px; }
    .logo img { width:64px; height:64px; }
    .nav-cta { padding:10px 16px; font-size:12.5px; }
    /* шапка на мобильных (≤1000) видна всегда — первый экран начинается
       ниже фикс-шапки (высота: логотип 64px + паддинги) */
    .hero-grid { grid-template-columns:1fr; gap:40px; padding-top:104px; }
    .container-wide { width:calc(100% - 48px); }
    .hero-brand { flex-direction:row; align-items:center; }
    .hero-photo { --stage-radius:50% 50% 20px 20px / 70px 84px 20px 20px; --stage-glow-blur:28px; }
    .hero-photo::before { display:none; } /* тяжёлое размытие света на мобильных не нужно */
    .wave-slider::before, .wave-slider::after { display:none; } /* на узких экранах — чистая геометрия */
    /* адаптив: окно 3:2, фото — во всю ширину окна без боковых полей
       (лёгкий кадр сверху-снизу; пропорция фиксирована, чтобы слайды
       не прыгали по высоте при смене кадров) */
    .wave-frame { aspect-ratio:3/2; height:auto; }
    .wave-frame img { object-fit:cover; }
    /* узкая колонка направлений: заголовок может сжиматься */
    .d-row .t { min-width:0; }
    .hero-facts { margin:0; grid-template-columns:1fr 1fr; }
    .hero-facts li { padding:16px 24px; border-left:0; }
    .hero-facts li:nth-child(odd) { border-right:1px solid var(--line); }
    .hero-facts li:nth-child(1), .hero-facts li:nth-child(2) { border-bottom:1px solid var(--line); }
    /* анонсы статей: на адаптиве изображение ПЕРЕД текстом; фоновая
       подложка «театрального окна» не должна наезжать на разделительную
       линию — прячем её и оставляем зазор под картинкой */
    .post-row { grid-template-columns:1fr; gap:20px; padding:26px 0 34px; }
    .post-row__media { order:1; margin-left:0; }
    .post-row__body { order:2; }
    .post-row__title { order:1; }
    .post-row__text { order:2; }
    .post-meta { order:3; }
    .post-more { order:4; }
    .post-row__media .stage-window--layered::after { display:none; }
    .post-row__media img { aspect-ratio:16/10; }
    /* фото направлений — портретные: оставляем им рамку 3/4 как на десктопе,
       иначе от вертикальных кадров в 16/10 остаётся одна средняя полоса */
    .courses-list .post-row__media img { aspect-ratio:3/4; }
  }
  @media (max-width:1000px) {
    .club-grid { grid-template-columns:1fr; }
    .feat-grid { grid-template-columns:1fr; }
    .talk-grid { grid-template-columns:1fr; }
    .dirs-wrap { grid-template-columns:1fr; }
    .dirs-view { display:none; }
    .videos-grid { grid-template-columns:1fr 1fr; gap:16px; }
    /* анонсы статей: текст сверху, окно снизу; витрина перекрывается панелью */
    .articles-top-grid { grid-template-columns:1fr; }
    .articles-top .articles-head { grid-column:1; grid-row:1; padding-top:clamp(12px,4vw,28px); }
    .featured-media { grid-column:1; grid-row:2; margin-top:clamp(20px,5vw,32px); }
    .featured-window { height:auto; }
    .featured-window img { aspect-ratio:16/11; height:auto; }
    .featured-post { grid-column:1; grid-row:3; width:100%; margin-top:-44px; }
    /* порядок в анонсах и стек — заданы в блоке ≤1200px */
    .wt-bar .wt-full { display:none; }
    .wt-bar .wt-short { display:inline; }
    .tickets { grid-template-columns:repeat(2,1fr); }
    .crew-grid { grid-template-columns:repeat(2,1fr); }
    .ct-grid { grid-template-columns:1fr; }
    /* направления: заголовок и темп в одной строке, описание — простым
       текстом во всю ширину карточки (не прижато к правому краю) */
    .d-row { grid-template-columns:1fr auto; gap:6px 16px; }
    .d-row .t { grid-column:1; grid-row:1; min-width:0; }
    .d-row .meta { grid-column:2; grid-row:1; }
    .d-row .lvl { display:none; }
    .d-row .d { grid-column:1 / -1; grid-row:2; font-size:15px; line-height:1.55; }
    .strip { padding-inline:20px; }
  }
  @media (max-width:560px) {
    /* подпись «Ближайшие занятия · …» не должна резаться краем плашки */
    .todaybar .tb-label { font-size:11px; letter-spacing:.08em; }
    .hero-facts { grid-template-columns:1fr; }
    .hero-facts li,
    .hero-facts li:nth-child(odd) { border:0; border-bottom:1px solid var(--line); padding:18px 24px; }
    .hero-facts li:last-child { border-bottom:0; }
    /* компакт-шапка (логотип + CTA + бургер) видна сразу и заменяет
       большой бренд-блок и инлайн-ссылки hero */
    .head-in { gap:10px; }
    .nav-cta { padding:8px 11px; font-size:11px; }
    .hero-brand { display:none; }
    .hero-nav { display:none; }
    /* первый экран начинается ниже фикс-шапки */
    .hero-grid { padding-top:88px; }
    .logo img { width:44px; height:44px; }
    /* телефон: тарифы и команда — одна колонка, направления — честная
       вертикальная стопка (заголовок → описание), темп-точки скрыты */
    .tickets { grid-template-columns:1fr; }
    .crew-grid { grid-template-columns:1fr; }
    .d-row { grid-template-columns:1fr; gap:10px; padding:16px 18px; }
    .d-row .tempo { display:none; }
    .d-row .t { font-size:24px; }
    .d-row .d { grid-column:1; grid-row:auto; }
    /* статьи: заметные отступы между анонсами */
    .post-row { padding:36px 0; gap:22px; }
    .videos-grid { grid-template-columns:1fr; }
    .videos-head { flex-direction:column; align-items:flex-start; gap:6px; }
    /* тяжёлые blur-подложки «театральных окон» на телефонах не нужны */
    .feat::before, .feat::after { display:none; }
    .feat-thumb { box-shadow:0 10px 24px rgba(25,20,16,.12); }
    /* на узких экранах лента — ровная полоса сверху карточки */
    .ticket { padding-top:20px; }
    .ticket .hit { position:static; width:auto; transform:none; padding:8px 12px; margin:0 0 12px;
      border-radius:4px; align-self:flex-start; }
    .dirs-row { gap:10px 22px; font-size:14.5px; }
    /* направления: на мобильных все карточки равнозначны — без активной
       подсветки и стучащих точек (превью справа нет, выделять нечего) */
    .d-row.on, .d-row:hover {
      background:var(--paper); border-color:var(--line); box-shadow:none; }
    .d-row.on .tempo i.on, .d-row:hover .tempo i.on { animation:none; }
    h1.hero-title { font-size:clamp(31px,9.7vw,40px); line-height:1.12; }
    /* детальные статьи: колонка чуть шире (было 44px от края → 28px),
       к краям не прижимаем; герой и блок «поделиться» — на той же оси */
    .article-hero .container, .article-end { width:calc(100% - 56px); }
    .article-body { padding-inline:8px; }
  }

