/* «Орын» — коворкинг. Внешний вид поверх _engine/base.css.
   Тёмный «ночной» этаж, электрический фиолетовый + неоновая фуксия, широкий гротеск Climate Crisis,
   табло лифта шрифтом Handjet, текст — Akt. Цвета меняются в :root. */
:root {
  --ink: #0b0a10; --ink-2: #121019; --ink-3: #1a1724; --ink-4: #252131;
  --fg: #f4f2ff; --muted: #aaa5c6; --dim: #77718f;
  --violet: #5b4bff; --violet-2: #8f82ff; --violet-3: #c6beff;
  --neon: #ff3fc8; --neon-2: #ff8fe1;
  --paper: #f1f0f8; --paper-ink: #13111b; --paper-muted: #55516a;
  --line: rgba(236, 232, 255, .12); --line-2: rgba(236, 232, 255, .24);
  --bg: var(--ink); --soft: var(--ink-2); --accent: var(--violet); --accent-ink: #fff; --bad: #ff6b81; --ok: #59e3a7;
  --radius: 16px; --radius-btn: 999px; --wrap: 1320px; --pad: 40px; --gap: 24px;
  --font-body: 'Akt', system-ui, sans-serif; --font-head: 'Climate Crisis', 'Akt', sans-serif; --font-led: 'Handjet', 'Akt', monospace;
  --step--1: 14px; --step-0: 17px; --step-1: 19px; --step-2: 23px;
  --ease: cubic-bezier(.2, .75, .1, 1); --ease-io: cubic-bezier(.75, 0, .2, 1);
  color-scheme: dark;
}
@view-transition { navigation: auto; }
::view-transition-group(root) { animation-duration: .22s; }

html { background: var(--ink); }
body { background: var(--ink); color: var(--fg); font-size: var(--step-0); line-height: 1.6; }
::selection { background: var(--neon); color: #fff; }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
h1, h2, h3 { font-weight: 400; }
:focus-visible { outline: 2px solid var(--neon); outline-offset: 3px; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.small { color: var(--muted); }
.paper { --bg: var(--paper); --fg: var(--paper-ink); --muted: var(--paper-muted); --line: rgba(19, 17, 27, .14); --line-2: rgba(19, 17, 27, .3); background: var(--paper); color: var(--paper-ink); color-scheme: light; }
.paper :focus-visible { outline-color: var(--violet); }

/* типографика */
.h-xl, .h-l, .h-m, .page-title { font-family: var(--font-head); text-transform: uppercase; font-weight: 400; letter-spacing: -.005em; }
.h-xl { font-size: clamp(38px, 6.2vw, 100px); line-height: .92; }
.h-l { font-size: clamp(28px, 3.5vw, 54px); line-height: .98; }
.h-m { font-size: clamp(20px, 1.8vw, 26px); line-height: 1.05; margin: 34px 0 14px; }
.kick { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font: 500 18px/1 var(--font-led); letter-spacing: .14em; text-transform: uppercase; color: var(--violet-2); }
.kick::before { content: ''; width: 8px; height: 8px; background: currentColor; box-shadow: 0 0 10px currentColor; flex: none; }
.paper .kick { color: var(--violet); }
.hl { display: inline-block; padding: 0 .22em .04em; margin-left: .12em; border-radius: 999px; background: var(--fg); color: var(--bg); }
.hl--box { background: none; color: inherit; border-radius: 0; margin: 0; padding: 0 .12em; outline: 2px solid var(--violet-2); outline-offset: 2px;
  background-image: linear-gradient(var(--violet-2), var(--violet-2)), linear-gradient(var(--violet-2), var(--violet-2)), linear-gradient(var(--violet-2), var(--violet-2)), linear-gradient(var(--violet-2), var(--violet-2));
  background-size: 7px 7px; background-repeat: no-repeat; background-position: -2px -2px, calc(100% + 2px) -2px, -2px calc(100% + 2px), calc(100% + 2px) calc(100% + 2px); }
.tag { display: inline-block; padding: 7px 11px 6px; border: 1.5px solid currentColor; background: var(--bg); font: 500 16px/1 var(--font-led); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; transform: rotate(var(--r, -4deg)); }
.how__ic, .feat__ic { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
.ic { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* кнопки */
.btn { min-height: 52px; padding: 0 22px 0 26px; border: 0; background: var(--violet); color: #fff; font-weight: 500; font-size: 16px; letter-spacing: .01em; position: relative; isolation: isolate; overflow: hidden; transition: transform .35s var(--ease), background .25s, color .25s, box-shadow .3s; }
.btn::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--neon); border-radius: inherit; transform: translateY(101%); transition: transform .45s var(--ease); }
.btn:hover { filter: none; }
.btn:hover::before { transform: none; }
.btn .ic--arr { width: 18px; height: 18px; transition: transform .35s var(--ease); }
.btn:hover .ic--arr { transform: translateX(4px); }
.btn--neon { background: var(--neon); box-shadow: 0 0 0 0 rgba(255, 63, 200, .5), 0 10px 40px -10px rgba(255, 63, 200, .7); }
.btn--neon::before { background: #fff; }
.btn--neon:hover { color: var(--ink); }
.btn--ghost { background: transparent; color: var(--fg); box-shadow: inset 0 0 0 1.5px var(--line-2); }
.btn--ghost::before { background: var(--fg); }
.btn--ghost:hover { background: transparent; color: var(--bg); border-color: transparent; }
.btn--sm { min-height: 42px; padding: 0 18px; font-size: 15px; }
.btn--lg { min-height: 60px; padding: 0 28px 0 32px; font-size: 17px; }
.paper .btn--ghost:hover { color: var(--paper); }
.alink { display: inline-flex; align-items: center; gap: 8px; color: var(--fg); text-decoration: none; font-weight: 500; border-bottom: 1px solid var(--line-2); padding-bottom: 4px; transition: border-color .25s, gap .3s var(--ease); }
.alink:hover { border-color: var(--neon); gap: 14px; }
.alink .ic { width: 17px; height: 17px; }

/* ——— двери лифта: прелоадер и переход ——— */
.lift { position: fixed; inset: 0; z-index: 300; overflow: hidden; pointer-events: auto; animation: liftOff 0s 1.45s forwards; }
.lift__door { position: absolute; top: 0; bottom: 0; width: 50.2%; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 7px), linear-gradient(90deg, #121019, #1c1928 55%, #15131e); will-change: transform; }
.lift__door--l { left: 0; animation: doorL .55s .85s var(--ease-io) forwards; }
.lift__door--r { right: 0; animation: doorR .55s .85s var(--ease-io) forwards; transform-origin: right; }
.lift__door--l::after, .lift__door--r::after { content: ''; position: absolute; top: 0; bottom: 0; width: 2px; background: var(--neon); box-shadow: 0 0 14px var(--neon), 0 0 46px rgba(255, 63, 200, .6); }
.lift__door--l::after { right: 0; } .lift__door--r::after { left: 0; }
.lift__panel { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 12px; text-align: center; animation: panelOut .3s .7s ease forwards; }
.lift__led { display: flex; align-items: center; gap: 14px; padding: 14px 26px 12px; border-radius: 14px; background: #07060b; box-shadow: inset 0 0 0 1px rgba(255, 63, 200, .25), 0 0 60px rgba(255, 63, 200, .18); font: 500 clamp(64px, 9vw, 110px)/.9 var(--font-led); color: var(--neon); text-shadow: 0 0 18px rgba(255, 63, 200, .8); letter-spacing: .04em; }
.lift__arr { font-size: .42em; animation: blink .5s steps(1) infinite; }
.lift__name { font: 400 clamp(22px, 2.4vw, 30px)/1 var(--font-head); text-transform: uppercase; color: var(--fg); letter-spacing: .02em; }
.lift__t { font: 500 18px/1 var(--font-led); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.lift__bar { width: 180px; height: 2px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.lift__bar i { display: block; height: 100%; background: var(--neon); transform-origin: left; transform: scaleX(0); animation: bar .78s .02s linear forwards; }
html.lift-seen .lift { animation: liftOff 0s .72s forwards; }
html.lift-seen .lift__door--l { animation: doorL .6s .08s var(--ease-io) forwards; }
html.lift-seen .lift__door--r { animation: doorR .6s .08s var(--ease-io) forwards; }
html.lift-seen .lift__panel { animation: panelOut .22s .02s ease forwards; }
html.lift-seen .lift__name, html.lift-seen .lift__bar { display: none; }
html.lift-skip .lift { animation: liftOff 0s .45s forwards; }
html.lift-skip .lift__door--l { animation: doorLs .42s var(--ease-io) forwards; }
html.lift-skip .lift__door--r { animation: doorRs .42s var(--ease-io) forwards; }
html.lift-skip .lift__panel { animation: panelOut .15s ease forwards; }
html.lift-leave .lift { animation: none; visibility: visible; }
html.lift-leave .lift__door--l { animation: doorInL .4s var(--ease-io) forwards; }
html.lift-leave .lift__door--r { animation: doorInR .4s var(--ease-io) forwards; }
html.lift-leave .lift__panel { animation: panelIn .25s .16s ease both; }
html.lift-leave .lift__name, html.lift-leave .lift__bar { display: none; }
@keyframes liftOff { to { visibility: hidden; pointer-events: none; } }
@keyframes doorL { to { transform: translateX(-101%); } }
@keyframes doorR { to { transform: translateX(101%); } }
@keyframes doorLs { from { transform: none; } to { transform: translateX(-101%); } }
@keyframes doorRs { from { transform: none; } to { transform: translateX(101%); } }
@keyframes doorInL { from { transform: translateX(-101%); } to { transform: none; } }
@keyframes doorInR { from { transform: translateX(101%); } to { transform: none; } }
@keyframes panelOut { to { opacity: 0; transform: translate(-50%, -50%) scale(.94); } }
@keyframes panelIn { from { opacity: 0; transform: translate(-50%, -50%) scale(.94); } to { opacity: 1; transform: translate(-50%, -50%); } }
@keyframes bar { to { transform: scaleX(1); } }
@keyframes blink { 50% { opacity: .25; } }

/* ——— шапка ——— */
.top { position: fixed; left: 0; right: 0; top: 0; z-index: 70; display: flex; align-items: center; gap: 18px; height: 74px; padding: 0 var(--pad); transition: transform .5s var(--ease), background .3s, box-shadow .3s; }
.top.is-scrolled { background: rgba(11, 10, 16, .78); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--line); }
.top.is-hidden { transform: translateY(-105%); }
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--fg); flex: none; }
.logo__mark { width: 22px; height: 22px; border-radius: 6px; background: var(--violet); position: relative; box-shadow: 0 0 18px rgba(91, 75, 255, .7); }
.logo__mark::after { content: ''; position: absolute; left: 50%; top: 4px; bottom: 4px; width: 2px; margin-left: -1px; background: var(--neon); box-shadow: 0 0 6px var(--neon); }
.logo__w { font: 400 21px/1 var(--font-head); text-transform: uppercase; letter-spacing: .01em; }
.floor { display: inline-flex; align-items: center; gap: 9px; height: 38px; padding: 0 14px 0 12px; border: 0; border-radius: 10px; background: #07060b; box-shadow: inset 0 0 0 1px rgba(255, 63, 200, .28); color: var(--neon); font: 500 20px/1 var(--font-led); letter-spacing: .08em; text-transform: uppercase; text-shadow: 0 0 10px rgba(255, 63, 200, .6); }
.floor__arr { font-size: 12px; animation: blink 1.6s steps(1) infinite; }
.floor__n { font-size: 24px; }
.floor__t { color: var(--neon-2); font-size: 16px; letter-spacing: .14em; max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.floor:hover { box-shadow: inset 0 0 0 1px var(--neon), 0 0 20px rgba(255, 63, 200, .35); }
.top__nav { display: flex; gap: 4px; margin-left: auto; }
.top__nav a { padding: 8px 12px; border-radius: 8px; text-decoration: none; font: 500 18px/1 var(--font-led); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); transition: color .2s, background .2s; }
.top__nav a:hover { color: var(--fg); background: rgba(255, 255, 255, .06); }
.top__nav a[aria-current] { color: var(--fg); box-shadow: inset 0 -2px 0 var(--neon); border-radius: 0; }
.top__cta { flex: none; }
.burger { display: inline-flex; align-items: center; gap: 10px; height: 42px; padding: 0 14px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .07); color: var(--fg); font: 500 18px/1 var(--font-led); letter-spacing: .12em; text-transform: uppercase; flex: none; }
.burger:hover { background: rgba(255, 255, 255, .13); }
.burger__dots { display: grid; grid-template-columns: 6px 6px; gap: 4px; }
.burger__dots i { width: 6px; height: 6px; border-radius: 50%; box-shadow: inset 0 0 0 1.4px currentColor; }
.burger__dots i:first-child { background: var(--neon); box-shadow: 0 0 6px var(--neon); }
.p-bron .top__nav { margin-right: 0; }

/* ——— меню-панель лифта ——— */
.mnav { width: 100%; inset: 0; padding: 0; background: radial-gradient(120% 80% at 80% 0%, rgba(91, 75, 255, .2), transparent 60%), #0a0910; transform: none; clip-path: inset(0 50% 0 50%); transition: clip-path .6s var(--ease-io), visibility .6s; display: flex; flex-direction: column; }
.mnav.is-open { clip-path: inset(0 0 0 0); }
.mnav__top { display: flex; align-items: center; gap: 18px; height: 74px; padding: 0 var(--pad); margin: 0; border-bottom: 1px solid var(--line); flex: none; }
.mnav__led { margin: 0 auto; font: 500 18px/1 var(--font-led); letter-spacing: .2em; text-transform: uppercase; color: var(--neon); text-shadow: 0 0 10px rgba(255, 63, 200, .6); }
.mnav__x { color: var(--fg); border-radius: 50%; background: rgba(255, 255, 255, .07); }
.mnav__grid { flex: 1; display: grid; grid-template-columns: 1.4fr 1fr; gap: 0; min-height: 0; }
.mnav ul { list-style: none; padding: 0; margin: 0; }
.mnav__fl { padding: 26px 40px 26px var(--pad); display: grid; align-content: center; gap: 2px; border-right: 1px solid var(--line); }
.mnav .fl { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 22px; padding: 10px 0; text-decoration: none; font-size: inherit; border-bottom: 1px solid var(--line); }
.fl__b { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1.5px var(--line-2); font: 500 24px/1 var(--font-led); color: var(--muted); transition: box-shadow .3s, color .3s, background .3s; }
.fl__t { font: 400 clamp(24px, 3vw, 44px)/1 var(--font-head); text-transform: uppercase; transition: transform .45s var(--ease), color .3s; }
.fl__s { font: 500 17px/1 var(--font-led); letter-spacing: .12em; text-transform: uppercase; color: var(--dim); }
.fl:hover .fl__b, .fl.is-here .fl__b { color: var(--neon); box-shadow: inset 0 0 0 1.5px var(--neon), 0 0 22px rgba(255, 63, 200, .45); text-shadow: 0 0 8px var(--neon); }
.fl:hover .fl__t { transform: translateX(10px); color: var(--violet-3); }
.mnav__side { padding: 40px var(--pad); display: flex; flex-direction: column; gap: 6px; overflow-y: auto; }
.mnav__sp, .mnav__ct { display: grid; gap: 0; margin-bottom: 26px !important; }
.mnav .mnav__sp a, .mnav .mnav__ct a { display: flex; align-items: center; gap: 12px; padding: 9px 0; font-size: 18px; text-decoration: none; border-bottom: 1px solid var(--line); }
.mnav__sp a:hover, .mnav__ct a:hover { color: var(--neon-2); }
.mnav__z { width: 26px; height: 26px; border-radius: 6px; display: grid; place-items: center; background: rgba(91, 75, 255, .25); font: 500 16px/1 var(--font-led); color: var(--violet-3); }

/* ——— липкая панель брони ——— */
.dock { position: fixed; z-index: 60; left: 50%; bottom: 18px; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; padding: 7px 7px 7px 18px; border-radius: 999px; background: rgba(18, 16, 25, .86); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: inset 0 0 0 1px var(--line-2), 0 20px 60px -10px rgba(0, 0, 0, .7), 0 0 50px -20px rgba(91, 75, 255, .8); transition: transform .5s var(--ease), opacity .4s; max-width: calc(100% - 24px); }
.dock.is-off { transform: translate(-50%, 140%); opacity: 0; pointer-events: none; }
.dock__k { display: inline-flex; align-items: center; gap: 8px; margin-right: 6px; font: 500 18px/1 var(--font-led); letter-spacing: .16em; text-transform: uppercase; color: var(--neon); }
.dock__k i { width: 7px; height: 7px; border-radius: 50%; background: var(--neon); box-shadow: 0 0 8px var(--neon); animation: blink 1.4s steps(1) infinite; }
.dock__f select, .dock__f input { height: 42px; border: 0; border-radius: 999px; padding: 0 34px 0 16px; background: rgba(255, 255, 255, .07) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23aaa5c6' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center; color: var(--fg); font-size: 15px; appearance: none; -webkit-appearance: none; color-scheme: dark; }
.dock__f input { padding-right: 12px; background-image: none; min-width: 148px; }
.dock__f select:hover, .dock__f input:hover { background-color: rgba(255, 255, 255, .12); }
.dock__f option { background: var(--ink-2); }
.dock__m { display: none; }
body.has-dock { padding-bottom: 0; }

/* ——— подвал ——— */
.foot { position: relative; overflow: clip; padding: 110px 0 0; border-top: 1px solid var(--line); background: radial-gradient(70% 60% at 15% 100%, rgba(91, 75, 255, .18), transparent 70%), var(--ink); }
.foot__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 40px; }
.foot__big { font: 400 clamp(30px, 3.2vw, 48px)/.98 var(--font-head); text-transform: uppercase; margin-bottom: 18px; max-width: 12ch; }
.foot__txt { color: var(--muted); max-width: 36ch; margin-bottom: 26px; }
.foot__col ul { list-style: none; padding: 0; display: grid; gap: 2px; }
.foot__col a { display: inline-flex; gap: 10px; padding: 5px 0; text-decoration: none; color: var(--fg); }
.foot__col a:hover { color: var(--neon-2); }
.foot__n { min-width: 24px; font: 500 17px/1.4 var(--font-led); color: var(--violet-2); }
.foot__ct li { color: var(--muted); padding: 5px 0; }
.foot__ct li a { color: var(--fg); padding: 0; }
.foot__bot { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 70px; padding: 22px 0; border-top: 1px solid var(--line); }
.foot__bot p { margin: 0; }
.foot__word { font: 400 calc((100vw - 2 * var(--pad)) * .219)/.78 var(--font-head); text-align: center; color: transparent; -webkit-text-stroke: 1.5px rgba(143, 130, 255, .35); margin: 10px 0 -.12em; white-space: nowrap; user-select: none; }
.foot__dev { margin: 0; padding: 18px var(--pad) 104px; text-align: center; border-top: 1px solid var(--line); font: 500 17px/1 var(--font-led); letter-spacing: .16em; text-transform: uppercase; }
.foot__dev a { color: var(--muted); text-decoration: none; transition: color .25s, text-shadow .25s; }
.foot__dev a:hover { color: var(--neon); text-shadow: 0 0 10px rgba(255, 63, 200, .6); }

/* ——— заголовок внутренних страниц ——— */
.ph { position: relative; padding: 150px 0 60px; overflow: clip; }
.ph::before { content: ''; position: absolute; right: -10%; top: -30%; width: 60%; height: 120%; background: radial-gradient(closest-side, rgba(91, 75, 255, .25), transparent); pointer-events: none; }
.ph__in { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.ph__path { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; font: 500 18px/1 var(--font-led); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ph__path a { color: var(--muted); text-decoration: none; }
.ph__path a:hover { color: var(--fg); }
.ph__n { padding: 6px 9px 5px; border-radius: 6px; background: #07060b; color: var(--neon); box-shadow: inset 0 0 0 1px rgba(255, 63, 200, .3); text-shadow: 0 0 8px rgba(255, 63, 200, .6); }
.ph__t { font: 400 min(176px, calc(min(100vw - 2 * var(--pad), 1320px) / (var(--len, 8) * 1.08)))/.86 var(--font-head); text-transform: uppercase; margin: 0 0 26px; letter-spacing: -.01em; }
.ph__lead { max-width: 56ch; font-size: var(--step-1); color: var(--muted); margin: 0; }
.ph__tags { display: flex; flex-wrap: wrap; gap: 10px; max-width: 320px; justify-content: flex-end; padding-bottom: 10px; }

/* разбиение заголовков на слова */
.w { display: inline-block; }
.fx [data-split] .w { opacity: 0; transform: translateY(.45em) rotate(3deg); transform-origin: 0 100%; }
.fx [data-split].is-in .w { opacity: 1; transform: none; transition: opacity .6s calc(var(--i, 0) * 55ms), transform .9s var(--ease) calc(var(--i, 0) * 55ms); }

/* бегущая строка */
.marquee { overflow: hidden; white-space: nowrap; user-select: none; }
.marquee__track { display: flex; width: max-content; animation: mq 40s linear infinite; }
.marquee__row { display: flex; align-items: center; gap: .55em; padding-right: .55em; }
.marquee__star { font-style: normal; color: var(--neon); font-size: .7em; }
@keyframes mq { to { transform: translateX(-50%); } }
.band { position: relative; overflow: clip; padding: 30px 0; }
.band .marquee { background: var(--violet); color: #fff; font: 400 clamp(24px, 3vw, 42px)/1 var(--font-head); text-transform: uppercase; padding: 18px 0 16px; transform: rotate(-1.6deg); width: 104%; margin-left: -2%; box-shadow: 0 0 60px rgba(91, 75, 255, .45); }
.band .marquee__star { color: var(--ink); }
.marquee--out { font: 400 clamp(60px, 9vw, 150px)/1 var(--font-head); text-transform: uppercase; color: transparent; -webkit-text-stroke: 1.5px rgba(198, 190, 255, .35); padding: 10px 0 40px; }
.marquee--out .marquee__track { animation-direction: reverse; animation-duration: 55s; }
.marquee--out .marquee__star { -webkit-text-stroke: 0; color: var(--neon); }

/* ——— ГЕРОЙ ——— */
.hero { position: relative; min-height: 100vh; min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; gap: 20px; padding: 100px var(--pad) 30px; overflow: clip; isolation: isolate; --fw: calc((100vw - 2 * var(--pad)) * .219); }
.hero__beams { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
.hero__planes { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.hero__planes i { position: absolute; display: block; background: linear-gradient(135deg, rgba(91, 75, 255, .2), rgba(11, 10, 16, 0) 62%); }
.hero__planes i:first-child { left: -6%; top: 8%; width: 52%; height: 70%; clip-path: polygon(0 18%, 100% 0, 78% 100%, 0 82%); }
.hero__planes i:last-child { right: -4%; top: 30%; width: 46%; height: 64%; clip-path: polygon(22% 0, 100% 12%, 100% 100%, 0 70%); background: linear-gradient(200deg, rgba(255, 63, 200, .13), rgba(11, 10, 16, 0) 60%); }
.hero__sheen { position: absolute; left: 0; top: 0; width: 560px; height: 560px; margin: -280px 0 0 -280px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 70, 200, .75), rgba(255, 70, 200, 0)); mix-blend-mode: color-dodge; pointer-events: none; opacity: 0; transition: opacity .5s; z-index: 2; will-change: transform; }
.hero.is-lit .hero__sheen { opacity: 1; }
.hero__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.live { min-width: 270px; padding: 14px 16px 10px; border-radius: 14px; background: rgba(12, 11, 18, .66); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px var(--line-2); font: 500 17px/1.15 var(--font-led); letter-spacing: .08em; text-transform: uppercase; }
.live p { margin: 0; }
.live__h { display: flex; align-items: center; gap: 8px; color: var(--neon); margin-bottom: 8px !important; }
.live__h i { width: 7px; height: 7px; border-radius: 50%; background: var(--neon); box-shadow: 0 0 8px var(--neon); animation: blink 1.2s steps(1) infinite; }
.live__r { display: flex; justify-content: space-between; gap: 18px; padding: 5px 0; border-top: 1px solid var(--line); color: var(--muted); }
.live__r b { font-weight: 500; color: var(--violet-3); }
.live__n { padding-top: 6px; font-size: 13px; color: var(--dim); letter-spacing: .14em; }
.hero__mid { position: relative; align-self: center; }
.hero__h1 { margin: 0; }
.hero__word { display: block; font: 400 var(--fw)/.8 var(--font-head); color: var(--violet); white-space: nowrap; letter-spacing: -.012em; text-shadow: 0 0 .06em rgba(91, 75, 255, .9), 0 0 .3em rgba(91, 75, 255, .45); }
.hero__word i { font-style: normal; display: inline-block; }
.fx .hero__word i { opacity: .07; animation: neonOn 1.1s var(--d, 0s) both paused; }
.fx.lift-open .hero__word i { animation-play-state: running; }
.fx.lift-open .hero__l2 i:first-child { animation: neonOn 1.1s var(--d) both, buzz 7s 3s infinite; }
@keyframes neonOn { 0% { opacity: .07; } 8% { opacity: 1; } 12% { opacity: .2; } 20% { opacity: .95; } 26% { opacity: .35; } 38%, 100% { opacity: 1; } }
@keyframes buzz { 0%, 90%, 93%, 96%, 100% { opacity: 1; } 91.5% { opacity: .35; } 94.5% { opacity: .6; } }
.obadge { position: absolute; left: var(--ox, 12.3%); top: var(--oy, 50%); width: clamp(86px, 10.5vw, 156px); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: rgba(11, 10, 16, .92); box-shadow: 0 0 0 1.5px var(--neon), 0 0 34px rgba(255, 63, 200, .5); color: var(--fg); display: grid; place-items: center; text-decoration: none; z-index: 3; transition: box-shadow .3s, background .3s; }
.obadge svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: spin 16s linear infinite; }
.obadge svg.obadge__arr { position: relative; inset: auto; width: 34%; height: 34%; animation: none; }
.obadge text { font: 500 23px var(--font-led); fill: currentColor; }
.obadge__arr { width: 34%; height: 34%; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transform: rotate(-45deg); transition: transform .4s var(--ease); }
.obadge:hover { background: var(--neon); }
.obadge:hover .obadge__arr { transform: rotate(0); }
@keyframes spin { to { transform: rotate(360deg); } }
.hero__bot { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: end; gap: 40px; padding-top: 24px; border-top: 1px solid var(--line-2); }
.hero__lead { max-width: 40ch; font-size: var(--step-1); margin: 0; color: var(--fg); }
.stk { position: relative; width: 300px; height: 112px; }
.stk__i { position: absolute; left: 0; top: 0; padding: 8px 12px 7px; border: 1.5px solid var(--fg); background: var(--ink); font: 500 18px/1 var(--font-led); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; transform: translate(var(--x), var(--y)) rotate(var(--r)); user-select: none; touch-action: none; }
.stk__i--v { background: var(--violet); border-color: var(--violet); color: #fff; }
.stk__i--n { color: var(--neon); border-color: var(--neon); box-shadow: 0 0 18px rgba(255, 63, 200, .35); }
.fine .stk__i { cursor: grab; }
.stk__i.is-drag { cursor: grabbing; z-index: 2; box-shadow: 0 18px 40px rgba(0, 0, 0, .5); }
.hero__act { display: flex; align-items: center; gap: 22px; }

/* ——— 3D-этаж (история с прокруткой) ——— */
.story { position: relative; height: 480vh; }
.story__pin { position: sticky; top: 0; height: 100vh; display: grid; grid-template-columns: minmax(330px, 410px) minmax(0, 1fr); gap: 30px; align-items: center; padding: 84px var(--pad) 30px; overflow: clip; }
.story__txt { position: relative; z-index: 2; }
.story__cards { position: relative; min-height: 300px; margin-top: 30px; }
.scard { position: absolute; left: 0; top: 0; width: 100%; visibility: hidden; opacity: 0; transform: translateY(26px); transition: opacity .4s, transform .6s var(--ease), visibility 0s .4s; }
.scard.is-on { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.scard__n { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; font: 500 18px/1 var(--font-led); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.scard__z { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--violet); color: #fff; font-size: 24px; box-shadow: 0 0 24px rgba(91, 75, 255, .6); }
.scard__t { font: 400 clamp(26px, 2.6vw, 38px)/1 var(--font-head); text-transform: uppercase; margin-bottom: 14px; }
.scard__d { color: var(--muted); }
.scard__p { margin-bottom: 18px; }
.scard__p b { font-weight: 700; color: var(--neon-2); margin-right: 6px; }
.story__rail { display: flex; gap: 6px; margin-top: 10px; }
.story__dot { flex: 1; display: grid; gap: 7px; font: 500 16px/1 var(--font-led); color: var(--dim); text-align: center; transition: color .3s; }
.story__dot i { height: 3px; background: var(--line-2); transition: background .3s, box-shadow .3s; }
.story__dot.is-on { color: var(--neon); }
.story__dot.is-on i, .story__dot.is-past i { background: var(--neon); box-shadow: 0 0 8px var(--neon); }
.story__chips { display: none; }
.story__stage { position: relative; height: 100%; min-height: 0; }
.story .plan-box { position: absolute; inset: 0; height: auto; }
.plan--story { overflow: visible; }
.story__txt::before { content: ''; position: absolute; z-index: -1; left: calc(-1 * var(--pad)); top: -40vh; bottom: -40vh; width: calc(100% + var(--pad) + 140px); background: linear-gradient(90deg, var(--ink) 62%, rgba(11, 10, 16, 0)); pointer-events: none; }
body.in-story .dock { transform: translate(-50%, 140%); opacity: 0; pointer-events: none; }

/* ——— 3D-план ——— */
.plan-box { position: relative; width: 100%; height: 460px; }
.plan-box--xl { height: min(74vh, 700px); }
.plan-box--md { height: 480px; }
.plan-box--sm { height: 300px; }
.plan { perspective: 2400px; perspective-origin: 50% 35%; overflow: hidden; user-select: none; -webkit-user-select: none; }
.plan__cam { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform-style: preserve-3d; }
.plan__floor { position: absolute; left: -500px; top: -320px; width: 1000px; height: 640px; transform-style: preserve-3d; transform-origin: 500px 320px; background-color: #14121d; background-image: linear-gradient(rgba(198, 190, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(198, 190, 255, .045) 1px, transparent 1px); background-size: 20px 20px; box-shadow: inset 0 0 0 1px rgba(143, 130, 255, .35); will-change: transform; }
.plan__floor i, .plan__floor div { position: absolute; display: block; pointer-events: none; }
.plan__glow { inset: -60px; background: radial-gradient(closest-side, rgba(91, 75, 255, .32), transparent); transform: translateZ(-50px); }
.slab { background: #0d0b14; }
.slab--s { left: 0; top: 100%; width: 100%; height: 22px; transform-origin: 0 0; transform: rotateX(-90deg); box-shadow: inset 0 1px 0 rgba(143, 130, 255, .6); }
.slab--w { left: 0; top: 0; width: 22px; height: 100%; transform-origin: 0 0; transform: rotateY(90deg); background: #100e18; box-shadow: inset 1px 0 0 rgba(143, 130, 255, .5); }
.zone { position: absolute; display: block; background: rgba(143, 130, 255, .05); box-shadow: inset 0 0 0 1px rgba(143, 130, 255, .14); transform: translateZ(.6px); transition: background .45s, box-shadow .45s; text-decoration: none; }
a.zone { pointer-events: auto !important; cursor: pointer; }
.zone[data-z="F"], .zone[data-z="L"] { background: rgba(255, 255, 255, .025); }
.zone.is-hot { background: rgba(91, 75, 255, .3); box-shadow: inset 0 0 0 2px var(--violet-2), inset 0 0 50px rgba(143, 130, 255, .35); }
.zone::before { content: attr(data-z); position: absolute; left: 10px; top: 0; font: 400 96px/1 var(--font-head); color: rgba(198, 190, 255, .06); transition: color .45s; pointer-events: none; }
.zone.is-hot::before { color: rgba(255, 255, 255, .22); }
.zone[data-k="0"]::before { content: none; }
.dots { background-image: radial-gradient(circle, rgba(198, 190, 255, .34) 0 3.6px, transparent 4.4px); transform: translateZ(1px); }
.chair { border-radius: 3px; background: rgba(198, 190, 255, .28); transform: translateZ(3px); }
.cube { position: absolute; transform-style: preserve-3d; --ct: #2b2640; --cs: #1b1828; --cw: #231f33; }
.cube > .f-t, .cube > .f-s, .cube > .f-w { position: absolute; display: block; }
.f-t { left: 0; top: 0; width: 100%; height: 100%; background: var(--ct); transform: translateZ(calc(var(--h) * var(--r, 1))); }
.f-s { left: 0; top: 100%; width: 100%; height: var(--h); background: var(--cs); transform-origin: 0 0; transform: rotateX(90deg) scaleY(var(--r, 1)); }
.f-w { left: 0; top: 0; width: var(--h); height: 100%; background: var(--cw); transform-origin: 0 0; transform: rotateY(-90deg) scaleX(var(--r, 1)); }
.cube--table { --ct: #2e2944; }
.cube--stage { --ct: #3b3170; --cs: #251f48; --cw: #2c2556; }
.cube--counter { --ct: #332d48; }
.cube--sofa { --ct: #4b3d86; --cs: #2b2350; --cw: #362b63; }
.cube--desk { --ct: #2e2944; }
.cube--desk .f-s { box-shadow: inset 0 -2px 0 var(--neon), 0 0 14px rgba(255, 63, 200, .5); }
.cube--lift { --ct: var(--violet); --cs: #1f1b2e; --cw: #191626; }
.cube--lift .f-t { box-shadow: 0 0 40px rgba(91, 75, 255, .9); }
.cube--lift .f-s { background: linear-gradient(90deg, #1f1b2e calc(50% - 1.5px), var(--neon) calc(50% - 1.5px) calc(50% + 1.5px), #1f1b2e calc(50% + 1.5px)); }
.cube--fix { --ct: #2e2944; }
.cube--booth { --ct: rgba(143, 130, 255, .35); --cs: rgba(143, 130, 255, .2); --cw: rgba(143, 130, 255, .14); }
.cube--booth .f-s, .cube--booth .f-w { box-shadow: inset 0 0 0 1px rgba(198, 190, 255, .5); }
.monitor { background: linear-gradient(180deg, var(--violet-2), var(--violet)); transform-origin: 0 0; transform: translateZ(calc(var(--h) * var(--r, 1))) rotateX(90deg) scaleY(var(--r, 1)); box-shadow: 0 0 10px rgba(143, 130, 255, .6); }
.screen { background: linear-gradient(180deg, rgba(143, 130, 255, .25), rgba(198, 190, 255, .9)); transform-origin: 0 0; transform: rotateX(90deg) scaleY(var(--r, 1)); box-shadow: 0 0 40px rgba(143, 130, 255, .8); border-radius: 2px; }
.wall { transform-origin: 0 0; }
.wall--h { transform: rotateX(90deg) scaleY(var(--r, 1)); }
.wall--v { transform: rotateY(-90deg) scaleX(var(--r, 1)); }
.wall--glass.wall--h { background: linear-gradient(to bottom, rgba(143, 130, 255, .05), rgba(143, 130, 255, .28)); box-shadow: inset 0 -2px 0 rgba(210, 204, 255, .85); }
.wall--glass.wall--v { background: linear-gradient(to right, rgba(143, 130, 255, .05), rgba(143, 130, 255, .28)); box-shadow: inset -2px 0 0 rgba(210, 204, 255, .85); }
.wall--out.wall--h { background: linear-gradient(to bottom, #1a1726 0 10px, transparent 10px calc(100% - 12px), #1a1726 calc(100% - 12px)), repeating-linear-gradient(90deg, #1a1726 0 16px, rgba(143, 130, 255, .2) 16px 74px); box-shadow: inset 0 -2px 0 var(--violet-2); }
.wall--out.wall--v { background: linear-gradient(to right, #1a1726 0 10px, transparent 10px calc(100% - 12px), #1a1726 calc(100% - 12px)), repeating-linear-gradient(180deg, #1a1726 0 16px, rgba(143, 130, 255, .2) 16px 74px); box-shadow: inset -2px 0 0 var(--violet-2); }
.wall--curb { background: #2a2638; }
.st { position: absolute; display: block; padding: 0; margin: 0; border: 0; border-radius: 0; font: inherit; color: inherit; transition: background .35s, box-shadow .35s, transform .45s var(--ease), opacity .35s; }
.st--flex { border-radius: 5px; background: rgba(244, 242, 255, .13); box-shadow: inset 0 0 0 1.5px rgba(244, 242, 255, .36); transform: translateZ(4px); }
.st--room, .st--hall { background: transparent; transform: translateZ(1.2px); }
.st__busy { position: absolute; inset: 0; opacity: 0; transition: opacity .35s; background: repeating-linear-gradient(45deg, rgba(42, 38, 56, .9) 0 6px, rgba(20, 18, 29, .9) 6px 12px); }
.pin { width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--violet-2); box-shadow: 0 0 0 5px rgba(143, 130, 255, .18); transform: translateZ(2px); transition: background .3s; }
.pin.is-hot, .plan .pin[data-z].is-hot { background: var(--neon); }
.bb { width: 0; height: 0; transform: translateZ(calc(64px * var(--r, 1))) rotateZ(calc(-1 * var(--rz, 0deg))) rotateX(calc(-1 * var(--rx, 0deg))); transition: opacity .4s; }
.bb__in { position: absolute; left: 0; bottom: 0; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; background: rgba(12, 11, 18, .9); box-shadow: inset 0 0 0 1px var(--line-2); white-space: nowrap; transition: transform .45s var(--ease), background .3s, box-shadow .3s; transform-origin: 50% 100%; }
.bb__k { position: static !important; width: 28px; height: 28px; border-radius: 50%; display: grid !important; place-items: center; background: var(--violet); color: #fff; font: 500 19px/1 var(--font-led); }
.bb__t { position: static !important; font: 500 15px/1.1 var(--font-body); color: var(--fg); }
.bb__p { position: static !important; font: 500 14px/1.1 var(--font-led); letter-spacing: .08em; color: var(--neon-2); margin-top: 2px; display: none !important; }
.bb.is-hot .bb__in { transform: translateX(-50%) scale(1.08); background: var(--neon); box-shadow: 0 0 30px rgba(255, 63, 200, .6); }
.bb.is-hot .bb__k { background: #fff; color: var(--neon); }
.bb.is-hot .bb__p { display: block !important; color: #fff; }
.plan.has-hot .bb:not(.is-hot) { opacity: .45; }
.plan--story .bb:not(.is-hot) .bb__t { display: none; }
.plan--story .bb:not(.is-hot) .bb__in { padding-right: 6px; }
.plan--focus .bb:not(.is-hot), .plan--book .bb, .plan--book .pin { display: none !important; }
.plan__tip { position: absolute; left: 0; top: 0; z-index: 5; padding: 9px 12px; border-radius: 10px; background: rgba(12, 11, 18, .96); box-shadow: inset 0 0 0 1px var(--line-2), 0 12px 30px rgba(0, 0, 0, .5); font-size: 14px; line-height: 1.35; pointer-events: none; opacity: 0; transition: opacity .2s; white-space: nowrap; }
.plan__tip.is-on { opacity: 1; }
.plan__tip b { display: block; font: 500 18px/1 var(--font-led); letter-spacing: .08em; color: var(--neon-2); margin-bottom: 3px; }
.mark { width: 0; height: 0; opacity: 0; transition: opacity .3s; transform: translateZ(calc(var(--mz, 10px))) rotateZ(calc(-1 * var(--rz, 0deg))) rotateX(calc(-1 * var(--rx, 0deg))); }
.mark.is-on { opacity: 1; }
.mark__beam { position: absolute; left: -3px; bottom: 0; width: 6px; height: 130px; border-radius: 3px; background: linear-gradient(to top, var(--neon), rgba(255, 63, 200, 0)); box-shadow: 0 0 16px rgba(255, 63, 200, .7); transform-origin: 50% 100%; }
.mark.is-on .mark__beam { animation: beamUp .6s var(--ease) both; }
@keyframes beamUp { from { transform: scaleY(0); } }
.mark__lbl { position: absolute !important; left: 0; bottom: 136px; transform: translateX(-50%); padding: 5px 10px 4px; border-radius: 8px; background: var(--neon); color: #fff; font: 500 20px/1 var(--font-led) !important; letter-spacing: .08em; white-space: nowrap; box-shadow: 0 0 24px rgba(255, 63, 200, .7); }

/* бронь: состояния мест */
.plan--book .st { pointer-events: none; }
.plan--book .st.is-free, .plan--book .st.is-busy, .plan--book .st.is-sel { pointer-events: auto; cursor: pointer; }
.plan--book .st.is-busy { cursor: not-allowed; }
.plan--book .st.is-dim { opacity: .4; }
.st--flex.is-free { background: rgba(143, 130, 255, .55); box-shadow: inset 0 0 0 2px var(--violet-3), 0 0 18px rgba(143, 130, 255, .7); }
.st--flex.is-busy { background: repeating-linear-gradient(45deg, #34304a 0 3px, #15131d 3px 7px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); transform: translateZ(1px); }
.st--flex.is-sel { background: var(--neon); box-shadow: inset 0 0 0 2px #fff, 0 0 30px var(--neon); transform: translateZ(16px); }
.fine .st--flex.is-free:hover { transform: translateZ(10px); background: rgba(143, 130, 255, .55); }
.f-t.st.is-free { background: rgba(143, 130, 255, .5); box-shadow: inset 0 0 0 2px var(--violet-3), 0 0 18px rgba(143, 130, 255, .6); }
.f-t.st.is-busy { background: repeating-linear-gradient(45deg, #2c2839 0 4px, #1c1927 4px 8px); }
.f-t.st.is-sel { background: var(--neon); box-shadow: inset 0 0 0 2px #fff, 0 0 34px var(--neon); transform: translateZ(calc(var(--h) + 14px)); }
.fine .f-t.st.is-free:hover { transform: translateZ(calc(var(--h) + 8px)); }
.st--room.is-free, .st--hall.is-free { box-shadow: inset 0 0 0 2px var(--violet-2), inset 0 0 40px rgba(143, 130, 255, .35); background: rgba(91, 75, 255, .14); }
.st--room.is-busy .st__busy, .st--hall.is-busy .st__busy { opacity: 1; }
.st--room.is-sel, .st--hall.is-sel { background: rgba(255, 63, 200, .28); box-shadow: inset 0 0 0 3px var(--neon), inset 0 0 50px rgba(255, 63, 200, .45); }
.fine .st--room.is-free:hover, .fine .st--hall.is-free:hover { background: rgba(143, 130, 255, .3); }
.plan--book .st:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }

/* ——— пара: цифры + текст ——— */
.duo { display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; }
.duo__stats { position: relative; display: grid; grid-template-columns: 1fr 1fr; background: var(--violet); color: #fff; }
.stat { position: relative; padding: 70px 34px 40px; border-right: 1px solid rgba(255, 255, 255, .2); border-bottom: 1px solid rgba(255, 255, 255, .2); }
.stat .tag { position: absolute; left: 30px; top: 26px; background: var(--violet); }
.stat__n { font: 400 clamp(54px, 6.4vw, 104px)/.9 var(--font-head); margin: 10px 0 12px; white-space: nowrap; }
.stat__d { margin: 0; max-width: 22ch; color: rgba(255, 255, 255, .86); }
.duo__note { position: absolute; left: 34px; bottom: 12px; margin: 0; font-size: 13px; color: rgba(255, 255, 255, .7); }
.duo__txt { position: relative; padding: 140px 7vw 80px 5vw; background: var(--paper); color: var(--paper-ink); color-scheme: light; --bg: var(--paper); --fg: var(--paper-ink); --line-2: rgba(19, 17, 27, .3); }
.duo__txt .hl--box { outline-color: var(--violet); background-image: linear-gradient(var(--violet), var(--violet)), linear-gradient(var(--violet), var(--violet)), linear-gradient(var(--violet), var(--violet)), linear-gradient(var(--violet), var(--violet)); }
.duo__tags { position: absolute; left: 5vw; right: 5vw; top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }
.duo__txt h2 { font-size: clamp(30px, 3.4vw, 54px); margin-bottom: 24px; }
.duo__txt p { max-width: 46ch; color: var(--paper-muted); margin-bottom: 30px; }

/* ——— тарифы ——— */
.plans { padding: 120px 0; }
.plans__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 56px; }
.plans__p { max-width: 38ch; color: var(--muted); margin: 0; }
.plans__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tcard { position: relative; display: flex; flex-direction: column; padding: 30px 24px 24px; border: 1.5px solid var(--fg); border-radius: 4px; background: var(--bg); transition: transform .45s var(--ease), box-shadow .45s; }
.tcard:hover { transform: translateY(-6px); box-shadow: 10px 10px 0 var(--violet); }
.tcard__tag { position: absolute; right: 16px; top: -16px; }
.tcard__t { font: 400 clamp(20px, 1.7vw, 25px)/1.15 var(--font-head); text-transform: uppercase; margin-bottom: 22px; }
.tcard__l { list-style: none; padding: 0; display: grid; gap: 9px; margin-bottom: 26px; flex: 1; color: var(--muted); font-size: 16px; }
.tcard__l li { position: relative; padding-left: 18px; }
.tcard__l li::before { content: ''; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; background: var(--violet); }
.tcard__p { display: grid; gap: 2px; margin-bottom: 18px; }
.tcard__p b { font: 400 clamp(24px, 2.2vw, 32px)/1 var(--font-head); }
.tcard__p span { color: var(--muted); font-size: 15px; }
.tcard--dark { --bg: var(--ink-2); border-color: var(--line-2); }
.tcard--dark:hover { box-shadow: 10px 10px 0 var(--neon); }
.tcard--dark .tcard__tag { background: var(--ink); color: var(--neon-2); }
.tcard__pr { margin: 0 0 20px; display: grid; gap: 0; }
.tcard__pr div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 9px 0; border-top: 1px solid var(--line); }
.tcard__pr dt { color: var(--muted); font-size: 15px; }
.tcard__pr dd { margin: 0; font-weight: 700; font-size: 18px; white-space: nowrap; }
.plans--page { padding: 30px 0 110px; }
.plans__note { margin-top: 20px; }

/* ——— как забронировать ——— */
.how { padding: 130px 0; }
.how__list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 50px 0 46px; border-top: 1px solid var(--line-2); }
.how__i { position: relative; padding: 34px 34px 10px 0; }
.how__i + .how__i { padding-left: 34px; border-left: 1px solid var(--line-2); }
.how__n { display: block; font: 500 64px/1 var(--font-led); color: var(--neon); text-shadow: 0 0 18px rgba(255, 63, 200, .55); margin-bottom: 18px; }
.how__art { height: 96px; display: flex; align-items: center; margin-bottom: 14px; color: var(--violet-2); }
.how__ic { width: 76px; height: 76px; stroke-width: 1.1; }
.how__art--seats { display: grid; grid-template-columns: repeat(3, 26px); gap: 7px; height: auto; margin-bottom: 18px; }
.how__art--seats i { height: 20px; border-radius: 4px; box-shadow: inset 0 0 0 1.5px var(--violet-2); background: rgba(143, 130, 255, .2); }
.how__art--seats i.off { background: repeating-linear-gradient(45deg, #2c2839 0 3px, #1c1927 3px 6px); box-shadow: none; }
.how__art--seats i.on { background: var(--neon); box-shadow: 0 0 16px var(--neon); animation: seatPulse 2s ease-in-out infinite; }
@keyframes seatPulse { 50% { transform: translateY(-4px); } }
.how__i h3 { font: 400 22px/1.1 var(--font-head); text-transform: uppercase; margin-bottom: 10px; }
.how__i p { color: var(--muted); max-width: 32ch; }

/* ——— события ——— */
.sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 44px; }
.evs { padding: 120px 0 100px; }
.evs__grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 18px; }
.evbig { position: relative; display: block; min-height: 560px; border-radius: 6px; overflow: hidden; text-decoration: none; color: #fff; }
.evbig .cover { position: absolute; inset: 0; }
.evbig__meta { position: absolute; z-index: 3; left: 28px; top: 26px; right: 28px; display: flex; gap: 14px; flex-wrap: wrap; }
.evbig__t { position: absolute; z-index: 3; left: 28px; right: 28px; bottom: 26px; font: 400 clamp(30px, 3.6vw, 56px)/1 var(--font-head); text-transform: uppercase; max-width: 14ch; transition: transform .5s var(--ease); }
.evbig:hover .evbig__t { transform: translateX(10px); }
.evd { font: 500 17px/1.1 var(--font-led); letter-spacing: .12em; text-transform: uppercase; color: var(--violet-3); }
.evk { display: inline-block; padding: 4px 8px 3px; border-radius: 4px; background: rgba(255, 255, 255, .12); font: 500 15px/1 var(--font-led); letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.evs__list { display: grid; gap: 18px; }
.evrow { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: center; padding: 12px; border-radius: 6px; background: var(--ink-2); text-decoration: none; color: var(--fg); box-shadow: inset 0 0 0 1px var(--line); transition: background .3s, box-shadow .3s; }
.evrow:hover { background: var(--ink-3); box-shadow: inset 0 0 0 1px var(--violet-2); }
.evrow .cover { height: 150px; border-radius: 4px; }
.evrow__b { display: grid; gap: 8px; }
.evrow__t { font: 400 clamp(19px, 1.6vw, 24px)/1.08 var(--font-head); text-transform: uppercase; }
/* обложки событий: неоновые лучи на тёмных плоскостях */
.cover { position: relative; overflow: hidden; background: radial-gradient(90% 70% at 70% 30%, #2a0f3a, #0e0816 70%); --b1: #ff3fc8; --b2: #8f82ff; --ang: -24deg; }
.cover--1 { background: radial-gradient(90% 70% at 30% 40%, #1b1450, #0b0816 70%); --b1: #8f82ff; --b2: #ff3fc8; --ang: 18deg; }
.cover--2 { background: radial-gradient(90% 80% at 60% 70%, #3b0d36, #0f0712 70%); --b1: #ff5fd2; --b2: #ffb3ee; --ang: -40deg; }
.cover--3 { background: radial-gradient(90% 70% at 40% 20%, #151a52, #090a18 70%); --b1: #6e8bff; --b2: #ff3fc8; --ang: 30deg; }
.cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) brightness(.72) contrast(1.05); transition: transform 1.2s var(--ease), filter .6s; }
.cover::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(160deg, rgba(91, 75, 255, .7), rgba(255, 63, 200, .45)); mix-blend-mode: color; pointer-events: none; }
.cover::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(11, 10, 16, .15), rgba(11, 10, 16, .55)); pointer-events: none; }
a:hover .cover img { transform: scale(1.05); filter: grayscale(0) brightness(.8); }
.cover__beam { position: absolute; z-index: 2; display: block; left: -30%; right: -30%; top: 54%; height: 10px; border-radius: 10px; background: linear-gradient(90deg, transparent, var(--b1) 30%, #fff 50%, var(--b1) 70%, transparent); box-shadow: 0 0 24px var(--b1), 0 0 70px var(--b1); transform: rotate(var(--ang)); opacity: .9; transition: transform 1.2s var(--ease); }
.cover__beam--2 { top: 36%; height: 3px; opacity: .6; background: linear-gradient(90deg, transparent, var(--b2) 40%, transparent); box-shadow: 0 0 18px var(--b2); transform: rotate(calc(var(--ang) * .7)) translateX(-10%); }
a:hover .cover__beam { transform: rotate(var(--ang)) translateX(8%); }
a:hover .cover__beam--2 { transform: rotate(calc(var(--ang) * .7)) translateX(4%); }

/* ——— фото-лента ——— */
.strip-sec { padding: 110px 0 120px; overflow: clip; }
.strip__hint { font: 500 18px/1 var(--font-led); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0; }
.strip { display: flex; gap: 18px; overflow-x: auto; padding: 0 var(--pad) 18px; scroll-snap-type: x mandatory; scroll-padding: var(--pad); scrollbar-width: thin; scrollbar-color: var(--violet) transparent; cursor: grab; }
.strip.is-drag { cursor: grabbing; scroll-snap-type: none; }
.strip.is-drag a, .strip.is-drag img { pointer-events: none; }
.strip__i { flex: none; width: clamp(260px, 26vw, 380px); margin: 0; scroll-snap-align: start; }
.strip__i:nth-child(even) { margin-top: 60px; }
.strip__img { overflow: hidden; border-radius: 4px; aspect-ratio: 4 / 5; }
.strip__img img { width: 100%; height: 100%; object-fit: cover; }
.strip__i figcaption { display: flex; gap: 12px; padding-top: 12px; font: 500 18px/1 var(--font-led); letter-spacing: .1em; text-transform: uppercase; }
.strip__i figcaption span { color: var(--neon); }
/* фото в фирменном тоне: фиолетовая тонировка, на наведение — живой цвет */
.duo-img { position: relative; overflow: hidden; margin: 0; isolation: isolate; }
.duo-img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08) brightness(.92); transition: filter .7s, transform 1.2s var(--ease); }
.duo-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(91, 75, 255, .9), rgba(255, 63, 200, .55)); mix-blend-mode: color; transition: opacity .7s; pointer-events: none; }
.duo-img:hover img, .duo-img:focus-within img { filter: none; transform: scale(1.04); }
.duo-img:hover::after, .duo-img:focus-within::after { opacity: 0; }

/* ——— резиденты, отзывы ——— */
.res-sec { padding: 60px 0 120px; overflow: clip; }
.quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.quote { margin: 0; padding: 30px 28px 26px; border-radius: 6px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); display: flex; flex-direction: column; justify-content: space-between; gap: 30px; }
.quote blockquote { margin: 0; }
.quote blockquote p { font-size: var(--step-2); line-height: 1.35; margin: 0; }
.quote blockquote p::before { content: '«'; color: var(--neon); }
.quote blockquote p::after { content: '»'; color: var(--neon); }
.quote figcaption { font: 500 17px/1.2 var(--font-led); letter-spacing: .1em; text-transform: uppercase; color: var(--violet-3); }
.quote figcaption span { color: var(--dim); }

/* ——— вопросы ——— */
.faq-sec { padding: 110px 0; }
.faq-sec--sm { padding: 90px 0; }
.faq-sec__h { text-align: center; margin-bottom: 50px; }
.faq details { border-top: 1px solid var(--line-2); }
.faq details:last-child { border-bottom: 1px solid var(--line-2); }
.faq summary { padding: 26px 0; font: 400 clamp(17px, 1.8vw, 26px)/1.15 var(--font-head); text-transform: uppercase; align-items: center; transition: color .25s; }
.faq summary:hover { color: var(--violet-3); }
.faq summary::after { content: ''; flex: none; width: 22px; height: 22px; background: linear-gradient(currentColor, currentColor) center / 100% 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 100% no-repeat; transition: transform .35s var(--ease); }
.faq details[open] summary::after { transform: rotate(45deg); color: var(--neon); }
.faq details > div { color: var(--muted); font-size: var(--step-1); }

/* ——— финал ——— */
.final { position: relative; padding: 150px 0 160px; overflow: clip; text-align: center; background: radial-gradient(60% 70% at 50% 100%, rgba(255, 63, 200, .22), transparent 70%), radial-gradient(70% 80% at 50% 0%, rgba(91, 75, 255, .25), transparent 70%); }
.final--sm { padding: 110px 0 120px; }
.final__t { font: 400 clamp(36px, 6.4vw, 104px)/.92 var(--font-head); text-transform: uppercase; max-width: 15ch; margin: 0 auto 44px; }
.final__act { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }

/* ——— пространства ——— */
.xpl { padding: 0 0 60px; }
.xpl__box { position: relative; border-radius: 10px; background: radial-gradient(80% 80% at 50% 40%, rgba(91, 75, 255, .12), transparent 70%), var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.xpl__legend { list-style: none; padding: 16px; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid var(--line); }
.xpl__legend a { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border-radius: 999px; background: rgba(255, 255, 255, .05); text-decoration: none; font-size: 15px; transition: background .25s, box-shadow .25s; }
.xpl__legend a b { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--violet); color: #fff; font: 500 17px/1 var(--font-led); }
.xpl__legend a span { font: 500 15px/1 var(--font-led); letter-spacing: .08em; color: var(--neon-2); }
.xpl__legend a:hover, .xpl__legend a.is-hot { background: rgba(91, 75, 255, .25); box-shadow: inset 0 0 0 1px var(--violet-2); }
.rows-sec { position: relative; padding: 80px 0 100px; }
.rows { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line-2); }
.row { display: grid; grid-template-columns: 70px minmax(0, 1.3fr) minmax(0, 1fr) auto 30px; align-items: center; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--line-2); text-decoration: none; color: var(--fg); transition: padding .45s var(--ease), color .3s; }
.row__n { font: 500 36px/1 var(--font-led); color: var(--violet-2); }
.row__t { font: 400 clamp(22px, 2.8vw, 42px)/1 var(--font-head); text-transform: uppercase; }
.row__s { color: var(--muted); }
.row__p { font: 500 19px/1 var(--font-led); letter-spacing: .08em; color: var(--neon-2); white-space: nowrap; }
.row .ic--arr { width: 26px; height: 26px; transition: transform .4s var(--ease); }
.row:hover { padding-left: 16px; color: var(--violet-3); }
.row:hover .ic--arr { transform: rotate(-45deg); color: var(--neon); }
.rows__float { position: absolute; left: 0; top: 0; z-index: 3; width: 300px; aspect-ratio: 16 / 10; border-radius: 6px; overflow: hidden; pointer-events: none; opacity: 0; transform: scale(.8); transition: opacity .3s, scale .3s; box-shadow: 0 30px 60px rgba(0, 0, 0, .5); }
.rows__float img { width: 100%; height: 100%; object-fit: cover; }
.rows__float.is-on { opacity: 1; }
.kitchen { padding: 60px 0 120px; }
.kitchen__in { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: center; }
.kitchen__txt p { color: var(--muted); max-width: 46ch; }
.ticks { list-style: none; padding: 0; display: grid; gap: 10px; margin: 22px 0; }
.ticks li { position: relative; padding-left: 30px; }
.ticks li::before { content: ''; position: absolute; left: 0; top: .35em; width: 16px; height: 9px; border-left: 2px solid var(--neon); border-bottom: 2px solid var(--neon); transform: rotate(-45deg); }
.kitchen__img { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; gap: 16px; align-items: end; }
.kitchen__a { aspect-ratio: 4 / 5; border-radius: 4px; }
.kitchen__b { aspect-ratio: 16 / 10; border-radius: 4px; margin-bottom: -40px; }

/* ——— страница зоны ——— */
.sp { padding: 130px 0 70px; position: relative; overflow: clip; }
.sp__in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 50px; align-items: center; }
.sp__t { position: relative; font: 400 min(128px, calc(min(100vw - 2 * var(--pad), 1320px) * .52 / (var(--len, 7) * 1.08)))/.88 var(--font-head); text-transform: uppercase; margin: 0 0 28px; }
.sp__z { position: absolute; right: 0; top: -.3em; font-size: 2.2em; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(143, 130, 255, .35); z-index: -1; pointer-events: none; }
.sp__act { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.sp__media { position: relative; }
.sp__img { margin: 0; aspect-ratio: 4 / 5; border-radius: 6px; overflow: hidden; }
.sp__img img { width: 100%; height: 100%; object-fit: cover; }
.fx .clip-in { clip-path: inset(100% 0 0 0); transition: clip-path 1.2s var(--ease) .15s; }
.fx.lift-open .clip-in { clip-path: inset(0 0 0 0); }
.clip-in img { transform: scale(1.12); transition: transform 1.8s var(--ease) .15s; }
.lift-open .clip-in img, html:not(.fx) .clip-in img { transform: none; }
.sp__price { position: absolute; left: -26px; bottom: 34px; padding: 18px 22px 16px; border-radius: 6px; background: var(--neon); color: #fff; box-shadow: 0 20px 50px -10px rgba(255, 63, 200, .7); }
.sp__price p { margin: 8px 0 0; font: 400 clamp(22px, 2.2vw, 32px)/1 var(--font-head); }
.sp__price .tag { background: var(--neon); }
.facts { padding: 30px 0 40px; }
.facts__in { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.fact { padding: 34px 30px 30px 0; }
.fact + .fact { padding-left: 30px; border-left: 1px solid var(--line-2); }
.fact__n span, .stat__n span { display: inline-block; }
.fact__n { font: 400 clamp(46px, 5.4vw, 86px)/.95 var(--font-head); margin: 0 0 10px; color: var(--violet-3); }
.fact__t { margin: 0; color: var(--muted); }
.facts__note { margin-top: 10px; }
.onplan { padding: 70px 0; }
.onplan__in { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 40px; align-items: center; }
.onplan__txt p { color: var(--muted); max-width: 40ch; margin: 18px 0 24px; }
.onplan .plan-box { border-radius: 10px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.feats { padding: 80px 0; }
.feats__grid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line-2); }
.feat { padding: 30px 28px 28px 0; border-bottom: 1px solid var(--line-2); }
.feats__grid .feat:not(:nth-child(3n + 1)) { padding-left: 28px; border-left: 1px solid var(--line-2); }
.feat__ic { width: 38px; height: 38px; color: var(--neon); stroke-width: 1.3; margin-bottom: 18px; }
.feat h3 { font: 700 20px/1.2 var(--font-body); margin-bottom: 6px; }
.feat p { color: var(--muted); margin: 0; }
.gal { padding: 40px 0 100px; }
.gal__grid { display: grid; gap: 18px; }
.gal__grid--2 { grid-template-columns: 1.3fr 1fr; }
.gal__grid--3 { grid-template-columns: 1.3fr 1fr 1fr; }
.gal__grid figure { border-radius: 4px; aspect-ratio: 4 / 3; }
.gal__grid figure:first-child { aspect-ratio: auto; min-height: 100%; }
.ptable { padding: 110px 0; }
.ptable__in { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; }
.prices { margin: 0; border-top: 1.5px solid var(--fg); }
.prices__r { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line-2); }
.prices__r dt { font-size: var(--step-1); }
.prices__r dd { margin: 0; font: 400 clamp(18px, 1.8vw, 26px)/1 var(--font-head); white-space: nowrap; }
.fit { padding: 110px 0 40px; }
.fit__grid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.fit__i { padding: 28px; border-radius: 6px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.fit__n { display: block; font: 500 42px/1 var(--font-led); color: var(--neon); margin-bottom: 26px; }
.fit__i h3 { font: 400 22px/1.1 var(--font-head); text-transform: uppercase; margin-bottom: 8px; }
.fit__i p { color: var(--muted); margin: 0; }
.next { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 6px 30px; padding: 90px var(--pad) 100px; text-decoration: none; color: var(--fg); background: var(--violet); position: relative; overflow: hidden; isolation: isolate; }
.next::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--neon); transform: translateY(101%); transition: transform .7s var(--ease); }
.next:hover::before { transform: none; }
.next__k { grid-column: 1 / -1; font: 500 19px/1 var(--font-led); letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
.next__t { font: 400 clamp(36px, 7vw, 120px)/.9 var(--font-head); text-transform: uppercase; color: #fff; }
.next .ic--arr { width: clamp(40px, 6vw, 90px); height: clamp(40px, 6vw, 90px); color: #fff; stroke-width: 1.2; transition: transform .6s var(--ease); }
.next:hover .ic--arr { transform: translateX(12px); }

/* ——— тарифы: таблица, почасовые ——— */
.cmp { padding: 110px 0; }
.cmp__scroll { overflow-x: auto; margin-top: 40px; }
.cmp__t { width: 100%; min-width: 720px; border-collapse: collapse; }
.cmp__t th, .cmp__t td { padding: 18px 16px; text-align: left; border-bottom: 1px solid var(--line-2); vertical-align: top; }
.cmp__t thead th { font: 400 18px/1.1 var(--font-head); text-transform: uppercase; border-bottom: 1.5px solid var(--fg); }
.cmp__t tbody th { font-weight: 500; width: 32%; }
.cmp__t td { color: var(--muted); }
.yes { color: var(--violet); font-weight: 700; font-size: 20px; }
.no { color: var(--line-2); }
.hourly { padding: 120px 0; }
.hourly__in { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: start; }
.hourly__txt p { color: var(--muted); margin: 18px 0 26px; max-width: 40ch; }
.switch { display: inline-flex; padding: 5px; border-radius: 999px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px var(--line); }
.switch__b { min-height: 42px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-weight: 500; transition: background .3s, color .3s; }
.switch__b.is-on { background: var(--violet); color: #fff; box-shadow: 0 0 20px rgba(91, 75, 255, .5); }
.switch--sm .switch__b { min-height: 34px; padding: 0 14px; font-size: 14px; }
.hourly__list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line-2); }
.hourly__list li { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line-2); }
.hourly__list b { font: 400 clamp(18px, 1.8vw, 24px)/1 var(--font-head); white-space: nowrap; }
.addons { padding: 40px 0 100px; }
.addons__grid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-2); }
.addons__grid .feat + .feat { padding-left: 28px; border-left: 1px solid var(--line-2); }
.corp { padding: 0 0 110px; }
.corp__in { display: grid; grid-template-columns: 1.3fr .7fr; gap: 50px; align-items: center; padding: 56px; border-radius: 10px; background: radial-gradient(80% 120% at 100% 0%, rgba(255, 63, 200, .25), transparent 60%), var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.corp__in p { color: var(--muted); max-width: 52ch; margin-top: 18px; }
.corp__card { display: grid; gap: 18px; }
.corp__p { font: 400 clamp(28px, 3vw, 44px)/1 var(--font-head); margin: 0; }
.corp__p span { display: block; margin-top: 8px; font: 500 18px/1 var(--font-led); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }

/* ——— события: список и страница ——— */
.evlist { padding: 0 0 100px; }
.fbar { align-items: center; margin-bottom: 30px; }
.fbtn { min-height: 42px; padding: 0 18px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .07); color: var(--fg); font-size: 15px; transition: background .25s; }
.fbtn:hover { background: rgba(255, 255, 255, .13); }
.fbtn.is-on { background: var(--violet); color: #fff; }
.fbar__n { margin: 0 0 0 auto; font: 500 18px/1 var(--font-led); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.evgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.evgrid--3 { grid-template-columns: repeat(3, 1fr); }
.evcard { display: grid; grid-template-rows: auto 1fr; border-radius: 6px; overflow: hidden; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; color: var(--fg); transition: box-shadow .3s, transform .45s var(--ease); }
.evcard:hover { box-shadow: inset 0 0 0 1px var(--violet-2); transform: translateY(-4px); }
.evcard .cover { aspect-ratio: 16 / 9; }
.evcard__b { display: grid; gap: 10px; align-content: start; padding: 22px 24px 26px; }
.evcard__t { font: 400 clamp(22px, 2.2vw, 32px)/1.02 var(--font-head); text-transform: uppercase; }
.evcard__m { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 15px; }
.evpast__h { margin-top: 70px; }
.evpast { list-style: none; padding: 0; margin: 0 0 20px; border-top: 1px solid var(--line-2); }
.evpast li { display: grid; grid-template-columns: 150px 1fr auto; gap: 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line-2); color: var(--muted); }
.evpast__t { color: var(--fg); opacity: .7; }
.hallcta { padding: 0 0 110px; }
.hallcta__in { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: end; padding: 56px; border-radius: 10px; background: var(--violet); color: #fff; }
.hallcta__in p { color: rgba(255, 255, 255, .86); max-width: 50ch; margin-top: 16px; }
.hallcta__in .kick { color: #fff; }
.hallcta__act { display: flex; align-items: center; gap: 22px; justify-content: flex-end; flex-wrap: wrap; }
.hallcta__act .alink { color: #fff; border-color: rgba(255, 255, 255, .5); }
.evh { position: relative; isolation: isolate; min-height: 88vh; display: flex; align-items: flex-end; padding: 140px 0 70px; overflow: clip; }
.evh__cover { position: absolute; inset: 0; z-index: -1; }
.evh__cover .cover { position: absolute; inset: 0; }
.evh__cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 10, 16, .3), rgba(11, 10, 16, .1) 40%, rgba(11, 10, 16, .92)); }
.evh__in { position: relative; }
.evh__date { position: absolute; right: 0; top: -20px; display: grid; justify-items: center; font: 500 22px/1 var(--font-led); letter-spacing: .14em; text-transform: uppercase; color: var(--neon-2); }
.evh__date span { font-size: clamp(80px, 10vw, 150px); line-height: .9; color: var(--neon); text-shadow: 0 0 30px rgba(255, 63, 200, .7); }
.evh__t { font: 400 clamp(44px, 7.4vw, 124px)/.9 var(--font-head); text-transform: uppercase; max-width: 13ch; margin-bottom: 28px; }
.evh__meta { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0 0 30px; }
.evh__meta li { display: inline-flex; align-items: center; gap: 10px; font-size: var(--step-1); }
.evh__meta .ic { color: var(--neon); }
.evh__act { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.evh__price { margin: 0; font: 500 20px/1.2 var(--font-led); letter-spacing: .1em; text-transform: uppercase; color: var(--violet-3); }
.evbody { padding: 100px 0; }
.evbody__in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 60px; }
.evbody__about { font-size: clamp(20px, 1.8vw, 26px); line-height: 1.45; }
.prog { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line-2); }
.prog li { display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line-2); }
.prog__t { font: 500 22px/1.1 var(--font-led); letter-spacing: .06em; color: var(--neon); }
.evbody__side { display: grid; gap: 18px; align-content: start; }
.host { padding: 28px; border-radius: 8px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.host__img { aspect-ratio: 1; margin: -28px -28px 22px; border-radius: 8px 8px 0 0; }
.host__img img { width: 100%; height: 100%; object-fit: cover; }
.host__k { margin: 0 0 6px; font: 500 17px/1 var(--font-led); letter-spacing: .14em; text-transform: uppercase; color: var(--neon); }
.host__n { font: 400 22px/1.1 var(--font-head); text-transform: uppercase; margin-bottom: 6px; }
.host__r { color: var(--muted); }
.evbody__plan { padding: 22px 22px 6px; border-radius: 8px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.evreg { padding: 110px 0; }
.evreg__in, .ctform__in { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; }
.evreg p, .ctform p { color: var(--muted); }
.evmore { padding: 110px 0; }

/* формы на светлом фоне */
.paper .field input, .paper .field textarea { background: #fff; border-color: rgba(19, 17, 27, .2); color: var(--paper-ink); }
.field input, .field select, .field textarea { border-radius: 12px; background: var(--ink-2); border-color: var(--line-2); }
.field input:focus, .field textarea:focus { border-color: var(--violet-2); outline: none; box-shadow: 0 0 0 3px rgba(143, 130, 255, .25); }
.lead .btn { justify-content: space-between; }
.done { border-radius: 12px; background: rgba(91, 75, 255, .12); border-color: var(--violet-2); }
.paper .done { background: #fff; }

/* модальное окно */
.modal__box { background: var(--ink-2); border-radius: 18px; box-shadow: inset 0 0 0 1px var(--line-2), 0 40px 100px rgba(0, 0, 0, .6); }
.modal__k { font: 500 17px/1 var(--font-led); letter-spacing: .16em; text-transform: uppercase; color: var(--neon); }
.modal__t { font-family: var(--font-head); text-transform: uppercase; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.05; }
.modal__x { color: var(--fg); }
.scrim { background: rgba(5, 4, 9, .7); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }

/* ——— резиденты ——— */
.resl { padding: 0 0 80px; }
.resgrid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.rescard { padding: 26px 24px 24px; border-radius: 6px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); transition: transform .45s var(--ease), box-shadow .3s; }
.rescard:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--violet-2); }
.rescard__img { aspect-ratio: 1; margin: -26px -24px 22px; border-radius: 6px 6px 0 0; }
.rescard__img img { width: 100%; height: 100%; object-fit: cover; }
.rescard__n { font: 400 21px/1.1 var(--font-head); text-transform: uppercase; margin-bottom: 8px; }
.rescard__d { color: var(--muted); margin-bottom: 18px; }
.resl__note { margin-top: 20px; }
.rescard__w { margin: 0; font: 500 16px/1.2 var(--font-led); letter-spacing: .1em; text-transform: uppercase; color: var(--neon-2); }
.res-sec--page { padding-top: 30px; }
.perks { padding: 110px 0; }
.perks__in { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: start; }
.perks__in p { color: var(--muted); margin: 18px 0 28px; }
.perks__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1.5px solid var(--fg); }
.perks__list li { display: grid; gap: 8px; padding: 26px 22px 26px 0; border-bottom: 1px solid var(--line-2); }
.perks__list li:nth-child(even) { padding-left: 22px; border-left: 1px solid var(--line-2); }
.perks__list b { font: 400 clamp(28px, 3vw, 44px)/1 var(--font-head); color: var(--violet); }
.perks__list span { color: var(--muted); }

/* ——— контакты ——— */
.ct { padding: 0 0 60px; }
.ct__in { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: start; }
.ct__dl { margin: 0 0 26px; border-top: 1px solid var(--line-2); }
.ct__dl div { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line-2); }
.ct__dl dt { font: 500 18px/1.3 var(--font-led); letter-spacing: .12em; text-transform: uppercase; color: var(--violet-2); }
.ct__dl dd { margin: 0; font-size: var(--step-1); }
.ct__map { position: relative; border-radius: 10px; overflow: hidden; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.map { width: 100%; height: auto; }
.map__road { fill: none; stroke: rgba(236, 232, 255, .1); stroke-width: 18; }
.map__road--s { stroke-width: 8; stroke: rgba(236, 232, 255, .07); }
.map__b { fill: rgba(91, 75, 255, .35); stroke: var(--violet-2); stroke-width: 1.5; }
.map__b--d { fill: rgba(236, 232, 255, .05); stroke: rgba(236, 232, 255, .12); }
.map__route { fill: none; stroke: var(--neon); stroke-width: 3; stroke-dasharray: 8 8; filter: drop-shadow(0 0 6px var(--neon)); animation: route 1.6s linear infinite; }
@keyframes route { to { stroke-dashoffset: -32; } }
.map__stop { fill: var(--fg); }
.map__pin { fill: var(--neon); filter: drop-shadow(0 0 10px var(--neon)); }
.map__lbl { position: absolute; padding: 5px 9px 4px; border-radius: 6px; background: rgba(12, 11, 18, .9); font: 500 15px/1 var(--font-led); letter-spacing: .1em; text-transform: uppercase; }
.map__lbl--a { left: 4%; top: 76%; }
.map__lbl--b { left: 52%; top: 28%; color: var(--neon-2); }
.route { padding: 70px 0 110px; }
.route__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.route__list li { padding: 28px; border-radius: 8px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.route__n { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; margin-bottom: 26px; box-shadow: inset 0 0 0 1.5px var(--neon), 0 0 20px rgba(255, 63, 200, .4); font: 500 26px/1 var(--font-led); color: var(--neon); }
.route__list h2 { font: 400 21px/1.1 var(--font-head); text-transform: uppercase; margin-bottom: 10px; }
.route__list p { color: var(--muted); margin: 0; }
.ctform { padding: 110px 0; }

/* 404 */
.lost404 { padding: 170px 0 120px; min-height: 80vh; }
.lost404__led { display: inline-block; margin: 0 0 20px; padding: 10px 28px 6px; border-radius: 14px; background: #07060b; box-shadow: inset 0 0 0 1px rgba(255, 63, 200, .3); font: 500 clamp(90px, 16vw, 220px)/.9 var(--font-led); color: var(--neon); text-shadow: 0 0 30px rgba(255, 63, 200, .7); }
.lost404__t { font: 400 clamp(36px, 6vw, 90px)/.95 var(--font-head); text-transform: uppercase; margin-bottom: 20px; }
.lost404 p { color: var(--muted); max-width: 52ch; }
.lost404__act { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 30px; }
.crumbs { padding-top: 130px; }
.page-title { font-size: clamp(40px, 7vw, 110px); line-height: .9; }
.cr-list a { color: var(--violet-3); white-space: nowrap; }

/* ——— БРОНЬ ——— */
.p-bron main { padding-bottom: 20px; }
.bk { padding: 120px 0 60px; }
.bk__head { margin-bottom: 34px; }
.bk__t { font: 400 clamp(44px, 7vw, 112px)/.88 var(--font-head); text-transform: uppercase; margin: 0 0 18px; }
.bk__lead { max-width: 64ch; color: var(--muted); font-size: var(--step-1); margin: 0; }
.bk__grid { display: grid; grid-template-columns: 370px minmax(0, 1fr); grid-template-areas: 'ctl map' 'sum map'; gap: 18px 30px; align-items: start; }
.bk__ctl { grid-area: ctl; display: grid; gap: 14px; }
.bk__map { grid-area: map; position: sticky; top: 90px; border-radius: 12px; background: radial-gradient(80% 70% at 50% 40%, rgba(91, 75, 255, .14), transparent 70%), var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); padding: 0 0 14px; }
.bk__sum { grid-area: sum; padding: 22px; border-radius: 12px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.bk__step { margin: 0; padding: 18px; border: 0; border-radius: 12px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); min-width: 0; }
.bk__lbl { display: flex; align-items: center; gap: 10px; padding: 0; margin: 0 0 14px; font: 500 19px/1 var(--font-led); letter-spacing: .14em; text-transform: uppercase; color: var(--fg); }
.bk__lbl b { font-weight: 500; }
.bk__lbl span { display: grid; place-items: center; min-width: 30px; height: 26px; padding: 0 6px; border-radius: 6px; background: #07060b; color: var(--neon); box-shadow: inset 0 0 0 1px rgba(255, 63, 200, .3); }
.seg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.seg__i { position: relative; cursor: pointer; }
.seg__i input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.seg__b { display: grid; gap: 3px; padding: 11px 12px; border-radius: 10px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px var(--line); transition: background .25s, box-shadow .25s; height: 100%; }
.seg__b b { font-weight: 500; font-size: 15px; line-height: 1.2; }
.seg__b small { font: 500 15px/1 var(--font-led); letter-spacing: .06em; color: var(--muted); }
.seg__i:hover .seg__b { background: rgba(255, 255, 255, .09); }
.seg__i input:checked + .seg__b { background: rgba(91, 75, 255, .3); box-shadow: inset 0 0 0 2px var(--violet-2), 0 0 24px rgba(91, 75, 255, .35); }
.seg__i input:checked + .seg__b small { color: var(--neon-2); }
.seg__i input:focus-visible + .seg__b { outline: 2px solid var(--neon); outline-offset: 2px; }
.seg__i:last-child:nth-child(odd) { grid-column: 1 / -1; }
.days { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; scrollbar-color: var(--violet) transparent; scroll-snap-type: x proximity; }
.day { flex: none; display: grid; justify-items: center; gap: 3px; width: 54px; padding: 9px 0 8px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .05); color: var(--fg); scroll-snap-align: start; transition: background .25s, box-shadow .25s; }
.day small { font: 500 14px/1 var(--font-led); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.day b { font: 500 24px/1 var(--font-led); }
.day.is-we small { color: var(--neon-2); }
.day:hover { background: rgba(255, 255, 255, .1); }
.day[aria-pressed="true"] { background: var(--violet); box-shadow: 0 0 20px rgba(91, 75, 255, .5); }
.day[aria-pressed="true"] small { color: #fff; }
.hours { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.hour, .dur { min-height: 38px; border: 0; border-radius: 8px; background: rgba(255, 255, 255, .05); color: var(--fg); font: 500 18px/1 var(--font-led); letter-spacing: .06em; transition: background .25s, box-shadow .25s; }
.hour:hover:not(:disabled), .dur:hover { background: rgba(255, 255, 255, .1); }
.hour:disabled { opacity: .28; cursor: not-allowed; text-decoration: line-through; }
.hour[aria-pressed="true"], .dur[aria-pressed="true"] { background: var(--violet); box-shadow: 0 0 18px rgba(91, 75, 255, .5); }
.durs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.dur { padding: 0 14px; font-family: var(--font-body); font-size: 14px; letter-spacing: 0; }
.guests { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.guests span { flex: 1; color: var(--muted); }
.guests__b { width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .08); color: var(--fg); font-size: 22px; line-height: 1; }
.guests output { min-width: 44px; text-align: center; font: 500 26px/1 var(--font-led); color: var(--neon); }
.bk__step .agree { color: var(--fg); font-size: 15px; margin-top: 8px; }
.bk__bar { display: flex; align-items: center; gap: 18px; padding: 14px 16px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.bk__free { margin: 0 auto 0 0; font: 500 20px/1 var(--font-led); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.bk__free b { font-weight: 500; font-size: 30px; color: var(--violet-3); }
.legend { display: flex; gap: 14px; font-size: 14px; color: var(--muted); }
.lg { display: inline-flex; align-items: center; gap: 7px; }
.lg::before { content: ''; width: 16px; height: 11px; border-radius: 3px; }
.lg--free::before { background: rgba(143, 130, 255, .3); box-shadow: inset 0 0 0 2px var(--violet-2); }
.lg--busy::before { background: repeating-linear-gradient(45deg, #3a3550 0 3px, #1c1927 3px 6px); }
.lg--sel::before { background: var(--neon); box-shadow: 0 0 8px var(--neon); }
.plan-box--book { height: calc(100vh - 250px); min-height: 460px; max-height: 760px; }
.bk__demo { margin: 6px 16px 0; }
.tl { margin: 10px 16px 0; display: grid; gap: 6px; }
.tl__row { display: grid; grid-template-columns: 96px 1fr; gap: 10px; align-items: center; font-size: 14px; }
.tl__n { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tl__bar { position: relative; height: 16px; border-radius: 4px; background: rgba(143, 130, 255, .14); overflow: hidden; }
.tl__b { position: absolute; top: 0; bottom: 0; background: repeating-linear-gradient(45deg, #3a3550 0 3px, #1c1927 3px 6px); }
.tl__s { position: absolute; top: 0; bottom: 0; background: var(--neon); box-shadow: 0 0 10px var(--neon); opacity: .85; }
.tl__s.is-bad { background: var(--bad); box-shadow: none; }
.tl__axis { display: flex; justify-content: space-between; margin-left: 106px; font: 500 13px/1 var(--font-led); color: var(--dim); }
.sum { margin: 0 0 14px; }
.sum div { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.sum dt { color: var(--muted); }
.sum dd { margin: 0; text-align: right; font-weight: 500; }
.sum dd.is-new { animation: flash .8s ease; }
@keyframes flash { 0% { color: var(--neon); } 100% { color: inherit; } }
.sum__total { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 8px 0 14px; }
.sum__total span { font: 500 19px/1 var(--font-led); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.sum__total b { font: 400 clamp(26px, 2.6vw, 36px)/1 var(--font-head); color: var(--fg); }
.sum__hint { color: var(--neon-2); font-size: 15px; }
.bk__sum .lead { grid-template-columns: 1fr; margin-top: 8px; }
.bk__mbar { display: none; }

/* курсор-спутник (только мышь) */
.cur { position: fixed; left: 0; top: 0; z-index: 400; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%; pointer-events: none; box-shadow: inset 0 0 0 1.5px var(--neon); opacity: 0; transition: opacity .3s, width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), background .3s, box-shadow .3s; will-change: transform; }
.cur.is-on { opacity: .9; }
.cur.is-link { width: 64px; height: 64px; margin: -32px 0 0 -32px; background: rgba(255, 63, 200, .12); box-shadow: inset 0 0 0 1.5px var(--neon), 0 0 30px rgba(255, 63, 200, .3); }
.cur.is-down { width: 24px; height: 24px; margin: -12px 0 0 -12px; }

/* появление блоков движка — мягче и выше */
.rv [data-reveal] { transform: translateY(34px); transition: opacity .8s ease, transform 1s var(--ease); }

/* ——— планшет ——— */
@media (max-width: 1240px) {
  .top__nav { display: none; }
  .top__cta { margin-left: auto; }
  .plans__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 18px; }
  .resgrid { grid-template-columns: repeat(3, 1fr); }
  .addons__grid { grid-template-columns: 1fr 1fr; }
  .addons__grid .feat:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 1100px) {
  .hero__bot { grid-template-columns: 1fr auto; }
  .stk { display: none; }
  .duo { grid-template-columns: 1fr; }
  .evs__grid { grid-template-columns: 1fr; }
  .evbig { min-height: 420px; }
  .evs__list { grid-template-columns: repeat(3, 1fr); }
  .evrow { grid-template-columns: 1fr; }
  .quotes { grid-template-columns: 1fr; }
  .foot__grid { grid-template-columns: 1fr 1fr; }
  .sp__t { font-size: min(110px, calc((100vw - 2 * var(--pad)) / (var(--len, 7) * 1.08))); }
  .sp__in, .onplan__in, .kitchen__in, .hourly__in, .ptable__in, .evbody__in, .evreg__in, .ctform__in, .perks__in, .ct__in, .corp__in, .hallcta__in { grid-template-columns: 1fr; }
  .sp__img { aspect-ratio: 16 / 10; }
  .sp__price { left: 16px; bottom: -24px; }
  .bk__grid { grid-template-columns: 1fr; grid-template-areas: 'ctl' 'map' 'sum'; }
  .bk__map { position: relative; top: 0; }
  .plan-box--book { height: 72vw; min-height: 420px; max-height: 640px; }
  .mnav__grid { grid-template-columns: 1fr; overflow-y: auto; }
  .mnav__fl { border-right: 0; align-content: start; }
  .hallcta__act { justify-content: flex-start; }
  .fit__grid { grid-template-columns: 1fr; }
  .fit__i { display: grid; grid-template-columns: 70px 1fr; gap: 0 16px; }
  .fit__n { grid-row: span 2; margin: 0; }
}

/* история этажа без прилипания: планшет, телефон и «меньше движения» */
@media (max-width: 1100px), (prefers-reduced-motion: reduce) {
  .story__txt::before { display: none; }
  .plan--story { overflow: hidden; }
  .story { height: auto; padding: 90px 0 70px; }
  .story__pin { position: static; height: auto; display: flex; flex-direction: column; align-items: stretch; padding: 0 var(--pad); overflow: visible; }
  .story__txt { display: contents; }
  .story__txt > .kick { order: 1; }
  .story__txt > h2 { order: 2; }
  .story__chips { order: 3; display: flex; gap: 8px; overflow-x: auto; margin: 26px calc(-1 * var(--pad)) 0; padding: 0 var(--pad) 4px; scrollbar-width: none; }
  .story__stage { order: 4; height: min(74vw, 560px); margin-top: 14px; }
  .story__cards { order: 5; min-height: 280px; margin-top: 20px; }
  .story__rail { display: none; }
  .chip { flex: none; min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .07); color: var(--fg); font-size: 14px; white-space: nowrap; }
  .chip.is-on { background: var(--violet); box-shadow: 0 0 18px rgba(91, 75, 255, .5); }
}

/* ——— телефон ——— */
@media (max-width: 760px) {
  :root { --pad: 16px; --step-0: 16px; --step-1: 17px; --step-2: 20px; }
  .top { height: 62px; gap: 10px; }
  .logo__w { font-size: 18px; }
  .floor { height: 34px; padding: 0 10px; gap: 6px; }
  .floor__t { display: none; }
  .top__cta { display: none; }
  .burger { margin-left: auto; padding: 0 12px; }
  .mnav__top { height: 62px; }
  .mnav__led { display: none; }
  .mnav__x { margin-left: auto; }
  .mnav .fl { grid-template-columns: 46px 1fr; gap: 14px; padding: 8px 0; }
  .fl__b { width: 44px; height: 44px; font-size: 20px; }
  .fl__t { font-size: 22px; }
  .fl__s { display: none; }
  .mnav__fl { padding: 10px var(--pad); }
  .mnav__side { padding: 20px var(--pad) 30px; }
  .lift__led { padding: 12px 20px 10px; }
  .dock { left: 8px; right: 8px; bottom: 8px; transform: none; padding: 6px 6px 6px 16px; max-width: none; border-radius: 18px; }
  .dock.is-off { transform: translateY(140%); }
  .dock__k, .dock__f { display: none; }
  .dock__m { display: grid; gap: 1px; flex: 1; font-size: 13px; color: var(--muted); line-height: 1.25; }
  .dock__m b { font: 500 18px/1.1 var(--font-led); letter-spacing: .08em; text-transform: uppercase; color: var(--neon-2); font-weight: 500; }
  .foot { padding-top: 80px; }
  .foot__grid { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
  .foot__brand { grid-column: 1 / -1; }
  .foot__col:last-child { grid-column: 1 / -1; }
  .foot__bot { margin-top: 44px; flex-direction: column; gap: 6px; }
  .foot__word { -webkit-text-stroke-width: 1px; }
  .foot__dev { padding-bottom: 92px; }
  .hero { padding: 84px var(--pad) 100px; gap: 26px; grid-template-rows: auto auto auto; align-content: space-between; --fw: calc((100vw - 2 * var(--pad)) * .372); }
  .hero__top { flex-direction: column; gap: 18px; }
  .hero__top .kick { font-size: 16px; }
  .live { min-width: 0; width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0 10px; padding: 12px 14px 8px; }
  .live__h, .live__n { grid-column: 1 / -1; }
  .live__r { display: grid; gap: 4px; font-size: 14px; border-top: 1px solid var(--line); }
  .live__r b { font-size: 18px; }
  .hero__l1, .hero__l2 { display: block; }
  .hero__word { line-height: .84; }
  .obadge { width: 92px; }
  .obadge text { font-size: 27px; }
  .hero__bot { grid-template-columns: 1fr; gap: 22px; }
  .hero__act { justify-content: space-between; }
  .band { padding: 18px 0; }
  .story { padding: 70px 0 50px; }
  .story__stage { height: 92vw; }
  .story__cards { min-height: 330px; }
  .duo__stats { grid-template-columns: 1fr 1fr; }
  .stat { padding: 64px 16px 30px; }
  .stat .tag { left: 14px; top: 20px; font-size: 14px; }
  .stat__n { font-size: 9vw; white-space: nowrap; }
  .stat__d { font-size: 15px; }
  .duo__note { left: 16px; }
  .duo__txt { padding: 120px var(--pad) 70px; }
  .duo__tags { left: var(--pad); right: var(--pad); top: 26px; gap: 8px; }
  .duo__tags .tag { font-size: 14px; }
  .plans { padding: 80px 0; }
  .plans__head { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 40px; }
  .plans__grid { display: flex; overflow-x: auto; gap: 14px; margin: 0 calc(-1 * var(--pad)); padding: 22px var(--pad) 18px; scroll-snap-type: x mandatory; scroll-padding: var(--pad); scrollbar-width: none; }
  .tcard { flex: none; width: 82%; scroll-snap-align: start; }
  .tcard:hover { transform: none; box-shadow: none; }
  .how { padding: 80px 0; }
  .how__list { grid-template-columns: 1fr; }
  .how__i, .how__i + .how__i { padding: 26px 0; border-left: 0; border-bottom: 1px solid var(--line-2); display: grid; grid-template-columns: 70px 1fr; gap: 0 14px; }
  .how__n { font-size: 44px; grid-row: span 3; }
  .how__art { display: none; }
  .evs { padding: 80px 0; }
  .sec-head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 30px; }
  .evbig { min-height: 360px; }
  .evbig__t { font-size: 25px; left: 20px; right: 20px; bottom: 20px; }
  .evbig__meta { left: 20px; top: 18px; }
  .evs__list { grid-template-columns: 1fr; }
  .evrow { grid-template-columns: 96px 1fr; }
  .evrow .cover { height: 96px; }
  .strip-sec { padding: 80px 0; }
  .strip__i { width: 72vw; }
  .strip__i:nth-child(even) { margin-top: 30px; }
  .res-sec { padding: 40px 0 80px; }
  .quote blockquote p { font-size: 19px; }
  .faq-sec { padding: 80px 0; }
  .faq-sec__h { text-align: left; margin-bottom: 30px; }
  .final { padding: 100px 0 120px; }
  .final__t { font-size: min(44px, calc((100vw - 2 * var(--pad)) / 11.5)); }
  .next__t { font-size: min(64px, calc((100vw - 2 * var(--pad)) / 13)); }
  .final__act .btn { width: 100%; justify-content: space-between; }
  .ph { padding: 110px 0 40px; }
  .ph__in { flex-direction: column; align-items: flex-start; gap: 20px; }
  .ph__tags { justify-content: flex-start; }
  .ph__path { font-size: 16px; }
  .xpl__legend { padding: 12px; gap: 6px; }
  .xpl__legend a { font-size: 14px; padding: 6px 12px 6px 6px; }
  .xpl__legend a span { display: none; }
  .plan-box--xl { height: 96vw; }
  .plan-box--md { height: 86vw; }
  .rows-sec { padding: 60px 0 70px; }
  .row { grid-template-columns: 40px 1fr 24px; gap: 4px 12px; padding: 20px 0; }
  .row__n { font-size: 26px; grid-row: span 2; }
  .row__t { font-size: 21px; }
  .row__s { grid-column: 2; font-size: 14px; }
  .row__p { display: none; }
  .row .ic--arr { grid-column: 3; grid-row: 1 / span 2; }
  .kitchen { padding: 40px 0 100px; }
  .kitchen__b { margin-bottom: -20px; }
  .sp { padding: 100px 0 60px; }
  .sp__t { font-size: min(76px, calc((100vw - 2 * var(--pad)) / (var(--len, 7) * 1.08))); }
  .sp__act .btn { flex: 1 1 100%; justify-content: space-between; }
  .facts__in { grid-template-columns: 1fr 1fr 1fr; }
  .fact, .fact + .fact { padding: 22px 8px 18px 0; }
  .fact + .fact { padding-left: 10px; }
  .fact__n { font-size: 32px; }
  .fact__t { font-size: 13px; }
  .feats__grid { grid-template-columns: 1fr 1fr; }
  .feat, .feats__grid .feat:not(:nth-child(3n + 1)) { padding: 22px 12px 20px 0; border-left: 0; }
  .feats__grid .feat:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--line-2); }
  .feat h3 { font-size: 17px; }
  .feat p { font-size: 14px; }
  .gal__grid--2, .gal__grid--3 { grid-template-columns: 1fr 1fr; }
  .gal__grid figure:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 10; min-height: 0; }
  .ptable { padding: 80px 0; }
  .prices__r { flex-direction: column; gap: 6px; padding: 16px 0; }
  .fit { padding: 80px 0 20px; }
  .fit__grid { display: flex; overflow-x: auto; gap: 12px; margin: 0 calc(-1 * var(--pad)); padding: 0 var(--pad) 10px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .fit__i { flex: none; width: 78%; scroll-snap-align: start; display: block; }
  .fit__n { margin-bottom: 26px; }
  .next { padding: 60px var(--pad) 120px; }
  .cmp { padding: 80px 0; }
  .hourly { padding: 80px 0; }
  .hourly__list li { flex-direction: column; gap: 6px; align-items: flex-start; }
  .addons__grid { grid-template-columns: 1fr; }
  .addons__grid .feat + .feat { padding-left: 0; border-left: 0; }
  .corp__in, .hallcta__in { padding: 30px 20px; }
  .evgrid, .evgrid--3 { grid-template-columns: 1fr; }
  .evpast li { grid-template-columns: 1fr auto; }
  .evpast li .evd { grid-column: 1 / -1; }
  .evh { min-height: 0; padding: 120px 0 50px; }
  .evh__date { position: static; justify-items: start; margin-bottom: 14px; display: flex; align-items: baseline; gap: 10px; }
  .evh__date span { font-size: 64px; }
  .evh__t { font-size: clamp(36px, 11vw, 60px); }
  .evbody { padding: 70px 0; }
  .prog li { grid-template-columns: 70px 1fr; gap: 12px; }
  .resgrid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .rescard { padding: 18px 16px; }
  .rescard__img { margin: -18px -16px 16px; }
  .rescard__n { font-size: 17px; }
  .rescard__d { font-size: 14px; }
  .rescard__w { font-size: 14px; }
  .fbar { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--pad)) 24px; padding: 0 var(--pad) 4px; scrollbar-width: none; }
  .fbtn { flex: none; }
  .fbar__n { display: none; }
  .perks { padding: 80px 0; }
  .perks__list { grid-template-columns: 1fr; }
  .perks__list li:nth-child(even) { padding-left: 0; border-left: 0; }
  .ct__dl div { grid-template-columns: 1fr; gap: 4px; }
  .route__list { grid-template-columns: 1fr; }
  .bk { padding: 90px 0 40px; }
  .bk__grid { gap: 12px; }
  .bk__step { padding: 14px; }
  .seg__b { padding: 10px; }
  .seg__b b { font-size: 14px; }
  .hours { grid-template-columns: repeat(4, 1fr); }
  .bk__bar { gap: 10px; padding: 12px; }
  .legend { order: 3; width: 100%; font-size: 13px; }
  .plan-box--book { height: 104vw; min-height: 0; }
  .tl__row { grid-template-columns: 70px 1fr; }
  .tl__axis { margin-left: 80px; }
  .bk__mbar { position: fixed; left: 8px; right: 8px; bottom: 8px; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 8px 8px 16px; border-radius: 18px; background: rgba(18, 16, 25, .9); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: inset 0 0 0 1px var(--line-2), 0 20px 40px rgba(0, 0, 0, .6); transition: transform .4s var(--ease); }
  .bk__mbar span { display: grid; }
  .bk__mbar b { font: 400 18px/1.1 var(--font-head); }
  .bk__mbar small { font-size: 13px; color: var(--muted); }
  .bk__mbar.is-off { transform: translateY(150%); }
  .p-bron .foot__dev { padding-bottom: 100px; }
}
@media (max-width: 380px) {
  .live { grid-template-columns: 1fr; }
}
@media (hover: none) { .cur { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .lift { display: none; }
  .marquee__track { animation: none; }
  .obadge svg { animation: none; }
}
