/* МАРШРУТ для бизнеса — общие стили входящих страниц business.marshrut.me
   (/start/, /oteli/, /razvlecheniya/, /tury/). Палитра и шрифты те же, что у
   клиентского сайта в новом оформлении (ночь + золото, Unbounded + Golos Text),
   чтобы хозяин объекта, перейдя из письма или с витрины, не чувствовал смены
   сайта. Страницы одной темы — тёмной: это витрина, а не кабинет.
   Разметку страниц собирает business-landings/build.mjs. */
:root{
  --night:#0D1116; --night-2:#151A21; --night-3:#1E252E; --night-4:#28313C;
  --ink:#F1EFE9; --ink-2:#B4B9C2; --ink-3:#7C828B;
  --gold:#E3B341; --gold-2:#F0C65A; --gold-ink:#1B1A17; --gold-soft:rgba(227,179,65,.16);
  --ok:#4DD48A; --ok-bg:rgba(31,157,91,.18); --warn:#E5AC3A; --danger:#F07A70;
  --line:rgba(255,255,255,.10); --line-2:rgba(255,255,255,.2);
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 18px 40px -22px rgba(0,0,0,.8);
  --shadow-lg:0 30px 80px -30px rgba(0,0,0,.9);
  --font-d:'Unbounded','Arial Black',sans-serif;
  --font-b:'Golos Text','Segoe UI',system-ui,sans-serif;
  --font-m:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --logo-gold:#E8BE55;
  --wrap:1180px;
  color-scheme:dark;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{margin:0; background:var(--night); color:var(--ink); font-family:var(--font-b); font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:clip;}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3{font-family:var(--font-d); font-weight:600; letter-spacing:-.01em; line-height:1.1; margin:0; text-wrap:balance;}
h1{font-size:clamp(2rem,4.4vw,3.6rem);}
h2{font-size:clamp(1.5rem,2.8vw,2.3rem);}
h3{font-size:1.05rem; font-family:var(--font-b); font-weight:700; letter-spacing:0; line-height:1.3;}
p{margin:0;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 clamp(16px,3.5vw,40px);}
.eyebrow{font-family:var(--font-m); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:500; display:block; margin-bottom:14px;}
.lead{color:var(--ink-2); font-size:clamp(1.02rem,1.3vw,1.15rem); line-height:1.6; max-width:62ch;}
.muted{color:var(--ink-2);} .faint{color:var(--ink-3);}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:52px; padding:0 26px; border-radius:999px; font:inherit; font-weight:600; font-size:.98rem; text-decoration:none; border:1px solid transparent; cursor:pointer; white-space:nowrap; transition:transform .15s,background .2s,border-color .2s,color .2s;}
.btn svg{width:18px; height:18px; flex:none;}
.btn:active{transform:translateY(1px);}
.btn-gold{background:var(--gold); color:var(--gold-ink);}
.btn-gold:hover{background:var(--gold-2);}
.btn-ghost{border-color:var(--line-2); color:var(--ink); background:rgba(13,17,22,.35); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold-2);}
.btn-sm{height:42px; padding:0 18px; font-size:.9rem;}
.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

/* ---- шапка ---- */
.top{position:sticky; top:0; z-index:40; height:68px; display:flex; align-items:center; background:linear-gradient(rgba(13,17,22,.92),rgba(13,17,22,.72)); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1px solid transparent; transition:border-color .3s;}
.top.solid{border-bottom-color:var(--line);}
.top .wrap{display:flex; align-items:center; gap:22px; width:100%;}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); font-family:var(--font-d); font-weight:700; font-size:1rem; white-space:nowrap;}
.brand .marshrut-logo{height:34px;}
.brand .sub{font-family:var(--font-b); font-weight:500; font-size:.82rem; color:var(--ink-2); padding-left:12px; border-left:1px solid var(--line-2); line-height:1;}
.top nav{display:flex; gap:4px; margin-left:8px;}
.top nav a{text-decoration:none; color:var(--ink-2); font-size:.92rem; font-weight:500; padding:9px 13px; border-radius:999px; white-space:nowrap; transition:color .2s,background .2s;}
.top nav a:hover{color:var(--ink); background:rgba(255,255,255,.06);}
.top nav a.on{color:var(--ink); background:rgba(255,255,255,.08);}
.top .acts{margin-left:auto; display:flex; gap:8px; align-items:center;}
.top .btn{height:42px; padding:0 18px; font-size:.9rem;}
.top .menu-btn{display:none; margin-left:auto; width:42px; height:42px; border-radius:50%; border:1px solid var(--line-2); background:transparent; color:var(--ink); align-items:center; justify-content:center;}
.top .menu-btn svg{width:20px; height:20px;}
.mnav{display:none; position:fixed; inset:68px 0 0; z-index:39; background:var(--night); padding:20px clamp(16px,3.5vw,40px); flex-direction:column; gap:6px;}
.mnav a{text-decoration:none; color:var(--ink); font-size:1.15rem; font-weight:600; padding:14px 0; border-bottom:1px solid var(--line);}
.mnav .btn{margin-top:14px; border-bottom:0;}
body.mnav-open .mnav{display:flex;}
@media (max-width:900px){
  .top nav,.top .acts{display:none;}
  .top .menu-btn{display:inline-flex;}
  .brand .sub{display:none;}
}

/* ---- хиро ---- */
.hero{position:relative; margin-top:-68px; padding-top:68px; min-height:min(92vh,820px); display:flex; align-items:center; overflow:hidden; isolation:isolate;}
.hero .bg{position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; transform:scale(1.04); animation:heroIn 1.6s cubic-bezier(.2,.8,.2,1) both;}
@keyframes heroIn{from{transform:scale(1.1); opacity:.4;} to{transform:scale(1.04); opacity:1;}}
.hero .veil{position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(13,17,22,.94) 0%,rgba(13,17,22,.72) 46%,rgba(13,17,22,.28) 100%), linear-gradient(180deg,rgba(13,17,22,.35) 0%,rgba(13,17,22,0) 30%,rgba(13,17,22,.85) 100%);}
.hero .wrap{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:48px; align-items:center; padding-top:64px; padding-bottom:72px;}
.hero h1{margin:0 0 20px;}
.hero h1 em{font-style:normal; color:var(--gold);}
.hero .lead{margin-bottom:30px;}
.hero .cta{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.hero .note{margin-top:18px; font-size:.86rem; color:var(--ink-3); display:flex; align-items:center; gap:8px;}
.hero .note svg{width:16px; height:16px; color:var(--ok);}
.hero .ref{display:inline-flex; align-items:center; gap:8px; margin-bottom:18px; padding:7px 14px 7px 9px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid var(--line-2); font-size:.86rem; color:var(--ink);}
.hero .ref .dot{width:22px; height:22px; border-radius:50%; background:var(--gold); color:var(--gold-ink); display:grid; place-items:center; font-weight:700; font-size:.72rem; font-family:var(--font-d);}
.hero .ref[hidden]{display:none;}
@media (max-width:900px){
  .hero{min-height:0;}
  .hero .wrap{grid-template-columns:1fr; gap:34px; padding-top:40px; padding-bottom:48px;}
  .hero .veil{background:linear-gradient(180deg,rgba(13,17,22,.72) 0%,rgba(13,17,22,.86) 55%,var(--night) 100%);}
}

/* ---- телефон с чатом Telegram (живая иллюстрация в хиро) ----
   Настоящий бот @marshrutTeam_bot присылает заявку хозяину в Telegram, и он
   отвечает кнопкой. Мокап повторяет тёмную тему Telegram: шапка чата, пузыри,
   inline-кнопки под сообщением, ответ хозяина с цитатой. Сообщения появляются
   по очереди (marshrut-biz.js, data-at), лента прижата к низу, как в мессенджере. */
.phone{position:relative; width:min(100%,330px); margin-left:auto; aspect-ratio:330/668; border-radius:50px; background:#111417; padding:11px; box-shadow:var(--shadow-lg), 0 0 0 1px rgba(255,255,255,.08) inset, 0 0 0 2px #050607; isolation:isolate;}
.phone::before{content:""; position:absolute; left:50%; top:20px; width:96px; height:28px; transform:translateX(-50%); border-radius:999px; background:#050607; z-index:3;}
.phone::after{content:""; position:absolute; right:-3px; top:150px; width:3px; height:64px; border-radius:2px; background:#2A2F36;}
.phone .scr{position:absolute; inset:11px; border-radius:40px; overflow:hidden; background:#0E1621; display:flex; flex-direction:column; font-family:var(--font-b); color:#F5F5F5;}
.phone .scr::before{content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1.3px); background-size:22px 22px; pointer-events:none;}
.phone .sb{height:50px; display:flex; align-items:flex-end; justify-content:space-between; padding:0 26px 4px; font-size:.78rem; font-weight:600; font-variant-numeric:tabular-nums; position:relative;}
.phone .sb .ic{display:flex; gap:5px; align-items:center;}
.phone .sb .ic svg{width:16px; height:12px; display:block;}
.phone .hd{display:flex; align-items:center; gap:10px; padding:6px 12px 10px; background:#17212B; border-bottom:1px solid rgba(0,0,0,.35); position:relative;}
.phone .hd .bk{color:#5EB5F7; font-size:1.1rem; width:18px;}
.phone .hd .av{width:36px; height:36px; border-radius:50%; background:var(--gold); color:var(--gold-ink); display:grid; place-items:center; font-family:var(--font-d); font-weight:700; font-size:.82rem; flex:none;}
.phone .hd b{display:block; font-size:.86rem; line-height:1.2;}
.phone .hd span{display:block; font-size:.7rem; color:#6D7F8F;}
.phone .hd .dots{margin-left:auto; color:#6D7F8F; letter-spacing:1px; font-weight:700;}
.phone .tg{flex:1; min-height:0; display:flex; flex-direction:column; justify-content:flex-end; gap:6px; padding:10px 10px 8px; position:relative; overflow:hidden;}
.phone .tg .day{align-self:center; font-size:.66rem; padding:3px 9px; border-radius:999px; background:rgba(0,0,0,.35); color:#B8C3CE; margin-bottom:2px;}
.phone .tg .m{max-width:86%; padding:7px 10px 6px; border-radius:14px; background:#182533; font-size:.74rem; line-height:1.4; position:relative; display:none;}
/* Скрытые сообщения не занимают места: лента прижата к низу, и невидимые
   пузыри выталкивали первое сообщение за верхний край экрана. */
.phone .tg .m.show{display:block; animation:tgPop .4s cubic-bezier(.2,.8,.2,1) both;}
.phone .tg .m.gone{display:none;}
@keyframes tgPop{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}}
.phone .tg .m::after{content:""; position:absolute; bottom:0; width:10px; height:12px; background:inherit;}
.phone .tg .m.in{align-self:flex-start; border-bottom-left-radius:4px;}
.phone .tg .m.in::after{left:-6px; clip-path:polygon(100% 0,100% 100%,0 100%);}
.phone .tg .m.out{align-self:flex-end; background:#2B5278; border-bottom-right-radius:4px;}
.phone .tg .m.out::after{right:-6px; clip-path:polygon(0 0,100% 100%,0 100%);}
.phone .tg .m b{font-weight:700;}
.phone .tg .m .l{display:block;}
.phone .tg .m .l.sp{margin-top:6px;}
.phone .tg .m .q{border-left:2px solid #5EB5F7; padding:2px 8px; margin:0 0 5px; border-radius:3px; background:rgba(255,255,255,.06); font-size:.7rem; color:#B8C3CE;}
.phone .tg .m .q b{display:block; color:#5EB5F7; font-size:.68rem;}
.phone .tg .m .t{float:right; margin:8px 0 0 10px; font-size:.62rem; color:#6D7F8F; line-height:1;}
.phone .tg .m.out .t{color:#8FB6E0;}
.phone .tg .m .t .ck{color:#5EB5F7; margin-left:2px;}
.phone .tg .kb{display:flex; gap:4px; margin-top:6px; clear:both;}
.phone .tg .kb span{flex:1; text-align:center; padding:7px 4px; border-radius:8px; background:rgba(255,255,255,.08); font-size:.72rem; font-weight:600; color:#F5F5F5;}
.phone .tg .m.sys{align-self:center; max-width:90%; background:rgba(0,0,0,.35); color:#B8C3CE; font-size:.68rem; padding:4px 10px; border-radius:999px; text-align:center;}
.phone .tg .m.sys::after{display:none;}
.phone .in-bar{display:flex; align-items:center; gap:10px; padding:8px 12px 12px; background:#17212B; position:relative;}
.phone .in-bar .fld{flex:1; height:34px; border-radius:17px; background:#242F3D; display:flex; align-items:center; padding:0 12px; font-size:.76rem; color:#6D7F8F;}
.phone .in-bar svg{width:22px; height:22px; color:#6D7F8F; flex:none;}
.phone .cap{position:absolute; left:50%; bottom:-34px; transform:translateX(-50%); white-space:nowrap; font-size:.74rem; color:var(--ink-3);}
@media (max-width:900px){ .phone{margin:0 auto 34px;} }
@media (prefers-reduced-motion:reduce){ .phone .tg .m.show{animation:none;} }

/* ---- карточка направлений на общем входе ---- */
.hubcard{position:relative; width:min(100%,380px); margin-left:auto; border-radius:28px; background:linear-gradient(180deg,#1A2029,#12171E); border:1px solid var(--line-2); box-shadow:var(--shadow-lg); padding:18px 20px 20px; overflow:hidden;}
.hubcard::before{content:""; position:absolute; inset:-40% -30% auto auto; width:70%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(227,179,65,.22),transparent 62%); pointer-events:none;}
.hubcard .bar{display:flex; align-items:center; gap:10px; padding:4px 6px 12px; border-bottom:1px solid var(--line); margin-bottom:12px; position:relative;}
.hubcard .bar .av{width:34px; height:34px; border-radius:50%; background:var(--gold); color:var(--gold-ink); display:grid; place-items:center; font-family:var(--font-d); font-weight:700; font-size:.8rem;}
.hubcard .bar b{display:block; font-size:.9rem;}
.hubcard .bar span{display:block; font-size:.72rem; color:var(--ink-3);}
.hubcard .cap{margin-top:12px; font-size:.74rem; color:var(--ink-3); text-align:center;}
@media (max-width:900px){ .hubcard{margin:0 auto;} }

/* ---- полоса цифр под хиро ---- */
.strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--night-2);}
.strip .wrap{display:grid; grid-template-columns:repeat(4,1fr);}
.strip .s{padding:22px 18px 22px 0; border-right:1px solid var(--line); margin-right:18px;}
.strip .s:last-child{border-right:0; margin-right:0;}
.strip .n{font-family:var(--font-d); font-size:clamp(1.5rem,2.4vw,2.1rem); font-weight:600; letter-spacing:-.02em; font-variant-numeric:tabular-nums; line-height:1; color:var(--ink);}
.strip .n small{font-size:.55em; color:var(--ink-2); font-weight:500; margin-left:4px;}
.strip .l{font-size:.8rem; color:var(--ink-2); margin-top:8px; line-height:1.4;}
@media (max-width:760px){ .strip .wrap{grid-template-columns:1fr 1fr; column-gap:18px;} .strip .s{border-right:0; margin-right:0; padding:18px 0;} .strip .s:nth-child(-n+2){border-bottom:1px solid var(--line);} }

/* ---- секции ---- */
.sec{padding:clamp(64px,8vw,104px) 0;}
.sec.tight{padding-top:clamp(40px,5vw,64px);}
.sec.alt{background:var(--night-2);}
.sec-head{max-width:760px; margin-bottom:clamp(30px,4vw,48px);}
.sec-head h2{margin-bottom:14px;}
.sec-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.sec-head.center .lead{margin-left:auto; margin-right:auto;}

/* ---- три причины ---- */
.why{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.why .c{position:relative; padding:28px 26px 30px; border-radius:24px; background:var(--night-2); border:1px solid var(--line); overflow:hidden; min-height:260px; display:flex; flex-direction:column;}
.sec.alt .why .c{background:var(--night);}
.why .c::after{content:""; position:absolute; right:-30%; bottom:-45%; width:80%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(227,179,65,.14),transparent 62%); pointer-events:none;}
.why .ic{width:48px; height:48px; border-radius:14px; background:var(--gold-soft); color:var(--gold-2); display:grid; place-items:center; margin-bottom:22px;}
.why .ic svg{width:24px; height:24px;}
.why h3{font-family:var(--font-d); font-weight:600; font-size:1.15rem; letter-spacing:-.01em; margin-bottom:10px;}
.why p{color:var(--ink-2); font-size:.95rem; line-height:1.55;}
.why .big{font-family:var(--font-d); font-size:2.4rem; font-weight:600; color:var(--gold); letter-spacing:-.02em; line-height:1; margin-bottom:10px;}
.why .big small{font-size:.5em; color:var(--ink-2); font-weight:500; margin-left:6px;}
@media (max-width:900px){ .why{grid-template-columns:1fr;} .why .c{min-height:0;} }

/* ---- шаги ---- */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; counter-reset:step;}
.steps .s{position:relative; padding:24px 22px 26px; border-radius:20px; background:var(--night-2); border:1px solid var(--line);}
.sec.alt .steps .s{background:var(--night);}
.steps .s .n{font-family:var(--font-m); font-size:.7rem; letter-spacing:.14em; color:var(--gold); margin-bottom:16px; display:flex; align-items:center; gap:10px;}
.steps .s .n::after{content:""; flex:1; height:1px; background:var(--line-2);}
.steps h3{margin-bottom:8px;}
.steps p{color:var(--ink-2); font-size:.92rem; line-height:1.5;}
.steps .s .time{margin-top:14px; display:inline-flex; align-items:center; gap:6px; font-size:.78rem; color:var(--ink-3); font-family:var(--font-m);}
.steps .s .time svg{width:14px; height:14px;}
.steps.three{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){ .steps,.steps.three{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .steps,.steps.three{grid-template-columns:1fr;} }

/* ---- деньги: доля и калькулятор ---- */
.money{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:start;}
.split{margin-top:26px; padding:22px 24px; border-radius:20px; background:var(--night-2); border:1px solid var(--line);}
.sec.alt .split{background:var(--night);}
.split .row{display:flex; justify-content:space-between; gap:12px; align-items:baseline; padding:6px 0; font-size:.94rem; color:var(--ink-2);}
.split .row b{color:var(--ink); font-family:var(--font-m); font-weight:500; white-space:nowrap;}
.split .row.g b{color:var(--gold-2);}
.split .bar{display:flex; gap:3px; height:10px; margin:10px 0 12px;}
.split .bar i{display:block; height:100%; border-radius:999px; background:var(--gold); width:12%; min-width:10px;}
.split .bar em{display:block; height:100%; flex:1; border-radius:999px; background:var(--night-4);}
.split .note{font-size:.82rem; color:var(--ink-3); line-height:1.5;}
.split .sw{display:inline-flex; gap:4px; padding:3px; border-radius:999px; background:var(--night-3); margin-bottom:10px;}
.split .sw button{border:0; background:transparent; color:var(--ink-2); font:inherit; font-size:.82rem; font-weight:600; padding:6px 12px; border-radius:999px; cursor:pointer;}
.split .sw button.on{background:var(--gold); color:var(--gold-ink);}
.calc{padding:26px 28px 28px; border-radius:24px; background:linear-gradient(180deg,var(--night-3),var(--night-2)); border:1px solid var(--line-2); box-shadow:var(--shadow-lg);}
.calc .t{font-family:var(--font-d); font-weight:600; font-size:1.1rem; margin-bottom:4px;}
.calc .st{font-size:.86rem; color:var(--ink-2); margin-bottom:22px;}
.calc .f{margin-bottom:18px;}
.calc label{display:flex; justify-content:space-between; align-items:baseline; font-size:.88rem; color:var(--ink-2); margin-bottom:8px;}
.calc label output{font-family:var(--font-m); color:var(--ink); font-weight:500; font-variant-numeric:tabular-nums;}
.calc input[type=range]{width:100%; accent-color:var(--gold); height:28px; cursor:pointer;}
.calc .res{margin-top:8px; padding-top:18px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.calc .r{padding:14px 16px; border-radius:14px; background:var(--night);}
.calc .r .k{font-size:.74rem; color:var(--ink-3); margin-bottom:6px; line-height:1.3;}
.calc .r .v{font-family:var(--font-d); font-size:1.25rem; font-weight:600; letter-spacing:-.02em; font-variant-numeric:tabular-nums; line-height:1;}
.calc .r.ota .v{color:var(--ink-2); text-decoration:line-through; text-decoration-color:var(--danger); text-decoration-thickness:2px;}
.calc .r.mr .v{color:var(--gold);}
.calc .save{grid-column:1/-1; padding:16px 18px; border-radius:14px; background:var(--gold-soft); border:1px solid rgba(227,179,65,.35); display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;}
.calc .save .k{font-size:.86rem; color:var(--ink);}
.calc .save .v{font-family:var(--font-d); font-size:1.5rem; font-weight:600; color:var(--gold-2); letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
.calc .fine{font-size:.74rem; color:var(--ink-3); margin-top:14px; line-height:1.45;}
@media (max-width:900px){ .money{grid-template-columns:1fr;} }

/* ---- возможности кабинета ---- */
.feat{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.feat .f{padding:22px 20px 24px; border-radius:20px; background:var(--night-2); border:1px solid var(--line); display:flex; flex-direction:column; gap:10px; transition:border-color .25s,transform .25s;}
.sec.alt .feat .f{background:var(--night);}
.feat .f:hover{border-color:rgba(227,179,65,.5); transform:translateY(-2px);}
.feat .ic{width:40px; height:40px; border-radius:12px; background:var(--night-3); color:var(--gold-2); display:grid; place-items:center;}
.feat .ic svg{width:20px; height:20px;}
.feat h3{font-size:1rem;}
.feat p{color:var(--ink-2); font-size:.88rem; line-height:1.5;}
.feat .mock{margin-top:auto; padding-top:12px;}
/* микро-иллюстрации: полоска цен, бейджи, чат */
.mk-cal{display:grid; grid-template-columns:repeat(7,1fr); gap:3px;}
.mk-cal i{display:block; height:26px; border-radius:6px; background:var(--night-3); font-style:normal; font-family:var(--font-m); font-size:.58rem; color:var(--ink-3); display:grid; place-items:center;}
.mk-cal i.hi{background:var(--gold-soft); color:var(--gold-2);}
.mk-cal i.lo{background:var(--ok-bg); color:var(--ok);}
.mk-cal i.x{background:repeating-linear-gradient(45deg,var(--night-3) 0 3px,var(--night-4) 3px 6px); color:transparent;}
.mk-tags{display:flex; gap:6px; flex-wrap:wrap;}
.mk-tags span{font-size:.72rem; padding:4px 9px; border-radius:999px; background:var(--night-3); color:var(--ink-2);}
.mk-tags span.g{background:var(--gold); color:var(--gold-ink); font-weight:700;}
.mk-tags span.o{background:var(--ok-bg); color:var(--ok); font-weight:600;}
.mk-bar{display:flex; align-items:flex-end; gap:4px; height:34px;}
.mk-bar i{flex:1; border-radius:4px 4px 0 0; background:var(--night-4);}
.mk-bar i.g{background:var(--gold);}
.mk-chat{display:flex; flex-direction:column; gap:5px;}
.mk-chat span{font-size:.72rem; padding:6px 9px; border-radius:10px 10px 10px 3px; background:var(--night-3); color:var(--ink-2); max-width:90%;}
.mk-chat span.me{align-self:flex-end; border-radius:10px 10px 3px 10px; background:var(--gold-soft); color:var(--gold-2);}
.mk-rooms{display:flex; flex-direction:column; gap:4px;}
.mk-rooms span{display:flex; justify-content:space-between; font-size:.74rem; padding:5px 9px; border-radius:8px; background:var(--night-3); color:var(--ink-2);}
.mk-rooms span b{font-family:var(--font-m); font-weight:500; color:var(--ink);}
.mk-stars{font-size:.9rem; color:var(--gold); letter-spacing:2px;}
.mk-roles{display:flex; gap:6px;}
.mk-roles span{flex:1; text-align:center; font-size:.72rem; padding:6px 4px; border-radius:8px; background:var(--night-3); color:var(--ink-2);}
.mk-roles span.g{background:var(--gold-soft); color:var(--gold-2); font-weight:600;}
@media (max-width:1000px){ .feat{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .feat{grid-template-columns:1fr;} }

/* ---- как это видит гость: живые карточки с витрины ---- */
.live{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.lc{display:block; text-decoration:none; color:inherit; border-radius:22px; overflow:hidden; background:var(--night-2); border:1px solid var(--line); transition:transform .25s,border-color .25s;}
.sec.alt .lc{background:var(--night);}
.lc:hover{transform:translateY(-3px); border-color:rgba(227,179,65,.5);}
.lc .phone{aspect-ratio:4/3; background:var(--night-3); position:relative;}
.lc .phone img{width:100%; height:100%; object-fit:cover;}
.lc .phone .pill{position:absolute; left:12px; top:12px; font-size:.7rem; font-weight:700; padding:5px 10px; border-radius:999px; background:var(--gold); color:var(--gold-ink);}
.lc .bd{padding:14px 16px 16px;}
.lc h3{font-size:1rem; margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.lc .m{font-size:.82rem; color:var(--ink-3);}
.lc .pr{margin-top:10px; font-family:var(--font-d); font-weight:600; font-size:1.02rem; font-variant-numeric:tabular-nums;}
.lc .pr small{font-family:var(--font-b); font-weight:500; font-size:.78rem; color:var(--ink-3); margin-left:6px;}
.lc.skel .phone{background:linear-gradient(90deg,var(--night-3),var(--night-4),var(--night-3)); background-size:200% 100%; animation:sk 1.4s infinite;}
.lc.skel h3,.lc.skel .m,.lc.skel .pr{height:14px; border-radius:6px; background:var(--night-3); color:transparent; width:70%;}
@keyframes sk{from{background-position:200% 0;} to{background-position:-200% 0;}}
.live-more{margin-top:22px; display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
@media (max-width:900px){ .live{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .live{grid-template-columns:1fr;} }

/* ---- резидент клуба: тёмно-золотая панель ---- */
.resident{position:relative; overflow:hidden; border-radius:28px; padding:clamp(28px,4vw,48px); background:linear-gradient(135deg,#1A1610,#0F1216 60%); border:1px solid rgba(227,179,65,.3); display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:32px; align-items:center;}
.resident::before{content:""; position:absolute; left:-10%; top:-60%; width:55%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(227,179,65,.35),transparent 62%); pointer-events:none;}
.resident>*{position:relative;}
.resident h2{margin-bottom:12px;}
.resident .lead{margin-bottom:22px;}
.resident ul{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.resident li{display:flex; gap:10px; align-items:flex-start; font-size:.95rem; color:var(--ink-2);}
.resident li .ic{flex:none; width:22px; height:22px; border-radius:50%; background:var(--gold); color:var(--gold-ink); display:grid; place-items:center; margin-top:1px;}
.resident li .ic svg{width:12px; height:12px;}
.resident .badge{justify-self:center; text-align:center; padding:30px 26px; border-radius:24px; background:rgba(13,17,22,.7); border:1px solid var(--line-2); min-width:240px;}
.resident .badge .pill{display:inline-block; padding:6px 14px; border-radius:999px; background:var(--gold); color:var(--gold-ink); font-weight:700; font-size:.82rem; margin-bottom:16px;}
.resident .badge .n{font-family:var(--font-d); font-size:3rem; font-weight:600; color:var(--gold); line-height:1; letter-spacing:-.02em;}
.resident .badge .n s{font-size:.45em; color:var(--ink-3); margin-left:8px; font-weight:500;}
.resident .badge .k{font-size:.82rem; color:var(--ink-2); margin-top:10px;}
.resident .cta{margin-top:22px; display:flex; gap:10px; flex-wrap:wrap;}
@media (max-width:900px){ .resident{grid-template-columns:1fr;} .resident .badge{justify-self:stretch;} }

/* ---- доверие ---- */
.trust{display:grid; grid-template-columns:repeat(2,1fr); gap:10px 28px;}
.trust .t{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line);}
.trust .t .ic{flex:none; width:36px; height:36px; border-radius:12px; background:var(--gold-soft); color:var(--gold-2); display:grid; place-items:center;}
.trust .t .ic svg{width:18px; height:18px;}
.trust h3{font-size:.98rem; margin-bottom:4px;}
.trust p{color:var(--ink-2); font-size:.88rem; line-height:1.5;}
.trust a{color:var(--gold-2); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(227,179,65,.4);}
@media (max-width:760px){ .trust{grid-template-columns:1fr;} }

/* ---- FAQ ---- */
.faq{max-width:820px;}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:16px; padding:20px 0; font-weight:600; font-size:1.02rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .ch{margin-left:auto; flex:none; width:30px; height:30px; border-radius:50%; border:1px solid var(--line-2); display:grid; place-items:center; color:var(--ink-3); transition:transform .25s,color .25s;}
.faq summary .ch svg{width:14px; height:14px;}
.faq details[open] summary .ch{transform:rotate(45deg); color:var(--gold);}
.faq .a{padding:0 0 22px; color:var(--ink-2); line-height:1.6; max-width:64ch;}
.faq .a a{color:var(--gold-2);}

/* ---- финальный призыв ---- */
.final{position:relative; overflow:hidden; border-radius:32px; padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px); text-align:center; isolation:isolate;}
.final .bg{position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center;}
.final .veil{position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(13,17,22,.78),rgba(13,17,22,.9));}
.final h2{font-size:clamp(1.7rem,3.4vw,2.8rem); margin:0 auto 14px; max-width:20ch;}
.final .lead{margin:0 auto 28px;}
.final .cta{display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}
.final .small{margin-top:18px; font-size:.84rem; color:var(--ink-3);}

/* ---- другие направления (двери) ---- */
.doors{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.door{position:relative; display:block; text-decoration:none; color:var(--ink); border-radius:24px; overflow:hidden; aspect-ratio:4/5; isolation:isolate; border:1px solid var(--line);}
.door img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .7s cubic-bezier(.2,.8,.2,1);}
.door:hover img{transform:scale(1.05);}
.door::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(13,17,22,.1) 20%,rgba(13,17,22,.92) 100%);}
.door .bd{position:absolute; left:0; right:0; bottom:0; padding:24px;}
.door .eyebrow{margin-bottom:8px;}
.door h3{font-family:var(--font-d); font-size:1.35rem; font-weight:600; margin-bottom:8px; letter-spacing:-.01em;}
.door p{color:var(--ink-2); font-size:.9rem; line-height:1.45;}
.door .go{margin-top:14px; display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:.9rem; color:var(--gold-2);}
.door .go svg{width:16px; height:16px; transition:transform .25s;}
.door:hover .go svg{transform:translateX(4px);}
.door .cnt{position:absolute; top:16px; right:16px; font-family:var(--font-m); font-size:.72rem; padding:6px 10px; border-radius:999px; background:rgba(13,17,22,.7); border:1px solid var(--line-2); color:var(--ink);}
.door .cnt:empty{display:none;}
.doors.wide .door{aspect-ratio:auto; min-height:420px;}
@media (max-width:900px){ .doors{grid-template-columns:1fr;} .door{aspect-ratio:16/9;} .doors.wide .door{min-height:300px;} }

/* ---- типы объектов чипами ---- */
.types{display:flex; flex-wrap:wrap; gap:8px; margin-top:22px;}
.types span{display:inline-flex; align-items:center; gap:7px; padding:9px 14px; border-radius:999px; border:1px solid var(--line-2); font-size:.88rem; color:var(--ink-2); background:rgba(255,255,255,.03);}
.types span svg{width:15px; height:15px; color:var(--gold-2);}

/* ---- фото-полоса ---- */
.band{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:8px; height:clamp(220px,32vw,420px); border-radius:24px; overflow:hidden;}
.band img{width:100%; height:100%; object-fit:cover;}
@media (max-width:760px){ .band{grid-template-columns:1fr 1fr; height:auto;} .band img{aspect-ratio:1;} .band img:first-child{grid-column:1/-1; aspect-ratio:16/9;} }

/* ---- подвал ---- */
.foot{border-top:1px solid var(--line); background:var(--night-2); padding:56px 0 34px; margin-top:clamp(40px,6vw,80px);}
.foot .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:32px;}
.foot .brand{margin-bottom:14px;}
.foot p{color:var(--ink-2); font-size:.9rem; line-height:1.55; max-width:36ch;}
.foot h4{font-family:var(--font-m); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:500; margin:0 0 14px;}
.foot a{display:block; text-decoration:none; color:var(--ink-2); font-size:.92rem; padding:5px 0; transition:color .2s;}
.foot a:hover{color:var(--ink);}
.foot .req{color:var(--ink-3); font-size:.82rem; line-height:1.6;}
.foot .bot{margin-top:40px; padding-top:20px; border-top:1px solid var(--line); font-size:.78rem; color:var(--ink-3); line-height:1.55; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;}
@media (max-width:900px){ .foot .cols{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .foot .cols{grid-template-columns:1fr;} }

/* ---- появление при прокрутке: содержимое видно всегда, движется лишь чуть ---- */
.rv{transform:translateY(18px); transition:transform .7s cubic-bezier(.2,.8,.2,1);}
.rv.in{transform:none;}
@media (prefers-reduced-motion:reduce){ .rv{transform:none; transition:none;} .hero .bg{animation:none; transform:none;} .tg .m{transition:none;} }

/* ---- липкая кнопка на телефоне ---- */
.mcta{display:none; position:fixed; left:12px; right:12px; bottom:12px; z-index:38;}
.mcta .btn{width:100%; box-shadow:var(--shadow-lg);}
@media (max-width:900px){ .mcta{display:block;} body.has-mcta{padding-bottom:78px;} }
