/* Maison Rouge · мобильный журнал (шаг 2, 20.10)
   ─────────────────────────────────────────────
   Та же страница и тот же HTML, что на десктопе: у поиска один адрес и
   один текст. Ниже 1100 px разворот перестаёт быть листом 1440×900 и
   становится двумя страницами подряд, как в макете m.html: сначала кадр
   во всю ширину (4:5), поверх него — знак или крупная надпись разворота,
   потом статья на белом.

   Как это устроено
   · .sheet — колонка (flex-wrap: пары кадров встают в ряд), все .p — поток;
   · order задаёт порядок: кадр (1) → наложения на кадр → статья (5) → кнопка (8);
   · --ph — высота кадра (4:5 от ширины колонки); наложения на кадр стоят
     абсолютно от верха листа, потому что кадр всегда первый;
   · --u на телефоне ≈ 1 px при ширине 390: кегли макета (13u, 17u, 26u)
     читаются теми же пикселями, что на десктопе в 1440;
   · на планшете колонка ограничена 600 px и стоит по центру. */

@media (max-width: 1099px) {
  :root { --u: min(calc(100vw / 390), 1.25px); --pad: 24px; --col: min(100vw, 600px); --ph: calc(var(--col) * 1.25); }
  html { scroll-snap-type: none !important; }
  body { background: #FFF; }
  .narrow { display: none !important; }
  main { display: block !important; }

  /* ── шапка: разделы одной прокручиваемой строкой ── */
  .menu { display: flex !important; position: fixed; inset: 0 0 auto 0; z-index: 50; height: 48px; padding: 0 var(--pad);
    gap: 22px; align-items: center; justify-content: flex-start; overflow-x: auto; scrollbar-width: none;
    background: #FFFFFFF2; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid #1111; color: #1E1715 !important; }
  .menu::-webkit-scrollbar { display: none; }
  .menu a { flex: none; font-size: 14px !important; white-space: nowrap; color: inherit; }
  .menu a[data-booking] { color: #A51C1F; }

  /* ── разворот → колонка ── */
  .spread { height: auto !important; min-height: 0; padding-top: 0 !important; display: block; overflow: hidden; scroll-snap-align: none !important; background: #FFF; }
  .sheet { position: relative; width: var(--col) !important; height: auto !important; margin: 0 auto; display: flex; flex-flow: row wrap; align-content: flex-start;
    padding-bottom: 56px; box-shadow: none !important; background: #FFF; }
  .sheet::after { display: none !important; }
  .sheet > * { flex: 0 0 100%; order: 5; min-width: 0; }
  .sheet > .p, .sheet > .slot { position: relative !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important;
    width: auto !important; height: auto !important; transform: none; }

  /* кадр во всю ширину 4:5 — первая «страница» разворота */
  .sheet > .slot--photo, .sheet > .slot--video, .sheet > .v2-media, .sheet > .v2-stack, .sheet > .v2-ag3__ad,
  .sheet > .hl8-slider, .sheet > .v2-back__map { height: var(--ph) !important; overflow: hidden; order: 1; margin: 0 0 40px; }
  .sheet > .slot img, .sheet > .slot video, .sheet > .v2-media img, .sheet > .v2-media video, .sheet > .v2-ag3__ad img, .sheet > .v2-back__map img
    { width: 100%; height: 100%; object-fit: cover; display: block; }
  .slot__cap { display: none; }

  /* наложение на кадр: снизу кадра */
  .sheet > .rm-restaurant-chef__logo-left { position: absolute !important; top: calc(var(--ph) - 112px) !important; left: 0 !important; right: 0 !important; z-index: 4; }

  /* декор и колонтитулы — прочь */
  .mr-paper, .seam, .cv-shade, .rm-restaurant-chef__left-shade, .v2-bar__paper, .v2-ag3__paper, .v2-ag3__veil, .v2-ag3__seal,
  .cr, .v2-folio, .v2-ed__folio, .v2-ag3__folio, .vh8-folio, .mr-end__folio, .v2-ad__tag, .v2-ed__vcredit, .v2-stack__credit, .mr-floral
    { display: none !important; }

  /* текстовые блоки — поле 24 px */
  .sheet > p.p, .sheet > div.p, .sheet > h3.p, .sheet > table.p, .sheet > div.col { flex-basis: calc(100% - 2 * var(--pad)); margin-left: var(--pad); margin-right: var(--pad); }
  .sheet > a.rm-restaurant-chef__menu, .sheet > .hl8-btn { order: 8; flex: 0 0 auto; margin: 28px auto 0 !important; min-height: 52px;
    width: min(320px, calc(100% - 2 * var(--pad))) !important; }

  /* ── Ж01 · обложка: один экран, дуэт сверху и снизу, имя на стыке ── */
  #zh01 .sheet { display: block; height: calc(100svh - 48px) !important; min-height: 560px; margin-top: 48px; padding: 0; background: #0E0B0A; }
  #zh01 .sheet > .duet { position: absolute !important; left: 0 !important; width: 100% !important; height: 50% !important; margin: 0; }
  #zh01 .sheet > .duet { top: 0 !important; }
  #zh01 .sheet > .duet + .duet { top: 50% !important; }
  #zh01 .duet video { width: 100%; height: 100%; object-fit: cover; }
  #zh01 .cv-shade { display: block !important; position: absolute !important; inset: 0 !important; width: auto !important; height: auto !important; }
  #zh01 .cv-sign { position: absolute !important; left: 0 !important; right: 0 !important; margin: 0; z-index: 3; }
  #zh01 .cv-sign { top: 22px !important; }
  #zh01 .cv-sign + .cv-sign { top: calc(50% + 22px) !important; }
  #zh01 .cv-sign span { font-size: 30px !important; letter-spacing: .14em; line-height: 1; }
  #zh01 .cv-sign small { font-size: 10px !important; }
  #zh01 .cv-seal { position: absolute !important; top: calc(50% - 44px) !important; left: calc(50% - 44px) !important; width: 88px !important; height: 88px !important; min-height: 0; margin: 0 !important; z-index: 4; }
  #zh01 .cv-name { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 42px !important; margin: 0; z-index: 3; font-size: 72px !important; line-height: .9;
    display: flex; flex-direction: column; align-items: center; height: auto !important; }
  #zh01 .cv-name span { width: auto !important; }
  #zh01 .cv-addr { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 16px !important; margin: 0; z-index: 3; font-size: 9px !important; text-align: center; }

  /* ── Ж02 · дом и письмо ── */
  #zh02 .sheet > .col:not([style*="--t"]) { position: absolute !important; top: calc(var(--ph) - 96px) !important; z-index: 3; }
  #zh02 .sheet > .col:not([style*="--t"]) .fs { font-size: 34px !important; white-space: normal !important; }
  #zh02 .sheet > .col h2 { font-size: 44px !important; }
  #zh02 .grid { height: auto !important; grid-template-columns: 1fr 1fr; }
  #zh02 .grid figure { aspect-ratio: 1; height: auto !important; }
  #zh02 .cols { columns: 1 !important; font-size: 15px !important; }

  /* ── Ж03 · шеф ── */
  #zh03 .rm-restaurant-chef__photo { flex-basis: calc(100% - 2 * var(--pad)); margin: 0 var(--pad) 22px !important; aspect-ratio: 1; }
  #zh03 .rm-restaurant-chef__photo img { width: 100%; height: 100%; object-fit: cover; }
  #zh03 .rm-restaurant-chef__lead { font-size: 24px !important; }
  #zh03 .rm-restaurant-chef__path { margin-top: 12px; }
  #zh03 .rm-restaurant-chef__signature { margin-top: 22px; }
  #zh03 .rm-restaurant-chef__signature strong { font-size: 40px !important; }

  /* ── Ж04 · кухня: кадр блюда, потом обложка меню со списком поверх ── */
  #zh04 .v2-stack { margin: 0 0 32px !important; }
  #zh04 .v2-stack img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  #zh04 .mr-cuisine2 { order: 5; font-size: 60px !important; text-align: center; }
  #zh04 .mr-cover { order: 6; flex: 0 0 auto; width: 290px !important; height: 397px !important; margin: 18px auto 0; object-fit: cover; }
  #zh04 .mr-card__over { order: 7; flex: 0 0 auto; width: 250px !important; height: 397px !important; margin: -397px auto 0 !important; z-index: 2; }
  #zh04 .mr-dish { order: 7; margin-top: 22px !important; text-align: center; }

  /* ── Ж05 · бар: ролик и LE BAR, потом два кадра в ряд и два текста ── */
  #zh05 .bj-giant { position: absolute !important; top: calc(var(--ph) - 190px) !important; left: 0 !important; right: 0 !important; margin: 0 !important; z-index: 3;
    font-size: 150px !important; height: auto !important; line-height: 1; text-align: center; pointer-events: none; }
  #zh05 .bj-giant * { font-size: inherit !important; }
  #zh05 .bj-logo { order: 4; margin-bottom: 22px; }
  #zh05 .bj-frame { flex: 0 0 calc(50% - var(--pad) - 6px); aspect-ratio: 1; margin: 0 0 18px var(--pad) !important; }
  #zh05 .bj-frame + .bj-frame { margin: 0 var(--pad) 18px 12px !important; }
  #zh05 .bj-frame img { width: 100%; height: 100%; object-fit: cover; }
  #zh05 .bj-txt + .bj-txt { margin-top: 22px; }
  #zh05 .bj-txt p { font-size: 15px !important; }

  /* ── Ж06 · салон ── */
  #zh06 .v2-media:not(:first-of-type) { order: 5; flex: 0 0 auto; width: 260px !important; height: 334px !important; margin: 18px auto 18px !important; }
  #zh06 .v2-centre__t1 { font-size: 52px !important; text-align: center; }
  #zh06 .v2-centre__t2 { text-align: center; }
  #zh06 .v2-centre__body { font-size: 15px !important; }
  #zh06 .v2-centre__prog { margin-top: 18px; }

  /* ── Ж07 · афиша: картина и LE SALON, потом три вечера «кадр + текст» ── */
  #zh07 .v2-ag3__mark { position: absolute !important; top: calc(var(--ph) - 150px) !important; left: 0 !important; right: 0 !important; margin: 0 !important; z-index: 3;
    font-size: 96px !important; height: auto !important; text-align: center; line-height: 1; }
  #zh07 .v2-ag3__mark * { font-size: inherit !important; }
  #zh07 .v2-ag3__head { margin-bottom: 18px; }
  #zh07 .v2-ag3__shot { flex: 0 0 38%; height: 150px !important; margin: 0 12px 18px var(--pad) !important; overflow: hidden; }
  #zh07 .v2-ag3__shot img { width: 100%; height: 100%; object-fit: cover; }
  #zh07 .v2-ag3__item { flex: 1 1 0; height: auto !important; margin: 0 var(--pad) 18px 0 !important; }
  #zh07 .v2-ag3__btn { order: 8; flex: 0 0 auto; margin: 18px auto 0 !important; width: min(320px, calc(100% - 2 * var(--pad))) !important; }
  #zh07 .v2-ag3__live { order: 9; margin-top: 14px !important; text-align: center; height: auto !important; }

  /* ── Ж08 · аренда: зал со вкладками, потом статья ── */
  #zh08 .hl8-slider { margin-bottom: 36px; }
  #zh08 .hl8-shade { display: block !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: var(--ph) !important; z-index: 2; }
  #zh08 .hl8-tabs { position: absolute !important; top: 22px !important; left: 0 !important; right: 0 !important; margin: 0 !important; gap: 28px; z-index: 3; }
  #zh08 .hl8-tabs button { font-size: 24px !important; }
  #zh08 .hl8-btn { position: absolute !important; top: calc(var(--ph) - 128px) !important; left: 50% !important; transform: translateX(-50%); margin: 0 !important; z-index: 3; }
  #zh08 .hl8-more { position: absolute !important; top: calc(var(--ph) - 60px) !important; left: 0 !important; right: 0 !important; margin: 0 !important; z-index: 3; }
  #zh08 .le8-h { font-size: 46px !important; }
  #zh08 .le8-ph { height: 240px !important; margin: 20px 0 0 !important; }
  #zh08 .le8-cap { margin-top: 16px; }
  #zh08 .le8-cols { margin-top: 18px; }
  #zh08 .le8-tab { margin-top: 26px; }

  /* ── Ж10 · контакты: карта, потом бархат с адресом ── */
  #zh10 .sheet { background: #6B171D url("media/v2/paper/wine-dragonflies.jpg") 50% 0 / 420px auto repeat; padding-bottom: 48px; }
  #zh10 .mr-end__velvet { display: none; }
  #zh10 .v2-back__map { margin-bottom: 36px; }
  #zh10 .v2-back__name { font-size: 76px !important; }
  #zh10 .rm-back__address { font-size: 22px !important; text-align: center; margin-top: 18px; }
  #zh10 .rm-back__details { margin-top: 12px; }
  #zh10 .mr-end__social { margin-top: 22px; }
  #zh10 a.rm-restaurant-chef__menu { order: 6; margin-top: 14px !important; }
  #zh10 .mr-end__legal { order: 9; margin-top: 26px; }
}

@media (max-width: 1099px) {
  /* кадры во всю ширину — без полей статьи */
  .sheet { padding-top: 0 !important; }
  .sheet > .v2-stack, .sheet > .hl8-slider, .sheet > .v2-back__map, .sheet > .v2-media, .sheet > .v2-ag3__ad { flex-basis: 100% !important; margin-left: 0 !important; margin-right: 0 !important; margin-top: 0 !important; }
  #zh08 .hl8-shade { left: 0 !important; margin: 0 !important; }
  #zh04 .mr-cover { flex: 0 0 290px !important; max-width: 290px; }
  #zh04 .mr-card__over { flex: 0 0 250px !important; }
  #zh06 .v2-media:not(:first-of-type) { flex: 0 0 260px !important; margin: 18px auto !important; }
}

@media (max-width: 1099px) {
  .spread { scroll-margin-top: 48px; }
  #zh05 .bj-giant { font-size: 104px !important; white-space: nowrap; top: calc(var(--ph) - 130px) !important; }
  #zh07 .v2-ag3__mark { font-size: 68px !important; white-space: nowrap; top: calc(var(--ph) - 96px) !important; }
  #zh04 .mr-card__list button { font-size: 21px !important; }
  #zh04 .mr-card__h { margin-bottom: 12px !important; }
  #zh04 .mr-dish { margin-top: 26px !important; }
  #zh10 .rm-kicker { margin-bottom: 14px; text-align: center; }
}

@media (max-width: 1099px) {
  #zh01 .cv-shade { margin: 0 !important; }
  #zh01 .cv-sign + .cv-sign { top: calc(50% + 62px) !important; }
  #zh04 .mr-card__list button { font-size: 19px !important; }
}

/* ── Презентация залов (halls.html) на телефоне ── */
@media (max-width: 1099px) {
  .hp-seal { width: 84px; height: 84px; right: 16px; bottom: 16px; }
  .hm-folio, .hp-vsign, .hm-open { display: none !important; }
  #h1 .sheet, #h2 .sheet, #h4 .sheet, #h6 .sheet { padding-bottom: 48px; }
  /* обложка: один экран, заголовок на фото */
  #h1 .sheet { display: block; height: calc(100svh - 48px) !important; min-height: 560px; margin-top: 48px; padding: 0; }
  #h1 .hp-ph, #h1 .hp-shade { position: absolute !important; inset: 0 !important; width: auto !important; height: auto !important; margin: 0 !important; }
  #h1 .hp-ph img { width: 100%; height: 100%; object-fit: cover; }
  #h1 .hp-crumb { position: absolute !important; top: 18px !important; left: var(--pad) !important; margin: 0 !important; z-index: 3; }
  #h1 .hp-cover { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 92px !important; margin: 0 !important; z-index: 3; font-size: 60px !important; }
  #h1 .hp-cover em { font-size: 26px !important; }
  #h1 .hp-sub { position: absolute !important; left: var(--pad) !important; right: var(--pad) !important; bottom: 36px !important; margin: 0 !important; z-index: 3; font-size: 10px !important; text-align: center; }
  /* основной зал: кадр с названием, потом статья */
  #h2 .hm-big { height: var(--ph) !important; order: 1; margin: 0 0 36px; flex-basis: 100%; }
  #h2 .hm-big img { width: 100%; height: 100%; object-fit: cover; }
  #h2 .hp-shade { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: calc(var(--ph) * .6) !important; margin: 0 !important; z-index: 2; }
  #h2 .hm-ad { position: absolute !important; top: 28px !important; left: var(--pad) !important; margin: 0 !important; z-index: 3; font-size: 72px !important; }
  #h2 .hm-ad em { font-size: 30px !important; }
  #h2 .hm-adtxt { position: absolute !important; top: calc(var(--ph) - 96px) !important; left: var(--pad) !important; right: var(--pad) !important; margin: 0 !important; z-index: 3; color: #F8F2E8; font-size: 15px !important; }
  #h2 .hm-row { margin-top: 16px !important; margin-bottom: 22px; gap: 8px; }
  #h2 .hm-row figure { height: 130px; }
  #h2 .hm-h { font-size: 30px !important; margin-top: 6px; }
  #h2 .hm-deck { margin-top: 12px !important; }
  #h2 .hm-cols { columns: 1 !important; margin-top: 18px !important; }
  #h2 .hm-nums { margin-top: 26px !important; flex-basis: calc(100% - 2 * var(--pad)); }
  #h2 .hm-inc { margin-top: 22px !important; }
  /* Secret Room: слайдер, потом статья и две фигуры в ряд */
  #h4 .hp-slider { height: var(--ph) !important; order: 1; margin: 0 0 36px; flex-basis: 100%; overflow: hidden; }
  #h4 .hp-slider__nav { position: absolute !important; top: calc(var(--ph) - 96px) !important; left: 0 !important; right: 0 !important; margin: 0 !important; z-index: 4; }
  #h4 .hp-vline { position: absolute !important; top: calc(var(--ph) - 44px) !important; left: 0 !important; right: 0 !important; margin: 0 !important; z-index: 4; }
  #h4 .hp-c4__q1 { height: auto !important; gap: 18px; }
  #h4 .hp-c4__fig { flex: 0 0 calc(50% - var(--pad) - 6px); height: 230px !important; margin: 24px 0 0 var(--pad) !important; object-fit: contain; }
  #h4 .hp-c4__fig + .hp-c4__fig { margin: 24px var(--pad) 0 12px !important; }
  #h4 .hp-ph { flex: 0 0 auto; width: 260px !important; height: 325px !important; margin: 24px auto 0 !important; }
  #h4 .hp-ph img { width: 100%; height: 100%; object-fit: cover; }
  /* финал: фото, потом бархат с кнопкой */
  #h6 .sheet { background: #6B171D url("media/v2/paper/wine-dragonflies.jpg") 50% 0 / 420px auto repeat; }
  #h6 .hp-velvet { display: none !important; }
  #h6 .hp-ph { height: var(--ph) !important; order: 1; margin: 0 0 36px; flex-basis: 100%; }
  #h6 .hp-ph img { width: 100%; height: 100%; object-fit: cover; }
  #h6 .hp-end { font-size: 64px !important; }
  #h6 .hp-endtxt { margin-top: 18px !important; }
  #h6 .hp-btn, #h6 .hp-backbtn { order: 6; flex: 0 0 auto; margin: 22px auto 0 !important; width: min(320px, calc(100% - 2 * var(--pad))) !important; min-height: 50px; }
  #h6 .hp-contacts { order: 7; margin-top: 26px !important; }
  #h6 .hp-backbtn { order: 8; }
}
/* меню: шапка в одну колонку */
@media (max-width: 1099px) {
  .mn-hero { grid-template-columns: 1fr !important; }
  .mn-hero > * { grid-column: 1 !important; grid-row: auto !important; justify-self: start !important; }
}
@media (max-width: 1099px) {
  .sheet > dl.p, .sheet > h2.p:not(.vh) { flex-basis: calc(100% - 2 * var(--pad)); margin-left: var(--pad) !important; margin-right: var(--pad) !important; }
  #h2 .hm-nums { display: flex; justify-content: space-between; }
}

/* ── Ж09 · бронирование на телефоне ── */
@media (max-width: 1099px) {
  #zh09 .bk-h { font-size: 56px !important; margin-top: 14px; }
  #zh09 .bk-txt { margin-top: 18px; font-size: 19px !important; }
  #zh09 .bk-opts { margin-top: 26px; }
  #zh09 .bk-opts b { font-size: 26px !important; }
  #zh09 .bk-opts span { font-size: 9.5px !important; }
  #zh09 .bk-tel { order: 9; margin-top: 16px; }
}

/* слоган на карте контактов — внизу кадра */
@media (max-width: 1099px) {
  #zh10 .end-shade { position: absolute !important; top: calc(var(--ph) - 200px) !important; left: 0 !important; width: 100% !important; height: 200px !important; margin: 0 !important; }
  #zh10 .end-slogan { position: absolute !important; top: calc(var(--ph) - 112px) !important; left: var(--pad) !important; right: var(--pad) !important; margin: 0 !important; font-size: 34px !important; line-height: 1.05; }
}
@media (max-width: 1099px) { #zh10 .v2-back__map figcaption { top: 10px; bottom: auto; right: 12px; font-size: 10px; } }
@media (max-width: 1099px) {
  #zh08 .le8-nums { margin-top: 26px; grid-template-columns: 1fr; }
  #zh08 .le8-hall + .le8-hall { border-left: 0; border-top: 1px solid #1114; margin-top: 16px; padding-top: 16px; }
  #zh08 .le8-hall dd { font-size: 46px !important; }
}
/* печать в чёрном круге Secret Room — на телефоне фото меньше, печать прячем, остаётся плавающая */
@media (max-width: 1099px) { .hp-disc-seal { display: none !important; } }

/* ── Шапка на телефоне (21.10): стрекоза-логотип слева, разделы листаются, бронь всегда видна справа ── */
@media (max-width: 1099px) {
  .menu { overflow: visible !important; padding: 0 !important; gap: 0 !important; justify-content: flex-start !important; }
  .menu__logo { position: static !important; flex: none; padding: 0 10px 0 16px; height: 100%; }
  .menu__logo span { display: none; }
  .menu__links { flex: 1 1 auto; min-width: 0; height: 100%; overflow-x: auto; scrollbar-width: none; gap: 20px !important; padding: 0 14px 0 4px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 22px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 22px), transparent 100%); }
  .menu__links::-webkit-scrollbar { display: none; }
  .menu__links a { flex: none; font-size: 14px !important; white-space: nowrap; }
  .menu a.menu__book { position: static !important; transform: none !important; flex: none; height: 34px; margin-right: 12px; padding: 0 12px; font-size: 13px !important; color: #F8F2E8 !important; }
}
@media (max-width: 1099px) { .menu a.menu__logo { padding: 0 10px 0 16px; } .menu__links a { padding: 8px 0 !important; } }

/* баннер согласия на cookie на телефоне: текст, ссылка и кнопки друг под другом */
@media (max-width: 1099px) {
  .consent { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; padding: 16px var(--pad) calc(16px + env(safe-area-inset-bottom)) !important; }
  .consent__t { max-width: none !important; font-size: 14px !important; line-height: 1.45 !important; }
  .consent__l { font-size: 14px !important; }
  .consent__b { gap: 10px !important; }
  .consent__b button { flex: 1; min-height: 44px; font-size: 14px !important; }
}
/* плашка cookie на телефоне — та же стеклянная карточка, с отступами от краёв */
@media (max-width: 1099px) {
  .consent { width: calc(100% - 20px) !important; bottom: calc(10px + env(safe-area-inset-bottom)) !important; padding: 16px 16px 14px !important; border-radius: 22px !important; gap: 10px !important; }
  .consent__t, .consent__l { font-size: 14px !important; }
  .consent__b button { min-height: 44px; border-radius: 999px; }
}
@media (max-width: 1099px) { .consent__b button { padding: 0 10px !important; white-space: nowrap; font-size: 14px !important; } }
/* ближайший вечер на телефоне — в нижней половине обложки, между «Le Salon» и именем */
@media (max-width: 1099px) {
  #zh01 .cv-next { position: absolute !important; left: 0 !important; right: 0 !important; width: auto !important; top: calc(50% + 138px) !important; margin: 0 !important; padding: 0 24px; gap: 6px; }
  #zh01 .cv-next__t { font-size: 34px !important; }
  #zh01 .cv-next__d { font-size: 10px !important; }
  #zh01 .cv-next__n { display: none; }
}

/* ── 24.10 · обложка на невысоких экранах: ничего не наезжает ──
   Имя дома зависит от высоты экрана, вечер ставится от низа — сразу над
   именем, а не от середины. Так на iPhone SE и в Safari с панелями текст
   не залезает на MAISON ROUGE. */
@media (max-width: 1099px) {
  #zh01 { --nm: min(72px, 8svh); }
  #zh01 .cv-name { font-size: var(--nm) !important; line-height: .9 !important; bottom: 40px !important; }
  #zh01 .cv-next { top: auto !important; bottom: calc(40px + var(--nm) * 1.8 + 14px) !important; gap: 4px !important; }
  #zh01 .cv-next__t { font-size: min(34px, 3.8svh) !important; }
  #zh01 .cv-sign + .cv-sign { top: calc(50% + 50px) !important; }
  #zh01 .cv-sign span { font-size: min(30px, 3.6svh) !important; }
}
/* шеф: на узкой колонке выключка по ширине даёт дыры между словами — влево */
@media (max-width: 1099px) {
  #zh03 .rm-restaurant-chef__lead, #zh03 .rm-restaurant-chef__path { text-align: left !important; text-align-last: auto !important; }
  #zh03 .rm-restaurant-chef__lead { font-size: 21px !important; line-height: 1.25 !important; }
}
/* меню-обложка: список тарелок не заходит на кружок с кисточкой внизу обложки */
@media (max-width: 1099px) {
  #zh04 .mr-card__over { height: 330px !important; margin-top: -397px !important; }
  #zh04 .mr-card__list button { font-size: 18px !important; }
}
@media (max-width: 1099px) { #zh04 .mr-card__over { padding-top: 132px !important; } }

/* ── Мобильные сцены (24.10, mscene.js): Ж02 дом → текст, Ж03 соус → шеф ──
   Обложка разворота липнет к верху и при прокрутке на 70% экрана уезжает
   вверх; страница под ней начинается ровно там, где обложка ушла. */
@media (max-width: 1099px) {
  .m-scene { overflow: clip !important; }
  .m-scene .sheet > .m-cover { order: 0 !important; flex: 0 0 100% !important; position: sticky !important; top: 48px; z-index: 6;
    height: calc(100svh - 48px); margin: 0 0 calc(48px - 30svh) 0 !important; overflow: hidden; background: #0E0B0A;
    transform: translate3d(0, calc(var(--p, 0) * -100%), 0); will-change: transform; }
  .m-cover > figure { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; }
  .m-cover > figure img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1 + var(--p, 0) * .12)); transform-origin: 50% 30%; }
  .m-cover::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
    background: linear-gradient(0deg, rgba(14,8,8,.78) 0%, rgba(14,8,8,.25) 38%, transparent 62%); }
  .m-cover > :not(figure) { position: absolute !important; left: 0 !important; right: 0 !important; top: auto !important; bottom: 56px !important; width: auto !important; height: auto !important;
    margin: 0 !important; padding: 0 24px; z-index: 2; text-align: center; align-items: center;
    opacity: calc(1 - var(--p, 0) * 2.6); transform: translateY(calc(var(--p, 0) * -40px)); }
  /* подсказка «листайте» внизу обложки */
  .m-cover::before { content: "↓"; position: absolute; left: 50%; bottom: 18px; z-index: 2; transform: translateX(-50%); color: #F8F2E8cc; font: 300 20px/1 "Spectral", serif;
    opacity: calc(1 - var(--p, 0) * 5); animation: m-hint 2.2s ease-in-out infinite; }
  @keyframes m-hint { 0%, 100% { translate: 0 0; } 50% { translate: 0 6px; } }
  /* Ж02: адрес крупно на доме */
  #zh02 .m-cover > .col .fs { font-size: 38px !important; white-space: normal !important; line-height: 1.05 !important; }
  #zh02 .m-cover > .col .cr { display: block !important; margin-top: 10px; font-size: 11px; letter-spacing: .16em; }
  /* Ж03: имя дома на соусе */
  #zh03 .m-cover > .rm-restaurant-chef__logo-left { display: flex !important; }
}
@media (max-width: 1099px) {
  .m-cover > :not(figure) { opacity: calc(1 - var(--p, 0) * 2.6) !important; transform: translateY(calc(var(--p, 0) * -40px)) !important; transition: none !important; }
  .m-cover { box-shadow: 0 18px 40px rgba(0,0,0,.25); }
}
/* страница под обложкой не прячется: обложка уходит быстрее, чем подъезжает текст, заголовок разворота всегда виден */
@media (max-width: 1099px) { .m-scene .sheet > .m-cover { margin-bottom: 0 !important; } }

/* ── Ж05 бар на телефоне (24.10): LE BAR крупно снизу, за ним «живые» бармены ──
   Пять кадров из ролика сменяют друг друга по 5 с с медленным наездом,
   без видео (≈360 КБ против 3 МБ). */
.m-barm { display: none; }
@media (max-width: 1099px) {
  #zh05 .sheet > .v2-media { height: calc(100svh - 48px) !important; margin-bottom: 36px !important; background: #0E0B0A; }
  .m-barm { display: block; position: absolute; inset: 0; overflow: hidden; }
  .m-barm img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0;
    animation: m-barm 25s linear infinite; animation-delay: calc(var(--i) * 5s - 0.01s); }
  .m-barm::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(14,8,8,.82) 0%, rgba(14,8,8,.2) 40%, transparent 60%); }
  @keyframes m-barm {
    0% { opacity: 0; transform: scale(1.04) translateY(0); }
    4% { opacity: 1; }
    20% { opacity: 1; }
    24% { opacity: 0; transform: scale(1.16) translateY(-2%); }
    100% { opacity: 0; transform: scale(1.16) translateY(-2%); }
  }
  #zh05 .bj-giant { top: auto !important; bottom: calc(100svh - 48px - (100svh - 48px) + 36px + 24px) !important; }
  #zh05 .bj-giant { position: absolute !important; top: calc(100svh - 48px - 150px) !important; bottom: auto !important; font-size: 112px !important; color: #E8B9B4 !important; z-index: 4; }
  @media (prefers-reduced-motion: reduce) { .m-barm img { animation: none; } .m-barm img:first-child { opacity: 1; } }
}
@media (max-width: 1099px) {
  .m-barm::after { z-index: 1; }
  #zh05 .bj-giant { font-size: 92px !important; letter-spacing: .02em !important; top: calc(100svh - 48px - 128px) !important; color: #F3D9D2 !important; white-space: nowrap; }
}
@media (max-width: 1099px) { .m-barm img { z-index: 0 !important; } }

/* ── Ж07 события на телефоне (24.10): карточки + шторка с постером ── */
@media (max-width: 1099px) {
  #zh07 .v2-ag3__ad, #zh07 .v2-ag3__mark, #zh07 .v2-ag3__paper { display: none !important; }
  #zh07 .sheet { padding-top: 32px !important; }
  #zh07 .v2-ag3__head { order: 1 !important; }
  #zh07 .v2-ag3__shot[data-poster], #zh07 .v2-ag3__item[data-poster] { cursor: pointer; }
  #zh07 .v2-ag3__shot[data-poster] { height: 132px !important; flex-basis: 36% !important; }
  #zh07 .v2-ag3__item[data-poster] { position: relative; padding-right: 22px; }
  #zh07 .v2-ag3__item[data-poster]::after { content: "→"; position: absolute; right: 0; top: 50%; translate: 0 -50%; color: #A51C1F; font: 400 18px/1 "Spectral", serif; }
  #zh07 .v2-ag3__date b { font-size: 46px !important; }
  #zh07 .v2-ag3__n { font-size: 22px !important; }
  #zh07 .v2-ag3__d { font-size: 13.5px !important; line-height: 1.4 !important; }
}
.m-sheet { position: fixed; inset: 0; z-index: 300; }
.m-sheet[hidden] { display: none; }
.m-sheet__bg { position: absolute; inset: 0; background: rgba(14,8,8,.55); opacity: 0; transition: opacity .3s; }
.m-sheet__panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 92svh; overflow-y: auto; overscroll-behavior: contain; outline: none;
  background: #FAF8F4; border-radius: 18px 18px 0 0; transform: translateY(100%); transition: transform .34s cubic-bezier(.22,1,.36,1); padding-bottom: env(safe-area-inset-bottom); }
.m-sheet.is-open .m-sheet__bg { opacity: 1; }
.m-sheet.is-open .m-sheet__panel { transform: none; }
.m-sheet__grip { position: absolute; left: 50%; top: 8px; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: #F8F2E8aa; z-index: 2; }
.m-sheet__x { position: absolute; right: 10px; top: 10px; z-index: 2; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(14,8,8,.55); color: #FFF; font: 300 26px/1 sans-serif; cursor: pointer; }
.m-sheet__poster { margin: 0; aspect-ratio: 2 / 3; max-height: 62svh; width: 100%; overflow: hidden; border-radius: 18px 18px 0 0; background: #111; }
.m-sheet__poster img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.m-sheet__body { padding: 20px 24px 28px; text-align: center; }
.m-sheet__date { margin: 0; font: 700 11px/1.4 "HK Grotesk", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #A51C1F; }
.m-sheet__t { margin: 8px 0 0; font: italic 400 32px/1.05 "Cormorant Garamond", Georgia, serif; color: #111; }
.m-sheet__d { margin: 10px auto 0; max-width: 34em; font: 400 15px/1.45 "Spectral", Georgia, serif; color: #2A2320; }
.m-sheet__btn { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; margin: 20px 0 0; background: #6B171D; color: #F8F2E8; text-decoration: none; font: 400 16px/1 "Spectral", Georgia, serif; }
html.m-sheet-on, html.m-sheet-on body { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .m-sheet__panel, .m-sheet__bg { transition: none; } }

/* ── Ж04 меню на телефоне (24.10): кадр блюда, под ним таблетки-вкладки ── */
@media (max-width: 1099px) {
  #zh04 .mr-cover, #zh04 .mr-card__h, #zh04 .sheet > .rm-restaurant-chef__logo-left { display: none !important; }
  #zh04 .v2-stack { order: 1 !important; height: min(calc(var(--col) * 1.15), 64svh) !important; margin-bottom: 26px !important; }
  #zh04 .mr-cuisine2 { order: 2 !important; font-size: 46px !important; margin-bottom: 16px !important; }
  #zh04 .mr-card__over { order: 3 !important; flex: 0 0 100% !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; }
  #zh04 .mr-card__over::before, #zh04 .mr-card__over::after { display: none !important; }
  #zh04 .mr-card__list { display: flex !important; gap: 8px; margin: 0 !important; padding: 2px var(--pad) 6px !important; overflow-x: auto; scrollbar-width: none; list-style: none; scroll-snap-type: x proximity; }
  #zh04 .mr-card__list::-webkit-scrollbar { display: none; }
  #zh04 .mr-card__list li { flex: none; scroll-snap-align: start; margin: 0 !important; }
  #zh04 .mr-card__list button { display: block; white-space: nowrap; padding: 10px 16px !important; border: 1px solid #1E171533 !important; border-radius: 999px !important;
    font: 400 15px/1 "Spectral", Georgia, serif !important; font-style: normal !important; color: #1E1715 !important; background: #FFF !important; }
  #zh04 .mr-card__list button[aria-current="true"] { background: #6B171D !important; border-color: #6B171D !important; color: #F8F2E8 !important; }
  #zh04 .mr-dish { order: 4 !important; margin-top: 18px !important; min-height: 96px; }
  #zh04 a.rm-restaurant-chef__menu { order: 5 !important; }
}

/* ── Ж06 салон на телефоне: только правая страница ── */
@media (max-width: 1099px) {
  #zh06 .sheet > .v2-media:first-of-type, #zh06 .sheet > .rm-restaurant-chef__logo-left { display: none !important; }
  #zh06 .sheet { padding-top: 36px !important; }
  #zh06 .v2-centre__t1 { order: 1 !important; } #zh06 .v2-centre__t2 { order: 2 !important; }
  #zh06 .v2-media:not(:first-of-type) { order: 3 !important; }
  #zh06 .v2-centre__body { order: 4 !important; } #zh06 .v2-centre__prog { order: 5 !important; }
}

/* ── Ж08 аренда на телефоне: зал со вкладками, потом статья без второго фото ── */
@media (max-width: 1099px) {
  #zh08 .le8-ph, #zh08 .le8-cap { display: none !important; }
  #zh08 .le8-h { margin-top: 4px; }
  #zh08 .le8-cols { margin-top: 20px !important; }
}

/* ── Ж09 контакты на телефоне: всё на бархате, маленькая карта внизу ── */
@media (max-width: 1099px) {
  #zh10 .sheet { padding-top: 40px !important; }
  #zh10 .rm-kicker { order: 1 !important; } #zh10 .v2-back__name { order: 2 !important; }
  #zh10 .rm-back__address { order: 3 !important; } #zh10 .rm-back__details { order: 4 !important; } #zh10 .mr-end__social { order: 5 !important; }
  #zh10 a.rm-restaurant-chef__menu { order: 6 !important; }
  #zh10 .v2-back__map { order: 7 !important; flex: 0 0 calc(100% - 2 * var(--pad)) !important; height: 34svh !important; margin: 26px var(--pad) 0 !important; cursor: pointer; border-radius: 4px; }
  #zh10 .v2-back__map figcaption { font-size: 9px !important; }
  #zh10 .end-shade { display: none !important; }
  #zh10 .end-slogan { order: 8 !important; position: static !important; margin: 26px var(--pad) 0 !important; flex-basis: calc(100% - 2 * var(--pad)) !important; font-size: 32px !important; }
  #zh10 .mr-end__legal { order: 9 !important; }
}
@media (max-width: 1099px) { #zh04 .mr-card__list { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: flex-start !important; } #zh04 .mr-card__over { display: block !important; } }

/* ── Ж05 · «три бармена за буквами LE BAR» (24.10) ──
   Верх букв — линия стойки: корпус над ней, ноги видны только в просветах.
   Слово — SVG с textLength и preserveAspectRatio="none": растянуто по ширине
   экрана и по высоте блока, шрифт тот же, что на десктопе (Druzhok). */
.m-barmen { display: none; }
@media (max-width: 1099px) {
  #zh05 .sheet > .v2-media { background: #FFF !important; }
  #zh05 .m-barm, #zh05 .bj-giant { display: none !important; }
  .m-barmen { display: block; position: absolute; inset: 0; overflow: hidden; background: #FFF; --counter: 46%; }
  .m-barmen::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 12%; z-index: 3; background: linear-gradient(0deg, #FFF 15%, rgba(255,255,255,0)); pointer-events: none; }
  .m-barmen__crew { position: absolute; left: 0; right: 0; top: calc(var(--counter) - 22%); height: 54%; z-index: 1; display: flex; justify-content: center; align-items: flex-start; }
  .m-barmen__b { height: 100%; width: auto; flex: none; transform-origin: 50% 46%; will-change: transform, opacity; }
  .m-barmen__b--1 { height: 100%; margin-right: -9%; margin-top: 0; z-index: 1; }
  .m-barmen__b--2 { height: 95%; margin-top: 2.2%; z-index: 0; }
  .m-barmen__b--3 { height: 99%; margin-left: -9%; margin-top: .6%; z-index: 1; }
  .m-barmen__word { position: absolute; left: 12px; right: 12px; top: var(--counter); bottom: 3%; width: calc(100% - 24px); height: auto; z-index: 2; overflow: visible; }
  .m-barmen__word text { font: 400 1000px/1 "Druzhok", serif; fill: #A51C1F; }

  /* появление: буквы поднимаются из-за «стойки», бармены проявляются из размытия */
  .m-barmen__word { clip-path: inset(0 0 0 0); }
  #zh05:not(.m-bar-in) .m-barmen__word { transform: translateY(18%); opacity: 0; }
  #zh05:not(.m-bar-in) .m-barmen__b { opacity: 0; filter: blur(10px); }
  #zh05 .m-barmen__word { transition: transform 1.1s cubic-bezier(.22,1,.36,1), opacity .6s ease; }
  #zh05 .m-barmen__b { transition: opacity .9s ease, filter 1s ease; }
  #zh05 .m-barmen__b--1 { transition-delay: .45s; } #zh05 .m-barmen__b--2 { transition-delay: .7s; } #zh05 .m-barmen__b--3 { transition-delay: .95s; }
  /* «живое» движение: у каждого свой ритм */
  #zh05.m-bar-in .m-barmen__b--1 { animation: m-shake 1.9s ease-in-out 1.6s infinite; }
  #zh05.m-bar-in .m-barmen__b--2 { animation: m-stir 3.3s ease-in-out 1.9s infinite; }
  #zh05.m-bar-in .m-barmen__b--3 { animation: m-pour 2.7s ease-in-out 2.2s infinite; }
  #zh05.m-bar-off .m-barmen__b { animation-play-state: paused !important; }
  @keyframes m-shake { 0%,100% { transform: rotate(0) translateY(0); } 25% { transform: rotate(-1.6deg) translateY(-.6%); } 50% { transform: rotate(.4deg) translateY(.2%); } 75% { transform: rotate(-1.1deg) translateY(-.4%); } }
  @keyframes m-stir { 0%,100% { transform: rotate(0) translateX(0); } 50% { transform: rotate(.9deg) translateX(.8%); } }
  @keyframes m-pour { 0%,100% { transform: rotate(0); } 40%,60% { transform: rotate(1.8deg) translateY(.5%); } }
  @media (prefers-reduced-motion: reduce) { #zh05 .m-barmen__b, #zh05 .m-barmen__word { animation: none !important; transition: none !important; opacity: 1 !important; filter: none !important; transform: none !important; } }
}
@media (max-width: 1099px) {
  .remix .m-barmen__crew img.m-barmen__b { width: auto !important; max-width: none !important; object-fit: contain !important; position: static !important; }
  .remix .m-barmen__crew img.m-barmen__b--1 { height: 100% !important; } .remix .m-barmen__crew img.m-barmen__b--2 { height: 95% !important; } .remix .m-barmen__crew img.m-barmen__b--3 { height: 99% !important; }
}
@media (max-width: 1099px) { .m-barmen__word { bottom: 4% !important; } .m-barmen::after { height: 9%; } }
@media (max-width: 1099px) {
  .remix .m-barmen svg.m-barmen__word { position: absolute !important; top: var(--counter) !important; bottom: auto !important; height: calc(100% - var(--counter) - 4%) !important; width: calc(100% - 24px) !important; z-index: 4 !important; }
  .remix .m-barmen .m-barmen__crew { z-index: 1 !important; }
  .m-barmen::after { z-index: 5 !important; }
}
@media (max-width: 1099px) {
  .m-barmen { --counter: 45%; }
  .m-barmen__crew { top: calc(var(--counter) - 26%) !important; height: 62% !important; }
  .m-barmen__word text { stroke: #A51C1F; stroke-width: 70px; stroke-linejoin: miter; paint-order: stroke; }
}
@media (max-width: 1099px) {
  .m-barmen__word text { stroke-width: 26px; }
  .m-barmen__crew { top: calc(var(--counter) - 24%) !important; height: 56% !important; }
  .remix .m-barmen__crew img.m-barmen__b--1 { margin-right: -13% !important; }
  .remix .m-barmen__crew img.m-barmen__b--3 { margin-left: -13% !important; }
}
@media (max-width: 1099px) { #zh05 .sheet > .v2-media { height: min(calc(100svh - 48px), 152vw) !important; } .m-barmen { --counter: 40%; } .m-barmen__crew { top: calc(var(--counter) - 25%) !important; height: 60% !important; } }
@media (max-width: 1099px) { .m-barmen__crew { top: calc(var(--counter) - 26%) !important; height: 63% !important; } }

/* ── Телефон: шапка убрана, меню по кнопке (24.10) ── */
.m-burger, .m-nav { display: none; }
@media (max-width: 1099px) {
  .menu { display: none !important; }
  .spread:first-of-type { padding-top: 0 !important; }
  #zh01 .sheet { margin-top: 0 !important; height: 100svh !important; }
  .m-scene .sheet > .m-cover { top: 0 !important; height: 100svh !important; }
  #zh05 .sheet > .v2-media { height: min(100svh, 152vw) !important; }
  .spread { scroll-margin-top: 0 !important; }
  .m-burger { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; position: fixed; top: calc(12px + env(safe-area-inset-top)); right: 12px; z-index: 320;
    width: 48px; height: 48px; border: 0; border-radius: 50%; cursor: pointer;
    background: rgba(255,255,255,.62); -webkit-backdrop-filter: blur(16px) saturate(180%); backdrop-filter: blur(16px) saturate(180%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.6), 0 6px 20px rgba(20,10,10,.25); }
  .m-burger i { display: block; width: 20px; height: 1.5px; background: #1E1715; transition: transform .3s cubic-bezier(.22,1,.36,1); }
  html.m-nav-on .m-burger { background: rgba(248,242,232,.14); box-shadow: inset 0 0 0 1px rgba(248,242,232,.35); }
  html.m-nav-on .m-burger i { background: #F8F2E8; }
  html.m-nav-on .m-burger i:first-child { transform: translateY(3.75px) rotate(45deg); }
  html.m-nav-on .m-burger i:last-child { transform: translateY(-3.75px) rotate(-45deg); }
  .m-nav { display: flex; flex-direction: column; position: fixed; inset: 0; z-index: 310; overflow-y: auto; padding: calc(22px + env(safe-area-inset-top)) 28px calc(28px + env(safe-area-inset-bottom));
    background: #6B171D url("media/v2/paper/wine-dragonflies.jpg") 50% 0 / 420px auto repeat; color: #F8F2E8;
    opacity: 0; transform: translateY(-12px); transition: opacity .3s ease, transform .35s cubic-bezier(.22,1,.36,1); }
  .m-nav[hidden] { display: none; }
  .m-nav.is-open { opacity: 1; transform: none; }
  .m-nav__logo { display: flex; align-items: center; gap: 10px; color: #F8F2E8; text-decoration: none; min-height: 48px; }
  .m-nav__logo svg { width: 26px; height: 26px; color: #F8F2E8; }
  .m-nav__logo span { font: 400 17px/1 "Druzhok", "Cormorant Garamond", serif; letter-spacing: .08em; text-transform: uppercase; }
  .m-nav__links { display: flex; flex-direction: column; margin: 28px 0 0; }
  .m-nav__links a { display: flex; align-items: baseline; gap: 14px; padding: 9px 0; color: #F8F2E8; text-decoration: none; font: italic 400 32px/1.1 "Cormorant Garamond", Georgia, serif; }
  .m-nav__links a small { flex: 0 0 22px; font: 700 10px/1 "HK Grotesk", sans-serif; letter-spacing: .12em; font-style: normal; color: #E8C2BC; }
  .m-nav__links a[aria-current] { color: #FFF; } .m-nav__links a[aria-current] small { color: #FFF; }
  .m-nav.is-open .m-nav__links a { animation: m-nav-in .5s cubic-bezier(.22,1,.36,1) both; }
  .m-nav.is-open .m-nav__links a:nth-child(2) { animation-delay: .03s; } .m-nav.is-open .m-nav__links a:nth-child(3) { animation-delay: .06s; } .m-nav.is-open .m-nav__links a:nth-child(4) { animation-delay: .09s; }
  .m-nav.is-open .m-nav__links a:nth-child(5) { animation-delay: .12s; } .m-nav.is-open .m-nav__links a:nth-child(6) { animation-delay: .15s; } .m-nav.is-open .m-nav__links a:nth-child(7) { animation-delay: .18s; } .m-nav.is-open .m-nav__links a:nth-child(8) { animation-delay: .21s; }
  @keyframes m-nav-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
  .m-nav__book { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; margin-top: auto; padding-top: 0; background: #F8F2E8; color: #6B171D; text-decoration: none; font: 400 17px/1 "Spectral", Georgia, serif; }
  .m-nav__links { margin-bottom: 32px; }
  .m-nav__tel { margin-top: 18px; text-align: center; color: #F8F2E8; text-decoration: none; font: 500 15px/1 "HK Grotesk", sans-serif; letter-spacing: .08em; }
  .m-nav__addr { margin: 10px 0 0; text-align: center; font: 400 12px/1.4 "HK Grotesk", sans-serif; letter-spacing: .06em; color: #E8C2BC; }
  html.m-nav-on, html.m-nav-on body { overflow: hidden; }
  @media (prefers-reduced-motion: reduce) { .m-nav, .m-nav__links a { transition: none !important; animation: none !important; } }
}

/* ── Обложка на телефоне (24.10): MAISON над стыком, ROUGE под ним, печать между ── */
@media (max-width: 1099px) {
  #zh01 .cv-name { position: static !important; display: contents !important; }
  #zh01 .cv-name span { position: absolute !important; left: 0; right: 0; z-index: 3; text-align: center; font: 400 min(70px, 18vw)/1 "Druzhok", serif !important; letter-spacing: .04em; color: #F8F2E8; }
  #zh01 .cv-name span:first-child { bottom: calc(50% + 58px); }
  #zh01 .cv-name span:last-child { top: calc(50% + 58px); }
  #zh01 .cv-seal { top: calc(50% - 46px) !important; left: calc(50% - 46px) !important; width: 92px !important; height: 92px !important; }
  #zh01 .cv-sign { top: calc(28px + env(safe-area-inset-top)) !important; padding-right: 56px; padding-left: 56px; }
  #zh01 .cv-sign + .cv-sign { top: auto !important; bottom: 56px !important; }
  #zh01 .cv-next { top: calc(50% + 58px + min(70px, 18vw) + 22px) !important; bottom: auto !important; }
  #zh01 .cv-addr { bottom: 22px !important; }
  #zh01 .cv-shade { background: linear-gradient(180deg, rgba(14,8,8,.45) 0%, rgba(14,8,8,.1) 22%, rgba(14,8,8,.35) 44%, rgba(14,8,8,.35) 56%, rgba(14,8,8,.1) 78%, rgba(14,8,8,.55) 100%) !important; }
}
@media (max-width: 1099px) {
  #zh01 .cv-sign { padding: 0 60px !important; }
  #zh01 .cv-sign span { font-size: min(25px, 6.2vw) !important; white-space: nowrap; letter-spacing: .12em !important; }
  #zh01 .cv-sign small { font-size: 9px !important; white-space: nowrap; letter-spacing: .1em !important; }
  #zh01 .cv-sign + .cv-sign { padding: 0 16px !important; }
}
@media (max-width: 1099px) { #h1 .sheet { margin-top: 0 !important; height: 100svh !important; } #h1 .hp-sub { padding-right: 70px; } }

/* ── 24.10 · телефон листается разворотами: один жест — один разворот ── */
@media (max-width: 1099px) {
  html { scroll-snap-type: y mandatory !important; }
  .spread { scroll-snap-align: start !important; scroll-snap-stop: always !important; }
  #zh01 .cv-addr { display: none !important; }

  /* обложка разворота — шторка поверх первого экрана, уезжает вверх (класс m-open ставит mscene.js) */
  .m-scene .sheet { position: relative !important; }
  .m-scene .sheet > .m-cover { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 100svh !important; margin: 0 !important; z-index: 20 !important;
    transform: translate3d(0, 0, 0) !important; transition: transform 1s cubic-bezier(.76,0,.24,1), visibility 0s linear 1s; visibility: visible !important; box-shadow: 0 20px 50px rgba(0,0,0,.3); }
  .m-scene.m-open .sheet > .m-cover { transform: translate3d(0, -101%, 0) !important; visibility: hidden !important; }
  .m-scene:not(.m-open) .sheet > .m-cover { transition: none; }
  .m-cover > :not(figure) { opacity: 1 !important; transform: none !important; }
  .m-cover > figure img { transform: scale(1.04); transition: transform 1.4s ease; }
  .m-scene.m-open .m-cover > figure img { transform: scale(1.12); }
  .m-cover::before { display: none !important; }

  /* Ж02 · страница целиком в один экран */
  #zh02 .sheet { height: 100svh !important; min-height: 0 !important; padding: calc(2.6svh + env(safe-area-inset-top)) 0 0 !important; overflow: hidden; display: block !important; }
  #zh02 .sheet > .col[style*="--t"] { position: relative !important; display: flex !important; flex-direction: column; gap: 1.4svh !important; margin: 0 22px !important; height: calc(100svh - 4.6svh); }
  #zh02 .sheet > .col h2 { font-size: min(4.3svh, 38px) !important; line-height: 1.02 !important; padding-right: 54px; margin: 0 !important; }
  #zh02 .grid { flex: none; height: 15.5svh !important; grid-template-columns: 1fr 1fr !important; }
  #zh02 .grid figure { aspect-ratio: auto !important; height: 100% !important; }
  #zh02 .grid figure img { width: 100%; height: 100%; object-fit: cover; }
  #zh02 .sheet > .col .col.center { flex: none; }
  #zh02 .sheet > .col .cap { font-size: min(1.25svh, 11px) !important; }
  #zh02 .cols { columns: 1 !important; font-size: min(1.72svh, 15px) !important; line-height: 1.42 !important; margin: 0 !important; }
  #zh02 .cols p { margin: 0 !important; }
  #zh02 .cols .drop { font-size: min(5.6svh, 48px) !important; }
  #zh02 .cols p.sign { margin-top: .8svh !important; }
  #zh02 .sign__mark { height: min(6.6svh, 60px) !important; width: auto !important; }
  #zh02 .cr.sign-credit { display: block !important; font-size: min(1.2svh, 10.5px) !important; letter-spacing: .12em; margin-top: .4svh !important; }
}
@media (max-width: 1099px) {
  #zh02 .grid { height: 19svh !important; }
  #zh02 .cols { font-size: min(1.86svh, 15.5px) !important; }
  #zh02 .sheet > .col[style*="--t"] { gap: 1.7svh !important; justify-content: center; padding-bottom: 2svh; }
}
@media (max-width: 1099px) { #zh02 .grid { height: 17.5svh !important; } }

/* ── 24.10 · колода: разворот = экран (высота из innerHeight), лишнее крутится внутри ── */
@media (max-width: 1099px) {
  html.m-deck { scroll-snap-type: none !important; overscroll-behavior-y: none; }
  html.m-deck .spread { height: var(--deck-h, var(--app-h, 100svh)) !important; min-height: 0 !important; overflow: hidden !important; scroll-snap-align: none !important; }
  html.m-deck .spread > .sheet { height: 100% !important; min-height: 0 !important; overflow-y: auto !important; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  html.m-deck .spread > .sheet::-webkit-scrollbar { display: none; }
  html.m-deck #zh01 .sheet { height: var(--app-h, 100svh) !important; overflow: hidden !important; }
  html.m-deck .m-scene .sheet > .m-cover { height: var(--app-h, 100svh) !important; }
  html.m-deck #zh02 .sheet { height: var(--app-h, 100svh) !important; overflow: hidden !important; }
  html.m-deck #zh02 .sheet > .col[style*="--t"] { height: calc(var(--app-h, 100svh) - 4.6svh) !important; }
  html.m-deck #zh05 .sheet > .v2-media { height: min(var(--app-h, 100svh), 152vw) !important; }
}
@media (max-width: 1099px) { html.m-deck { scroll-behavior: auto !important; } }
@media (max-width: 1099px) { html.m-deck .spread > .sheet { padding-bottom: 20px !important; } html.m-deck #zh01 .sheet, html.m-deck #zh02 .sheet { padding-bottom: 0 !important; } }
@media (max-width: 1099px) { #zh02 .sheet > .col[style*="--t"] { justify-content: flex-start !important; } html.m-deck #zh02 .sheet { padding-top: calc(3.2svh + env(safe-area-inset-top)) !important; } }
/* 24.10: шторка уходит влево и быстрее — дом не главный герой, не путается со скроллом */
@media (max-width: 1099px) {
  .m-scene .sheet > .m-cover { transition: transform .75s cubic-bezier(.65,0,.35,1), visibility 0s linear .75s !important; }
  .m-scene.m-open .sheet > .m-cover { transform: translate3d(-101%, 0, 0) !important; }
  .m-scene:not(.m-open) .sheet > .m-cover { transition: none !important; }
  .m-scene.m-open .m-cover > figure img { transform: scale(1.04) translateX(6%); }
}

/* ── Ж03 · карандашный Антон (24.10) ── */
.m-chef { display: none; }
@media (max-width: 1099px) {
  #zh03 .sheet > .m-chef { display: block; order: 0 !important; flex: 0 0 100% !important; position: relative !important; height: var(--app-h, 100svh); overflow: hidden; background: #FFF; margin: 0 0 28px; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
  #zh03 .sheet > figure.slot--photo, #zh03 .sheet > .rm-restaurant-chef__logo-left { display: none !important; }
  .m-chef__art { position: absolute; left: 50%; bottom: 0; height: 82%; aspect-ratio: 1024 / 1536; margin-left: calc(-0.5 * 82 * var(--app-h, 100svh) / 100 * 1024 / 1536 + 30px); will-change: transform; }
  .m-chef__anton { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
  .m-chef__flame { position: absolute; left: 44%; bottom: calc(100% - 40.5%); width: 46%; transform: translateX(-50%); transform-origin: 50% 100%; mix-blend-mode: multiply;
    animation: m-flame 1.6s ease-in-out infinite, m-flicker .23s steps(2) infinite; }
  @keyframes m-flame { 0%,100% { transform: translateX(-50%) scale(1, 1) skewX(0); } 25% { transform: translateX(-51%) scale(.96, 1.08) skewX(-2deg); } 50% { transform: translateX(-49%) scale(1.03, .94) skewX(1.5deg); } 75% { transform: translateX(-50%) scale(.98, 1.12) skewX(-1deg); } }
  @keyframes m-flicker { 0% { opacity: 1; } 100% { opacity: .9; } }
  .m-chef__head { position: absolute; left: 22px; top: calc(22px + env(safe-area-inset-top)); z-index: 2; }
  .m-chef__kick { margin: 0; font: 700 10px/1 "HK Grotesk", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #A51C1F; }
  .m-chef__name { margin: 10px 0 0; font: 400 min(46px, 12vw)/.95 "Cormorant Garamond", Georgia, serif; color: #111; letter-spacing: -.01em; }
  .m-chef__award { position: absolute; left: 22px; top: 34%; z-index: 2; margin: 0; font: italic 400 17px/1.15 "Cormorant Garamond", Georgia, serif; color: #111; }
  .m-chef__award span { display: block; margin-top: 6px; font: 700 9.5px/1.3 "HK Grotesk", sans-serif; font-style: normal; letter-spacing: .14em; text-transform: uppercase; color: #6E625C; }
  .m-chef__hint { position: absolute; left: 22px; bottom: 54px; z-index: 2; margin: 0; font: 400 11px/1 "HK Grotesk", sans-serif; letter-spacing: .1em; color: #998D86; }
  .m-chef__hint::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border: 1px solid currentColor; border-radius: 50%; vertical-align: -1px; animation: m-pulse 1.8s ease-in-out infinite; }
  @keyframes m-pulse { 50% { transform: scale(1.5); opacity: .4; } }
  .m-chef__more { position: absolute; left: 22px; bottom: 26px; z-index: 2; font: 400 11px/1 "HK Grotesk", sans-serif; letter-spacing: .1em; color: #998D86; }
  .m-chef__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 55% 40%; z-index: 5; opacity: 0; transition: opacity .45s ease; pointer-events: none; }
  .m-chef.is-photo .m-chef__photo { opacity: 1; }
  @media (prefers-reduced-motion: reduce) { .m-chef__flame { animation: none; } }
}
@media (max-width: 1099px) {
  .remix .m-chef img.m-chef__flame { width: 40% !important; height: auto !important; left: 44% !important; top: auto !important; bottom: 58.5% !important; z-index: 2; }
  .remix .m-chef img.m-chef__anton { position: absolute !important; z-index: 1; }
}
@media (max-width: 1099px) {
  .remix .m-chef img.m-chef__flame { mix-blend-mode: normal !important; width: 58% !important; left: 35% !important; bottom: 59% !important; filter: drop-shadow(0 0 18px rgba(255,140,40,.35)); }
}
@media (max-width: 1099px) {
  .remix .m-chef img.m-chef__flame { left: 47% !important; width: 52% !important; bottom: 57.5% !important; }
  .m-chef__award { top: auto !important; bottom: auto; top: calc(22px + env(safe-area-inset-top) + 118px) !important; font-size: 15px !important; }
  .m-chef__hint { bottom: 50px !important; font-size: 10px !important; }
  .m-chef__more { bottom: 26px !important; font-size: 10px !important; }
  .m-chef__art { margin-left: calc(-0.5 * 82 * var(--app-h, 100svh) / 100 * 1024 / 1536 + 46px) !important; }
}
@media (max-width: 1099px) { .remix .m-chef img.m-chef__flame { left: 45% !important; width: 40% !important; bottom: 57% !important; } }

/* ── Ж03 · шеф одной страницей (24.10): рисунок справа, текст слева, без второго экрана ── */
@media (max-width: 1099px) {
  html.m-deck #zh03 .sheet { overflow: hidden !important; padding: 0 !important; }
  #zh03 .sheet > :not(.m-chef) { display: none !important; }
  #zh03 .sheet > .m-chef { height: var(--app-h, 100svh) !important; margin: 0 !important; }
  .m-chef__art { left: auto !important; right: -24%; margin-left: 0 !important; height: 84% !important; bottom: 0 !important; }
  .m-chef__award { display: none; }
  .m-chef__head { max-width: 62%; }
  .m-chef__name { font-size: min(44px, 11.5vw) !important; }
  .m-chef__lead { position: absolute; left: 22px; width: 44%; bottom: calc(50px + 5.4svh + 92px); z-index: 2; margin: 0; font: 500 min(16px, 2.05svh)/1.22 "Cormorant Garamond", Georgia, serif; color: #111; }
  .m-chef__lead::first-letter { font-size: 1.9em; float: left; line-height: .8; padding: .08em .08em 0 0; color: #A51C1F; }
  .m-chef__lead em { color: #A51C1F; }
  .m-chef__path { position: absolute; left: 22px; width: 42%; bottom: calc(50px + 5.4svh + 34px); z-index: 2; margin: 0; font: 700 min(9.5px, 1.2svh)/1.55 "HK Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #6E625C; }
  .m-chef__path::before { content: "Путь шефа"; display: block; margin-bottom: 4px; color: #A51C1F; }
  .m-chef__btn { position: absolute; left: 22px; bottom: 50px; z-index: 6; display: flex; align-items: center; gap: 8px; height: 5.4svh; min-height: 44px; padding: 0 16px; background: #6B171D; color: #F8F2E8; text-decoration: none; font: 400 15px/1 "Spectral", Georgia, serif; }
  .m-chef__hint { bottom: 20px !important; }
  .m-chef__more { display: none; }
}
@media (max-width: 1099px) {
  .m-chef__art { right: calc(var(--app-h, 100svh) * .84 * 1024 / 1536 * -.24) !important; }
  .m-chef__lead { width: 41% !important; bottom: calc(50px + max(44px, 5.4svh) + 104px) !important; }
  .m-chef__path { width: 40% !important; bottom: calc(50px + max(44px, 5.4svh) + 26px) !important; }
}

/* ── Ж03 · насыщаем страницу шефа (24.10): бордовая арка за Антоном, тонкий круг, печать премии ── */
@media (max-width: 1099px) {
  .m-chef { background: #FAF6F0 !important; }
  .m-chef__arch { position: absolute; right: -2%; width: 60%; top: 21%; bottom: 0; z-index: 0; border-radius: 999px 999px 0 0;
    background: #7A1820 url("media/v2/paper/wine-dragonflies.jpg") 50% 0 / 300px auto repeat; box-shadow: inset 0 0 60px rgba(0,0,0,.35); will-change: transform; }
  .m-chef__ring { position: absolute; left: 14%; top: 30%; width: 92%; aspect-ratio: 1; z-index: 0; pointer-events: none; will-change: transform; }
  .m-chef__ring circle { fill: none; stroke: #A51C1F; stroke-width: .25; opacity: .75; }
  .m-chef__art { z-index: 1; }
  .remix .m-chef img.m-chef__anton { mix-blend-mode: multiply !important; }
  .m-chef__seal { position: absolute; right: 14px; top: 23%; z-index: 4; width: 86px; height: 86px; border-radius: 50%; display: grid; place-items: center; text-decoration: none;
    background: #F8F2E8; color: #6B171D; box-shadow: 0 8px 24px rgba(0,0,0,.28); will-change: transform; }
  .m-chef__seal svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: v2-seal-spin 26s linear infinite; }
  .m-chef__seal text { font: 600 10.5px/1 "HK Grotesk", sans-serif; letter-spacing: .1em; fill: currentColor; }
  .m-chef__seal b { font: italic 500 19px/1 "Cormorant Garamond", Georgia, serif; color: #A51C1F; }
  .m-chef__name { position: relative; }
  .m-chef__head::after { content: ""; display: block; width: 34px; height: 1px; margin-top: 14px; background: #A51C1F; }
  @media (prefers-reduced-motion: reduce) { .m-chef__seal svg { animation: none; } }
}
@media (max-width: 1099px) {
  .remix .m-chef img.m-chef__anton { mix-blend-mode: normal !important; }
  .m-chef__ring { display: none !important; }
}
@media (max-width: 1099px) { .m-chef__arch { width: 54% !important; } .m-chef__lead { width: 38% !important; } .m-chef__path { width: 38% !important; } }

/* ── Ж03 · имя крупной типографикой, путь Антона — маршрутом в пустом месте (24.10) ── */
@media (max-width: 1099px) {
  .m-chef__head { max-width: none !important; right: 22px; }
  .m-chef__head::after { display: none; }
  .m-chef__name { font-size: min(64px, 16.5vw, 7.6svh) !important; line-height: .9 !important; letter-spacing: -.02em !important; margin-top: 8px !important; }
  .m-chef__name::first-line { color: #111; }
  .m-chef__seal { top: calc(env(safe-area-inset-top) + 22px + min(64px, 16.5vw, 7.6svh) * 1.9 + 40px) !important; }
  .m-chef__route { position: absolute; left: 22px; width: 40%; top: calc(env(safe-area-inset-top) + 22px + min(64px, 16.5vw, 7.6svh) * 1.9 + 46px); z-index: 2; }
  .m-chef__route-h { margin: 0 0 1.2svh; font: 700 10px/1 "HK Grotesk", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #A51C1F; }
  .m-chef__route ol { list-style: none; margin: 0; padding: 0 0 0 16px; position: relative; }
  .m-chef__route ol::before { content: ""; position: absolute; left: 3px; top: .6em; bottom: 1.4em; width: 1px; background: linear-gradient(#A51C1F55, #A51C1F); }
  .m-chef__route li { position: relative; padding: 0 0 min(1.25svh, 11px); font: italic 400 min(17px, 2.15svh)/1.05 "Cormorant Garamond", Georgia, serif; color: #3A302C; }
  .m-chef__route li::before { content: ""; position: absolute; left: -16px; top: .42em; width: 7px; height: 7px; border-radius: 50%; background: #FAF6F0; border: 1px solid #A51C1F; }
  .m-chef__route li.is-now { padding-bottom: 0; font: italic 500 min(24px, 2.9svh)/1 "Cormorant Garamond", Georgia, serif; color: #A51C1F; }
  .m-chef__route li.is-now::before { width: 11px; height: 11px; left: -18px; top: .3em; background: #A51C1F; box-shadow: 0 0 0 4px #A51C1F22; }
  .m-chef__route li small { display: block; margin-top: 4px; font: 700 9px/1 "HK Grotesk", sans-serif; font-style: normal; letter-spacing: .16em; text-transform: uppercase; color: #6E625C; }
  /* маршрут прорисовывается при заходе на разворот */
  #zh03 .m-chef__route li { opacity: 0; transform: translateX(-6px); transition: opacity .5s ease, transform .5s ease; }
  #zh03.m-chef-in .m-chef__route li { opacity: 1; transform: none; }
  #zh03.m-chef-in .m-chef__route li:nth-child(2) { transition-delay: .08s; } #zh03.m-chef-in .m-chef__route li:nth-child(3) { transition-delay: .16s; }
  #zh03.m-chef-in .m-chef__route li:nth-child(4) { transition-delay: .24s; } #zh03.m-chef-in .m-chef__route li:nth-child(5) { transition-delay: .32s; } #zh03.m-chef-in .m-chef__route li:nth-child(6) { transition-delay: .5s; }
  #zh03 .m-chef__route ol::before { transform-origin: top; transform: scaleY(0); transition: transform .9s cubic-bezier(.22,1,.36,1); }
  #zh03.m-chef-in .m-chef__route ol::before { transform: none; }
  .m-chef__lead { bottom: calc(50px + max(44px, 5.4svh) + 22px) !important; }
  @media (prefers-reduced-motion: reduce) { #zh03 .m-chef__route li, #zh03 .m-chef__route ol::before { opacity: 1 !important; transform: none !important; transition: none !important; } }
}
@media (max-width: 1099px) { .m-chef__head { z-index: 1 !important; } .m-chef__art { z-index: 2 !important; } .m-chef__seal { z-index: 4 !important; } }

/* ── Ж03 · смелее (24.10): имя узкой дидоной во всю ширину, кнопка-пилюля под арку, печать на шве арки ── */
@media (max-width: 1099px) {
  .m-chef__kick { position: relative; z-index: 3; }
  .m-chef__name { margin-top: 4px !important; font: 300 min(132px, 34vw, 15svh)/.8 "Noto Serif Display", Georgia, serif !important; font-stretch: 62.5% !important; letter-spacing: -.035em !important; color: #111 !important; }
  .m-chef__name span { display: block; text-transform: uppercase; }
  .m-chef__name em { display: block; margin-top: -.02em; padding-left: .32em; font-style: italic; font-weight: 300; font-size: .7em; letter-spacing: -.02em; color: #A51C1F; }
  .m-chef__route { top: calc(env(safe-area-inset-top) + 22px + 14px + min(132px, 34vw, 15svh) * 1.42 + 22px) !important; }
  .m-chef__arch { top: calc(env(safe-area-inset-top) + 22px + min(132px, 34vw, 15svh) * 1.1) !important; }
  .m-chef__btn { border-radius: 999px; padding: 0 22px !important; }
  .m-chef__seal { top: auto !important; right: auto !important; left: calc(46% - 43px); bottom: calc(50px + max(44px, 5.4svh) + 22px + 13.5svh); }
}
@media (max-width: 1099px) {
  .m-chef { --nm: min(118px, 29.5vw, 13.6svh); }
  .m-chef__name { font-size: var(--nm) !important; }
  .m-chef__route { top: calc(env(safe-area-inset-top) + 22px + 14px + var(--nm) * 1.42 + 22px) !important; }
  .m-chef__arch { top: calc(env(safe-area-inset-top) + 22px + var(--nm) * 1.1) !important; }
}
/* арка начинается под фамилией: красный курсив не тонет в бордовом бархате */
@media (max-width: 1099px) {
  .m-chef__arch { top: calc(env(safe-area-inset-top) + 22px + 14px + var(--nm) * 1.36) !important; }
  .m-chef__name em { padding-left: .18em !important; }
}
/* 24.10 · фигура стоит под фамилией на любом экране: верх — от конца имени, низ — край экрана,
   ширина из пропорций рисунка. Фамилию больше ничего не закрывает (iPhone 12 с панелями браузера). */
@media (max-width: 1099px) {
  .m-chef { --nm: min(118px, 29.5vw, 13.2svh); --art-top: calc(env(safe-area-inset-top) + 36px + var(--nm) * 1.5); }
  .m-chef__art { top: var(--art-top) !important; bottom: 0 !important; height: auto !important; width: auto !important; aspect-ratio: 1024 / 1536; right: -10vw !important; }
  .m-chef__arch { top: calc(var(--art-top) + 4%) !important; }
}
@media (max-width: 1099px) {
  .m-chef { --art-top2: max(var(--art-top), calc(var(--app-h, 100svh) - 60vw * 1.5)); }
  .m-chef__art { top: var(--art-top2) !important; right: -9vw !important; }
  .m-chef__arch { top: calc(var(--art-top2) + 4%) !important; }
}
@media (max-width: 1099px) { .m-chef { --art-top2: max(var(--art-top), calc(var(--app-h, 100svh) - 112vw)); } .m-chef__art { right: -12vw !important; } }
@media (max-width: 1099px) { .m-chef { --art-top2: max(var(--art-top), calc(var(--app-h, 100svh) - 132vw)); } .m-chef__art { right: -16vw !important; } }
@media (max-width: 1099px) { .m-chef { --art-top2: max(var(--art-top), calc(var(--app-h, 100svh) - 142vw)); } .m-chef__art { right: -19vw !important; } }

/* ── Ж03 · полоса после «креативного совета» (24.10): герой, заголовок, одна мысль ──
   Убраны степпер маршрута, абзац, пилюля и текстовая подсказка. Медаль — в углу арки. */
@media (max-width: 1099px) {
  .m-chef__route, .m-chef__lead, .m-chef__path, .m-chef__btn, .m-chef__hint, .m-chef__more, .m-chef__award, .m-chef__kick { display: none !important; }
  .m-chef { --nm: min(124px, 31vw, 13.6svh); --art-top: calc(env(safe-area-inset-top) + 28px + var(--nm) * 1.5); }
  .m-chef__head { top: calc(env(safe-area-inset-top) + 26px) !important; left: 18px !important; right: 18px !important; z-index: 3 !important; }
  .m-chef__name { margin: 0 !important; font-size: var(--nm) !important; }
  .m-chef__name em { padding-left: 0 !important; margin-left: 24% !important; margin-top: -.06em !important; font-size: .74em !important; position: relative; z-index: 4; text-shadow: 0 0 0 transparent; }
  .m-chef__art { z-index: 2 !important; }
  .m-chef__seal { left: auto !important; bottom: auto !important; right: 12px !important; top: calc(var(--art-top2) + 6%) !important; width: 74px !important; height: 74px !important; z-index: 5 !important; }
  .m-chef__seal b { font-size: 16px !important; }
  .m-chef__quote { position: absolute; left: 18px; width: 47%; bottom: calc(26px + env(safe-area-inset-bottom)); z-index: 3; margin: 0; }
  .m-chef__quote blockquote { margin: 0; font: italic 400 min(21px, 2.75svh)/1.14 "Cormorant Garamond", Georgia, serif; color: #111; letter-spacing: -.005em; }
  .m-chef__quote .m-chef__caption { margin-top: 1.6svh; font: 700 9px/1.45 "HK Grotesk", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #A51C1F; }
  .m-chef__quote .m-chef__caption span { display: block; margin-top: 4px; color: #6E625C; letter-spacing: .1em; }
  .m-chef__go { display: inline-flex; gap: 8px; margin-top: 2svh; padding-bottom: 4px; border-bottom: 1px solid #A51C1F; color: #111; text-decoration: none; font: 400 16px/1 "Spectral", Georgia, serif; }
  .m-chef__go span { color: #A51C1F; }
  /* фишка удержания: подсказка один раз — кольцо вокруг фигуры дышит при первом заходе */
  #zh03.m-chef-in .m-chef__art::after { content: ""; position: absolute; left: 30%; top: 28%; width: 36px; height: 36px; margin: -18px; border-radius: 50%; border: 1.5px solid #F8F2E8;
    box-shadow: 0 0 0 1px rgba(0,0,0,.15); animation: m-touch 1.6s ease-out 1.2s 2 both; pointer-events: none; }
  @keyframes m-touch { 0% { opacity: 0; transform: scale(.6); } 30% { opacity: 1; } 100% { opacity: 0; transform: scale(1.8); } }
}
@media (max-width: 1099px) {
  .m-chef__name em { margin-left: 14% !important; font-size: .7em !important; white-space: nowrap; }
  .m-chef__quote { width: 41% !important; }
  .m-chef__quote blockquote { font-size: min(19px, 2.5svh, 4.9vw) !important; line-height: 1.12 !important; }
  .m-chef__quote .m-chef__caption span { display: none !important; }
  .m-chef__go { font-size: 15px !important; }
  #zh03.m-chef-in .m-chef__art::after { display: none !important; }
}

/* ── Ж03 · постер (24.10, по образцу поста «Тест-ужин»): красный в обрез, вертикальное имя по краю,
   фигура распирает кадр, заняты все четыре угла ── */
.m-chef__vert, .m-chef__top, .m-chef__logo { display: none; }
@media (max-width: 1099px) {
  .m-chef { background: #A8161C !important; --vw: var(--app-h, 100svh); }
  .m-chef::before { content: ""; position: absolute; inset: 0; z-index: 0; background: radial-gradient(120% 70% at 62% 40%, rgba(255,255,255,.10), transparent 60%), linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(60,0,4,.45)); pointer-events: none; }
  .m-chef__arch, .m-chef__head { display: none !important; }
  /* имя вертикально по левому краю, на всю высоту */
  .m-chef__vert { display: block; position: absolute; left: 0; top: 0; z-index: 1; margin: 0; width: var(--app-h, 100svh); transform-origin: 0 0; transform: rotate(-90deg) translateX(-100%);
    font: 300 min(25vw, 13.4svh)/.86 "Noto Serif Display", Georgia, serif; font-stretch: 62.5%; letter-spacing: -.02em; text-transform: uppercase; white-space: nowrap; text-align: center; color: #F8F2E8; padding-top: 6px; }
  /* фигура распирает кадр */
  .m-chef { --art-top2: calc(env(safe-area-inset-top) + 13svh); }
  .m-chef__art { top: var(--art-top2) !important; bottom: -2svh !important; right: -14vw !important; z-index: 2 !important; }
  /* верхний левый угол — подзаголовок, правый — медаль */
  .m-chef__top { display: block; position: absolute; left: calc(min(25vw, 13.4svh) * .92 + 16px); right: 96px; top: calc(env(safe-area-inset-top) + 22px); z-index: 3; margin: 0;
    font: 700 min(11px, 2.9vw)/1.15 "HK Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #F8F2E8; }
  .m-chef__seal { top: calc(env(safe-area-inset-top) + 78px) !important; right: 14px !important; left: auto !important; bottom: auto !important; width: 70px !important; height: 70px !important; background: #F8F2E8 !important; }
  /* низ: цитата слева у края имени, справа — логотип */
  .m-chef__quote { left: calc(min(25vw, 13.4svh) * .92 + 16px) !important; width: auto !important; right: 42% !important; bottom: calc(22px + env(safe-area-inset-bottom)) !important; }
  .m-chef__quote blockquote { color: #F8F2E8 !important; font-size: min(16px, 2.2svh, 4.1vw) !important; text-shadow: 0 1px 12px rgba(60,0,4,.6); }
  .m-chef__quote .m-chef__caption { display: none !important; }
  .m-chef__go { color: #F8F2E8 !important; border-color: #F8F2E8 !important; font-size: 14px !important; }
  .m-chef__go span { color: #F8F2E8 !important; }
  .m-chef__logo { display: block; position: absolute; right: 14px; bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 3; margin: 0; text-align: center;
    font: 400 min(22px, 5.6vw)/.92 "Druzhok", serif; letter-spacing: .04em; text-transform: uppercase; color: #F8F2E8; }
  .remix .m-chef img.m-chef__flame { filter: drop-shadow(0 0 22px rgba(255,190,90,.45)) !important; }
  .m-chef__photo { z-index: 6 !important; }
}

/* ── Ж03 · серьёзнее (24.10): тёмный бархат в обрез, белый вместо кремового, имя горизонтально,
   фигура справа заходит на фамилию, углы заняты: рубрика, медаль, цитата, ссылка ── */
@media (max-width: 1099px) {
  .m-chef { background: #2A0709 url("media/v2/paper/wine-dragonflies.jpg") 50% 0 / 360px auto repeat !important; }
  .m-chef::before { background: linear-gradient(180deg, rgba(20,3,5,.55) 0%, rgba(20,3,5,.15) 40%, rgba(20,3,5,.2) 70%, rgba(14,2,3,.85) 100%) !important; }
  .m-chef__vert { display: none !important; }
  .m-chef__head { display: block !important; top: calc(env(safe-area-inset-top) + 58px) !important; left: 16px !important; right: 16px !important; z-index: 1 !important; }
  .m-chef__name { color: #FFF !important; font-size: min(132px, 33vw, 14.6svh) !important; }
  .m-chef__name em { color: #FFF !important; margin-left: 10% !important; font-size: .68em !important; }
  .m-chef__top { left: 16px !important; right: auto !important; top: calc(env(safe-area-inset-top) + 24px) !important; font-size: 10px !important; letter-spacing: .22em !important; color: #FFF !important; line-height: 1.5 !important; }
  .m-chef__top::after { content: ""; display: block; width: 28px; height: 1px; margin-top: 8px; background: #FFF; opacity: .6; }
  .m-chef { --art-top2: calc(env(safe-area-inset-top) + 58px + min(132px, 33vw, 14.6svh) * 1.05); }
  .m-chef__art { top: var(--art-top2) !important; bottom: 0 !important; right: -24vw !important; z-index: 2 !important; }
  .m-chef__seal { top: auto !important; bottom: calc(40% + 10px) !important; right: 14px !important; width: 68px !important; height: 68px !important; background: #FFF !important; color: #2A0709 !important; }
  .m-chef__seal b { color: #2A0709 !important; }
  .m-chef__quote { left: 16px !important; right: auto !important; width: 44% !important; bottom: calc(24px + env(safe-area-inset-bottom)) !important; z-index: 3 !important; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.55); }
  .m-chef__quote blockquote { color: #FFF !important; font-size: min(17px, 2.3svh, 4.4vw) !important; line-height: 1.16 !important; text-shadow: none !important; }
  .m-chef__go { color: #FFF !important; border-color: #FFF !important; }
  .m-chef__go span { color: #FFF !important; }
  .m-chef__logo { display: none !important; }
  .m-burger { background: rgba(255,255,255,.9) !important; }
  .m-burger i { background: #1E1715 !important; }
}
@media (max-width: 1099px) {
  .m-chef__name, .m-chef__name span, .m-chef__name::first-line { color: #FFF !important; }
  .m-chef__seal { bottom: auto !important; top: calc(env(safe-area-inset-top) + 80px) !important; right: 14px !important; z-index: 4 !important; }
  .m-chef__head { z-index: 1 !important; }
  .m-burger { background: #FFF !important; }
}
@media (max-width: 1099px) { .m-chef__seal { top: auto !important; right: auto !important; left: 18px !important; bottom: calc(24px + env(safe-area-inset-bottom) + 21svh) !important; width: 76px !important; height: 76px !important; } }

/* ── Ж03 · 24.10: возвращён исходный вид (фото Антона + текст) в один экран,
   карандашный Антон — маленьким дополнением справа внизу ── */
.m-chef-mini { display: none; }
@media (max-width: 1099px) {
  #zh03 .sheet > .m-chef { display: none !important; }
  #zh03 .sheet > :not(.m-chef) { display: revert; }
  #zh03 .sheet > figure.slot--photo, #zh03 .sheet > .rm-restaurant-chef__logo-left, #zh03 .sheet > .vh, #zh03 .sheet > .mr-paper, #zh03 .sheet > .rm-restaurant-chef__left-shade { display: none !important; }
  html.m-deck #zh03 .sheet { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; justify-content: flex-start; height: var(--app-h, 100svh) !important; overflow: hidden !important;
    padding: calc(env(safe-area-inset-top) + 74px) 22px 0 !important; background: #FFF !important; position: relative; }
  #zh03 .sheet > * { flex: none !important; order: 5; }
  html #zh03 .sheet > .rm-restaurant-chef__photo { display: block !important; order: 1 !important; width: 100% !important; height: 34svh !important; aspect-ratio: auto !important; margin: 0 !important; flex-basis: auto !important; }
  html #zh03 .sheet > .rm-restaurant-chef__signature { display: flex !important; order: 2 !important; margin: 2svh 0 0 !important; align-items: flex-start !important; text-align: left !important; }
  #zh03 .rm-restaurant-chef__signature span { font-size: 10px !important; }
  #zh03 .rm-restaurant-chef__signature strong { font-size: min(34px, 4.4svh) !important; line-height: 1 !important; }
  html #zh03 .sheet > .rm-restaurant-chef__lead { display: block !important; order: 3 !important; margin: 1.6svh 0 0 !important; width: 62% !important; font-size: min(15.5px, 2.05svh) !important; line-height: 1.28 !important; text-align: left !important; text-align-last: auto !important; }
  #zh03 .rm-restaurant-chef__lead .drop { font-size: min(44px, 5.6svh) !important; }
  html #zh03 .sheet > .rm-restaurant-chef__path { display: block !important; order: 4 !important; margin: 1.2svh 0 0 !important; width: 60% !important; font-size: min(11.5px, 1.5svh) !important; line-height: 1.4 !important; text-align: left !important; text-align-last: auto !important; }
  html #zh03 .sheet > a.rm-restaurant-chef__menu { display: flex !important; order: 6 !important; margin: auto 0 calc(24px + env(safe-area-inset-bottom)) !important; width: auto !important; align-self: flex-start; padding: 0 20px !important; min-height: 46px; }
  html #zh03 .sheet > .m-chef-mini { display: block !important; position: absolute; right: -6px; bottom: 0; z-index: 3; height: 40svh; aspect-ratio: 820 / 1230; pointer-events: none; }
  .m-chef-mini__anton { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
  .m-chef-mini__flame { position: absolute; left: 45%; bottom: 57%; width: 40%; transform: translateX(-50%); transform-origin: 50% 100%; animation: m-flame 1.6s ease-in-out infinite; filter: drop-shadow(0 0 12px rgba(255,150,60,.35)); }
  @media (prefers-reduced-motion: reduce) { .m-chef-mini__flame { animation: none; } }
}
@media (max-width: 1099px) {
  html .remix .m-chef-mini img.m-chef-mini__anton { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }
  html .remix .m-chef-mini img.m-chef-mini__flame { position: absolute !important; width: 40% !important; height: auto !important; left: 45% !important; bottom: 57% !important; top: auto !important; }
  html #zh03 .sheet > .m-chef-mini { height: 36svh !important; right: -10px !important; }
  html #zh03 .sheet > p.rm-restaurant-chef__lead, html #zh03 .sheet > p.rm-restaurant-chef__path { width: 64% !important; max-width: 64% !important; }
}
/* 07.11 · iPhone (Safari iOS 26): разворот выше видимой части на высоту прозрачной панели адреса (--deck-h).
   Полосу под панелью красим в цвет низа экрана — раньше там выглядывал следующий разворот. */
@media (max-width: 1099px) {
  html.m-deck #zh01, html.m-deck #zh04, html.m-deck #zh08 { background: #0B0506; }
  html.m-deck #zh02, html.m-deck #zh03, html.m-deck #zh06, html.m-deck #zh07 { background: #FFF; }
  html.m-deck #zh05 { background: #F2F0EF; }
  html.m-deck #zh09 { background: #84161A; }
  html.m-deck #zh10 { background: #2A0A0D; }
}
