/* Главная (pages/home.php) — утверждённый макет холста 4: «Main» (1440), «Home-mobile» (390), «Home-slide2/3».
   Шапка, подвал, кнопки, окна, квиз, .sec/.h2 — template_styles.css; блок «Адреса» — css/addresses.css. Классы страницы — с приставкой hm-. */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 104px; }
.icons { display: flex; gap: 3px; align-items: center; }
.ic-on { --c: var(--y); } .ic-off { --c: rgba(255,255,255,0.25); }
.ic-f { fill: var(--c); } .ic-s { stroke: var(--c); } .ic-eye { fill: #141416; }
.ic-on .ic-glass { fill: #FFF7DA; }
.tape { position: absolute; display: flex; align-items: center; gap: 26px; padding-left: 20px; overflow: hidden; white-space: nowrap;
  background: var(--y); border-top: 4px solid var(--ink); border-bottom: 4px solid var(--ink); font-family: var(--disp); font-weight: 700; letter-spacing: 0.12em; color: var(--ink);
  box-shadow: 0 10px 24px rgba(0,0,0,0.18); will-change: transform; backface-visibility: hidden; outline: 1px solid transparent; }
.tape i { flex-shrink: 0; width: 18px; height: 18px; background: var(--ink); transform: rotate(45deg); }

/* ——— первый экран: слайдер ——— */
.hm-top { position: relative; padding-top: 86px; }
.hm-stage { position: relative; height: 760px; }
.hm-slide { position: absolute; top: 0; bottom: 0; left: var(--gutter); right: var(--gutter); opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility 0s linear .5s; }
.hm-slide.on { opacity: 1; visibility: visible; transition: opacity .5s ease; }
.hm-txt { position: absolute; z-index: 3; display: flex; flex-direction: column; gap: 22px; }
.hm-chip { align-self: flex-start; padding: 7px 14px; border-radius: 40px; background: #FFFFFF; border: 1px solid var(--line); font-size: 14px; font-weight: 600; }
.hm-h1, .hm-sert .hm-t { font: 700 114px/0.88 var(--disp); text-transform: uppercase; color: var(--ink); }
.hm-h1 .hl, .hm-t .hl { display: inline-block; background: var(--y); line-height: 0.9; padding: 8px 16px 0; margin: 6px 0 6px -16px; transform: rotate(-2deg); }
.hm-lead { max-width: 500px; font-size: 19px; line-height: 1.5; color: var(--muted); }
.hm-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.hm-b1 { padding: 17px 28px; font-size: 17px; font-weight: 600; }
.hm-b2 { padding: 16px 26px; border: 1.5px solid var(--ink); background: #FFFFFF; font-size: 17px; font-weight: 600; }
.hm-cut { position: absolute; z-index: 2; width: auto; max-width: none; pointer-events: none; }
/* слайд 1 — квесты */
.hm-quests .hm-txt { left: 0; top: 64px; width: min(740px, 58%); }
.hm-quests .hm-vis { position: absolute; right: 0; top: 0; width: 570px; height: 700px; transform-origin: right top; }
.hm-ph { position: absolute; left: 70px; top: 150px; width: 500px; height: 500px; border-radius: 40px; overflow: hidden; background: #121216; }
.hm-ph img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; filter: brightness(1.9) saturate(1.25) contrast(1.05); }
.hm-ph::after { content: ''; position: absolute; inset: 0; background: radial-gradient(38% 42% at 58% 42%, rgba(140,165,255,0.42) 0%, rgba(140,165,255,0) 100%), linear-gradient(180deg, rgba(10,10,14,0) 55%, rgba(10,10,14,0.6) 100%); }
.hm-quests .hm-cut { left: 140px; top: 10px; height: 640px; }
.hm-badge { position: absolute; left: 0; top: 440px; z-index: 3; width: 150px; height: 150px; border-radius: 50%; border: 3px solid var(--ink); background: var(--y); color: var(--ink);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-align: center; transform: rotate(-12deg); box-shadow: 0 10px 24px rgba(0,0,0,0.22); }
.hm-badge b { font: 700 45px/0.9 var(--disp); }
.hm-badge span { font-size: 12px; font-weight: 700; line-height: 1.2; letter-spacing: 0.06em; text-transform: uppercase; }
.hm-pill { position: absolute; left: 310px; top: 590px; z-index: 4; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 16px; background: #FFFFFF; color: var(--ink); text-decoration: none; box-shadow: 0 10px 24px rgba(0,0,0,0.18); }
.hm-pill > span:first-child { display: flex; flex-direction: column; gap: 2px; }
.hm-pill small { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.hm-pill b { font: 600 22px/1 var(--disp); text-transform: uppercase; }
.hm-pill .pr { display: flex; align-items: center; gap: 4px; font-size: 15px; font-weight: 700; white-space: nowrap; }
/* слайд 2 — быстрый подбор */
.hm-dark { position: absolute; left: 0; right: 0; top: 40px; height: 560px; border-radius: 32px; overflow: hidden; background: #121214; }
.hm-dark-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.85; }
.hm-dark-sh { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,10,12,0.85) 0%, rgba(10,10,12,0.35) 45%, rgba(10,10,12,0) 70%); }
.hm-pick .hm-cut { left: 300px; top: -10px; height: 610px; }
.hm-pick .hm-txt { left: 48px; top: 88px; width: 560px; gap: 18px; }
.hm-eb { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--y); }
.hm-pick .hm-t { font: 600 92px/0.92 var(--disp); text-transform: uppercase; color: #FFFFFF; }
.hm-pick .hm-lead { max-width: 420px; font-size: 18px; color: #E4E4E8; }
.hm-pk { position: absolute; left: 48px; top: 468px; z-index: 3; display: flex; align-items: flex-end; gap: 14px; padding: 14px 14px 14px 18px; border-radius: 24px; border: 1px solid rgba(255,255,255,0.14);
  background: rgba(20,20,22,0.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); white-space: nowrap; }
.hm-pg { display: flex; flex-direction: column; gap: 8px; }
.hm-pg > span { font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: #C9CAD0; }
.hm-pg > div { display: flex; gap: 5px; }
.hm-pg button { padding: 9px 13px; border-radius: 40px; border: 1px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.08); color: #FFFFFF; font-size: 14px; font-weight: 500; cursor: pointer; transition: background .2s, color .2s; }
.hm-pg button[aria-pressed="true"] { background: var(--y); border-color: var(--y); color: var(--ink); }
.hm-go { padding: 11px 16px; font-size: 15px; font-weight: 600; }
.hm-pr { position: absolute; right: 24px; top: 64px; z-index: 3; width: 344px; display: flex; flex-direction: column; gap: 12px; padding: 18px; border-radius: 24px; background: #FFFFFF; }
.hm-pr-h { display: flex; justify-content: space-between; align-items: baseline; }
.hm-pr-h b { font: 700 26px/1 var(--disp); text-transform: uppercase; }
.hm-pr-h a { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: none; }
.hm-pr-c { position: relative; display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: #F6F6F4; color: var(--ink); text-decoration: none; }
.hm-pr-c .ph { display: block; height: 118px; }
.hm-pr-c .ph img { width: 100%; height: 100%; object-fit: cover; }
.hm-pr-c .tx { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 14px; }
.hm-pr-c .tx b { font: 600 20px/1.05 var(--disp); text-transform: uppercase; }
.hm-pr-c .tx small { font-size: 13px; line-height: 1.4; color: var(--muted); }
.pr-b { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-radius: 50%; border: 3px solid var(--ink); text-align: center; box-shadow: 0 12px 26px rgba(0,0,0,0.25); }
.pr-b b { font-family: var(--disp); font-weight: 700; line-height: 0.9; white-space: nowrap; }
.pr-b small { font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.pr-b.y { background: var(--y); color: var(--ink); }
.pr-b.ink { background: var(--ink); color: var(--y); border-color: var(--y); }
.pr-b.w { background: #FFFFFF; color: var(--ink); }
.hm-pr-c .pr-b { right: 10px; top: 14px; width: 84px; height: 84px; transform: rotate(-8deg); }
.hm-pr-c .pr-b b { font-size: 28px; }
.hm-pr-c .pr-b small { font-size: 7px; }
/* слайд 3 — сертификат */
.hm-sert .hm-txt { left: 0; top: 64px; width: 620px; }
.hm-sert .hm-t { font-size: 112px; }
.hm-sert .hm-lead { max-width: 520px; }
.hm-noms { display: flex; gap: 10px; flex-wrap: wrap; }
.hm-noms span { padding: 10px 18px; border-radius: 14px; border: 1.5px solid var(--line); background: #FFFFFF; font: 600 22px/1.2 var(--disp); }
.hm-noms span.on { background: var(--y); border-color: var(--ink); }
.hm-sert .hm-vis { position: absolute; left: 690px; top: 0; width: 590px; height: 640px; display: block; transform-origin: left top; }
.hm-box { position: absolute; left: 30px; top: 40px; width: 560px; height: 560px; border-radius: 40px; overflow: hidden; background: #16161A url(/upload/izo/home/pat-night.webp) 0 0 / 1600px 1000px no-repeat; }
.hm-box::after { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 60% at 45% 55%, rgba(22,22,26,0.2) 0%, rgba(22,22,26,0.85) 100%); }
.hm-sert .hm-cut { left: 120px; top: 76px; height: 524px; }
.hm-cert { position: absolute; left: 0; top: 400px; z-index: 3; width: 360px; height: 220px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px 24px; border-radius: 18px; overflow: hidden;
  border: 2px solid var(--y); background: #16161A url(/upload/izo/home/pat-night.webp) 0 0 / 1600px 1000px no-repeat; box-shadow: 0 30px 60px rgba(0,0,0,0.45); transform: rotate(-7deg); }
.hm-cert::before { content: ''; position: absolute; inset: 0; background: rgba(22,22,26,0.5); }
.hm-cert > span { position: relative; display: flex; }
.hm-cert .t { justify-content: space-between; align-items: flex-start; }
.hm-cert .t img { height: 42px; width: auto; }
.hm-cert .t small { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; color: var(--y); }
.hm-cert .b { flex-direction: column; gap: 4px; }
.hm-cert .b small { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #C9C9CF; }
.hm-cert .b b { font: 700 54px/0.95 var(--disp); color: #FFFFFF; }
.hm-vis-go { display: none; }
/* навигация слайдов */
.hm-nav { position: absolute; left: var(--gutter); top: 624px; z-index: 6; display: flex; align-items: center; gap: 16px; }
.hm-cnt { font: 600 20px/1 var(--disp); }
.hm-cnt span { opacity: 0.45; }
.hm-bars { display: flex; gap: 6px; }
.hm-bars button { width: 56px; height: 4px; padding: 0; border: 0; border-radius: 2px; background: rgba(47,50,63,0.18); overflow: hidden; cursor: pointer; }
.hm-bars i { display: block; width: var(--p, 0%); height: 100%; background: var(--y); }
.hm-bars button.done i { width: 100%; }
.hm-arr { width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1.5px solid rgba(47,50,63,0.18); background: #FFFFFF; color: var(--ink); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.hm-arr:hover { border-color: var(--ink); }
.hm-arr.prev .ico { transform: rotate(180deg); }
/* лента под первым экраном */
.hm-tape { position: absolute; left: 0; right: 0; top: calc(86px + 690px); height: 70px; z-index: 7; pointer-events: none; overflow: hidden; }
.hm-tape .tape { left: -130px; top: 8px; width: calc(100% + 260px); height: 44px; font-size: 22px; transform: rotate(-3deg); transform: rotate(calc(-1 * min(3deg, atan2(72px, 100vw)))); }
@supports (overflow-x: clip) { .hm-tape { overflow: visible; overflow-x: clip; } }
/* рейтинги: отступ — от нижней точки наклонённой ленты (у левого края) */
.hm-rates { position: relative; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 56px; padding: 12px 40px; border-radius: 24px; background: #FFFFFF; box-shadow: 0 12px 32px rgba(20,20,30,0.08); }
.hm-rates .rt { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.hm-rates .rt img, .hm-rates .tg-i { width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0; }
.hm-rates .tg-i { display: flex; align-items: center; justify-content: center; background: #2AABEE; color: #FFFFFF; }
.hm-rates .rt > span:last-child { display: flex; flex-direction: column; gap: 3px; }
.hm-rates .rt b { display: flex; align-items: center; gap: 8px; font: 600 26px/1 var(--disp); }
.hm-rates .rt small { font-size: 14px; color: var(--muted); }
.hm-rates .stars { display: flex; flex-direction: row; gap: 2px; color: var(--y); }   /* шаблонное .rt span ставит столбик */
.hm-rates .sep { width: 1px; height: 44px; background: var(--line); }
.hm-rates-go { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; color: var(--ink); text-decoration: none; white-space: nowrap; }
.main.hm-main { padding-top: var(--gap); }   /* стили страницы идут раньше стилей шаблона — уточнение селектора */

/* ——— рекомендуемые квесты ——— */
.hm-rec { gap: 20px; }
.hm-rec-head { display: flex; flex-direction: column; gap: 20px; }
.hm-chips { display: flex; gap: 8px; }
.hm-chips button { flex-shrink: 0; padding: 10px 16px; border-radius: 40px; border: 1px solid var(--line); background: #FFFFFF; color: var(--ink); font-size: 15px; font-weight: 600; cursor: pointer; }
.hm-chips button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }
.hm-mos { display: flex; flex-direction: column; gap: 20px; }
.hm-mos.swap { animation: hmIn .4s ease; }
@keyframes hmIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.hm-none { padding: 32px; border-radius: 24px; background: #FFFFFF; color: var(--muted); }
.hm-feat { position: relative; display: flex; align-items: center; min-height: 420px; color: #FFFFFF; }   /* высота — по содержимому: длинное название и описание не вылезают */
.hm-feat-bg { position: absolute; inset: 0; border-radius: 28px; overflow: hidden; background: #0E0E10; }
.hm-feat-bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.9; }
.hm-feat-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0E0E10 0%, rgba(14,14,16,0.92) 38%, rgba(14,14,16,0.35) 70%, rgba(14,14,16,0.55) 100%), linear-gradient(180deg, rgba(14,14,16,0) 70%, rgba(14,14,16,0.7) 100%); }
.hm-feat-cut { position: absolute; right: 70px; bottom: 0; z-index: 2; height: 520px; width: auto; max-width: none; pointer-events: none; }
.hm-feat-in { position: relative; z-index: 3; box-sizing: border-box; width: min(656px, 56%); padding: 44px 0 44px 56px; display: flex; flex-direction: column; gap: 16px; }
.hm-feat .tags { display: flex; gap: 8px; }
.hm-feat .tags span { padding: 6px 12px; border-radius: 9px; font-size: 14px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); }
.hm-feat .tags .b { background: var(--y); } .hm-feat .tags .a { background: #FFFFFF; }
.hm-feat .tags:empty { display: none; }
.hm-feat .gn, .hm-c .gn { font-size: 14px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--y); }
.hm-feat .nm { font: 700 88px/0.9 var(--disp); text-transform: uppercase; text-wrap: balance; }
.hm-feat .nm a { color: #FFFFFF; text-decoration: none; }
.hm-feat .nm a::after { content: ''; position: absolute; inset: 0; z-index: 1; }   /* вся карточка ведёт на квест; кнопки — поверх */
.hm-feat .hk { max-width: 470px; font-size: 19px; line-height: 1.45; color: #E6E4DE; }
.hm-feat .mt, .hm-c .mt { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #D8D6CF; white-space: nowrap; }
.hm-feat .mt i, .hm-c .mt i { width: 3px; height: 3px; border-radius: 50%; background: #8C8C94; }
.hm-feat .mt b { font-weight: 800; color: #FFFFFF; }
.hm-feat .bt { display: flex; align-items: center; gap: 20px; margin-top: 6px; }
.hm-feat .bt a { position: relative; z-index: 4; }
.hm-feat .btn-y { padding: 15px 26px; }
.hm-feat .lnk { color: #FFFFFF; font-size: 16px; text-decoration: none; padding-bottom: 2px; }
.hm-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: 270px 270px 340px; gap: 20px; }
.hm-c { position: relative; display: block; border-radius: 28px; overflow: hidden; background: #141416; color: #FFFFFF; text-decoration: none; transition: transform .35s ease, box-shadow .35s ease; }
.hm-c > .img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.hm-c .sh { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,12,14,0.30) 0%, rgba(12,12,14,0) 18%, rgba(12,12,14,0) 45%, rgba(12,12,14,0.88) 82%); }
.hm-c .ag { position: absolute; top: 20px; left: 20px; padding: 5px 10px; border-radius: 9px; background: #FFFFFF; color: var(--ink); font-size: 13px; font-weight: 700; }
.hm-c .in { position: absolute; left: 28px; right: 28px; bottom: 28px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.hm-c .tx { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.hm-c .gn { font-size: 12px; }
.hm-c .nm { font: 600 30px/1 var(--disp); text-transform: uppercase; }
.hm-c .hk { max-width: 340px; max-height: 0; overflow: hidden; opacity: 0; transform: translateY(10px); font-size: 15px; line-height: 1.45; color: #E6E4DE; transition: max-height .45s ease, opacity .35s ease, transform .45s ease; }
.hm-c .mt { font-size: 14px; gap: 10px; }
.hm-c .pr { font-size: 17px; font-weight: 800; white-space: nowrap; }
.hm-c .go { width: 46px; height: 46px; flex-shrink: 0; border-radius: 50%; background: var(--y); color: var(--ink); display: flex; align-items: center; justify-content: center; transition: transform .35s ease, background-color .35s ease; }
.hm-c:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(20,20,30,0.30); }
.hm-c:hover > .img { transform: scale(1.06); }
.hm-c:hover .hk, .hm-c:focus-visible .hk { max-height: 90px; opacity: 1; transform: none; }
.hm-c:hover .go { transform: translateX(4px); background: #FFFFFF; }
.hm-c.big { grid-column: 1 / span 7; grid-row: 1 / span 2; }
.hm-c.big .ag { top: 32px; left: 32px; font-size: 14px; }
.hm-c.big .in { left: 40px; right: 40px; bottom: 40px; }
.hm-c.big .gn { font-size: 13px; }
.hm-c.big .nm { font-size: 58px; }
.hm-c.big .hk { max-width: 520px; font-size: 18px; }
.hm-c.big .mt { font-size: 16px; }
.hm-c.big .pr { font-size: 20px; }
.hm-c.big .go { width: 54px; height: 54px; }
.hm-c.mid { grid-column: 8 / span 5; }
.hm-c.sm { grid-column: span 4; grid-row: 3; }
/* меньше карточек в подборке — сетка без дыр */
.hm-grid.n1, .hm-grid.n2, .hm-grid.n3 { grid-template-rows: 270px 270px; }
.hm-grid.n1 .big { grid-column: 1 / -1; }
.hm-grid.n2 .mid { grid-row: 1 / span 2; }
.hm-grid.n4 .sm { grid-column: 1 / -1; }
.hm-grid.n5 .sm { grid-column: span 6; }
.hm-all { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 22px; border-radius: 60px; background: var(--ink); color: #FFFFFF; font-size: 19px; font-weight: 700; text-decoration: none; }
.hm-all:hover { background: #1F2129; }

/* ——— не только квесты ——— */
.hm-more { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.hm-mc { position: relative; display: block; padding-top: 70px; color: #FFFFFF; text-decoration: none; }
.hm-mc .bg { position: relative; display: block; height: 500px; border-radius: 28px; overflow: hidden; }
.hm-mc.laser .bg { background: linear-gradient(160deg, #C47AF7 0%, #A848F1 45%, #7B25C9 100%); }
.hm-mc.vr .bg { background: linear-gradient(160deg, #6C9BFF 0%, #3573F9 45%, #1E4FC9 100%); }
.hm-mc.lounge .bg { background: var(--y); }
.hm-mc .bg img.m { position: absolute; left: -30px; top: -64px; height: 400px; width: auto; max-width: none; }
.hm-mc.vr .bg img.m { left: -24px; top: -56px; height: 370px; }
.hm-mc .bg img.ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.hm-mc .top { position: absolute; left: -90px; right: 0; top: 0; height: 320px; overflow: hidden; pointer-events: none; }
.hm-mc .top img { position: absolute; left: 60px; top: 6px; height: 400px; width: auto; max-width: none; }
.hm-mc.vr .top { height: 310px; }
.hm-mc.vr .top img { left: 66px; top: 14px; height: 370px; }
.hm-mc .sh { position: absolute; left: 0; right: 0; top: 70px; height: 500px; border-radius: 28px; pointer-events: none; }
.hm-mc.laser .sh { background: linear-gradient(180deg, rgba(42,10,74,0) 28%, rgba(42,10,74,0.8) 48%, rgba(42,10,74,0.97) 60%, #2A0A4A 100%); }
.hm-mc.vr .sh { background: linear-gradient(180deg, rgba(9,27,80,0) 28%, rgba(9,27,80,0.8) 48%, rgba(9,27,80,0.97) 60%, #091B50 100%); }
.hm-mc.lounge .sh { background: linear-gradient(180deg, rgba(30,28,22,0) 28%, rgba(30,28,22,0.8) 48%, rgba(30,28,22,0.97) 60%, #1E1C16 100%); }
.hm-mc .pad { position: absolute; right: -34px; top: 6px; z-index: 4; width: 230px; height: auto; transform: rotate(-14deg); transition: transform .5s cubic-bezier(.2,.9,.3,1.2); }
.hm-mc:hover .pad { transform: rotate(-8deg) translateY(-6px); }
.hm-mc:hover .bg img.ph { transform: scale(1.05); }
.hm-mc .in { position: absolute; left: 28px; right: 28px; bottom: 28px; display: flex; flex-direction: column; gap: 14px; }
.hm-mc .lg { height: 46px; display: flex; align-items: flex-end; }
.hm-mc .lg img { height: 31px; width: auto; }
.hm-mc.vr .lg img { height: 41px; }
.hm-mc .lg b { font: 700 46px/0.9 var(--disp); text-transform: uppercase; }
.hm-mc .tx { min-height: 48px; font-size: 17px; font-weight: 600; line-height: 1.4; }
.hm-mc .ch { display: flex; flex-wrap: wrap; gap: 6px; }
.hm-mc .ch span { padding: 6px 10px; border-radius: 30px; background: rgba(255,255,255,0.16); font-size: 12px; font-weight: 700; white-space: nowrap; }
.hm-mc .bt { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 2px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.22); }
.hm-mc .nt { font-size: 17px; font-weight: 800; white-space: nowrap; }
.hm-mc .go { padding: 12px 18px; border-radius: 40px; background: #FFFFFF; color: var(--ink); font-size: 15px; font-weight: 700; white-space: nowrap; }
.hm-mc.lounge .go { background: var(--y); }

/* ——— подборки квестов ——— */
.hm-cols { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; }
.hm-party { position: relative; grid-column: 1 / span 5; display: flex; flex-direction: column; justify-content: space-between; height: 420px; padding: 36px; border-radius: 28px; overflow: hidden; background: var(--y); color: var(--ink); text-decoration: none; }
.hm-party .pat { position: absolute; inset: 0; background: url(/upload/izo/home/pat-light.webp) 0 0 / 1600px 1000px no-repeat; opacity: 0.22; }
/* паттерн — на весь блок: общий .pat шаблона (полоса сот над подвалом) задаёт высоту 44/32 px — без этого виден только полосой сверху (Савва 13.10) */
.hm-party .pat, .hm-quiz-in > .pat, .hm-promo .pat { height: auto; }
.hm-party .cut { position: absolute; right: -44px; bottom: -30px; height: 230px; width: auto; transition: transform .5s cubic-bezier(.2,.9,.3,1.2); }
.hm-party:hover .cut { transform: translateY(-6px); }
.hm-party .in { position: relative; display: flex; flex-direction: column; gap: 16px; }
.hm-party .chip { background: #FFFFFF; letter-spacing: 0.1em; }
.hm-party .t { font: 700 46px/0.92 var(--disp); text-transform: uppercase; }
.hm-party .pts { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.hm-party .pts > span { display: flex; align-items: center; gap: 10px; font-size: 15px; line-height: 1.3; }
.hm-party .pts i { width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%; background: var(--ink); color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.hm-party .btn-ink { position: relative; align-self: flex-start; padding: 14px 22px; }
.hm-tiles { grid-column: 6 / span 7; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 16px; height: 420px; }
.hm-tiles.n4, .hm-tiles.n3 { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.hm-tiles.n3 .hm-tile:last-child, .hm-tiles.n5 .hm-tile:last-child { grid-column: 1 / -1; }
.hm-tile { display: flex; align-items: center; gap: 16px; padding: 0 22px 0 14px; border-radius: 24px; background: #FFFFFF; color: var(--ink); text-decoration: none; box-shadow: 0 8px 22px rgba(20,20,30,0.06); transition: transform .25s, box-shadow .25s; }
.hm-tile:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(20,20,30,0.12); }
.hm-tile .ic { width: 96px; height: 96px; flex-shrink: 0; border-radius: 50%; overflow: hidden; background: #FDF3D2; display: flex; align-items: flex-end; justify-content: center; }
.hm-tile .ic img { height: 92px; width: auto; max-width: none; }
.hm-tile .tx { flex-grow: 1; display: flex; flex-direction: column; gap: 4px; }
.hm-tile .tx b { font: 600 26px/1 var(--disp); text-transform: uppercase; }
.hm-tile .tx small { font-size: 14px; color: var(--muted); }
.hm-tile .go { width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; background: var(--bg); display: flex; align-items: center; justify-content: center; }

/* ——— квиз ——— */
.hm-quiz-in { position: relative; height: 664px; border-radius: 40px; overflow: hidden; background: #16161A; }
.hm-quiz-in > .pat { position: absolute; inset: 0; background: url(/upload/izo/home/pat-night.webp) 0 0 / 1600px 1000px no-repeat; opacity: 0.6; }
.hm-quiz-in > .pat::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #16161A 0%, rgba(22,22,26,0.92) 30%, rgba(22,22,26,0.35) 60%, rgba(22,22,26,0.8) 100%); }
.hm-quiz-in > .glow { position: absolute; left: 380px; top: 60px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(246,200,73,0.28) 0%, rgba(246,200,73,0) 70%); }
.hm-quiz-in > .cut { position: absolute; left: 470px; bottom: 0; height: 590px; width: auto; max-width: none; }
.hm-quiz-in > .tx { position: absolute; left: 64px; top: 64px; width: 400px; display: flex; flex-direction: column; gap: 20px; color: #FFFFFF; }
.hm-quiz-in > .tx .eb { color: var(--y); font-size: 13px; letter-spacing: 0.12em; }
.hm-quiz-in > .tx h2 { font: 700 72px/0.92 var(--disp); text-transform: uppercase; }
.hm-quiz-in > .tx h2 span { color: var(--y); }
.hm-quiz-in > .tx p { font-size: 18px; line-height: 1.55; color: #D5D5DB; }
.hm-quiz-in > .tx .pts { display: flex; flex-direction: column; gap: 12px; margin: 8px 0 0; padding: 0; list-style: none; }
.hm-quiz-in > .tx .pts li { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; }
.hm-quiz-in > .tx .pts .ico { color: var(--y); }
.hm-quiz .qz { position: absolute; right: 48px; top: 48px; width: 420px; }

/* ——— акции ——— */
.hm-promo { position: relative; display: flex; flex-direction: column; gap: 48px; padding-bottom: 40px; overflow-x: clip; }
.hm-promo .pat { position: absolute; inset: 0; background: url(/upload/izo/home/pat-light.webp) 0 0 / 1600px 1000px repeat-x; opacity: 0.5; }
.hm-promo-tape { position: relative; height: 96px; }
.hm-promo-tape .tape { left: -140px; top: 12px; width: calc(100% + 280px); height: 72px; gap: 30px; font-size: 34px; transform: rotate(-3deg); transform: rotate(calc(-1 * min(3deg, atan2(90px, 100vw)))); }
.hm-promo-tape .tape i { width: 22px; height: 22px; }
.hm-promo-in { position: relative; display: flex; flex-direction: column; gap: 32px; margin-top: -8px; }
.hm-promo-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.hm-promo-head p { max-width: 640px; font-size: 17px; line-height: 1.5; color: var(--muted); }
.hm-promos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-top: 8px; }
.hm-pc { position: relative; display: flex; flex-direction: column; border-radius: 26px; background: #FFFFFF; color: var(--ink); text-decoration: none; box-shadow: 0 14px 34px rgba(20,20,30,0.10); transform: rotate(var(--r, 0deg)); transition: transform .35s ease, box-shadow .35s ease; }
.hm-pc:nth-child(1) { --r: -1.2deg; } .hm-pc:nth-child(2) { --r: 1deg; } .hm-pc:nth-child(3) { --r: -0.8deg; } .hm-pc:nth-child(4) { --r: 1.2deg; }
.hm-pc:hover { transform: rotate(0deg) translateY(-6px); box-shadow: 0 24px 48px rgba(20,20,30,0.16); }
.hm-pc .ph { display: block; height: 210px; border-radius: 26px 26px 0 0; overflow: hidden; }
.hm-pc .ph img { width: 100%; height: 100%; object-fit: cover; }
.hm-pc .pr-b { right: 16px; top: 70px; width: 128px; height: 128px; transform: rotate(-10deg); }
.hm-pc:nth-child(2) .pr-b { transform: rotate(8deg); } .hm-pc:nth-child(3) .pr-b { transform: rotate(-6deg); } .hm-pc:nth-child(4) .pr-b { transform: rotate(10deg); }
.hm-pc .pr-b b { font-size: 43px; }
.hm-pc .pr-b small { font-size: 11px; }
.hm-pc .tx { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 24px; }
.hm-pc .tx b { font: 600 28px/1.02 var(--disp); text-transform: uppercase; }
.hm-pc .tx > span:not(.go) { font-size: 15px; line-height: 1.45; color: var(--muted); }
.hm-pc .go { align-self: flex-start; display: flex; align-items: center; gap: 6px; margin-top: 4px; padding-bottom: 2px; border-bottom: 2px solid var(--y); font-size: 15px; font-weight: 700; }

/* ——— о квест-центре ——— */
.hm-about { gap: 28px; }
.hm-about .h2 { font-size: 56px; }
.hm-ab { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px 40px; align-items: start; }
.hm-ab .tx { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: 18px; }
.hm-ab .tx p { font-size: 17px; line-height: 1.6; }
.hm-vid { position: relative; grid-column: 8 / span 5; display: block; height: 340px; border-radius: 24px; overflow: hidden; color: #FFFFFF; text-decoration: none; }
.hm-vid img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.hm-vid:hover img { transform: scale(1.04); }
.hm-vid .sh { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,12,14,0.1) 0%, rgba(12,12,14,0.7) 100%); }
.hm-vid .pl { position: absolute; left: 50%; top: 45%; width: 88px; height: 88px; border-radius: 50%; background: var(--y); color: var(--ink); display: flex; align-items: center; justify-content: center; transform: translate(-50%, -50%); box-shadow: 0 16px 40px rgba(0,0,0,0.35); }
.hm-vid .cp { position: absolute; left: 24px; right: 24px; bottom: 20px; display: flex; flex-direction: column; gap: 4px; }
.hm-vid .cp b { font: 600 26px/1.05 var(--disp); text-transform: uppercase; }
.hm-vid .cp small { font-size: 14px; color: #E6E4DE; }
.hm-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.hm-fact { display: flex; align-items: center; gap: 12px; padding: 20px 18px; border-radius: 22px; background: #FFFFFF; }
.hm-fact .emo { width: 48px; height: 48px; border-radius: 50%; background: var(--y); }
.hm-fact .emo img { width: 26px; height: 26px; }
.hm-fact > span:last-child { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.hm-fact b { font: 700 18px/1 var(--disp); text-transform: uppercase; }
.hm-fact small { font-size: 14px; line-height: 1.4; color: var(--muted); }
.hm-revs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.hm-rev { position: relative; display: block; height: 180px; border-radius: 20px; overflow: hidden; text-decoration: none; background: #111; }
.hm-rev img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.hm-rev:hover img { transform: scale(1.05); }
.hm-rev .sh { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.8) 100%); }
.hm-rev .pl { position: absolute; top: 12px; left: 12px; width: 44px; height: 44px; border-radius: 50%; background: var(--y); color: var(--ink); display: flex; align-items: center; justify-content: center; }
.hm-rev .cp { position: absolute; left: 14px; right: 14px; bottom: 12px; display: flex; flex-direction: column; gap: 3px; }
.hm-rev .cp small { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--y); }
.hm-rev .cp b { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; font-weight: 400; line-height: 1.3; color: #FFFFFF; }
.hm-tg { display: flex; flex-direction: column; justify-content: space-between; height: 180px; padding: 20px; border-radius: 20px; background: #FFFFFF; color: var(--ink); text-decoration: none; }
.hm-tg .ic { width: 44px; height: 44px; border-radius: 50%; background: #2AABEE; color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.hm-tg > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.hm-tg b { font: 600 40px/0.9 var(--disp); }
.hm-tg small { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; }
/* окно видео: плеер создаётся по нажатию (home.js) */
.pp-box.video { width: min(960px, 100%); padding: 0; background: #000; overflow: hidden; }
.pp-box.video .pp-x { background: rgba(255,255,255,0.92); }
.pp-vid { position: relative; aspect-ratio: 16 / 9; }
.pp-vid iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ——— адаптив ——— */
@media (max-width: 1360px) {
  .hm-h1 { font-size: 96px; }
  .hm-sert .hm-t { font-size: 96px; }
  .hm-quests .hm-vis { transform: scale(0.9); }
  .hm-sert .hm-vis { left: auto; right: 0; transform: scale(0.9); transform-origin: right top; }
  .hm-pick .hm-t { font-size: 80px; }
  .hm-feat .nm { font-size: 72px; }
}
@media (max-width: 1200px) {
  .hm-h1, .hm-sert .hm-t { font-size: 80px; }
  .hm-quests .hm-txt { width: 52%; }
  .hm-quests .hm-vis, .hm-sert .hm-vis { transform: scale(0.78); }
  .hm-pr { display: none; }
  .hm-pick .hm-cut { left: auto; right: 0; }
  .hm-rates { padding: 12px 24px; }
  .hm-rates-go { display: none; }
  .hm-c.big .nm { font-size: 44px; }
  .hm-feat-cut { right: 0; height: 480px; }
  .hm-more { gap: 16px; }
  .hm-mc .ch span:nth-child(3) { display: none; }
  .hm-party { grid-column: 1 / -1; }
  .hm-tiles { grid-column: 1 / -1; }
  .hm-quiz-in > .cut { left: 360px; opacity: 0.6; }
  .hm-promos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hm-facts, .hm-revs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  [id] { scroll-margin-top: 84px; }
  .hm-top { padding-top: 70px; }
  .hm-stage { height: 730px; }
  .hm-slide { left: 16px; right: 16px; }
  .hm-txt { top: 24px !important; left: 0 !important; right: 0; width: auto !important; gap: 14px; }
  .hm-chip, .hm-btns, .hm-noms { display: none; }
  .hm-h1, .hm-sert .hm-t { font-size: 56px; line-height: 0.9; }
  .hm-h1 .hl, .hm-t .hl { padding: 6px 10px 0; margin: 4px 0 4px -10px; }
  .hm-lead { max-width: 320px; font-size: 15px; line-height: 1.45; }
  /* визуал всех слайдов — блок 320 px под текстом, точки над ним */
  .hm-quests .hm-vis, .hm-sert .hm-vis { left: 0; right: 0; top: 0; width: auto; height: 700px; transform: none; }
  .hm-ph { left: 0; right: 0; top: 350px; width: auto; height: 320px; border-radius: 30px; }
  .hm-ph img { object-position: 62% center; }
  .hm-quests .hm-cut { left: 44px; top: 268px; height: 402px; }   /* голова — ниже подводки */
  .hm-badge { left: auto; right: -6px; top: 300px; width: 104px; height: 104px; transform: rotate(12deg); }
  .hm-badge b { font-size: 31px; }
  .hm-badge span { font-size: 8px; }
  .hm-pill { display: none; }
  .hm-pick .hm-eb { color: var(--y-text); }
  .hm-pick .hm-t { font-size: 44px; color: var(--ink); }
  .hm-pick .hm-lead { color: var(--muted); }
  .hm-dark { top: 350px; height: 320px; border-radius: 30px; }
  /* слайд 2 (Савва 13.10: «инпуты почти не видно, сверху — логичнее вниз»): персонаж — в верхней части тёмного блока, подбор — внизу на тёмной плашке,
     над лентой «ИЗОЛЯЦИЯ» (она наклонена: справа выше — плашка кончается на 620 px) */
  .hm-dark-sh { background: linear-gradient(180deg, rgba(10,10,12,0.05) 0%, rgba(10,10,12,0.25) 35%, rgba(10,10,12,0.85) 75%, rgba(10,10,12,0.95) 100%); }
  .hm-pick .hm-cut { left: auto; right: -24px; top: 330px; height: 300px; opacity: 1; }
  .hm-pk { left: 8px; right: 8px; top: auto; bottom: 112px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 12px; border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.14); background: rgba(16,16,18,0.84); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); white-space: normal; }
  .hm-pk { gap: 8px; padding: 10px 12px 12px; }
  .hm-pg { display: grid; grid-template-columns: 54px minmax(0, 1fr); align-items: center; gap: 6px; }   /* подпись слева — плашка ниже, лицо персонажа над ней */
  .hm-pg > span { font-size: 10px; line-height: 1.2; letter-spacing: 0.04em; white-space: nowrap; }
  .hm-pg > div { gap: 5px; flex-wrap: wrap; }
  .hm-pg button { padding: 7px 8px; font-size: 12px; white-space: nowrap; }
  .hm-go { justify-content: center; margin-top: 2px; padding: 11px 16px; }
  .hm-pr { display: none; }
  .hm-box { left: 0; right: 0; top: 350px; width: auto; height: 320px; border-radius: 30px; }
  .hm-sert .hm-cut { left: auto; right: 0; top: 380px; height: 290px; }
  .hm-cert { left: 14px; top: 440px; width: 240px; height: 146px; padding: 14px 16px; border-radius: 14px; }
  .hm-cert .t img { height: 28px; }
  .hm-cert .t small { font-size: 9px; }
  .hm-cert .b small { font-size: 9px; }
  .hm-cert .b b { font-size: 36px; }
  .hm-vis-go { position: absolute; left: 16px; top: 594px; z-index: 4; display: flex; align-items: center; gap: 6px; padding: 10px 16px; border-radius: 40px; background: var(--y); color: var(--ink); font-size: 14px; font-weight: 700; }
  .hm-nav { left: 16px; top: 316px; gap: 0; }
  .hm-cnt, .hm-arr { display: none; }
  .hm-bars { gap: 6px; }
  .hm-bars button { width: 8px; height: 8px; border-radius: 4px; background: rgba(47,50,63,0.25); transition: width .25s; }
  .hm-bars button[aria-selected="true"] { width: 22px; background: var(--y); }
  .hm-bars i { display: none; }
  .hm-tape { top: calc(70px + 640px); height: 60px; }
  .hm-tape .tape { left: -80px; top: 0; width: calc(100% + 160px); height: 36px; gap: 18px; font-size: 16px; transform: rotate(-4deg); }
  .hm-tape .tape i { width: 12px; height: 12px; }
  .hm-rates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 16px; padding: 0; border-radius: 0; background: none; box-shadow: none; }
  .hm-rates .sep, .hm-rates .tg, .hm-rates-go { display: none; }
  .hm-rates .rt { gap: 10px; padding: 12px; border-radius: 18px; background: #FFFFFF; }
  .hm-rates .rt img { width: 32px; height: 32px; }
  .hm-rates .rt b { font-size: 20px; gap: 6px; }
  .hm-rates .rt small { font-size: 11px; line-height: 1.3; }
  .hm-rates .stars svg { width: 10px; height: 10px; }
  .main.hm-main { padding-top: var(--gap); }
  .hm-rec { gap: 16px; }
  .hm-rec-head { gap: 16px; }
  .hm-chips { overflow-x: auto; margin-inline: -16px; padding: 0 16px; scrollbar-width: none; }
  .hm-chips::-webkit-scrollbar { display: none; }
  .hm-chips button { padding: 9px 13px; font-size: 14px; }
  .hm-mos { gap: 16px; }
  .hm-feat { margin-top: 70px; align-items: flex-end; }
  .hm-feat-bg { border-radius: 24px; }
  .hm-feat-bg::after { background: linear-gradient(180deg, rgba(14,14,16,0.1) 0%, rgba(14,14,16,0.3) 35%, rgba(14,14,16,0.92) 62%, #0E0E10 100%); }
  .hm-feat-cut { right: 50%; height: 300px; bottom: auto; top: -70px; transform: translateX(50%); }
  .hm-feat-in { width: 100%; padding: 150px 18px 18px; gap: 10px; }
  .hm-feat .tags span { padding: 5px 10px; font-size: 12px; }
  .hm-feat .gn { display: none; }
  .hm-feat .nm { font-size: 40px; }
  .hm-feat .hk { font-size: 14px; }
  .hm-feat .mt { gap: 8px; font-size: 13px; flex-wrap: wrap; white-space: normal; }
  .hm-feat .bt .lnk { display: none; }
  .hm-feat .btn-y { padding: 13px 20px; font-size: 15px; }
  .hm-grid { display: flex; gap: 12px; margin-inline: -16px; padding: 0 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; }
  .hm-grid::-webkit-scrollbar { display: none; }
  .hm-c, .hm-c.big, .hm-c.mid, .hm-c.sm { flex: 0 0 270px; height: 380px; border-radius: 24px; scroll-snap-align: start; }
  .hm-c .in, .hm-c.big .in { left: 18px; right: 18px; bottom: 18px; }
  .hm-c .nm, .hm-c.big .nm { font-size: 28px; }
  .hm-c .hk { display: none; }
  .hm-c .mt, .hm-c.big .mt { font-size: 13px; }
  .hm-c .go, .hm-c.big .go { width: 44px; height: 44px; }
  .hm-c.big .ag { top: 16px; left: 16px; }
  .hm-c .ag { top: 16px; left: 16px; }
  .hm-all { padding: 16px; font-size: 16px; }
  .hm-more { display: flex; gap: 12px; margin-inline: -16px; padding: 0 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; }
  .hm-more::-webkit-scrollbar { display: none; }
  .hm-mc { flex: 0 0 280px; padding-top: 56px; scroll-snap-align: start; }
  .hm-mc .bg { height: 420px; border-radius: 24px; }
  .hm-mc .bg img.m { left: -22px; top: -46px; height: 290px; }
  .hm-mc.vr .bg img.m { left: -40px; top: -42px; height: 250px; }   /* голова — целиком в карточке (Савва 13.10); рука — наружу влево */
  .hm-mc .top { left: -40px; height: 236px; }
  .hm-mc .top img { left: 18px; top: 10px; height: 290px; }
  .hm-mc.vr .top { height: 226px; }
  .hm-mc.vr .top img { left: 0; top: 14px; height: 250px; }
  .hm-mc .sh { top: 56px; height: 420px; border-radius: 24px; }
  .hm-mc .pad { width: 150px; right: -16px; top: 20px; }
  .hm-mc .in { left: 18px; right: 18px; bottom: 18px; gap: 10px; }
  .hm-mc .lg { height: 36px; }
  .hm-mc .lg img, .hm-mc.vr .lg img { height: 26px; }
  .hm-mc .lg b { font-size: 34px; }
  .hm-mc .tx { min-height: 40px; font-size: 14px; }
  .hm-mc .ch span { padding: 5px 8px; font-size: 11px; }
  .hm-mc .ch span:nth-child(3) { display: inline; }
  .hm-mc .bt { padding-top: 12px; }
  .hm-mc .nt { font-size: 14px; }
  .hm-mc .go { padding: 10px 14px; font-size: 13px; }
  .hm-cols { display: flex; flex-direction: column; gap: 16px; }
  .hm-party { height: auto; min-height: 370px; padding: 24px 20px; gap: 18px; }
  .hm-party .cut { height: 150px; right: -20px; }
  .hm-party .chip { font-size: 11px; }
  .hm-party .t { font-size: 31px; }
  .hm-party .pts > span { font-size: 14px; }
  .hm-party .btn-ink { padding: 13px 20px; font-size: 15px; }
  .hm-tiles, .hm-tiles.n4, .hm-tiles.n3 { height: auto; grid-template-rows: none; gap: 8px; }
  .hm-tile { gap: 10px; min-height: 72px; padding: 8px 10px 8px 8px; border-radius: 18px; }
  .hm-tile .ic { width: 56px; height: 56px; }
  .hm-tile .ic img { height: 54px; }
  .hm-tile .tx b { font-size: 18px; }
  .hm-tile .tx small { font-size: 12px; }
  .hm-tile .go { display: none; }
  .hm-quiz { padding-inline: 12px; }
  .hm-quiz-in { height: auto; padding: 28px 16px 16px; border-radius: 28px; }
  .hm-quiz-in > .glow { left: auto; right: -100px; top: 0; width: 300px; height: 300px; }
  .hm-quiz-in > .cut { left: auto; right: -30px; top: 10px; bottom: auto; height: 250px; opacity: 1; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 100%); mask-image: linear-gradient(180deg, #000 72%, transparent 100%); }
  .hm-quiz-in > .tx { position: relative; left: auto; top: auto; width: auto; gap: 14px; padding-right: 110px; }
  .hm-quiz-in > .tx .eb { font-size: 12px; }
  .hm-quiz-in > .tx h2 { font-size: 44px; }
  .hm-quiz-in > .tx p { font-size: 15px; }
  .hm-quiz-in > .tx .pts li { font-size: 14px; }
  .hm-quiz .qz { position: relative; right: auto; top: auto; width: auto; margin-top: 24px; }
  .hm-promo { gap: 24px; padding-bottom: 24px; }
  .hm-promo-tape { height: 64px; }
  .hm-promo-tape .tape { left: -80px; top: 10px; width: calc(100% + 160px); height: 48px; gap: 20px; font-size: 22px; transform: rotate(-4deg); }
  .hm-promo-tape .tape i { width: 14px; height: 14px; }
  .hm-promo-head { align-items: flex-start; gap: 12px; }
  .hm-promo-head p { font-size: 13px; }
  .hm-promo-head .link-arrow { font-size: 14px; }
  .hm-promos { display: flex; gap: 12px; margin-inline: -16px; padding: 8px 16px 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; }
  .hm-promos::-webkit-scrollbar { display: none; }
  .hm-pc { flex: 0 0 270px; scroll-snap-align: start; }
  .hm-pc .ph { height: 170px; }
  .hm-pc .pr-b { top: 60px; width: 104px; height: 104px; }
  .hm-pc .pr-b b { font-size: 34px; }
  .hm-pc .pr-b small { font-size: 9px; }
  .hm-pc .tx { padding: 18px 20px 20px; gap: 8px; }
  .hm-pc .tx b { font-size: 24px; }
  .hm-pc .tx > span:not(.go) { font-size: 14px; }
  .hm-about { gap: 20px; }
  .hm-about .h2 { font-size: 40px; }
  .hm-ab { display: flex; flex-direction: column; gap: 20px; }
  .hm-ab .tx p { font-size: 15px; }
  .hm-vid { width: 100%; height: 200px; border-radius: 20px; }
  .hm-vid .pl { width: 60px; height: 60px; }
  .hm-vid .cp b { font-size: 20px; }
  .hm-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .hm-fact { flex-direction: column; align-items: flex-start; padding: 16px 14px; }
  .hm-fact .emo { width: 36px; height: 36px; }
  .hm-fact .emo img { width: 20px; height: 20px; }
  .hm-fact b { font-size: 16px; }
  .hm-fact small { font-size: 12px; }
  .hm-revs { display: flex; gap: 10px; margin-inline: -16px; padding: 0 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; }
  .hm-revs::-webkit-scrollbar { display: none; }
  .hm-rev, .hm-tg { flex: 0 0 220px; height: 150px; scroll-snap-align: start; }
  .hm-rev .cp b { -webkit-line-clamp: 2; font-size: 14px; }
}
@media (max-width: 374px) {   /* узкие телефоны: подбор слайда 2 — в одну строку на группу */
  .hm-pg { grid-template-columns: 48px minmax(0, 1fr); }
  .hm-pg > span { font-size: 9px; }
  .hm-pg button { padding: 6px 7px; font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .hm-slide { transition: none; }
}
