:root{
  /* — Общая дизайн-система Dancing Сыктывкар. Тема «Музыкальность» (по умолчанию): сливовый неон — */
  --ink:#120b17; --ink-rgb:18,11,23; --ink-deep:#0c0710; --plum:#26132c; --plum-2:#3a1c41;
  --deep:#150d1b; --deep2:#1a1020; --paper:#f6efe7;
  --pink:#ff3479; --pink-rgb:255,52,121; --lime:#d9ff57; --lime-rgb:217,255,87;
  --fg:#fff6f0; --soft:#e6d9e8; --muted:#bfb0c3; --line:rgba(255,246,240,.16);
  --hl:#ff3479; --hl-lime:#b0104f; --hl-paper:#d4125a; --btn-shadow:#d9ff57;
  --g1:#7a2f5a; --g2:#2c1650; --g3:#6a2346; --g4:#2f1530; --g5:#42204d; --t2-shadow:#4a0b25;
  /* — Единый цвет действия для всего проекта: синий в стиле GitHub — */
  --blue:#1f6feb; --blue-hi:#388bfd; --blue-lo:#1158c7; --btn-edge:rgba(240,246,252,.14);
  --display:'Unbounded','Arial Black','Segoe UI',sans-serif;
  --body:'Onest','Segoe UI',system-ui,sans-serif;
  --beat:.4762s;
  --gl:max(16px,env(safe-area-inset-left,0px));
  --gr:max(16px,env(safe-area-inset-right,0px));
  color-scheme:dark;
}
/* Тема «Бачата с нуля»: бордо, коралл и шампань. Меняются только цвета, вся вёрстка общая. */
:root.t-start{
  --ink:#150a0f; --ink-rgb:21,10,15; --ink-deep:#0d0508; --plum:#2b0f1a; --plum-2:#431726;
  --deep:#1b0a10; --deep2:#220e15; --paper:#f9f1e9;
  --pink:#ee6a5b; --pink-rgb:238,106,91; --lime:#e8c58a; --lime-rgb:232,197,138;
  --fg:#fff6f0; --soft:#ead9d9; --muted:#cdb9bb; --line:rgba(255,240,230,.16);
  --hl:#ee6a5b; --hl-lime:#8a1f2b; --hl-paper:#8f1f33; --btn-shadow:#e8c58a;
  --g1:#8a2a3c; --g2:#3a1020; --g3:#7a2236; --g4:#2b0f1a; --g5:#4a1a26; --t2-shadow:#4a1210;
}
:root.t-brand{
  /* Тема бренда Dancing: северный тёмно-синий бархат + тёплые танцевальные акценты (коралл и золото) */
  --ink:#0a1124; --ink-rgb:10,17,36; --ink-deep:#060b18; --plum:#122042; --plum-2:#1a2d5a;
  --deep:#0b1430; --deep2:#0f1a3a; --paper:#f5f0e8;
  --pink:#ff5c5c; --pink-rgb:255,92,92; --lime:#ffc35a; --lime-rgb:255,195,90;
  --fg:#f4f6ff; --soft:#dfe5f6; --muted:#a9b4d2; --line:rgba(244,246,255,.15);
  --hl:#ff5c5c; --hl-lime:#a3261f; --hl-paper:#c22d3a; --btn-shadow:#ffc35a;
  --g1:#1f3f8f; --g2:#3a1d4f; --g3:#2b3f86; --g4:#0e1a3d; --g5:#1b2c63; --t2-shadow:#47121a;
}
html{background:var(--ink)}
[hidden]{display:none!important}
/* Layout concept: один длинный скролл-спектакль в клубном неоне (сливовый фон, розовый и лайм из бренда курса),
   очень широкие заглавные, фото в косых масках, а темп страницы задан бачатой: 126 ударов в минуту. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--fg);font-family:var(--body);font-size:1rem;line-height:1.55;overflow-x:clip}
@supports not (overflow:clip){body{overflow-x:hidden}}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:1320px;margin-inline:auto;padding-left:var(--gl);padding-right:var(--gr)}
.sec{position:relative;color:var(--fg);padding-block:clamp(4rem,9vw,8rem);overflow:clip}
.s-ink{background:var(--ink)}
.s-plum{background:linear-gradient(180deg,var(--ink),var(--plum) 40%,var(--ink))}
.s-lime{background:var(--lime);--fg:var(--deep);--muted:#4d4a2a;--line:rgba(21,13,27,.24);--hl:var(--hl-lime);--btn-shadow:var(--deep)}
.s-pink{background:var(--pink);--fg:var(--deep);--muted:#4a1530;--line:rgba(21,13,27,.28);--hl:#fff6f0;--btn-shadow:var(--deep)}
.s-paper{background:var(--paper);--fg:var(--deep2);--muted:#65546b;--line:rgba(26,16,32,.18);--hl:var(--hl-paper);--btn-shadow:var(--deep2)}
/* Типографика */
.kicker{display:inline-flex;align-items:center;gap:.7rem;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 1.2rem}
.kicker::before{content:"";width:2.2rem;height:2px;background:currentColor;opacity:.7}
.h{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.06em;line-height:1.02;font-size:clamp(1.55rem,5.3vw,3.5rem);margin:0 0 1.2rem;text-wrap:balance}
.h em{font-style:normal;color:var(--hl)}
.lead{font-size:clamp(1.02rem,1.5vw,1.2rem);max-width:38rem;margin:0 0 1.6rem;color:var(--muted)}
.lead b{color:var(--fg)}
.small{font-size:.86rem;color:var(--muted)}
/* Кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;padding:1.05rem 1.7rem;border-radius:999px;border:0;background:var(--pink);color:var(--deep);font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:-.02em;text-transform:uppercase;text-decoration:none;box-shadow:6px 6px 0 var(--btn-shadow);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.btn:hover{box-shadow:9px 9px 0 var(--btn-shadow);transform:translate(-2px,-2px)}
.btn:active{box-shadow:2px 2px 0 var(--btn-shadow);transform:translate(3px,3px)}
.btn svg{width:1.1rem;height:1.1rem;flex:none}
.btn.ghost{background:transparent;color:var(--fg);box-shadow:none;border:1.5px solid currentColor}
.btn.ghost:hover{background:var(--fg);color:var(--ink);transform:none}
.btn.big{padding:1.4rem 2.2rem;font-size:clamp(.85rem,2.4vw,1.1rem)}
.row{display:flex;flex-wrap:wrap;gap:1rem 1.2rem;align-items:center}
/* Шапка */
.bar{position:fixed;inset:0 0 auto 0;z-index:50;padding:env(safe-area-inset-top,0px) var(--gr) 0 var(--gl);transition:background .3s,backdrop-filter .3s}
.bar.solid{background:rgba(var(--ink-rgb),.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.bar-in{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.8rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:800;font-size:.7rem;letter-spacing:.2em;line-height:1.25;color:var(--fg)}
.brand i{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--pink);color:var(--deep);font-family:var(--display);font-style:normal;font-size:.62rem;letter-spacing:-.12em;font-weight:900}
.brand span small{display:block;color:var(--lime);letter-spacing:.2em;font-size:.95em}
.bar .btn{padding:.7rem 1.1rem;font-size:.68rem;box-shadow:4px 4px 0 var(--lime)}
/* Герой */
.hero{padding-top:calc(5.5rem + env(safe-area-inset-top,0px));padding-bottom:3.5rem;background:radial-gradient(60% 50% at 78% 28%,var(--g1) 0,transparent 70%),radial-gradient(50% 40% at 0 100%,var(--g2) 0,transparent 70%),var(--ink)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hero-copy{container-type:inline-size;min-width:0}
.hero .kicker{color:var(--lime)}
.t1,.t2{display:block;font-family:var(--display);text-transform:uppercase;white-space:nowrap;line-height:1;letter-spacing:-.07em}
.t1{font-weight:800;font-size:8.2cqw}
.t2{font-weight:900;font-size:22cqw;color:var(--pink);margin-top:.04em;text-shadow:0 .03em 0 var(--t2-shadow)}
.t1 .ch,.t2 .ch{display:inline-block}
.js .hero .ch{animation:letterIn .9s cubic-bezier(.2,.9,.2,1) both;animation-delay:calc(var(--i)*38ms + .15s)}
@keyframes letterIn{from{transform:translateY(60%) rotate(5deg);opacity:0}to{transform:none;opacity:1}}
.hero .lead{margin-top:1.6rem;color:var(--soft)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:2.2rem 0 0;padding:0;list-style:none}
.facts li{border-top:1.5px solid var(--line);padding-top:.7rem;font-size:.82rem;color:var(--muted)}
.facts b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(.95rem,1.6vw,1.25rem);letter-spacing:-.05em;color:var(--fg);text-transform:uppercase;margin-bottom:.15rem}
.hero-photo{position:relative;aspect-ratio:4/5.5;max-width:520px;width:100%;margin-inline:auto}
.hero-photo::before{content:"";position:absolute;inset:3% -4% -3% 7%;background:var(--pink);clip-path:polygon(15% 0,100% 0,100% 100%,0 100%,0 7%);transform:translate(14px,14px)}
.frame{position:absolute;inset:0;overflow:hidden;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%,0 7%);background:var(--plum)}
.frame img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:scale(1.1);will-change:transform}
.tag{position:absolute;z-index:3;left:-4%;bottom:7%;background:rgba(var(--ink-rgb),.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;padding:.75rem 1rem;font-size:.78rem;line-height:1.3;color:var(--fg)}
.tag b{display:block;font-family:var(--display);font-weight:800;letter-spacing:-.04em;font-size:.95rem;text-transform:uppercase}
.tag small{color:var(--lime);font-weight:600}
.badge{position:absolute;z-index:4;top:-5%;left:-6%;width:clamp(96px,16vw,150px);aspect-ratio:1}
.badge svg{width:100%;height:100%;animation:spin 18s linear infinite}
.badge text{font-family:var(--display);font-weight:800;font-size:8px;letter-spacing:.02em;fill:var(--deep);text-transform:uppercase}
.badge .disc{fill:var(--lime)}
.badge b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:clamp(.62rem,1.25vw,.9rem);letter-spacing:-.07em;color:var(--deep);text-align:center;line-height:1}
@keyframes spin{to{transform:rotate(360deg)}}
/* Счёт на восемь */
/* Бегущая строка */
.mq{overflow:hidden;background:var(--lime);color:var(--deep);border-block:2px solid var(--deep);padding-block:.9rem;position:relative;z-index:2}
.mq.tilt{transform:rotate(-1.6deg);margin-block:-.4rem;width:104%;margin-left:-2%}
.mq-track{display:flex;width:max-content;will-change:transform}
.mq-track span{font-family:var(--display);font-weight:800;font-size:clamp(1rem,2.6vw,1.7rem);letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;padding-right:1.4rem;display:flex;align-items:center;gap:1.4rem}
.mq-track span::after{content:"";width:.7em;height:.7em;background:var(--pink);transform:rotate(45deg);flex:none}
/* Проблема */
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.punch{border-left:6px solid var(--pink);padding:.2rem 0 .2rem 1.1rem;font-weight:700;font-size:clamp(1.05rem,2vw,1.4rem);line-height:1.35;margin:0}
.punch span{color:var(--lime)}
.photo-card{position:relative;max-width:480px;margin-inline:auto;width:100%}
.photo-card .frame{position:relative;inset:auto;aspect-ratio:4/5.4;clip-path:none;border-radius:22px;transform-style:preserve-3d}
.photo-card .frame img{object-position:50% 25%}
.photo-card.rot{transform:rotate(3deg)}
.sticker{position:absolute;z-index:3;background:var(--lime);color:var(--deep);border-radius:14px;padding:.7rem 1rem;font-family:var(--display);font-weight:800;font-size:.82rem;letter-spacing:-.04em;text-transform:uppercase;line-height:1.1;transform:rotate(-4deg);box-shadow:5px 5px 0 var(--deep)}
.sticker small{display:block;font-family:var(--body);font-weight:600;letter-spacing:0;text-transform:none;font-size:.74rem;margin-top:.3rem}
/* Метод */
.cycle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2.4rem 0;padding:0;list-style:none;counter-reset:cy}
.cycle li{background:var(--deep);color:#fff6f0;border-radius:20px;padding:1.4rem 1.3rem 1.5rem;position:relative}
.cycle li small{display:block;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin-bottom:.6rem}
.cycle li b{display:block;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.05em;font-size:1.25rem;margin-bottom:.6rem}
.cycle li p{margin:0;font-size:.92rem;color:var(--soft)}
.cycle li:not(:last-child)::after{content:"";position:absolute;right:-1.05rem;top:50%;width:1.1rem;height:2px;background:var(--deep)}
/* Лаборатория */
/* Покажи */
/* Программа */
.prog{margin:2rem 0 0;display:grid;gap:.7rem}
.prog details{background:rgba(255,246,240,.05);border:1.5px solid var(--line);border-radius:20px;transition:background .2s,border-color .2s}
.prog details[open]{background:rgba(255,246,240,.09);border-color:rgba(var(--lime-rgb),.6)}
.prog summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.3rem;font-family:var(--display);font-weight:800;font-size:clamp(.9rem,2.2vw,1.2rem);letter-spacing:-.05em;text-transform:uppercase;line-height:1.15}
.prog summary::-webkit-details-marker{display:none}
.prog summary .pill{font-family:var(--body);font-weight:700;font-size:.66rem;letter-spacing:.1em;background:var(--pink);color:var(--deep);border-radius:999px;padding:.25rem .65rem;margin-left:.6rem;vertical-align:middle;white-space:nowrap}
.plus{flex:none;width:2rem;height:2rem;border-radius:50%;border:1.5px solid currentColor;position:relative;transition:transform .3s,background .3s}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:.8rem;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s}
details[open] .plus{background:var(--lime);color:var(--deep);border-color:var(--lime);transform:rotate(180deg)}
details[open] .plus::after{transform:translate(-50%,-50%) rotate(0)}
.pbody{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem 2rem;padding:0 1.3rem 1.4rem}
.pbody ul{margin:0;padding-left:1.1rem;color:var(--soft)}
.pbody li{margin-bottom:.4rem}
.pbody li::marker{color:var(--pink)}
.practice{background:var(--lime);color:var(--deep);border-radius:16px;padding:1rem 1.1rem;font-size:.92rem;align-self:start}
.practice b{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.35rem}
/* Стили */
/* Мамбо */
/* Финал */
.final{background:radial-gradient(70% 60% at 50% 100%,var(--g3) 0,transparent 70%),linear-gradient(160deg,var(--deep),var(--g4) 70%,var(--ink))}
.days{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin:1.6rem 0 .4rem}
.days b{font-family:var(--display);font-weight:900;font-size:clamp(4.5rem,16vw,11rem);letter-spacing:-.08em;line-height:.9;color:var(--lime)}
.days span{font-family:var(--display);font-weight:700;letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(.95rem,2.2vw,1.4rem);max-width:12rem;line-height:1.15}
.twofold{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.fold{background:rgba(255,246,240,.06);border:1.5px solid var(--line);border-radius:24px;padding:1.5rem 1.5rem 1.7rem}
.fold:first-child{border-top:6px solid var(--pink)}
.fold:last-child{border-top:6px solid var(--lime)}
.fold h3{font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.05em;text-transform:uppercase;margin:0 0 .8rem}
.fold p{margin:0 0 .7rem;color:var(--soft)}
.fold ul{margin:0;padding-left:1.1rem;color:var(--soft)}
.fold li{margin-bottom:.35rem}
.fold li::marker{color:var(--lime)}
.fold .goal{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line);font-weight:700;color:var(--fg)}
.disclaim{margin-top:1.4rem}
/* Группа */
.group-wide{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:3/2;background:var(--plum)}
.group-wide img{width:100%;height:100%;object-fit:cover;transform:scale(1.1)}
.group-cap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0 0}
/* Команда */
.team{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.people{display:grid;gap:1rem;margin:1.4rem 0;padding:0;list-style:none}
.people li{display:grid;gap:.15rem;padding:1.1rem 1.3rem;border-radius:18px;background:rgba(255,246,240,.06);border:1.5px solid var(--line)}
.people small{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.people b{font-family:var(--display);font-weight:800;font-size:clamp(1.1rem,2.6vw,1.6rem);letter-spacing:-.05em;text-transform:uppercase}
/* Цены */
.prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}
.price{position:relative;background:var(--deep2);color:#fff6f0;border-radius:26px;padding:1.6rem 1.6rem 1.8rem;display:flex;flex-direction:column;gap:.5rem}
.price.best{background:var(--pink);color:var(--deep);box-shadow:8px 8px 0 var(--deep2)}
.price small{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.price strong{font-family:var(--display);font-weight:900;font-size:clamp(2.4rem,7vw,4.2rem);letter-spacing:-.09em;line-height:1;white-space:nowrap}
.price em{font-style:normal;font-weight:700}
.price p{margin:.2rem 0 0;font-size:.92rem;opacity:.9}
.price .flag{position:absolute;top:1rem;right:1rem;background:var(--deep);color:var(--lime);border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .7rem}
.rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 2rem;margin:0;padding:0;list-style:none}
.rules li{padding-left:1.6rem;position:relative}
.rules li::before{content:"";position:absolute;left:0;top:.5em;width:.7rem;height:.7rem;background:var(--hl);transform:rotate(45deg)}
/* FAQ */
.faq{margin-top:2rem;display:grid;gap:.6rem}
.faq details{border-bottom:1.5px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-weight:700;font-size:clamp(1rem,2vw,1.2rem)}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin:0 0 1.2rem;max-width:44rem;color:var(--muted)}
.s-paper details[open] .plus{background:var(--deep2);color:var(--lime);border-color:var(--deep2)}
/* Финальный призыв */
.cta{text-align:left;background:radial-gradient(60% 70% at 85% 30%,var(--g1) 0,transparent 70%),var(--ink)}
.cta-grid{container-type:inline-size}
.cta .big-t{display:block;font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.08em;line-height:.95;font-size:19cqw;margin:0 0 1.4rem;white-space:nowrap}
.cta .big-t span{color:var(--pink);display:block}
.copyrow{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1.6rem}
.phrase{font-family:var(--display);font-weight:800;letter-spacing:-.04em;text-transform:uppercase;font-size:.9rem;border:2px dashed var(--lime);color:var(--lime);border-radius:12px;padding:.7rem 1rem;user-select:all}
.copybtn{border:1.5px solid var(--line);background:transparent;border-radius:999px;padding:.7rem 1.1rem;font-weight:700;font-size:.85rem;transition:background .2s,color .2s}
.copybtn:hover{background:var(--fg);color:var(--ink)}
footer{background:var(--ink-deep);padding:2.2rem 0 calc(2.2rem + 5rem);color:var(--muted);font-size:.82rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem}
footer p{margin:0;max-width:40rem}
/* Липкая кнопка на телефоне */
.dock{display:none;position:fixed;z-index:60;left:0;right:0;bottom:0;padding:.7rem var(--gr) calc(.7rem + env(safe-area-inset-bottom,0px)) var(--gl);background:linear-gradient(0deg,rgba(var(--ink-rgb),.96) 60%,rgba(var(--ink-rgb),0));transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.dock.show{transform:none}
.dock .btn{width:100%;box-shadow:4px 4px 0 var(--lime)}
/* Свечение за курсором */
.glow{position:fixed;left:0;top:0;width:34rem;height:34rem;margin:-17rem 0 0 -17rem;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--pink-rgb),.22),transparent);pointer-events:none;z-index:1;mix-blend-mode:screen;opacity:0;transition:opacity .4s}
.glow.on{opacity:1}
/* Появление при прокрутке: стартует почти видимым */
.js .rv{opacity:.5;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
/* Адаптив */
@media (max-width:900px){
  .hero-grid,.split,.team,.mambo .wrap{grid-template-columns:minmax(0,1fr)}
  .hero-photo{max-width:420px;margin-top:1.4rem}
  .cycle{grid-template-columns:minmax(0,1fr)}
  .cycle li:not(:last-child)::after{display:none}
  .pbody{grid-template-columns:minmax(0,1fr)}
  .twofold,.prices,.rules{grid-template-columns:minmax(0,1fr)}
  .dock{display:block}
}
@media (max-width:560px){
  .facts{grid-template-columns:minmax(0,1fr);gap:.6rem}
  .facts li{display:grid;grid-template-columns:7.5rem minmax(0,1fr);align-items:baseline;gap:.6rem}
  .facts b{margin:0}
  .tag{left:0}
  .brand span{display:none}
  .mq.tilt{width:108%;margin-left:-4%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .rv{opacity:1;transform:none}
  .badge svg,.playhead{animation:none}
}
.photo-card .frame,.hero .frame{transition:transform .25s ease-out}
main{overflow-x:clip}
html{overflow-x:clip}
/* ===== Прокачка: кнопки в стиле GitHub (тёмно-синие), прогресс, зерно, подсветка карточек ===== */

/* ===== Общие компоненты проекта ===== */
.btn{border-radius:10px;background:var(--blue);color:#fff;border:1px solid var(--btn-edge);padding:1rem 1.6rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 28px -12px rgba(31,111,235,.9);
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,background-color .2s}
.btn:hover{background:var(--blue-hi);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 18px 34px -12px rgba(56,139,253,.95)}
.btn:active{background:var(--blue-lo);transform:translateY(1px);box-shadow:inset 0 2px 6px rgba(0,0,0,.35)}
.btn.ghost{background:rgba(240,246,252,.04);color:var(--fg);border:1px solid rgba(240,246,252,.28);box-shadow:none}
.btn.ghost:hover{background:rgba(240,246,252,.1);color:var(--fg);border-color:rgba(240,246,252,.5);transform:translateY(-2px);box-shadow:none}
.bar .btn,.dock .btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 20px -10px rgba(31,111,235,.9)}
.btn:focus-visible{outline:2px solid var(--blue-hi);outline-offset:3px;border-radius:10px}
#heroCta,#finalCta{animation:ctaGlow calc(var(--beat)*4) ease-in-out infinite}
@keyframes ctaGlow{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 28px -12px rgba(31,111,235,.9),0 0 0 0 rgba(56,139,253,.5)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 28px -12px rgba(31,111,235,.9),0 0 0 10px rgba(56,139,253,0)}}
#heroCta:hover,#finalCta:hover{animation:none}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:70;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--pink),var(--blue-hi) 55%,var(--lime));pointer-events:none}
body::after{content:"";position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.spot{position:relative}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(88,160,255,.16),transparent 65%)}
.spot:hover::after{opacity:1}
.fold,.people li,.prog details,.layer{overflow:hidden}
p,li{text-wrap:pretty}
.prog summary,.faq summary{transition:color .2s}
.prog summary:hover,.faq summary:hover{color:var(--lime)}
.price{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.price:hover{transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){
  #heroCta,#finalCta{animation:none}
  .btn:hover{transform:none}
  .price:hover{transform:none}
}
/* Навигация в шапке */
.nav{display:flex;gap:.15rem;margin-left:auto;margin-right:.6rem}
.nav a{font-size:.76rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;text-decoration:none;color:var(--muted);padding:.5rem .65rem;border-radius:8px;transition:color .2s,background .2s}
.nav a:hover{color:var(--fg);background:rgba(240,246,252,.08)}
.nav a[aria-current]{color:var(--fg);background:rgba(240,246,252,.1)}
.brand span small{text-transform:none;letter-spacing:.04em;font-size:.78rem;font-weight:600}

/* Видео VK: постер-кнопка, плеер подгружается по клику */
.vids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2.4rem);margin-top:2rem;justify-items:center}
.vidcard{width:100%;max-width:413px;min-width:0}
.vid{position:relative;aspect-ratio:var(--ar,413/803);max-width:100%;background:#000;border-radius:22px;overflow:hidden;border:1.5px solid var(--line)}
.vid-play{position:absolute;inset:0;width:100%;border:0;padding:1.4rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.5rem;text-align:left;color:var(--fg);
  background:radial-gradient(90% 60% at 80% 12%,rgba(var(--pink-rgb),.55),transparent 70%),radial-gradient(80% 50% at 0 100%,rgba(var(--lime-rgb),.22),transparent 70%),linear-gradient(170deg,var(--plum-2),var(--deep))}
.vid-play small{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.vid-play strong{font-family:var(--display);font-weight:900;font-size:clamp(1.6rem,4.6vw,2.3rem);letter-spacing:-.07em;text-transform:uppercase;line-height:1}
.vid-play .tri{position:absolute;left:50%;top:42%;width:4.8rem;height:4.8rem;margin:-2.4rem 0 0 -2.4rem;border-radius:50%;background:var(--blue);display:grid;place-items:center;border:1px solid var(--btn-edge);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 14px 34px -10px rgba(31,111,235,.95);transition:transform .2s,background .2s}
.vid-play:hover .tri{background:var(--blue-hi);transform:scale(1.06)}
.vid-play .tri svg{width:1.7rem;height:1.7rem;margin-left:.2rem}
.vid-play .eq{position:absolute;left:1.4rem;right:1.4rem;top:1.4rem;display:flex;gap:4px;align-items:flex-end;height:2.2rem;opacity:.9}
.vid-play .eq i{flex:1;background:var(--lime);border-radius:2px;transform-origin:bottom;animation:eq calc(var(--beat)*2) ease-in-out infinite alternate;animation-delay:calc(var(--k)*-80ms)}
@keyframes eq{from{transform:scaleY(.2)}to{transform:scaleY(1)}}
.vidcard figcaption{margin-top:.8rem;font-size:.9rem;color:var(--muted)}
.vidcard figcaption a{color:var(--fg)}
.vidcard figcaption b{color:var(--fg);display:block;font-family:var(--display);font-weight:800;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:.15rem}

/* Путь серии: три курса как навигация */
.path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;margin:2rem 0 0;padding:0}
.path a{display:flex;flex-direction:column;gap:.35rem;height:100%;text-decoration:none;padding:1.2rem 1.3rem 1.4rem;border-radius:20px;background:rgba(255,246,240,.05);border:1.5px solid var(--line);transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s;position:relative;overflow:hidden}
a.path-link:hover,.path a:hover{transform:translateY(-3px);border-color:var(--blue-hi);background:rgba(56,139,253,.08)}
.path .n{font-family:var(--display);font-weight:900;font-size:2.4rem;letter-spacing:-.09em;line-height:1;color:var(--lime)}
.path b{font-family:var(--display);font-weight:800;font-size:1.05rem;letter-spacing:-.05em;text-transform:uppercase;line-height:1.1}
.path span.t{font-size:.86rem;color:var(--muted)}
.path .go{margin-top:auto;padding-top:.6rem;font-size:.78rem;font-weight:700;color:var(--blue-hi);letter-spacing:.04em}
.path li.here a{border-color:var(--lime);background:rgba(var(--lime-rgb),.08)}
.path li.here .go{color:var(--lime)}

footer .foot-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:.6rem}
footer .foot-nav a{color:var(--fg);text-underline-offset:3px}
footer .city{display:inline-flex;align-items:center;gap:.4rem;color:var(--fg);font-weight:600}
footer .city svg{width:1rem;height:1rem}

@media (max-width:1180px){
  .nav{display:none}
}
@media (max-width:900px){
  .vids{grid-template-columns:minmax(0,1fr)}
  .path{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.vid-play .eq i{animation:none;transform:scaleY(.6)}}

/* Шапка: меню на телефоне, постер видео с фото */
.bar-in{position:relative}
.menu-btn{display:none;width:2.6rem;height:2.6rem;border-radius:10px;border:1px solid var(--btn-edge);background:rgba(240,246,252,.06);color:var(--fg);cursor:pointer;place-items:center;padding:0}
.menu-btn svg{width:1.3rem;height:1.3rem}
.menu-btn:hover{background:rgba(240,246,252,.12)}
.nav a svg{width:.8em;height:.8em;margin-left:.25em;vertical-align:-.05em;opacity:.7}
.bar-act{display:flex;align-items:center;gap:.6rem}
.vid-play .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.vid-play::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--ink-rgb),.55),transparent 35%,rgba(var(--ink-rgb),.9));pointer-events:none}
.vid-play small,.vid-play strong,.vid-play .tri,.vid-play .eq{z-index:2}
.vid-play small,.vid-play strong{position:relative}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,.85fr));gap:1.6rem 3rem;width:100%}
.foot-grid h4{margin:0 0 .6rem;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.foot-grid a{color:var(--fg);text-underline-offset:3px}
.foot-bottom{width:100%;border-top:1px solid var(--line);padding-top:1rem;font-size:.78rem}
@media (max-width:1180px){
  .menu-btn{display:inline-grid}
  .nav{position:absolute;top:calc(100% + .2rem);right:0;left:auto;width:min(22rem,100%);margin:0;flex-direction:column;gap:.1rem;padding:.5rem;background:rgba(var(--ink-rgb),.97);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 50px -20px #000}
  .nav.open{display:flex}
  .nav a{padding:.9rem 1rem;font-size:.95rem;color:var(--fg)}
}
@media (max-width:900px){
  .foot-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:420px){
  .bar .btn{padding:.65rem .8rem;font-size:.64rem;gap:.4rem}
  .bar .btn svg{display:none}
  .brand{gap:.5rem;font-size:.62rem}
}
.vids.one{grid-template-columns:minmax(0,413px);justify-content:center}
.split .vidcard{justify-self:center}
.pimg,.vidcard,.group-wide,.photo-card{margin-block:0}
.pimg,.vidcard{margin-inline:0}
.vid-play .poster{transform:scale(1.35);transform-origin:50% 100%}
.price strong.sm{font-size:clamp(1.55rem,6.4vw,2.9rem);letter-spacing:-.07em}
.path.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.vidcard figcaption{font-size:.88rem}
@media (max-width:900px){.path.two{grid-template-columns:minmax(0,1fr)}}

/* ===== Видео: карточка-обложка и «кинотеатр» ===== */
.vid-play{cursor:pointer}
.vid-play .chip{position:absolute;z-index:2;top:3.9rem;left:1.4rem;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px;background:rgba(var(--ink-rgb),.7);border:1px solid var(--line);color:var(--fg)}
.vid-play:focus-visible{outline:2px solid var(--blue-hi);outline-offset:-4px}
.vm{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;background:rgba(6,3,8,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));opacity:0;transition:opacity .25s}
.vm.open{display:flex;animation:vmIn .3s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes vmIn{from{opacity:0}to{opacity:1}}
.vm-stage{display:grid;gap:.8rem;justify-items:center;width:min(1100px,100%)}
.vm-frame{position:relative;width:min(100%,1100px);aspect-ratio:var(--ar,16/9);max-height:calc(100vh - 9rem);background:#000;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 90px -30px rgba(var(--pink-rgb),.55);animation:vmPop .4s cubic-bezier(.2,.8,.2,1)}
.vm.is-clip .vm-frame{width:auto;height:min(calc(100vh - 9rem),803px);max-width:100%}
@keyframes vmPop{from{transform:translateY(16px) scale(.97)}to{transform:none}}
.vm-frame iframe,.vm-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}
.vm-frame::before{content:"";position:absolute;left:50%;top:50%;width:2.6rem;height:2.6rem;margin:-1.3rem 0 0 -1.3rem;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--lime);animation:spin 1s linear infinite}
.vm-fail{position:absolute;inset:0;z-index:2;display:grid;place-content:center;gap:1rem;justify-items:center;text-align:center;padding:1.5rem;background:var(--deep)}
.vm-fail p{margin:0;max-width:26rem;color:var(--fg)}
.vm-fail .small{color:var(--muted)}
.vm-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.2rem;width:100%;max-width:1100px}
.vm.is-clip .vm-bar{max-width:520px}
.vm-info{display:grid;gap:.15rem;min-width:0}
.vm-info b{font-family:var(--display);font-weight:800;letter-spacing:-.04em;text-transform:uppercase;font-size:1rem;color:var(--fg)}
.vm-status{font-size:.82rem;color:var(--muted);min-height:1.2em}
.vm-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.vm-actions a,.vm-actions button{font:600 .82rem var(--body);color:var(--fg);text-decoration:none;padding:.55rem .9rem;border-radius:10px;border:1px solid rgba(240,246,252,.25);background:rgba(240,246,252,.06);cursor:pointer}
.vm-actions a:hover,.vm-actions button:hover{border-color:var(--blue-hi);background:rgba(56,139,253,.12)}

@media (prefers-reduced-motion:reduce){.vm.open,.vm-frame{animation:none}.vm{opacity:1}}

/* ===== Навигационные мелочи ===== */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.8rem;font-weight:600;color:var(--muted)}
.crumbs a{color:var(--fg);text-decoration:none;border-bottom:1px solid rgba(240,246,252,.3)}
.crumbs a:hover{border-color:var(--blue-hi);color:var(--blue-hi)}
.crumbs span[aria-current]{color:var(--muted)}
.nav a[aria-current="true"]{background:rgba(240,246,252,.06)}
.path.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.sharerow{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1.2rem}
.btn.share svg{width:1.25rem;height:1.25rem}
.more-link{display:inline-block;margin-top:.8rem;font-size:.86rem;font-weight:700;color:var(--blue-hi);text-decoration:none}
.more-link:hover{text-decoration:underline}
@media (max-width:900px){.path.three{grid-template-columns:minmax(0,1fr)}}
.vkb{display:inline-grid;place-items:center;min-width:1.7rem;height:1.25rem;padding:0 .25rem;border-radius:5px;background:#0077ff;color:#fff;font:800 .62rem/1 var(--body);letter-spacing:.02em}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.more-link{padding-block:.55rem}
.crumbs a{display:inline-block;padding-block:.5rem}

/* ---------- Навигация: якоря под шапкой, оглавление страницы, «дальше по сайту» ---------- */
html{scroll-padding-top:5.4rem}
html.has-toc{scroll-padding-top:8.4rem}
.skip{position:absolute;left:.8rem;top:-4rem;z-index:100;padding:.7rem 1rem;border-radius:10px;background:#fff;color:#0b1020;font-weight:700;font-size:.9rem;text-decoration:none;transition:top .15s}
.skip:focus{top:.8rem}

.toc{position:sticky;top:var(--bar-h,68px);z-index:45;background:rgba(var(--ink-rgb),.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-block:1px solid var(--line)}
.toc-in{max-width:1320px;margin:auto;display:flex;align-items:center;gap:.3rem;overflow-x:auto;scrollbar-width:none;padding:.5rem var(--gr) .5rem var(--gl);-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.toc-in::-webkit-scrollbar{display:none}
.toc-l{flex:none;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:.6rem}
.toc a{flex:none;scroll-snap-align:center;font-size:.8rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;text-decoration:none;color:var(--muted);padding:.55rem .95rem;min-height:2.5rem;display:inline-flex;align-items:center;border-radius:999px;border:1px solid transparent;transition:color .2s,background .2s,border-color .2s}
.toc a:hover{color:var(--fg);background:rgba(240,246,252,.08)}
.toc a.on{color:var(--fg);background:rgba(240,246,252,.14);border-color:rgba(240,246,252,.24)}
@media (max-width:620px){.toc-l{display:none}}

.pager-sec{padding:0 var(--gr) clamp(2.5rem,5vw,4rem) var(--gl);background:var(--ink)}
.pager{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.pager .pg{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:1.3rem 1.5rem;border-radius:20px;border:1.5px solid var(--line);background:rgba(240,246,252,.04);text-decoration:none;color:var(--fg);transition:border-color .2s,transform .25s,background .2s}
.pager .pg:hover{border-color:var(--blue-hi);background:rgba(240,246,252,.07);transform:translateY(-3px)}
.pager .pg small{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-hi)}
.pager .pg b{font-family:var(--display);font-weight:800;letter-spacing:-.05em;text-transform:uppercase;font-size:clamp(1.15rem,2.4vw,1.6rem);line-height:1.05}
.pager .pg span{font-size:.88rem;color:var(--muted)}
.pager .pg.next{text-align:right;align-items:flex-end;grid-column:2}
.pager .pg.prev{grid-column:1}
@media (max-width:620px){.pager{grid-template-columns:minmax(0,1fr)}.pager .pg.next,.pager .pg.prev{grid-column:auto;text-align:left;align-items:flex-start}.pager .pg.next{order:-1}}
footer a svg{width:.75em;height:.75em;margin-left:.3em;vertical-align:-.04em;opacity:.7}

/* ---------- Раскрывающиеся блоки: длинное прячем, главное на виду ---------- */
.folds{display:grid;gap:.8rem;margin-top:2rem}
details.fold{margin-top:1.2rem;border:1.5px solid var(--line);border-radius:20px;background:rgba(240,246,252,.04)}
.folds details.fold{margin-top:0}
details.fold>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:3.4rem;padding:.9rem 1.2rem;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(.95rem,2.2vw,1.2rem);border-radius:20px}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary:hover{background:rgba(240,246,252,.05)}
.fold-body{padding:.2rem 1.2rem 1.3rem}
.fold-body .orgs{margin-top:1rem}

/* ---------- Устройства: альбомная ориентация телефона, старые Safari ---------- */
@media (max-height:520px) and (orientation:landscape){
  .toc{position:static}
  html.has-toc{scroll-padding-top:5.4rem}
  .hero{padding-top:calc(4.6rem + env(safe-area-inset-top,0px))}
}
@supports not (width:1cqw){
  .t1{font-size:clamp(1.8rem,9vw,4.2rem)!important}
  .t2{font-size:clamp(2.4rem,13vw,6rem)!important}
  .big-t{font-size:clamp(2.2rem,11vw,5rem)!important}
}

/* ---------- Читаемость и пальцы: минимум 12 px у подписей, зоны нажатия не меньше 44 px ---------- */
.kicker,.st,.nn,.when,.chip,.pg small,.card small,.tx small,.vid-play small,footer h4,.cal-grid li,.price small,.lane-label,.toc-l,.pick small,.tag small,.badge small,.sticker small,.course h3 small{font-size:.75rem!important}
.brand small{font-size:.72rem}
.bar .btn{font-size:.75rem}
@media (pointer:coarse){
  .bar .brand{min-height:44px;align-items:center}
  .faq p a,.fold-body p a{display:inline-block;padding-block:.55rem}
  .bar .btn{min-height:44px;display:inline-flex;align-items:center}
  .menu-btn{min-width:44px;min-height:44px}
  .toc a{min-height:44px}
  footer li a,footer .city a{display:inline-block;padding-block:.65rem}
  .more-link,.crumbs a,.vidcard figcaption a,.fold-body a{display:inline-block;padding-block:.7rem}
  .share,.sharerow .btn{min-height:44px}
  .copybtn,.btn.ghost{min-height:44px}
  .nav a{min-height:44px;display:flex;align-items:center}
}
.brand{font-size:.75rem}
@media (pointer:coarse){.bar .brand i{width:2.75rem;height:2.75rem}}

/* Нижний порог размера подписей на всех экранах */
small,dt,.lane span,.flag,.pill,.mirror,.count8 li,.y small,.vkb{font-size:max(.75rem,1em*0) !important}
.badge b{font-size:max(.75rem,clamp(.62rem,1.25vw,.9rem)) !important}
.mirror span{font-size:.75rem !important}
.badge{width:clamp(116px,16vw,150px)}
.badge b{letter-spacing:-.05em;padding:0 .35rem}
@media (max-width:700px){.badge{left:.5rem}}

/* ---------- Окна и панели: управление внизу, под большим пальцем ---------- */
html.ov,html.menu-open{overflow:hidden}
html.ov .dock,html.menu-open .dock{transform:translateY(130%) !important}

/* Просмотр фото */
.lb{position:fixed;inset:0;z-index:100;display:none;grid-template-rows:minmax(0,1fr) auto;background:rgba(8,4,10,.985);overscroll-behavior:contain;padding:max(.8rem,env(safe-area-inset-top,0px)) max(.8rem,env(safe-area-inset-right,0px)) 0 max(.8rem,env(safe-area-inset-left,0px))}
.lb.open{display:grid}
.lb figure{margin:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;gap:.6rem}
.lb img{max-width:100%;max-height:100%;min-height:0;border-radius:12px;object-fit:contain}
.lb figcaption{color:var(--muted);font-size:.85rem;text-align:center;max-width:42rem;min-height:1.2em}
.lb-bar{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.7rem 0 calc(.8rem + env(safe-area-inset-bottom,0px))}
.lb-bar button{min-width:3rem;height:3rem;border-radius:12px;border:1px solid var(--btn-edge);background:rgba(240,246,252,.08);color:#fff;cursor:pointer;font:600 .9rem var(--body);padding:0 1rem;display:grid;place-items:center}
.lb-bar .pv,.lb-bar .nx{font-size:1.6rem;padding:0}
.lb-bar button:hover{background:rgba(240,246,252,.18)}
.lb-bar .x{margin-left:auto}
.lb-bar .pv{margin-left:0}
.lb-n{min-width:4.2rem;text-align:center;color:var(--muted);font-size:.85rem}
.lb-bar:has(.pv[hidden]){justify-content:flex-end}

/* Видео: кнопка «Закрыть» рядом с названием, а не поверх кадра */
.vm-x{font:600 .82rem var(--body);color:#fff;padding:.55rem 1.1rem;border-radius:10px;border:1px solid var(--btn-edge);background:rgba(240,246,252,.14);cursor:pointer;min-height:2.75rem}
.vm-x:hover{background:rgba(240,246,252,.24)}
.vm-actions a,.vm-actions button{min-height:2.75rem;display:inline-flex;align-items:center}
.vm-frame{max-height:calc(100vh - 10rem);max-height:calc(100dvh - 10rem)}
.vm.is-clip .vm-frame{height:min(calc(100vh - 10rem),803px);height:min(calc(100dvh - 10rem),803px)}
.vm-bar{padding-bottom:.2rem}

/* Меню-панель снизу на телефоне */
.sheet,.scrim{display:none}
@media (max-width:700px){
  .nav,.nav.open{display:none !important}
  .scrim{display:block;position:fixed;inset:0;z-index:125;background:rgba(3,6,12,.62);opacity:0;pointer-events:none;transition:opacity .25s}
  .scrim.on{opacity:1;pointer-events:auto}
  .sheet{display:block;position:fixed;left:0;right:0;bottom:0;z-index:130;visibility:hidden;transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s;max-height:88vh;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;background:rgb(var(--ink-rgb));border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -24px 60px -20px #000;padding:.3rem var(--gr) calc(1rem + env(safe-area-inset-bottom,0px)) var(--gl)}
  .sheet.on{visibility:visible;transform:none;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .sheet-h{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0 .2rem}
  .sheet-h b{font-family:var(--display);font-weight:800;letter-spacing:-.04em;text-transform:uppercase;font-size:.95rem;color:var(--muted)}
  .sheet-x{width:2.75rem;height:2.75rem;border-radius:12px;border:1px solid var(--btn-edge);background:rgba(240,246,252,.08);color:#fff;font-size:1.6rem;cursor:pointer;display:grid;place-items:center;padding:0}
  .sheet-nav{display:grid;gap:.15rem;margin-bottom:.9rem}
  .sheet-nav a{display:flex;align-items:center;min-height:3.2rem;padding:.4rem .9rem;border-radius:12px;color:var(--fg);text-decoration:none;font-weight:700;font-size:1.02rem}
  .sheet-nav a:active,.sheet-nav a[aria-current]{background:rgba(240,246,252,.1)}
  .sheet-nav a svg{width:.8em;height:.8em;margin-left:.35em;opacity:.7}
  .sheet-cta{width:100%}
}
@media (prefers-reduced-motion:reduce){.sheet,.sheet.on,.scrim{transition:none}}
