/* ═══════════════════════════════════════════════════════════
   Подкаст Просто! — демо нового сайта
   Бренд: #A64AC9 фиолетовый · #FEED00 жёлтый · Roboto
   ═══════════════════════════════════════════════════════════ */

:root{
  --bg:        #08070a;
  --bg2:       #0d0b11;
  --surf:      #14111c;
  --surf2:     #1c1726;
  --line:      rgba(255,255,255,.10);
  --line2:     rgba(255,255,255,.18);

  --pur:       #a64ac9;
  --pur-lt:    #c986e6;
  --pur-dk:    #5c2a76;
  --yel:       #feed00;

  --tx:        #efeaf5;
  --tx2:       #9d94ad;
  --tx3:       #6a6278;

  --dsp: "Roboto Condensed", "Roboto", Arial Narrow, sans-serif;
  --sans:"Roboto", Arial, Helvetica, sans-serif;
  --mono:"Roboto Mono", ui-monospace, Consolas, monospace;

  --pad: clamp(20px, 4.6vw, 72px);
  --maxw: 1560px;
  --r: 26px;
  --pill: 60px;
  --ease: cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--bg); color:var(--tx);
  font-family:var(--sans); font-size:17px; line-height:1.55;
  font-weight:400; overflow-x:hidden;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body.is-loading{ overflow:hidden; height:100vh; }
body.nav-open{ overflow:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
h1,h2,h3,h4{ margin:0; font-weight:900; letter-spacing:-.02em; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
::selection{ background:var(--yel); color:#111; }

/* зерно */
body::after{
  content:""; position:fixed; inset:-50%; z-index:9997; pointer-events:none;
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(6) infinite;
}
@keyframes grain{
  0%,100%{transform:translate(0,0)} 10%{transform:translate(-3%,-4%)} 30%{transform:translate(2%,-2%)}
  50%{transform:translate(-2%,3%)} 70%{transform:translate(3%,2%)} 90%{transform:translate(-4%,-1%)}
}

/* ═══════════ ПРЕЛОАДЕР ═══════════ */
.loader{
  position:fixed; inset:0; z-index:9999; background:var(--bg);
  display:flex; flex-direction:column; justify-content:flex-end; padding:var(--pad);
  gap:18px;
}
.loader__rec{
  font-family:var(--mono); font-size:12px; letter-spacing:.24em; color:var(--tx2);
  display:flex; align-items:center; gap:10px; position:absolute; top:var(--pad); left:var(--pad);
}
.loader__dot{ width:9px; height:9px; border-radius:50%; background:#ff3b30; animation:blink 1.1s infinite; }
@keyframes blink{ 0%,49%{opacity:1} 50%,100%{opacity:.15} }
.loader__num{
  font-family:var(--dsp); font-weight:900; font-size:clamp(90px,22vw,300px); line-height:.82;
  letter-spacing:-.05em; color:var(--tx);
}
.loader__num i{ font-style:normal; color:var(--pur); font-size:.32em; vertical-align:super; }
.loader__bar{ height:2px; background:var(--line); position:relative; overflow:hidden; }
.loader__bar span{ position:absolute; inset:0; background:var(--yel); transform:translateX(-100%); }
.loader__meta{
  display:flex; justify-content:space-between; font-family:var(--mono);
  font-size:12px; letter-spacing:.2em; color:var(--tx3);
}

/* ═══════════ КУРСОР ═══════════ */
.cursor{
  position:fixed; top:0; left:0; width:12px; height:12px; border-radius:50%;
  background:var(--yel); z-index:9998; pointer-events:none; mix-blend-mode:difference;
  transform:translate(-50%,-50%); transition:width .3s var(--ease), height .3s var(--ease), background .3s;
  display:flex; align-items:center; justify-content:center;
}
.cursor__label{
  font-family:var(--mono); font-size:10px; letter-spacing:.12em; color:#000;
  opacity:0; white-space:nowrap; text-transform:uppercase;
}
.cursor.is-big{ width:78px; height:78px; }
.cursor.is-big .cursor__label{ opacity:1; }
.cursor:not(.is-live){ opacity:0; }
@media (hover:none){ .cursor{ display:none; } }

/* ═══════════ КНОПКИ ═══════════ */
.btn{
  --bh:52px;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:var(--bh); padding:0 26px; border-radius:var(--pill); border:1px solid transparent;
  font-weight:700; font-size:15px; letter-spacing:.01em; cursor:pointer;
  position:relative; overflow:hidden; isolation:isolate;
  transition:color .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);
  white-space:nowrap;
}
.btn::before{
  content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit;
  transform:translateY(101%); transition:transform .45s var(--ease);
}
.btn:hover::before{ transform:translateY(0); }
.btn--lg{ --bh:60px; padding:0 34px; font-size:16px; }
.btn--yel{ background:var(--yel); color:#0b0a0d; }
.btn--yel::before{ background:var(--pur); }
.btn--yel:hover{ color:#fff; }
.btn--out{ border-color:var(--line2); color:var(--tx); }
.btn--out::before{ background:var(--yel); }
.btn--out:hover{ color:#0b0a0d; border-color:var(--yel); }
.btn--ghost{ border-color:var(--line2); color:var(--tx2); }
.btn--ghost::before{ background:rgba(255,255,255,.08); }
.btn--ghost:hover{ color:var(--tx); }

/* ═══════════ ШАПКА ═══════════ */
.hdr{
  position:fixed; top:0; left:0; right:0; z-index:900;
  display:flex; align-items:center; gap:20px;
  padding:14px var(--pad); transition:transform .5s var(--ease), background .4s, backdrop-filter .4s;
}
.hdr.is-stuck{ background:rgba(8,7,10,.72); backdrop-filter:blur(18px) saturate(140%); }
.hdr.is-hidden{ transform:translateY(-104%); }
.hdr__progress{ position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--line); }
.hdr__progress span{ display:block; height:100%; width:0; background:var(--yel); }

.hdr__logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.hdr__logo svg{ width:20px; height:28px; fill:var(--yel); stroke:var(--yel); }
.hdr__logo span{ font-family:var(--dsp); font-weight:900; font-size:14px; line-height:.95; letter-spacing:.02em; }

.hdr__nav{ display:flex; gap:6px; margin-left:auto; }
.hdr__nav a{
  padding:9px 17px; border-radius:var(--pill); font-size:14px; color:var(--tx2);
  border:1px solid transparent; transition:color .3s, background .3s, border-color .3s;
}
.hdr__nav a:hover{ color:var(--tx); background:rgba(166,74,201,.16); border-color:rgba(166,74,201,.4); }
.hdr__nav a.is-active{ color:var(--tx); border-color:var(--line2); }

.hdr__right{ display:flex; align-items:center; gap:16px; margin-left:auto; }
.hdr__nav + .hdr__right{ margin-left:0; }
.metro{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--tx3); display:flex; align-items:center; gap:6px; }
.metro i{
  font-style:normal; width:17px; height:17px; border-radius:50%; background:#e2223c; color:#fff;
  display:grid; place-items:center; font-size:11px; font-weight:700; font-family:var(--sans);
}
.metro em{ font-style:normal; opacity:.4; }
.hdr__cta{ --bh:44px; padding:0 22px; font-size:14px; }

.burger{ display:none; width:44px; height:44px; border:1px solid var(--line2); border-radius:50%; background:none; cursor:pointer; position:relative; }
.burger span{ position:absolute; left:13px; right:13px; height:1.5px; background:var(--tx); transition:.35s var(--ease); }
.burger span:nth-child(1){ top:18px; } .burger span:nth-child(2){ top:24px; }
body.nav-open .burger span:nth-child(1){ top:21px; transform:rotate(45deg); }
body.nav-open .burger span:nth-child(2){ top:21px; transform:rotate(-45deg); }

.mobnav{
  position:fixed; inset:0; z-index:880; background:var(--bg2); padding:110px var(--pad) 40px;
  display:flex; flex-direction:column; gap:2px; transform:translateY(-100%);
  transition:transform .7s var(--ease); overflow:auto;
}
body.nav-open .mobnav{ transform:translateY(0); }
.mobnav a{
  font-family:var(--dsp); font-weight:900; font-size:clamp(30px,9vw,52px); line-height:1.16;
  border-bottom:1px solid var(--line); padding:12px 0; display:flex; gap:16px; align-items:baseline;
}
.mobnav a i{ font-family:var(--mono); font-style:normal; font-size:12px; color:var(--pur); font-weight:400; }
.mobnav__cta{ margin-top:auto; background:var(--yel); color:#0b0a0d; border-radius:var(--pill);
  justify-content:center; font-size:20px !important; border:0 !important; padding:20px !important; }

/* ═══════════ ГЕРО — «пульт записи» ═══════════ */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:flex-end;
  padding:96px var(--pad) 96px; overflow:hidden; isolation:isolate;
}
.hero__gl{ position:absolute; inset:0; width:100%; height:100%; display:block; z-index:-2; }
.hero__vig{
  position:absolute; inset:0; pointer-events:none; z-index:-1;
  background:
    linear-gradient(100deg, rgba(8,7,10,.93) 0%, rgba(8,7,10,.80) 34%, rgba(8,7,10,.30) 52%, transparent 66%),
    radial-gradient(120% 90% at 74% 26%, transparent 26%, rgba(8,7,10,.50) 78%, var(--bg) 100%),
    linear-gradient(to top, var(--bg) 1%, rgba(8,7,10,.42) 26%, transparent 58%);
}
.hero__inner{
  position:relative; width:100%; max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:minmax(0,1fr); align-items:end;
}
.hero__col{ max-width:min(920px, 62vw); }

/* ── метки ── */
.hero__kicker{ display:flex; gap:9px; flex-wrap:wrap; align-items:center; margin-bottom:24px; }
.tag{
  font-family:var(--mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase;
  padding:7px 15px; border:1px solid var(--line2); border-radius:var(--pill); color:var(--tx2);
  background:rgba(14,12,18,.5); backdrop-filter:blur(8px);
  display:inline-flex; align-items:center; gap:8px;
}
.tag__m{
  font-style:normal; font-family:var(--sans); font-weight:700; font-size:10px;
  width:16px; height:16px; border-radius:50%; background:#e2223c; color:#fff;
  display:grid; place-items:center;
}
.tag--rate{ color:var(--tx); border-color:rgba(254,237,0,.34); }
.tag--rate b{ font-family:var(--dsp); font-size:16px; letter-spacing:-.02em; color:var(--yel); }
.tag__st{ font-style:normal; color:var(--yel); font-size:12px; margin-left:-4px; }

/* ── заголовок ── */
.hero__h1{
  font-family:var(--dsp); font-size:clamp(36px,5vw,94px); line-height:.9;
  letter-spacing:-.035em; text-transform:uppercase; margin-bottom:clamp(16px,1.8vw,26px);
}
.hero__h1 .ln{ display:block; overflow:hidden; padding-bottom:.1em; margin-bottom:-.06em; }
.hero__h1 .w{ display:inline-block; line-height:.9; }
.hero__h1 .mark{ position:relative; }
.hero__h1 .mark b{ position:relative; z-index:2; font-weight:inherit; color:#0b0a0d; transition:color .4s .34s; }
.hero__h1 .mark::before{
  content:""; position:absolute; left:-.06em; right:-.06em; top:.1em; bottom:.06em;
  background:var(--yel); transform:scaleX(1); transform-origin:left center; z-index:1;
  border-radius:4px; transition:transform 1s var(--ease);
}
html.js-anim .hero__h1 .mark:not(.is-on)::before{ transform:scaleX(0); }
html.js-anim .hero__h1 .mark:not(.is-on) b{ color:var(--tx); }

.hero__lead{ max-width:52ch; color:var(--tx2); font-size:clamp(15px,1.08vw,18px); margin-bottom:20px; }
.hero__lead b{ color:var(--tx); font-weight:700; }

.hero__act{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:16px; }

.hero__fine{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.hero__fine small{ font-size:11.5px; color:var(--tx3); line-height:1.5; }

.promo{
  display:inline-flex; align-items:center; gap:12px;
  border:1px solid rgba(254,237,0,.34); border-radius:var(--pill); padding:6px 18px 6px 6px;
  background:rgba(20,17,28,.55); backdrop-filter:blur(10px);
}
.promo__badge{
  background:var(--yel); color:#0b0a0d; font-family:var(--dsp); font-weight:900; font-size:11.5px;
  letter-spacing:.09em; padding:7px 12px; border-radius:var(--pill);
}
.promo__txt{
  display:flex; align-items:baseline; gap:9px; font-family:var(--dsp); font-weight:900;
  font-size:17px; text-transform:uppercase; letter-spacing:-.01em; white-space:nowrap;
}
.promo__txt i{ font-style:normal; font-family:var(--mono); font-weight:400; font-size:10.5px; letter-spacing:.1em; color:var(--tx3); }

/* ── мультивью трёх камер ── */
.mv{
  margin-top:clamp(20px,2.4vw,32px); max-width:620px;
  border:1px solid var(--line); border-radius:16px; padding:12px;
  background:rgba(12,10,16,.58); backdrop-filter:blur(14px) saturate(130%);
}
/* на широких экранах мультивью уходит в правый нижний угол — не съедает высоту */
@media (min-width:1200px){
  .mv{ position:absolute; right:0; bottom:0; width:min(470px,33vw); margin-top:0; }
  .hero__col{ max-width:min(1010px, 55vw); padding-bottom:4px; }
}
@media (min-width:1700px){ .mv{ width:520px; } }
.mv__head{ display:flex; align-items:center; justify-content:space-between; padding:0 2px 10px; }
.mv__ttl{ font-family:var(--mono); font-size:10px; letter-spacing:.24em; color:var(--tx3); }
.mv__rec{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--tx2); display:flex; align-items:center; gap:7px; }
.mv__rec i{ width:6px; height:6px; border-radius:50%; background:var(--yel); box-shadow:0 0 8px var(--yel); }
/* большой кадр программы — по нему видно, откуда идёт звук */
.mv__pgm{
  position:relative; margin:0 0 8px; border-radius:11px; overflow:hidden;
  aspect-ratio:16/9; border:1px solid rgba(255,59,48,.55);
  box-shadow:0 18px 46px rgba(0,0,0,.5);
}
/* источник кадров: один скрытый <video>, из которого рисуются все ракурсы */
.hero__vid{
  position:absolute; top:0; left:0; width:2px; height:2px;
  opacity:.01; pointer-events:none; z-index:-3;
}
.mv__poster{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:opacity .5s var(--ease);
}
.mv__cv{
  position:absolute; inset:0; width:100%; height:100%; display:block;
  opacity:0; transition:opacity .5s var(--ease);
}
/* видео пошло — постеры гаснут, показываем живые кадры */
.mv.is-playing .mv__cv{ opacity:1; }
.mv.is-playing .mv__poster{ opacity:0; }
.mv__tally{
  position:absolute; top:8px; left:8px; background:#ff3b30; color:#fff;
  font-family:var(--mono); font-size:9px; letter-spacing:.16em; padding:4px 8px; border-radius:5px;
}
/* столбик уровня прямо на кадре — связывает звук и картинку */
.mv__vu{
  position:absolute; top:8px; right:8px; bottom:8px; width:5px; border-radius:3px;
  background:rgba(255,255,255,.14); overflow:hidden; display:flex; align-items:flex-end;
}
.mv__vu i{
  display:block; width:100%; height:4%;
  background:linear-gradient(to top,#4ad07a 0%, var(--yel) 62%, #ff3b30 100%);
  transition:height .1s ease-out;
}
.mv__cap{
  position:absolute; left:0; right:0; bottom:0; padding:26px 10px 8px;
  display:flex; align-items:baseline; gap:8px;
  background:linear-gradient(to top, rgba(6,5,8,.94), transparent);
  font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
}
.mv__cap b{ color:var(--tx); font-weight:500; }
.mv__cap span{ color:var(--tx3); }
.mv__from{
  position:absolute; left:10px; bottom:34px; display:inline-flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--tx2); background:rgba(8,7,10,.62); backdrop-filter:blur(6px);
  border:1px solid var(--line); border-radius:var(--pill); padding:4px 10px 4px 7px;
  transition:.4s var(--ease);
}
.mv__from svg{ width:12px; height:12px; fill:currentColor; }
.mv__from .mv__wv{ opacity:.35; transition:opacity .4s; }
.mv__from.is-live{ color:#0b0a0d; background:var(--yel); border-color:var(--yel); }
.mv__from.is-live .mv__wv{ opacity:1; }

/* ряд источников */
.mv__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.mv__tile{
  margin:0; padding:0; position:relative; border-radius:8px; overflow:hidden; aspect-ratio:16/9;
  border:1px solid transparent; background:none; cursor:pointer; display:block;
  transition:border-color .35s var(--ease), transform .35s var(--ease);
}
.mv__tile img, .mv__tile canvas{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:grayscale(.78) brightness(.5) contrast(1.05); transition:filter .6s var(--ease);
}
.mv__tile span{
  position:absolute; left:0; right:0; bottom:0; padding:14px 6px 4px;
  background:linear-gradient(to top, rgba(6,5,8,.92), transparent);
  font-family:var(--mono); font-size:8.5px; letter-spacing:.1em; color:var(--tx2); text-transform:uppercase;
}
.mv__tile:hover{ border-color:var(--line2); transform:translateY(-2px); }
.mv__tile:hover img,.mv__tile:hover canvas{ filter:grayscale(.3) brightness(.78); }
.mv__tile.is-live{ border-color:#ff3b30; }
.mv__tile.is-live img,.mv__tile.is-live canvas{ filter:grayscale(0) brightness(.9); }
.mv__tile.is-live span{ color:var(--tx); }
.mv__tile:focus-visible{ outline:2px solid var(--yel); outline-offset:2px; }

.mv__foot{ padding:10px 2px 1px; font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--tx3); text-transform:uppercase; }

/* ── строка записи ── */
.rec{
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  display:flex; align-items:center; gap:clamp(14px,2vw,30px);
  padding:0 var(--pad); height:68px;
  border-top:1px solid var(--line);
  background:linear-gradient(to top, rgba(8,7,10,.94), rgba(8,7,10,.55));
  backdrop-filter:blur(16px) saturate(130%);
}
.rec__unit{ display:flex; align-items:center; gap:10px; }
.rec__lbl{ font-family:var(--mono); font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--tx3); }
.rec__dot{ width:9px; height:9px; border-radius:50%; background:#ff3b30; box-shadow:0 0 10px rgba(255,59,48,.8); animation:blink 1.1s infinite; }
.rec__time{ font-family:var(--mono); font-size:14px; letter-spacing:.08em; color:var(--tx); font-weight:500; font-variant-numeric:tabular-nums; }

.rec__unit--wave{ flex:1 1 auto; min-width:0; height:44px; position:relative; gap:12px; }
.rec__wave{ flex:1 1 auto; width:100%; height:44px; display:block; min-width:0; }
.rec__bars{ display:flex; align-items:flex-end; gap:2px; height:26px; width:clamp(80px,10vw,150px); flex:0 0 auto; }
.rec__bars i{ flex:1; min-width:2px; background:linear-gradient(to top, var(--pur), var(--yel)); border-radius:1px; height:10%; transition:height .13s ease-out, opacity .13s ease-out; }

.rec__unit--meter{ flex:0 0 auto; }
.rec__track{ display:block; width:clamp(64px,7vw,110px); height:5px; border-radius:3px; background:rgba(255,255,255,.10); overflow:hidden; }
.rec__track i{ display:block; width:100%; height:100%; background:linear-gradient(90deg,#4ad07a,var(--yel) 72%,#ff3b30); transform-origin:left; transform:scaleX(0); }
.rec__track i.is-hot{ box-shadow:0 0 10px rgba(255,59,48,.7); }

.rec__unit--pills{ gap:6px; flex:0 0 auto; }
.rec__unit--pills span{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--tx3); border:1px solid var(--line); border-radius:var(--pill); padding:5px 10px; white-space:nowrap;
}

.rec__snd{
  flex:0 0 auto; display:flex; align-items:center; gap:9px; cursor:pointer;
  height:38px; padding:0 16px; border-radius:var(--pill);
  border:1px solid var(--line2); background:rgba(255,255,255,.03); color:var(--tx2);
  font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  transition:.35s var(--ease);
}
.rec__snd:hover{ color:var(--tx); border-color:var(--yel); }
.rec__snd svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.rec__snd .rec__spk{ fill:currentColor; stroke:none; }
.rec__snd .rec__w1,.rec__snd .rec__w2{ opacity:0; transition:opacity .3s; }
.rec__snd .rec__x{ opacity:.75; }
.rec__snd.is-on{ color:#0b0a0d; background:var(--yel); border-color:var(--yel); }
.rec__snd.is-on .rec__w1,.rec__snd.is-on .rec__w2{ opacity:1; }
.rec__snd.is-on .rec__x{ opacity:0; }

.hero__scroll{ display:none; }
.hero__scroll--off{
  position:absolute; right:var(--pad); bottom:86px; z-index:2; font-family:var(--mono); font-size:10px;
  letter-spacing:.24em; text-transform:uppercase; color:var(--tx3); align-items:center; gap:10px;
}
.hero__scroll span{ width:34px; height:1px; background:var(--line2); position:relative; overflow:hidden; }
.hero__scroll span::after{ content:""; position:absolute; inset:0; background:var(--yel); animation:sweep 2.2s infinite; }
@keyframes sweep{ 0%{transform:translateX(-100%)} 60%,100%{transform:translateX(100%)} }

/* ═══════════ БЕГУЩАЯ СТРОКА ═══════════ */
.ticker{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; background:var(--bg2); }
.ticker__row{ display:flex; white-space:nowrap; will-change:transform; }
.ticker__row span{
  font-family:var(--dsp); font-weight:900; text-transform:uppercase;
  font-size:clamp(38px,6.4vw,104px); line-height:1.12; letter-spacing:-.03em;
  padding:10px 0; color:transparent; -webkit-text-stroke:1.2px rgba(255,255,255,.38);
}
.ticker__row i{ font-style:normal; color:var(--pur); -webkit-text-stroke:0; font-size:.36em; vertical-align:middle; padding:0 .35em; }

/* ═══════════ СЕКЦИИ ═══════════ */
.sec{ max-width:var(--maxw); margin:0 auto; padding:clamp(64px,7vw,116px) var(--pad); }
.sec__head{ margin-bottom:clamp(34px,4vw,62px); }
.sec__idx{
  display:inline-block; font-family:var(--mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--pur-lt); margin-bottom:18px;
}
.sec__t{
  font-family:var(--dsp); font-size:clamp(34px,5.6vw,96px); line-height:.94;
  letter-spacing:-.035em; text-transform:uppercase; max-width:19ch;
}
.ital{ font-style:italic; color:var(--pur-lt); font-family:var(--sans); font-weight:900; letter-spacing:-.03em; text-transform:none; }
.sec__sub{ margin-top:20px; max-width:60ch; color:var(--tx2); font-size:16px; }
.sec__sub b{ color:var(--tx); }

/* ═══════════ УСЛУГИ ═══════════ */
.svc__list{ position:relative; border-top:1px solid var(--line); }
.svc__row{
  position:relative; display:grid; align-items:center; gap:22px;
  grid-template-columns:64px minmax(0,1.05fr) minmax(0,1fr) auto auto;
  padding:clamp(20px,2.4vw,34px) 0; border-bottom:1px solid var(--line);
  transition:padding .5s var(--ease);
}
.svc__row::before{
  content:""; position:absolute; left:calc(-1 * var(--pad)); right:calc(-1 * var(--pad)); top:0; bottom:0; z-index:-1;
  background:linear-gradient(90deg, rgba(166,74,201,.20), transparent 62%);
  opacity:0; transition:opacity .45s var(--ease);
}
.svc__row:hover::before{ opacity:1; }
.svc__row:hover{ padding-left:16px; }
.svc__n{ font-family:var(--mono); font-style:normal; font-size:12px; color:var(--tx3); letter-spacing:.1em; }
.svc__row h3{
  font-family:var(--dsp); font-size:clamp(22px,2.9vw,50px); line-height:.98;
  text-transform:uppercase; letter-spacing:-.03em; transition:color .35s;
}
.svc__row:hover h3{ color:var(--yel); }
.svc__row h3 .thin{ font-weight:300; color:var(--tx3); }
.svc__row p{ font-size:14px; color:var(--tx3); max-width:52ch; line-height:1.5; }
.svc__p{ font-family:var(--dsp); font-size:clamp(20px,2vw,34px); white-space:nowrap; letter-spacing:-.02em; }
.svc__p em{ font-style:normal; font-family:var(--mono); font-size:11px; font-weight:400; color:var(--tx3); display:block; letter-spacing:.06em; }
.svc__go{
  font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--tx3); border:1px solid var(--line); border-radius:var(--pill); padding:11px 18px;
  transition:.35s var(--ease); white-space:nowrap;
}
.svc__row:hover .svc__go{ color:#0b0a0d; background:var(--yel); border-color:var(--yel); }

.svc__cursorimg{
  position:fixed; top:0; left:0; width:300px; height:200px; z-index:60; pointer-events:none;
  opacity:0; overflow:hidden; border-radius:14px; transform:translate(-50%,-50%) scale(.86);
  box-shadow:0 30px 70px rgba(0,0,0,.6);
}
.svc__cursorimg img{ width:100%; height:100%; object-fit:cover; }
@media (hover:none){ .svc__cursorimg{ display:none; } }

.svc__note{
  margin-top:38px; font-family:var(--dsp); font-size:clamp(18px,2vw,30px); text-transform:uppercase;
  letter-spacing:-.02em; color:var(--tx2); max-width:36ch; line-height:1.12;
}

/* ═══════════ ТАРИФЫ ═══════════ */
.price{ background:linear-gradient(180deg, transparent, rgba(166,74,201,.06) 45%, transparent); }
.price__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pcard{
  position:relative; background:var(--surf); border:1px solid var(--line); border-radius:var(--r);
  padding:26px 24px 24px; display:flex; flex-direction:column; gap:16px;
  transition:transform .5s var(--ease), border-color .4s, background .4s;
}
.pcard:hover{ transform:translateY(-8px); border-color:var(--line2); background:var(--surf2); }
.pcard--hot{ background:linear-gradient(165deg, rgba(166,74,201,.34), var(--surf) 62%); border-color:rgba(166,74,201,.5); }
.pcard__top{ display:flex; align-items:center; justify-content:space-between; }
.pcard__lbl{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--tx2); text-transform:uppercase; }
.cams{ display:flex; gap:4px; }
.cams i{ width:15px; height:11px; border-radius:2px; border:1px solid var(--line2); position:relative; }
.cams i::after{ content:""; position:absolute; right:-4px; top:2px; border-left:4px solid var(--line2); border-top:3px solid transparent; border-bottom:3px solid transparent; }
.cams i.on{ border-color:var(--yel); background:rgba(254,237,0,.18); }
.cams i.on::after{ border-left-color:var(--yel); }
.pcard h3{ font-family:var(--dsp); font-size:clamp(20px,1.8vw,28px); line-height:1.02; text-transform:uppercase; letter-spacing:-.02em; }
.pcard__val{ margin-top:auto; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.pcard__val b{ font-family:var(--dsp); font-size:clamp(38px,4vw,62px); line-height:1; letter-spacing:-.04em; color:var(--yel); }
.pcard--hot .pcard__val b{ color:#fff; }
.pcard__val em{ font-style:normal; font-family:var(--mono); font-size:11px; color:var(--tx3); letter-spacing:.05em; }
.pcard ul{ display:flex; flex-direction:column; gap:6px; }
.pcard li{ font-size:13px; color:var(--tx3); padding-left:14px; position:relative; }
.pcard li::before{ content:""; position:absolute; left:0; top:9px; width:5px; height:5px; border-radius:50%; background:var(--pur); }
.pcard .btn{ margin-top:6px; width:100%; }
.pcard__flag{
  position:absolute; top:-11px; left:24px; background:var(--yel); color:#0b0a0d;
  font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  padding:5px 12px; border-radius:var(--pill);
}

.price__extra{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; margin-top:14px; }
.pex{ background:var(--surf); border:1px solid var(--line); border-radius:var(--r); padding:28px; }
.pex__lbl{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--pur-lt); }
.pex b{ display:block; margin:12px 0 14px; font-family:var(--dsp); font-size:clamp(34px,3.4vw,52px); line-height:1; letter-spacing:-.04em; }
.pex b em{ font-style:normal; font-family:var(--mono); font-size:12px; font-weight:400; color:var(--tx3); letter-spacing:.04em; }
.pex p{ font-size:14px; color:var(--tx3); max-width:52ch; }
.pex__list{ background:var(--surf); border:1px solid var(--line); border-radius:var(--r); padding:10px 28px; }
.pex__list li{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:13px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
.pex__list li:last-child{ border-bottom:0; }
.pex__list span{ color:var(--tx2); }
.pex__list b{ font-family:var(--mono); font-size:13.5px; color:var(--tx); white-space:nowrap; }

/* ═══════════ ЧТО ВХОДИТ ═══════════ */
.incl__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.incl__grid li{
  background:var(--bg); padding:34px 26px 30px; min-height:170px; display:flex; flex-direction:column; gap:16px;
  transition:background .4s var(--ease);
}
.incl__grid li:hover{ background:var(--surf2); }
.incl__grid i{ font-family:var(--mono); font-style:normal; font-size:11px; color:var(--pur); letter-spacing:.1em; }
.incl__grid h4{ font-family:var(--dsp); font-size:clamp(17px,1.5vw,25px); line-height:1.06; text-transform:uppercase; letter-spacing:-.02em; margin-top:auto; }
.incl__perks{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:14px; }
.incl__perks article{ border:1px solid var(--line); border-radius:var(--r); padding:24px; background:linear-gradient(180deg, var(--surf), transparent); }
.incl__perks b{ display:block; font-size:16px; margin-bottom:8px; }
.incl__perks span{ font-size:13.5px; color:var(--tx3); }

/* ═══════════ ЛОКАЦИИ ═══════════ */
.loc{ background:var(--bg2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.loc__pin{ height:100svh; display:flex; align-items:center; overflow:hidden; }
.loc__track{ display:flex; gap:22px; padding:0 var(--pad); align-items:center; will-change:transform; }
.loc__intro{ flex:0 0 min(520px,80vw); }
.loc__t{ font-family:var(--dsp); font-size:clamp(42px,6vw,104px); line-height:.9; text-transform:uppercase; letter-spacing:-.04em; margin:6px 0 20px; }
.loc__intro p{ color:var(--tx2); max-width:38ch; margin-bottom:24px; font-size:15.5px; }
.loc__card{ flex:0 0 min(460px,78vw); margin:0; position:relative; border-radius:var(--r); overflow:hidden; }
.loc__card img{ width:100%; height:min(62vh,560px); object-fit:cover; transition:transform 1s var(--ease); }
.loc__card:hover img{ transform:scale(1.05); }
.loc__card figcaption{
  position:absolute; inset:auto 0 0 0; padding:26px 24px 22px;
  background:linear-gradient(to top, rgba(8,7,10,.94), rgba(8,7,10,.55) 55%, transparent);
}
.loc__card i{ font-family:var(--mono); font-style:normal; font-size:11px; color:var(--yel); letter-spacing:.14em; }
.loc__card b{ display:block; font-family:var(--dsp); font-size:29px; text-transform:uppercase; letter-spacing:-.02em; margin:6px 0 4px; }
.loc__card span{ font-size:13.5px; color:var(--tx2); }
.loc__end{ flex:0 0 min(400px,78vw); padding-right:var(--pad); }
.loc__end b{ font-family:var(--dsp); font-size:clamp(30px,3.4vw,52px); text-transform:uppercase; letter-spacing:-.03em; display:block; margin-bottom:14px; }
.loc__end p{ color:var(--tx2); margin-bottom:22px; font-size:15px; }

/* ═══════════ ОБОРУДОВАНИЕ ═══════════ */
.gear__bento{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.gcard{
  position:relative; border-radius:var(--r); overflow:hidden; min-height:300px;
  display:flex; align-items:flex-end; border:1px solid var(--line); background:var(--surf);
}
.gcard--lg{ grid-column:span 2; grid-row:span 2; min-height:620px; }
.gcard--wide{ grid-column:span 2; }
.gcard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; transition:opacity .6s, transform 1.2s var(--ease); will-change:transform; }
.gcard:hover img{ opacity:.72; transform:scale(1.06); }
.gcard__b{ position:relative; padding:26px 24px 24px; width:100%; background:linear-gradient(to top, rgba(8,7,10,.95), rgba(8,7,10,.6) 60%, transparent); }
.gcard__k{ font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--yel); }
.gcard h3{ font-family:var(--dsp); font-size:clamp(20px,1.9vw,32px); line-height:1.02; text-transform:uppercase; letter-spacing:-.025em; margin:8px 0 12px; }
.gcard ul{ display:flex; flex-direction:column; gap:5px; }
.gcard li{ font-size:13px; color:var(--tx2); padding-left:14px; position:relative; }
.gcard li::before{ content:""; position:absolute; left:0; top:8px; width:5px; height:5px; border-radius:50%; background:var(--pur-lt); }

/* ═══════════ КОМАНДА ═══════════ */
.pavel{ display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:clamp(24px,4vw,64px); align-items:start; margin-bottom:clamp(50px,6vw,90px); }
.pavel__ph{ margin:0; position:relative; border-radius:var(--r); overflow:hidden; }
.pavel__ph img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.pavel__ph figcaption{
  position:absolute; left:20px; bottom:20px; background:var(--yel); color:#0b0a0d;
  font-family:var(--dsp); font-weight:900; text-transform:uppercase; font-size:19px;
  padding:9px 18px; border-radius:var(--pill); letter-spacing:-.01em;
}
.pavel__role{ font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--pur-lt); }
.pavel blockquote{
  margin:18px 0 26px; font-family:var(--dsp); font-size:clamp(26px,3.6vw,58px); line-height:1.02;
  text-transform:uppercase; letter-spacing:-.03em;
}
.pavel__facts li{ padding:14px 0 14px 26px; border-top:1px solid var(--line); position:relative; color:var(--tx2); font-size:15px; }
.pavel__facts li::before{ content:"→"; position:absolute; left:0; color:var(--pur); }
.pavel__note{ margin:24px 0 16px; font-size:15px; color:var(--tx); }
.tvlogos{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.tvlogos img{
  height:54px; width:auto; min-width:104px; max-width:170px; object-fit:contain;
  padding:10px 18px; border-radius:12px; box-sizing:border-box;
  background:#efeaf5; filter:grayscale(1) contrast(1.35); opacity:.8; transition:.4s var(--ease);
}
.tvlogos img:hover{ opacity:1; filter:grayscale(0); transform:translateY(-3px); }

.roles{ border-top:1px solid var(--line); }
.role{ border-bottom:1px solid var(--line); }
.role summary{
  display:flex; align-items:center; gap:20px; padding:26px 0; cursor:pointer; list-style:none;
  transition:padding .4s var(--ease);
}
.role summary::-webkit-details-marker{ display:none; }
.role summary:hover{ padding-left:12px; }
.role summary i{ font-family:var(--mono); font-style:normal; font-size:12px; color:var(--tx3); }
.role summary h3{ font-family:var(--dsp); font-size:clamp(19px,2.4vw,40px); line-height:1; text-transform:uppercase; letter-spacing:-.03em; flex:1; }
.role__tag{ font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--tx3); border:1px solid var(--line); border-radius:var(--pill); padding:7px 14px; white-space:nowrap; }
.role[open] .role__tag{ color:var(--yel); border-color:rgba(254,237,0,.4); }
.role summary::after{ content:"+"; font-family:var(--dsp); font-size:30px; color:var(--pur-lt); line-height:1; }
.role[open] summary::after{ content:"–"; }
.role__b{ padding:0 0 30px; max-width:80ch; }
.role__b p{ color:var(--tx2); font-size:15.5px; }

/* ═══════════ ГОСТИ ═══════════ */
.authors{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.author{
  border:1px solid var(--line); border-radius:var(--r); padding:28px 24px;
  display:flex; flex-direction:column; gap:12px; min-height:250px;
  background:linear-gradient(180deg, var(--surf), transparent 70%);
  transition:border-color .4s, transform .5s var(--ease);
}
.author:hover{ border-color:rgba(166,74,201,.5); transform:translateY(-6px); }
.author h3{ font-family:var(--dsp); font-size:26px; text-transform:uppercase; letter-spacing:-.02em; }
.author p{ font-size:13.5px; color:var(--tx3); flex:1; }
.author__go{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--yel); }

.strip{ margin-top:46px; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; }
.strip__row{ display:flex; gap:14px; will-change:transform; }
.strip__row img{ flex:0 0 260px; height:160px; object-fit:cover; border-radius:12px; filter:grayscale(.5); transition:filter .5s; }
.strip__row img:hover{ filter:grayscale(0); }

/* ═══════════ ОТЗЫВЫ ═══════════ */
.rev__score{ color:var(--yel); font-size:1.28em; }
.rev__grid{ columns:3; column-gap:14px; }
.rq{
  break-inside:avoid; margin:0 0 14px; padding:28px 26px; border:1px solid var(--line);
  border-radius:var(--r); background:var(--surf); position:relative;
}
.rq::before{ content:"”"; position:absolute; right:20px; top:2px; font-family:var(--dsp); font-size:80px; color:var(--pur); opacity:.32; line-height:1; }
.rq p{ font-size:15.5px; color:var(--tx); line-height:1.55; }
.rq footer{ margin-top:18px; display:flex; align-items:baseline; gap:12px; font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; }
.rq footer span{ color:var(--tx3); }

/* ═══════════ ФОРМА ═══════════ */
.book{ position:relative; max-width:none; }
.book__bg{
  position:absolute; inset:0; z-index:0;
  background:radial-gradient(80% 100% at 22% 0%, rgba(166,74,201,.30), transparent 62%),
             radial-gradient(60% 90% at 92% 100%, rgba(254,237,0,.10), transparent 60%);
}
.book__inner{ position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,340px); gap:clamp(30px,5vw,70px); align-items:start; }
.book__inner .sec__idx{ grid-column:1/-1; margin-bottom:6px; }
.book__t{ grid-column:1/-1; font-family:var(--dsp); font-size:clamp(36px,6vw,104px); line-height:.92; text-transform:uppercase; letter-spacing:-.04em; margin-bottom:clamp(28px,4vw,54px); }

.mad__line{ font-family:var(--dsp); font-size:clamp(21px,2.6vw,42px); line-height:1.6; letter-spacing:-.02em; text-transform:uppercase; margin-bottom:10px; }
.fld{ position:relative; display:inline-block; }
.fld input,.fld select{
  background:none; border:0; border-bottom:2px solid var(--line2); outline:none;
  font-family:var(--dsp); font-weight:900; font-size:1em; text-transform:uppercase;
  color:var(--yel); padding:0 6px 2px; width:min(320px,52vw); letter-spacing:-.02em;
}
.fld input::placeholder{ color:var(--tx3); font-weight:400; text-transform:none; letter-spacing:0; }
.fld--sm input,.fld--sm select,.fld--xs input{ font-size:.66em; width:min(250px,46vw); }
.fld--xs input{ width:88px; text-align:center; }
.fld input[type="date"]{ color-scheme:dark; font-family:var(--mono); font-weight:500; }
.fld select{ color-scheme:dark; }
.fld--wide input{ width:min(760px,86vw); }
.fld i{ position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--yel); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease); }
.fld input:focus ~ i,.fld select:focus ~ i{ transform:scaleX(1); }
.fld select option{ background:var(--surf); color:var(--tx); }

.chips{ display:flex; flex-wrap:wrap; gap:9px; margin:14px 0 26px; }
.chips label{ cursor:pointer; }
.chips input{ position:absolute; opacity:0; width:0; height:0; }
.chips span{
  display:inline-block; padding:11px 20px; border:1px solid var(--line2); border-radius:var(--pill);
  font-size:14px; color:var(--tx2); transition:.3s var(--ease);
}
.chips input:checked + span{ background:var(--yel); border-color:var(--yel); color:#0b0a0d; font-weight:700; }
.chips input:focus-visible + span{ outline:2px solid var(--pur-lt); outline-offset:3px; }
.chips label:hover span{ border-color:var(--yel); color:var(--tx); }

.mad__act{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:26px; }
.mad__act small{ font-size:11.5px; color:var(--tx3); max-width:34ch; }
.mad__ok{
  display:block; margin-top:22px; padding:20px 24px; border:1px solid rgba(254,237,0,.5);
  border-radius:var(--r); background:rgba(254,237,0,.08); font-size:15px;
}
.mad__ok b{ color:var(--yel); }

.book__side{ display:flex; flex-direction:column; gap:12px; }
.book__contact{
  border:1px solid var(--line); border-radius:var(--r); padding:22px 24px; background:rgba(20,17,28,.6);
  display:flex; flex-direction:column; gap:5px; transition:.4s var(--ease); backdrop-filter:blur(8px);
}
.book__contact:hover{ border-color:var(--yel); transform:translateY(-4px); }
.book__contact span{ font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--tx3); }
.book__contact b{ font-family:var(--dsp); font-size:clamp(19px,1.8vw,27px); letter-spacing:-.02em; }
.book__hint{ font-size:14px; color:var(--tx2); padding:22px 24px; border:1px dashed var(--line2); border-radius:var(--r); }

/* ═══════════ КОНТАКТЫ ═══════════ */
.cont__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; border-top:1px solid var(--line); padding-top:34px; }
.cont__col{ display:flex; flex-direction:column; gap:12px; }
.cont__k{ font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--pur-lt); }
.cont__addr{ font-family:var(--dsp); font-size:clamp(22px,2.2vw,34px); line-height:1.06; text-transform:uppercase; letter-spacing:-.025em; }
.metro--big{ font-size:14px; color:var(--tx2); font-family:var(--sans); letter-spacing:0; }
.metro--big i{ width:20px; height:20px; font-size:12px; }
.cont__col p{ font-size:14.5px; color:var(--tx3); }
.cont__col p.hl{ color:var(--yel); }
.cont__big{ font-family:var(--dsp); font-size:clamp(19px,1.7vw,26px); letter-spacing:-.02em; transition:color .3s; }
.cont__big:hover{ color:var(--yel); }
.cont__col .btn{ margin-top:8px; align-self:flex-start; }

.partners{ margin-top:clamp(50px,6vw,90px); padding-top:34px; border-top:1px solid var(--line); }
.partners__row{ display:flex; gap:34px; flex-wrap:wrap; margin-top:22px; }
.partners__row{ gap:16px; }
.partners figure{ margin:0; display:flex; flex-direction:column; gap:12px; align-items:center; width:172px; }
.partners img{
  height:78px; width:100%; max-width:172px; object-fit:contain; padding:14px 18px; border-radius:14px;
  box-sizing:border-box; background:#efeaf5; filter:grayscale(1); opacity:.7; transition:.4s var(--ease);
}
.partners figure:hover img{ opacity:1; filter:grayscale(0); transform:translateY(-3px); }
.partners figcaption{ font-size:11px; color:var(--tx3); text-align:center; line-height:1.35; }

/* ═══════════ ПОДВАЛ ═══════════ */
.ftr{ border-top:1px solid var(--line); padding:clamp(40px,5vw,70px) var(--pad) 26px; overflow:hidden; }
.ftr__mark{
  font-family:var(--dsp); font-weight:900; font-size:clamp(40px,10.9vw,182px); line-height:.86;
  letter-spacing:-.05em; text-transform:uppercase; white-space:nowrap;
  background:linear-gradient(96deg, var(--pur) 0%, var(--pur-lt) 34%, var(--yel) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  margin-bottom:clamp(30px,4vw,60px);
}
.ftr__mark .ital{ font-style:italic; color:transparent; }
.ftr__row{ display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:26px; }
.ftr__nav{ display:flex; flex-direction:column; gap:9px; }
.ftr__nav a{ font-size:14.5px; color:var(--tx2); transition:color .3s; }
.ftr__nav a:hover{ color:var(--yel); }
.ftr__legal{ display:flex; flex-direction:column; gap:8px; font-size:12.5px; color:var(--tx3); text-align:right; }
.ftr__legal a:hover{ color:var(--tx); }
.ftr__bot{ display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-top:34px; padding-top:22px; border-top:1px solid var(--line); font-size:12.5px; color:var(--tx3); }

/* ═══════════ АНИМАЦИИ ВХОДА ═══════════ */
/* без JS контент виден всегда — прячем только когда движок анимаций жив */
html.js-anim .hero .reveal-line{ opacity:0; }

/* ═══════════ АДАПТИВ ═══════════ */
@media (max-width:1240px){
  .hdr__nav{ display:none; }
  .burger{ display:block; }
  .metro{ display:none; }
  .hero__col{ max-width:min(760px, 72vw); }
  .rec__unit--pills span:nth-child(n+4){ display:none; }
  .hero__scroll{ display:none; }
  .price__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .incl__grid,.incl__perks,.authors,.cont__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gear__bento{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gcard--lg{ grid-column:span 2; grid-row:auto; min-height:420px; }
  .rev__grid{ columns:2; }
  .svc__row{ grid-template-columns:44px minmax(0,1fr) auto; }
  .svc__row p{ grid-column:2/-1; }
  .svc__go{ display:none; }
}
@media (max-width:860px){
  body{ font-size:16px; }
  .hero{ padding:104px var(--pad) 88px; min-height:auto; }
  .hero__vig{ background:
      linear-gradient(to top, var(--bg) 18%, rgba(8,7,10,.92) 42%, rgba(8,7,10,.55) 62%, transparent 88%),
      radial-gradient(120% 60% at 62% 6%, transparent 22%, rgba(8,7,10,.45) 76%, var(--bg) 100%); }
  .hdr__cta{ --bh:40px; padding:0 16px; font-size:13px; }
  .hero__col{ max-width:none; }
  .hero__h1{ font-size:clamp(36px,10.2vw,60px); }
  .hero__kicker{ margin-bottom:18px; }
  .hero__act .btn{ flex:1 1 100%; }
  .hero__fine{ gap:14px; }
  .promo{ width:100%; }
  .promo__txt{ font-size:15px; white-space:normal; }
  .mv{ max-width:none; margin-top:24px; padding:10px; }
  .mv__grid{ gap:6px; }
  .mv__tile figcaption span{ display:none; }
  .mv__foot{ font-size:9px; }
  .rec{ height:58px; gap:12px; }
  .rec__unit--wave,.rec__unit--meter,.rec__unit--pills{ display:none; }
  .rec__snd{ margin-left:auto; }
  .price__grid,.price__extra,.incl__grid,.incl__perks,.authors,.cont__grid,.gear__bento{ grid-template-columns:1fr; }
  .gcard--lg,.gcard--wide{ grid-column:span 1; min-height:320px; }
  .rev__grid{ columns:1; }
  .pavel{ grid-template-columns:1fr; }
  .book__inner{ grid-template-columns:1fr; }
  .incl__grid li{ min-height:auto; padding:20px 22px; flex-direction:row; align-items:baseline; gap:14px; }
  .incl__grid h4{ margin-top:0; font-size:19px; }
  .svc__row{ grid-template-columns:36px 1fr; row-gap:10px; }
  .svc__row h3{ grid-column:2; }
  .svc__row p{ grid-column:2; }
  .svc__p{ grid-column:2; }
  .ftr__legal{ text-align:left; }
  .loc__pin{ height:auto; padding:70px 0; }
  .loc__track{ flex-direction:column; align-items:stretch; gap:16px; transform:none !important; }
  .loc__card,.loc__intro,.loc__end{ flex:auto; }
  .loc__card img{ height:56vh; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
