*,*::before,*::after{box-sizing:border-box}
:root{--bg:#05040a;--ink:#fff;--dim:rgba(255,255,255,.58);--accent:#b79cff;--pink:#ff5fd0;--cyan:#5ef0ff;--red:#ff4d5e;--green:#4dffa6;
  --mono:"JetBrains Mono",ui-monospace,monospace;--pix:"Press Start 2P",monospace;--sans:"Manrope",system-ui,sans-serif;--pad:clamp(16px,2.6vw,40px);
  --glass:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.025));--line:rgba(255,255,255,.14)}
html{background:var(--bg)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:0;height:0}
::selection{background:var(--accent);color:#000}
a{color:inherit}
button{font:inherit;color:inherit}

/* ---------- фоновые слои ---------- */
#scene{position:fixed;inset:0;width:100vw;height:100vh;height:100lvh;display:block;z-index:0;opacity:0;transition:opacity 1.4s ease}
.ready #scene{opacity:var(--sceneO,1)}
.live #scene{transition:none}
.poster{position:fixed;inset:0;background:#05040a url(poster.jpg) center/cover;display:none;z-index:0}
.no-webgl .poster{display:block}.no-webgl #scene{display:none}
#waves{position:fixed;inset:0;width:100vw;height:100vh;height:100lvh;z-index:1;pointer-events:none}
.grain{position:fixed;inset:-10%;z-index:2;pointer-events:none;opacity:.05;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");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

.stage{height:1250vh;position:relative;z-index:3;pointer-events:none}
@media(max-width:820px){.stage{height:1180vh}}

/* ---------- шапка ---------- */
.brand{position:fixed;top:var(--pad);left:var(--pad);z-index:30;display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand svg{width:34px;height:34px}
.brand b{font-family:var(--pix);font-size:11px;letter-spacing:.06em;line-height:1.6;font-weight:400}
.nav{position:fixed;top:var(--pad);right:var(--pad);z-index:30;display:flex;align-items:center;gap:14px;padding:8px 8px 8px 18px;border-radius:999px;
  background:rgba(10,8,20,.42);border:1px solid var(--line);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:0 0 30px rgba(183,156,255,.12),inset 0 1px 0 rgba(255,255,255,.12)}
.nav a{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-decoration:none;font-weight:500;transition:color .25s}
.nav i{display:block;width:28px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.15),#fff,rgba(255,255,255,.15))}
.nav a:hover{color:var(--accent)}
.nav .nav-cta{padding:9px 16px;border-radius:999px;background:linear-gradient(120deg,#ff5fd0,#b79cff 55%,#5ef0ff);color:#0b0614;font-weight:700}
.nav .nav-cta:hover{color:#0b0614;box-shadow:0 0 24px rgba(183,156,255,.55)}
@media(max-width:600px){.nav{gap:9px;padding:6px 6px 6px 12px}.nav i{width:10px}.nav a{font-size:9.5px;letter-spacing:.08em}.nav a[data-go=feel],.nav a[data-go=feel]+i{display:none}.nav .nav-cta{padding:8px 11px}.brand b{font-size:8.5px}.brand svg{width:28px;height:28px}}

/* ---------- оверлеи 3D ---------- */
.ov{position:fixed;z-index:15;pointer-events:none;opacity:0;visibility:hidden;will-change:opacity,transform}
.ov a,.ov button{pointer-events:auto}
#hero{left:var(--pad);top:50%;transform:translateY(-50%);max-width:min(620px,92vw);opacity:1;visibility:visible}
#hero h1{margin:18px 0 0;font-family:var(--pix);font-weight:400;font-size:clamp(26px,4.2vw,62px);line-height:1.25;letter-spacing:.02em;text-transform:uppercase;
  text-shadow:-3px 0 rgba(255,60,120,.6),3px 0 rgba(60,230,255,.6),0 0 40px rgba(183,156,255,.35)}
#hero h1 span{display:block}
.state-k{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(10,8,20,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:#fff}
.state-k .dot{width:8px;height:8px;border-radius:50%;background:var(--stateC,var(--red));box-shadow:0 0 12px var(--stateC,var(--red));animation:pulse 1.1s infinite}
@keyframes pulse{50%{transform:scale(.6);opacity:.6}}
.hero-swap{position:relative;margin-top:22px;max-width:470px;min-height:4.2em}
.hero-swap p{position:absolute;inset:0 auto auto 0;margin:0;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;line-height:1.85;text-transform:uppercase;color:var(--dim);transition:none}
.hero-swap .after{color:#d9ffe9;opacity:0}
.meter{margin-top:26px;width:min(300px,80vw);display:grid;gap:7px}
.meter-row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--dim)}
.meter-row b{color:#fff;font-weight:700}
.meter-bar{height:3px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden;margin-bottom:6px}
.meter-bar i{display:block;height:100%;width:92%;background:linear-gradient(90deg,#ff2d55,#ff7a59);box-shadow:0 0 12px #ff4d5e}
.meter-bar.g i{width:8%;background:linear-gradient(90deg,#2affb0,#9dff6b);box-shadow:0 0 12px var(--green)}
.cue{margin-top:30px;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:#fff;text-transform:uppercase}
.cue i{width:1px;height:40px;background:linear-gradient(var(--accent),transparent);animation:cue 2s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.glitch{animation:gl 4s infinite steps(1)}
@keyframes gl{0%,92%,100%{transform:none;clip-path:none}93%{transform:translateX(-4px);clip-path:inset(20% 0 55% 0)}95%{transform:translateX(5px);clip-path:inset(60% 0 10% 0)}97%{transform:translateX(-2px)}}
@media(max-width:820px){#hero::before{content:"";position:absolute;z-index:-1;left:calc(-1*var(--pad));width:100vw;top:-60px;bottom:-140px;background:linear-gradient(180deg,rgba(5,4,10,0),rgba(5,4,10,.72) 30%,rgba(5,4,10,.85));pointer-events:none}#hero{top:auto;bottom:calc(env(safe-area-inset-bottom) + 92px);transform:none}#hero h1{font-size:22px;margin-top:12px}.hero-swap{margin-top:14px;min-height:5.6em}.hero-swap p{font-size:10px}.meter{margin-top:12px;width:220px}.cue{margin-top:16px;font-size:9px}}

.caption{left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));text-align:center;padding:28px 30px;border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border:1px solid var(--line);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 30px 80px rgba(0,0,0,.35)}
.caption .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--green)}
.caption p{margin:14px 0 0;font-family:var(--pix);font-size:clamp(12px,1.35vw,16px);line-height:1.9;text-transform:uppercase}
.caption .arrow{display:block;margin-top:14px;font-style:normal;font-size:22px;animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(6px)}}
#descent{top:auto;bottom:14vh;transform:translate(-50%,0)}
#finale{top:auto;bottom:10vh;transform:translate(-50%,0)}

#panel{left:var(--pad);bottom:calc(var(--pad) + 8px);width:300px}
#panel h4{margin:0 0 14px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;font-weight:700}
#panel ul{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:9px}
#panel li a{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-decoration:none;display:flex;gap:10px;transition:color .25s,transform .25s}
#panel li a::before{content:"→";color:var(--accent)}
#panel li a:hover,#panel li a.on{color:#fff;transform:translateX(4px)}
#panel li a.on::before{color:var(--green)}
.pill{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;border:1px solid rgba(183,156,255,.55);color:#fff;text-decoration:none;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:rgba(183,156,255,.08);transition:background .25s,box-shadow .25s}
.pill:hover{background:rgba(183,156,255,.22);box-shadow:0 0 24px rgba(183,156,255,.35)}
@media(max-width:820px){#panel{display:none}}

.hud{position:fixed;right:var(--pad);bottom:calc(var(--pad) + 8px);z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
#counterBox{text-align:right;opacity:0;transition:opacity .6s}
.in-cards #counterBox{opacity:1}
#counter{font-family:var(--pix);font-size:12px;color:#fff}
#counterTitle{display:block;margin-top:8px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--dim);max-width:220px}
#sound{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(10,8,20,.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
#sound .eq{display:flex;gap:3px;align-items:flex-end;height:16px}
#sound .eq i{display:block;width:3px;height:16px;background:var(--dim);transform-origin:bottom;border-radius:1px;transition:background .3s}
#sound.on{border-color:rgba(183,156,255,.6);box-shadow:0 0 24px rgba(183,156,255,.3)}
#sound.on .eq i{background:linear-gradient(var(--pink),var(--accent))}
@media(max-width:820px){#counterBox{display:none}#sound{padding:9px 13px;font-size:9.5px}}

/* ---------- страница ---------- */
#page{position:relative;z-index:10}
.wrap{width:min(1180px,calc(100vw - 2*var(--pad)));margin:0 auto}
.wrap.narrow{width:min(820px,calc(100vw - 2*var(--pad)))}
.sec{padding:clamp(70px,11vh,140px) 0}
.kick{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--green);text-transform:uppercase}
.px{font-family:var(--pix);font-weight:400;text-transform:uppercase;line-height:1.35;letter-spacing:.02em;margin:16px 0 0;font-size:clamp(20px,3vw,40px);
  text-shadow:-2px 0 rgba(255,60,190,.5),2px 0 rgba(60,230,255,.5)}
.lead{margin:18px 0 0;font-size:clamp(15px,1.25vw,18px);line-height:1.65;color:rgba(255,255,255,.74);max-width:640px}
.sec-head{margin-bottom:clamp(30px,5vh,56px)}
.glass{background:var(--glass);border:1px solid var(--line);border-radius:28px;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 30px 90px rgba(0,0,0,.35)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;border-radius:14px;text-decoration:none;color:#fff;border:0;cursor:pointer;
  font-family:var(--mono);font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;transition:transform .25s,box-shadow .25s,background .25s}
.btn.primary{background:linear-gradient(120deg,#ff5fd0,#b79cff 55%,#5ef0ff);color:#0b0614;box-shadow:0 10px 40px rgba(183,156,255,.35)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 50px rgba(255,95,208,.45)}
.btn.ghost{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05)}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.big{width:100%;padding:19px 24px;font-size:12px}
.btn.small{padding:11px 16px;font-size:10.5px;margin-top:14px}
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* эффект */
.effect{height:620vh;position:relative}
.effect-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;padding:calc(var(--pad) + 74px) var(--pad) calc(var(--pad) + 70px)}
#effectCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.effect-head,.effect-stage,.effect-freq{position:relative;z-index:1}
.effect-head{width:min(1180px,100%);margin:0 auto}
.effect-stage{align-self:center;width:min(1180px,100%);margin:0 auto}
.effect-count{font-family:var(--pix);font-size:12px;display:flex;gap:10px;align-items:baseline}
.effect-count span{color:var(--dim)}
.effect-area{margin-top:18px;font-family:var(--mono);font-size:12px;letter-spacing:.3em;color:var(--accent)}
.effect-words{display:flex;flex-wrap:wrap;align-items:center;gap:.2em .5em;margin-top:14px;font-family:var(--pix);font-size:clamp(22px,4.6vw,66px);line-height:1.25;text-transform:uppercase}
.w-from{color:var(--red);position:relative;text-shadow:0 0 30px rgba(255,77,94,.5)}
.w-from::after{content:"";position:absolute;left:-2%;right:-2%;top:52%;height:.09em;background:var(--red);transform:scaleX(var(--strike,0));transform-origin:left;box-shadow:0 0 12px var(--red)}
.w-arrow{color:var(--dim);font-size:.6em}
.w-to{color:var(--green);text-shadow:0 0 40px rgba(77,255,166,.55)}
.effect-text{margin:22px 0 0;max-width:560px;font-size:clamp(15px,1.3vw,19px);line-height:1.7;color:rgba(255,255,255,.8)}
.effect-dots{display:flex;gap:8px;margin-top:28px}
.effect-dots i{width:26px;height:3px;border-radius:3px;background:rgba(255,255,255,.18);transition:background .4s,width .4s}
.effect-dots i.on{background:var(--green);width:44px;box-shadow:0 0 10px var(--green)}
.effect-freq{justify-self:end;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--dim);display:flex;gap:10px}
@media(max-width:820px){.effect{height:560vh}.effect-sticky{padding-top:96px;padding-bottom:84px}.effect-freq{justify-self:start}}

/* старт */
.start{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,60px);padding:clamp(28px,4.5vw,64px)}
.start-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;align-content:center}
.steps li{display:flex;gap:18px;padding:20px 22px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.035);transition:border-color .3s,background .3s}
.steps li:hover{border-color:rgba(77,255,166,.45);background:rgba(77,255,166,.05)}
.steps b{font-family:var(--pix);font-size:12px;color:var(--green);padding-top:4px}
.steps h3{margin:0;font-size:17px;font-weight:700}
.steps p{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--dim)}
@media(max-width:860px){.start{grid-template-columns:1fr}.start-btns .btn{width:100%}}

/* медитации */
.medis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.medi{position:relative;min-height:440px;border-radius:26px;overflow:hidden;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;
  border:1px solid var(--line);isolation:isolate;transition:transform .6s cubic-bezier(.16,1,.3,1),border-color .4s}
.medi::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center/cover;filter:saturate(1.1);transform:scale(1.04);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.medi::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,4,10,.15),rgba(5,4,10,.55) 45%,rgba(5,4,10,.92))}
.medi:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 60%,transparent)}
.medi:hover::before{transform:scale(1.12)}
.medi-n{position:absolute;top:24px;left:28px;font-family:var(--pix);font-size:12px;color:var(--c)}
.medi-wave{position:absolute;top:24px;right:26px;display:flex;gap:3px;align-items:center;height:28px}
.medi-wave i{width:3px;height:100%;border-radius:2px;background:var(--c);animation:eq 1.1s ease-in-out infinite;transform-origin:center}
.medi-wave i:nth-child(2){animation-delay:-.2s}.medi-wave i:nth-child(3){animation-delay:-.5s}.medi-wave i:nth-child(4){animation-delay:-.1s}.medi-wave i:nth-child(5){animation-delay:-.7s}.medi-wave i:nth-child(6){animation-delay:-.35s}.medi-wave i:nth-child(7){animation-delay:-.9s}
@keyframes eq{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
.medi h3{margin:0;font-family:var(--pix);font-weight:400;font-size:clamp(18px,1.9vw,26px);text-transform:uppercase;color:#fff;text-shadow:0 0 30px color-mix(in srgb,var(--c) 70%,transparent)}
.medi p{margin:14px 0 0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.8)}
.medi-go{margin-top:20px;align-self:flex-start;padding:12px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 70%,transparent);background:color-mix(in srgb,var(--c) 14%,transparent);cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;transition:background .3s}
.medi:hover .medi-go{background:color-mix(in srgb,var(--c) 32%,transparent)}
@media(max-width:900px){.medis{grid-template-columns:1fr}.medi{min-height:340px}}

/* формы */
.form{padding:clamp(26px,4.5vw,56px);display:grid;gap:16px}
.form .lead{margin-bottom:10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.f{display:grid;gap:8px}
.f>span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.f input,.f select,.f textarea{width:100%;padding:15px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(5,4,10,.45);color:#fff;font:500 16px/1.4 var(--sans);outline:none;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.f select{background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.f select option{background:#140f22;color:#fff}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(183,156,255,.18)}
.f.err input,.f.err select{border-color:var(--red);box-shadow:0 0 0 4px rgba(255,77,94,.15)}
.f textarea{resize:vertical}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--dim);cursor:pointer}
.check input{width:20px;height:20px;margin:0;accent-color:#b79cff;flex:none}
.check.err{color:var(--red)}
.flash{animation:flash 1.6s ease}
@keyframes flash{0%{box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 0 0 rgba(77,255,166,.0)}25%{box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 0 6px rgba(77,255,166,.45),0 0 80px rgba(77,255,166,.35)}100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 30px 90px rgba(0,0,0,.35)}}
.form-done{text-align:center;padding:20px 0 4px}
.form-done p{color:rgba(255,255,255,.78);line-height:1.6}
.form.sent>*:not(.form-done){display:none}

/* депозит */
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tier{position:relative;text-align:left;cursor:pointer;padding:clamp(26px,3.5vw,44px);display:grid;gap:14px;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s}
.tier::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,rgba(77,255,166,.0),rgba(77,255,166,.25),transparent 40%);animation:spin 6s linear infinite;opacity:0;transition:opacity .5s;z-index:-1}
.tier:hover{transform:translateY(-6px);border-color:rgba(77,255,166,.5)}
.tier:hover::before,.tier.hot::before{opacity:1}
@keyframes spin{to{transform:rotate(360deg)}}
.tier-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.tier-sum{font-family:var(--pix);font-weight:400;font-size:clamp(32px,4.6vw,60px);line-height:1.1;color:#fff;text-shadow:-3px 0 rgba(255,60,190,.5),3px 0 rgba(60,230,255,.5),0 0 40px rgba(77,255,166,.35)}
.tier-sum small{font-size:.5em}
.tier-d{font-size:15px;line-height:1.55;color:rgba(255,255,255,.78)}
.tier-go{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.fine{margin:22px 0 0;font-size:13px;line-height:1.6;color:var(--dim);max-width:760px}
@media(max-width:760px){.tiers{grid-template-columns:1fr}}

/* FAQ */
.faq{padding:8px clamp(18px,3vw,36px)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-size:clamp(16px,1.5vw,19px);font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{font-style:normal;flex:none;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-family:var(--mono);font-size:18px;transition:transform .4s,background .3s,border-color .3s}
.faq details[open] summary i{transform:rotate(45deg);background:rgba(77,255,166,.12);border-color:var(--green);color:var(--green)}
.faq details p{margin:0 0 24px;font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.76);max-width:680px}
.faq details .btn{margin:-6px 0 24px}

/* контакты */
.contacts{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;padding:clamp(28px,4.5vw,60px);align-items:center}
.clist{list-style:none;margin:28px 0 30px;padding:0;display:grid;gap:4px}
.clist li{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.clist span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.clist b{font-weight:600;font-size:16px}
.clist a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
.clist a:hover{color:var(--green);border-color:var(--green)}
.contacts-vis{position:relative;aspect-ratio:1;max-width:360px;justify-self:center;width:100%;display:grid;place-items:center}
.contacts-vis svg{width:22%;color:#fff;filter:drop-shadow(0 0 20px rgba(183,156,255,.8))}
.ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(77,255,166,.6);animation:ring 4.5s cubic-bezier(.2,.6,.3,1) infinite;opacity:0}
.ring.r2{animation-delay:1.5s;border-color:rgba(183,156,255,.7)}.ring.r3{animation-delay:3s;border-color:rgba(94,240,255,.6)}
@keyframes ring{0%{transform:scale(.2);opacity:0}15%{opacity:1}100%{transform:scale(1);opacity:0}}
@media(max-width:820px){.contacts{grid-template-columns:1fr}.contacts-vis{max-width:220px}.clist li{grid-template-columns:1fr;gap:4px}.contacts .btn{width:100%}}

.foot{padding:40px 0 calc(40px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(5,4,10,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--dim)}
.foot .credit{opacity:.6}

/* модалка анкеты */
.modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(5,4,10,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
.modal.open{opacity:1;visibility:visible}
.modal-card{position:relative;width:min(620px,100%);max-height:calc(100svh - 32px);overflow:auto;padding:clamp(24px,4vw,44px);transform:translateY(30px) scale(.97);transition:transform .6s cubic-bezier(.16,1,.3,1);background:linear-gradient(145deg,rgba(30,22,52,.92),rgba(10,8,22,.92))}
.modal.open .modal-card{transform:none}
.modal-x{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(10,8,20,.6);color:#fff;font-size:20px;cursor:pointer}
.ak-top{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding-right:44px}
.ak-prog{grid-column:1/-1;grid-row:2;height:3px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.ak-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#b79cff,#4dffa6);transition:width .5s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px var(--green)}
.ak-step{font-family:var(--pix);font-size:10px;color:var(--dim)}
#akBody{min-height:220px;padding:28px 0 8px}
.q{animation:qin .55s cubic-bezier(.16,1,.3,1)}
@keyframes qin{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
.q h3{margin:0 0 8px;font-size:clamp(19px,2.2vw,24px);line-height:1.35}
.q .hint{margin:0 0 18px;font-size:14px;color:var(--dim)}
.q .f+.f{margin-top:14px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04);font-size:14.5px;cursor:pointer;transition:all .25s}
.chip input:checked+span{background:rgba(77,255,166,.14);border-color:var(--green);color:#dfffee;box-shadow:0 0 18px rgba(77,255,166,.25)}
.chip input:focus-visible+span{outline:2px solid var(--accent)}
.ak-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.ak-nav .btn{flex:1}
.ak-done{text-align:center;padding-top:8px}
.ak-done p{color:rgba(255,255,255,.78);line-height:1.6}
.code{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:14px 0}
.code b{font-family:var(--pix);font-weight:400;font-size:clamp(20px,4vw,30px);letter-spacing:.06em;padding:18px 22px;border-radius:16px;border:1px dashed var(--green);background:rgba(77,255,166,.08);color:#dfffee;text-shadow:0 0 20px rgba(77,255,166,.6)}
.code button{padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.ak-note{font-size:14px}
.ak-done-btns{display:grid;gap:10px;margin-top:20px}

#loader{position:fixed;inset:0;z-index:80;background:#05040a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity 1s,visibility 1s}
#loader.hidden{opacity:0;visibility:hidden}
#loader b{font-family:var(--pix);font-size:12px;font-weight:400;letter-spacing:.1em;text-shadow:-2px 0 rgba(255,60,190,.6),2px 0 rgba(60,230,255,.6)}
.bar{width:180px;height:2px;background:#1a1430;overflow:hidden;border-radius:2px}
#loaderBar{display:block;height:100%;background:linear-gradient(90deg,#ff5fd0,#b79cff,#5ef0ff);transform:scaleX(.05);transform-origin:left;transition:transform .3s}
#loader p{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7d7398}
#toast{position:fixed;left:50%;bottom:24px;z-index:90;transform:translate(-50%,30px);opacity:0;padding:12px 18px;border-radius:12px;background:rgba(20,15,34,.95);border:1px solid var(--line);font-family:var(--mono);font-size:12px;letter-spacing:.06em;transition:all .4s;pointer-events:none}
#toast.show{opacity:1;transform:translate(-50%,0)}
.noscript{position:fixed;inset:auto 0 0 0;padding:16px;text-align:center;font-family:var(--mono);font-size:12px;z-index:70}
@media(prefers-reduced-motion:reduce){.grain,.glitch,.ring,.medi-wave i{animation:none}}

/* ===== v3.1: по второй доске ===== */
.spine-cta{left:50%;bottom:calc(var(--pad) + 18px);transform:translateX(-50%);padding:16px 34px;border-radius:16px;text-decoration:none;color:#fff;
  font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;border:1.5px solid #ff4d6a;background:rgba(255,60,90,.12);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 0 30px rgba(255,77,106,.35),inset 0 0 20px rgba(255,77,106,.15);animation:ctaPulse 2.4s ease-in-out infinite}
.spine-cta:hover{background:rgba(255,60,90,.28)}
@keyframes ctaPulse{50%{box-shadow:0 0 50px rgba(255,77,106,.6),inset 0 0 26px rgba(255,77,106,.25)}}
@media(max-width:820px){.spine-cta{bottom:calc(env(safe-area-inset-bottom) + 84px);padding:14px 28px}}

.feel{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}
#feelCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.feel-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,60px);align-items:center}
.feel-meter{display:flex;align-items:center;gap:14px;margin-top:30px;max-width:380px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--dim)}
.feel-meter b{color:#fff;min-width:44px;text-align:right}
.fm-bar{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.fm-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff2d55,#ff7a59);box-shadow:0 0 12px var(--red);transition:width .6s cubic-bezier(.16,1,.3,1),background .6s}
.feel.calm .fm-bar i{background:linear-gradient(90deg,#2affb0,#9dff6b);box-shadow:0 0 12px var(--green)}
.feel-r{padding:clamp(22px,3.5vw,40px);display:grid;gap:18px}
.feel-list{display:grid;gap:10px}
.fi{display:flex;align-items:center;gap:16px;padding:17px 18px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;font-size:clamp(15px,1.3vw,18px);font-weight:600;transition:border-color .3s,background .3s,transform .3s}
.fi:hover{transform:translateX(4px);border-color:rgba(255,255,255,.3)}
.fi input{position:absolute;opacity:0;pointer-events:none}
.fi .o{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.45);position:relative;transition:all .3s}
.fi .o::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--red);transform:scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.fi:has(input:checked){border-color:rgba(255,77,94,.6);background:rgba(255,77,94,.08)}
.fi input:checked+.o{border-color:var(--red);box-shadow:0 0 14px rgba(255,77,94,.5)}
.fi input:checked+.o::after{transform:scale(1)}
.feel.calm .fi:has(input:checked){border-color:rgba(77,255,166,.55);background:rgba(77,255,166,.07)}
.feel.calm .fi input:checked+.o{border-color:var(--green);box-shadow:0 0 14px rgba(77,255,166,.5)}
.feel.calm .fi input:checked+.o::after{background:var(--green)}
.fi input:focus-visible+.o{outline:2px solid var(--accent);outline-offset:3px}
#feelGo:disabled{opacity:.45;cursor:not-allowed;transform:none}
.feel-res{padding:22px;border-radius:18px;border:1px solid rgba(77,255,166,.45);background:rgba(77,255,166,.06);animation:qin .6s cubic-bezier(.16,1,.3,1)}
.feel-res h3{margin:10px 0 8px;font-family:var(--pix);font-weight:400;font-size:clamp(14px,1.5vw,18px);line-height:1.5;text-transform:uppercase}
.feel-res p{margin:0 0 16px;color:rgba(255,255,255,.78);line-height:1.6;font-size:15px}
@media(max-width:860px){.feel-wrap{grid-template-columns:1fr}.feel{min-height:auto}}

.space{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,56px);padding:clamp(26px,4.5vw,60px);align-items:center;overflow:hidden}
.clist.slim{margin:24px 0 26px}
.space-pics{position:relative;height:clamp(300px,34vw,460px)}
.space-pics figure{position:absolute;margin:0;border-radius:20px;background:var(--i) center/cover;border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.45);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.space-pics figure:nth-child(1){inset:0 26% 22% 0;z-index:2}
.space-pics figure:nth-child(2){inset:12% 0 34% 52%;z-index:1;filter:brightness(.85)}
.space-pics figure:nth-child(3){inset:56% 8% 0 34%;z-index:3}
.space:hover .space-pics figure:nth-child(1){transform:translate(-8px,-6px)}
.space:hover .space-pics figure:nth-child(2){transform:translate(8px,-10px)}
.space:hover .space-pics figure:nth-child(3){transform:translate(6px,8px)}
@media(max-width:860px){.space{grid-template-columns:1fr}.space-pics{height:300px}.space .btn{width:100%}}

.team{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.master{padding:clamp(26px,3.5vw,44px);display:grid;justify-items:start;gap:6px}
.ava{position:relative;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;margin-bottom:18px;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 45%,transparent),rgba(10,8,20,.6) 70%);border:1px solid color-mix(in srgb,var(--c) 60%,transparent);box-shadow:0 0 40px color-mix(in srgb,var(--c) 35%,transparent)}
.ava b{font-family:var(--pix);font-weight:400;font-size:34px;text-shadow:0 0 20px var(--c)}
.ava i{position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--c);opacity:0;animation:ring 3.6s cubic-bezier(.2,.6,.3,1) infinite}
.ava i:nth-child(2){animation-delay:1.2s}.ava i:nth-child(3){animation-delay:2.4s}
.ava i{transform-origin:center}
.master h3{margin:0;font-family:var(--pix);font-weight:400;font-size:clamp(18px,1.8vw,24px);text-transform:uppercase}
.master .role{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--c)}
.master p{margin:10px 0 0;color:rgba(255,255,255,.76);line-height:1.6;font-size:15px}
@media(max-width:760px){.team{grid-template-columns:1fr}}

.revs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rev{padding:22px;display:grid;gap:14px;align-content:start;min-height:230px}
.rev-top{display:flex;align-items:center;gap:12px}
.rev-ava{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#ff5fd0,#b79cff,#5ef0ff);flex:none;display:grid;place-items:center;font-weight:800;color:#0b0614}
.rev-name{font-weight:700}
.rev-meta{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}
.rev p{margin:0;color:rgba(255,255,255,.8);line-height:1.6;font-size:14.5px}
.rev .stars{color:#ffd36b;letter-spacing:3px}
.rev.ph .sk{height:10px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(255,255,255,.16),rgba(255,255,255,.07));background-size:200% 100%;animation:sk 1.8s linear infinite}
.rev.ph .sk.s{width:60%}
@keyframes sk{to{background-position:-200% 0}}
@media(max-width:1000px){.revs{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.revs{grid-template-columns:1fr}}

.medi-box{display:grid;gap:10px;align-content:center;padding:clamp(20px,3vw,32px);border-radius:22px;border:1.5px solid rgba(255,122,217,.55);background:rgba(255,122,217,.05)}
.px.sm{font-size:clamp(14px,1.4vw,18px);margin:0 0 8px}
.mb{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;text-align:left;font-size:17px;font-weight:700;transition:all .3s}
.mb b{font-family:var(--pix);font-size:11px;color:#ff7ad9;font-weight:400}
.mb span{flex:1;text-decoration:underline;text-decoration-color:rgba(255,122,217,.6);text-underline-offset:6px}
.mb i{font-style:normal;color:var(--dim);transition:transform .3s}
.mb:hover{border-color:rgba(255,122,217,.6);background:rgba(255,122,217,.1)}
.mb:hover i{transform:translateX(4px);color:#fff}

.gal{position:relative;width:min(1100px,100%);display:grid;gap:12px}
.gal .modal-x{z-index:2}
.gal-stage{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#000;box-shadow:0 40px 120px rgba(0,0,0,.6)}
.gal-stage img,.gal-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:galIn .7s cubic-bezier(.16,1,.3,1)}
@keyframes galIn{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.gal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.gal-nav{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);cursor:pointer;font-size:18px}
@media(max-width:600px){.gal-stage{aspect-ratio:4/5}}
[hidden]{display:none!important}

.tiers.one{grid-template-columns:minmax(0,640px)}
/* мягкая подложка под шапкой, чтобы текст не налезал на логотип */
body::after{content:"";position:fixed;left:0;right:0;top:0;height:calc(var(--pad) + 74px);z-index:25;pointer-events:none;background:linear-gradient(180deg,rgba(5,4,10,.92) 40%,rgba(5,4,10,0))}

/* ===== v5: лёгкая элегантная типографика (Cormorant Garamond + Manrope), без пиксельного шрифта и ряби ===== */
:root{--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--pix:var(--serif);--mono:"Manrope",system-ui,sans-serif}
.glitch{animation:none!important}
.brand b{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.02em;line-height:1.02}
#hero h1{font-weight:500;font-size:clamp(46px,6.6vw,104px);line-height:.98;letter-spacing:-.01em;text-transform:none;text-shadow:0 0 50px rgba(183,156,255,.35)}
.hero-swap{min-height:5.4em}
.hero-swap p{font-family:var(--sans);font-size:16.5px;letter-spacing:0;text-transform:none;line-height:1.6;font-weight:400}
.caption p{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.3;text-transform:none;font-weight:500}
#counter{font-family:var(--serif);font-size:22px;font-weight:600}
.px{font-family:var(--serif);font-weight:500;text-transform:none;line-height:1.08;letter-spacing:-.005em;font-size:clamp(34px,4.4vw,64px);text-shadow:none}
.effect-count{font-family:var(--serif);font-size:22px}
.effect-words{font-family:var(--serif);font-weight:500;text-transform:none;font-size:clamp(30px,5.4vw,78px);line-height:1.1}
.steps b{font-family:var(--serif);font-size:24px;font-weight:600}
.medi-n{font-family:var(--serif);font-size:24px}
.medi h3{font-family:var(--serif);font-weight:500;text-transform:none;font-size:clamp(26px,2.4vw,34px)}
.tier-sum{font-family:var(--serif);font-weight:500;text-shadow:0 0 40px rgba(183,156,255,.35)}
.ak-step{font-family:var(--sans);font-size:12px;letter-spacing:.14em}
.code b{font-family:var(--sans);font-weight:600;letter-spacing:.12em}
#loader b{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:.04em;text-shadow:none}
.feel-res h3{font-family:var(--serif);font-weight:500;text-transform:none;font-size:clamp(24px,2.2vw,30px);line-height:1.2}
.ava b{font-family:var(--serif);font-weight:500;font-size:44px}
.master h3{font-family:var(--serif);font-weight:500;text-transform:none;font-size:clamp(28px,2.4vw,34px)}
.mb b{font-family:var(--serif);font-size:22px}
.kick{font-weight:600}
.lead{font-weight:400}
@media(max-width:600px){.brand b{font-size:14px}#hero h1{font-size:clamp(44px,13vw,64px)}.hero-swap p{font-size:15px}}
/* звук включён по умолчанию; пока браузер ждёт первого касания — кнопка мягко пульсирует */
html.sound-wait #sound{animation:sndw 1.8s ease-in-out infinite}
@keyframes sndw{50%{box-shadow:0 0 0 6px rgba(183,156,255,.18),0 0 30px rgba(183,156,255,.35)}}
/* ===== v5: подвал с документами, cookie, страницы документов ===== */
.foot .foot-legal{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.foot .foot-legal nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot .foot-legal a{color:rgba(255,255,255,.72);text-decoration:none;transition:color .2s}
.foot .foot-legal a:hover{color:#fff}
.foot .wrap{font-family:var(--sans);font-size:12.5px;letter-spacing:.02em}
.ck{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;max-width:560px;margin-inline:auto;display:none;gap:14px;align-items:center;
  padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(12,10,24,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:13px;line-height:1.5;color:rgba(255,255,255,.82)}
.ck.on{display:flex}.ck a{color:#cbb8ff}
.ck button{flex:none;border:0;border-radius:999px;padding:11px 18px;font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#0b0614;background:linear-gradient(120deg,#ff5fd0,#b79cff 55%,#5ef0ff);cursor:pointer}
.check a{color:#cbb8ff}
body.legal{background:radial-gradient(1100px 700px at 85% -10%,rgba(124,77,255,.28),transparent 60%),radial-gradient(900px 600px at -10% 40%,rgba(94,240,255,.12),transparent 60%),var(--bg);min-height:100vh}
@media(max-width:600px){.ck{font-size:12px;padding:12px 12px;gap:10px}.ck button{padding:10px 14px}}
/* ===== v6: программы и цены ===== */
.prices{position:relative;overflow:hidden;isolation:isolate;padding-bottom:clamp(60px,9vh,110px)}
.pr-bg{position:absolute;inset:0;z-index:-1}
.pr-bg img{width:100%;height:100%;object-fit:cover;opacity:.32;filter:saturate(.85) brightness(.75)}
.pr-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(5,4,10,.55) 22%,rgba(5,4,10,.6) 70%,var(--bg) 100%),radial-gradient(900px 500px at 80% 30%,rgba(124,77,255,.18),transparent 70%)}
.pr-head{max-width:760px}
.pr-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 22px;flex-wrap:wrap}
.pr-tabs{display:flex;gap:8px;flex-wrap:wrap}
.pr-tab{padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font:600 13px/1 var(--sans);letter-spacing:.02em;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.pr-tab:hover{background:rgba(255,255,255,.1)}
.pr-tab.on{background:#cbb8ff;color:#140c24;border-color:transparent}
.pr-arrows{display:flex;gap:8px}
.pr-arrows button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;font-size:18px;cursor:pointer;transition:background .25s,opacity .25s}
.pr-arrows button:hover{background:rgba(255,255,255,.14)}.pr-arrows button:disabled{opacity:.3;cursor:default}
.pr-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:max(var(--pad),calc((100vw - 1180px)/2));padding:6px max(var(--pad),calc((100vw - 1180px)/2)) 18px;scrollbar-width:none;overscroll-behavior-x:contain}
.pr-track::-webkit-scrollbar{display:none}
.pc{position:relative;flex:0 0 min(1000px,86vw);aspect-ratio:3/2;border-radius:26px;overflow:hidden;scroll-snap-align:start;background:#120d1c;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.12);isolation:isolate}
.pc-ph{position:absolute;inset:0;z-index:-2}
.pc-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.pc:hover .pc-ph img{transform:scale(1.03)}
.pc::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,10,22,.94) 0%,rgba(14,10,22,.82) 30%,rgba(14,10,22,.35) 56%,rgba(14,10,22,0) 72%),linear-gradient(0deg,rgba(14,10,22,.7),transparent 26%)}
.pc-in{position:absolute;inset:0;padding:clamp(24px,3.6%,44px) clamp(26px,4.2%,50px);display:flex;flex-direction:column;align-items:flex-start}
.pc-top{position:absolute;left:clamp(26px,4.2%,50px);right:clamp(20px,4%,44px);top:clamp(22px,3.6%,40px);display:flex;justify-content:space-between;align-items:center;gap:12px}
.pc-brand{display:flex;align-items:center;gap:10px;font:700 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.pc-brand i{width:8px;height:8px;border-radius:50%;background:#cbb8ff;box-shadow:0 0 10px #b79cff}
.pc-chip{padding:9px 15px;border-radius:999px;background:rgba(124,92,180,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:700 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#fff;white-space:nowrap}
.pc-num{margin-top:clamp(56px,11%,96px);font:700 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#d9ccf5}
.pc-t{margin:16px 0 0;font:600 clamp(34px,4.6vw,58px)/1.02 var(--sans);letter-spacing:-.02em;color:#f6f1ea;max-width:56%}
.pc-t em{display:block;font-style:normal;color:#cfb6ff}
.pc-sub{margin:16px 0 0;font-size:clamp(15px,1.5vw,18px);line-height:1.45;color:rgba(255,255,255,.9);max-width:50%}
.pc hr{width:50%;margin:20px 0 16px;border:0;border-top:1px solid rgba(255,255,255,.22)}
.pc-k{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#d9ccf5}
.pc-req{margin:9px 0 0;font-size:clamp(13.5px,1.2vw,15.5px);line-height:1.55;color:rgba(255,255,255,.86);max-width:48%}
.pc-stats{display:flex;gap:clamp(22px,3vw,40px);margin-top:20px}
.pc-stats span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.pc-stats b{display:block;margin-top:6px;font:700 clamp(19px,1.9vw,24px)/1.1 var(--sans);color:#fff;white-space:nowrap}
.pc-foot{margin-top:auto;display:flex;align-items:center;gap:20px;width:100%}
.pc-foot>span{font:700 11.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.pc-book{padding:12px 20px;font-size:14px;margin-left:auto;margin-right:clamp(46px,6%,72px)}
.pc-idx{position:absolute;right:clamp(22px,4%,44px);bottom:clamp(26px,4.4%,46px);font:700 11px/1 var(--sans);letter-spacing:.14em;color:rgba(255,255,255,.6)}
.pc.vip{border-color:rgba(203,182,255,.4);box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 60px rgba(183,156,255,.22),inset 0 1px 0 rgba(255,255,255,.18)}
.pc.vip .pc-chip{background:rgba(203,182,255,.28);border:1px solid rgba(203,182,255,.5)}
@media(max-width:1000px) and (min-width:701px){.pc-t,.pc-sub,.pc-req{max-width:62%}.pc hr{width:60%}}
@media(max-width:700px){
  .pc{flex-basis:86vw;aspect-ratio:auto;display:flex;flex-direction:column}
  .pc-ph{position:relative;inset:auto;aspect-ratio:4/3;z-index:0}
  .pc::before{display:none}
  .pc-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,10,22,.55),transparent 30%,transparent 62%,rgba(14,10,22,1))}
  .pc-in{position:static;padding:4px 20px 22px}
  .pc-top{left:16px;right:16px;top:14px}
  .pc-brand{display:none}.pc-chip{margin-left:auto;font-size:10px;padding:8px 12px}
  .pc-num{margin-top:4px;font-size:11.5px}
  .pc-t{max-width:none;font-size:34px;margin-top:10px}.pc-t em{display:inline}
  .pc-sub,.pc-req{max-width:none}.pc hr{width:100%}
  .pc-foot{flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px}
  .pc-book{margin:0;width:100%}
  .pc-idx{bottom:auto;top:14px;right:auto;left:16px;color:rgba(255,255,255,.85);z-index:2}
  .pr-arrows{display:none}
}
/* мастера: реальные фото основателей */
.ava.ph{overflow:visible}
.ava.ph img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 30%;z-index:1}
@media(max-width:600px){.nav a[data-go=deposit],.nav a[data-go=deposit]+i{display:none}}
/* v6.1: удобное листание программ — стрелки по бокам, точки, перетаскивание */
.pr-arrows{display:none}
.pr-vp{position:relative}
.pr-track{cursor:grab}.pr-track.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.pr-track.drag .pc{pointer-events:none}
.pr-side{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(14,10,22,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:opacity .3s,background .25s,transform .25s}
.pr-side:hover{background:rgba(183,156,255,.35);transform:translateY(-50%) scale(1.06)}
.pr-side.prev{left:max(12px,calc((100vw - 1180px)/2 - 72px))}
.pr-side.next{right:max(12px,calc((100vw - 1180px)/2 - 72px))}
.pr-side:disabled{opacity:0;pointer-events:none}
.pr-dots{display:flex;justify-content:center;gap:10px;margin-top:6px;padding:0 var(--pad)}
.pr-dots button{width:9px;height:9px;padding:0;border-radius:99px;border:0;background:rgba(255,255,255,.28);cursor:pointer;transition:width .35s cubic-bezier(.16,1,.3,1),background .3s}
.pr-dots button.on{width:30px;background:linear-gradient(90deg,#ff5fd0,#b79cff,#5ef0ff)}
@media(max-width:1340px){.pr-side.prev{left:14px}.pr-side.next{right:14px}}
@media(max-width:700px){.pr-side{width:44px;height:44px;font-size:18px;top:calc(86vw * .375 + 6px)}.pr-side.prev{left:8px}.pr-side.next{right:8px}.pr-dots{gap:8px}.pr-dots button{width:8px;height:8px}.pr-dots button.on{width:24px}}
/* ===== v7: шрифт и логотип «Высоких вибраций» (как на старом сайте) ===== */
:root{--serif:"Oswald","Arial Narrow",sans-serif;--display:"Oswald","Arial Narrow",sans-serif}
.brand{gap:12px}
.brand-mark{width:auto;height:34px;display:block;filter:drop-shadow(0 0 10px rgba(183,156,255,.35))}
.brand b{font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:.06em;line-height:1.05;text-transform:uppercase}
#hero h1{font-family:var(--display);font-weight:350;text-transform:uppercase;letter-spacing:.01em;line-height:.98;font-size:clamp(54px,7.4vw,118px)}
.px,.dir-title,.wipe b,#loader b,.pc-t,.svc-name,.master h3,.medi h3,.feel-res h3,.oth b,.effect-words,.lg h1,.doc h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em}
.px{line-height:1.05;font-size:clamp(32px,4vw,58px)}
.pc-t{font-weight:400;letter-spacing:.005em}
.caption p{font-family:var(--sans);font-weight:300;font-size:clamp(17px,1.6vw,22px);line-height:1.55}
.tier-sum,#counter,.steps b,.medi-n,.mb b,.effect-count,.ava b{font-family:var(--display);font-weight:400}
.contacts-vis .contacts-mark{width:46%;height:auto;filter:drop-shadow(0 0 24px rgba(183,156,255,.55))}
.ava.ph img{object-position:50% 50%}
@media(max-width:600px){.brand-mark{height:26px}.brand b{font-size:13px}#hero h1{font-size:clamp(48px,15vw,72px)}}

/* ===== v7: все блоки ниже позвоночника — прямоугольники «жидкого стекла», как карточки направлений ===== */
.blk{position:relative;isolation:isolate;border-radius:32px;padding:clamp(26px,4vw,60px);
  background:linear-gradient(150deg,rgba(255,255,255,.09),rgba(255,255,255,.02) 42%,rgba(255,255,255,.045)),rgba(11,8,22,.52);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 40px 120px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.2),inset 0 0 80px rgba(183,156,255,.07);
  backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}
.blk::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:1.4px;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,95,208,.75),rgba(183,156,255,.2) 28%,rgba(94,240,255,.65) 55%,rgba(255,255,255,.14) 75%,rgba(255,95,208,.7));background-size:260% 260%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:blkRim 14s linear infinite;opacity:.75}
.blk::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 60% at 15% 0%,rgba(255,255,255,.1),transparent 55%),radial-gradient(90% 70% at 100% 100%,rgba(94,240,255,.06),transparent 60%)}
@keyframes blkRim{to{background-position:260% 0}}
.wrap.blk{width:min(1180px,calc(100vw - 2*var(--pad)))}
.wrap.narrow.blk{width:min(860px,calc(100vw - 2*var(--pad)))}
/* внутри блока — плоские стеклянные плашки, без второго размытия */
.blk .glass:not(.blk){backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.035);box-shadow:none}
.blk .sec-head{margin-top:0}
.blk > .kick:first-child,.blk .sec-head > .kick:first-child{margin-top:0}
@media(max-width:820px){
  .blk{border-radius:24px;padding:24px 18px}
  .wrap.blk,.wrap.narrow.blk{width:calc(100vw - 24px)}
}
/* телефон: размытие под стеклом — самая тяжёлая операция для видеокарты; заменяем на плотный фон, анимации остаются плавными */
@media(pointer:coarse),(max-width:820px){
  .blk,.glass{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .blk{background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 42%,rgba(255,255,255,.04)),rgba(12,9,24,.86)}
  .glass:not(.blk){background:rgba(16,12,30,.8)}
  .blk::before{animation:none}
}
/* v11: большие мониторы — лёгкое размытие под стеклом крупных блоков: на 3440 px и 4K это главная нагрузка на видеокарту при прокрутке */
@media (min-width:2200px){
  .blk{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 42%,rgba(255,255,255,.04)),rgba(12,9,24,.66)}
}
/* подсказка «включить звук» — появляется после загрузки, пока браузер ждёт касания */
.snd-hint{display:none;position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:55;align-items:center;gap:10px;
  padding:12px 18px;border-radius:999px;border:1px solid rgba(183,156,255,.5);background:rgba(12,9,24,.82);color:#fff;font:600 13px/1 var(--sans);letter-spacing:.04em;cursor:pointer;
  box-shadow:0 0 30px rgba(183,156,255,.35);animation:sndw 1.8s ease-in-out infinite;white-space:nowrap}
.snd-hint .eq{display:flex;gap:3px;align-items:flex-end;height:14px}
.snd-hint .eq i{width:3px;height:14px;border-radius:1px;background:linear-gradient(#ff5fd0,#b79cff);animation:sndBar 1s ease-in-out infinite}
.snd-hint .eq i:nth-child(2){animation-delay:-.3s}.snd-hint .eq i:nth-child(3){animation-delay:-.6s}
@keyframes sndBar{50%{transform:scaleY(.35)}}
html.sound-wait.ready .snd-hint{display:flex}

/* ===== v8: всё, что было под позвоночником, — компактные окна «жидкого стекла» по сторонам позвоночника.
   Сцена не гаснет: камера продолжает путь вдоль позвоночника, а окна плывут слева и справа от него. ===== */
:root{--win:min(600px,40vw);--side:max(var(--pad),calc(50vw - 660px))}
#page .sec{padding:clamp(14px,2.4vh,28px) 0}
#page .sec-head{margin-bottom:clamp(18px,3vh,30px)}
#page .px{font-size:clamp(28px,2.6vw,42px)}
#page .lead{font-size:15.5px;line-height:1.6;margin-top:12px}
.blk{padding:clamp(24px,2.4vw,40px);border-radius:28px;
  background:linear-gradient(150deg,rgba(255,255,255,.085),rgba(255,255,255,.015) 45%,rgba(255,255,255,.04)),rgba(9,7,20,.46);
  backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}
/* окно — у каждой секции, кроме цен */
@media(min-width:1100px){
  #page .sec:not(.prices) > .wrap,#page .sec:not(.prices) > .wrap.narrow,#page .sec:not(.prices) > .wrap.blk,#page .sec:not(.prices) > .wrap.narrow.blk{width:var(--win);margin:0}
  #page .sec.win-l > .wrap{margin-left:var(--side)!important;margin-right:auto!important}
  #page .sec.win-r > .wrap{margin-left:auto!important;margin-right:var(--side)!important}
  /* окна заходят друг за друга по высоте — «ёлочкой» вдоль позвоночника */
  #page .sec.win-l + .sec.win-r,#page .sec.win-r + .sec.win-l{margin-top:-150px}
  /* содержимое внутри узкого окна — в одну колонку */
  #page .feel-wrap,#page .space,#page .contacts,#page .start{grid-template-columns:1fr;gap:22px}
  #page .feel{min-height:0}
  #page .space-pics{height:250px}
  #page .contacts-vis{display:none}
  #page .revs{grid-template-columns:1fr 1fr}
  #page .team{grid-template-columns:1fr 1fr;gap:14px}
  #page .tiers.one{grid-template-columns:1fr}
  #page .faq summary{padding:18px 0;font-size:16px}
  #page .start{padding:clamp(24px,2.4vw,40px)}
  #page .space,#page .contacts{padding:clamp(24px,2.4vw,40px)}
}
/* цены — широкое окно по центру, фото зала внутри окна */
#page .prices{width:min(1240px,calc(100vw - 2*var(--pad)));margin:clamp(20px,6vh,60px) auto clamp(20px,4vh,40px);border-radius:32px;padding:clamp(28px,4vh,44px) 0 clamp(22px,3vh,32px);
  border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 120px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.2)}
#page .prices .wrap{width:auto;margin:0 clamp(22px,3vw,44px)}
#page .prices .pr-bg img{opacity:.4}
#page .prices .pr-bg::after{background:linear-gradient(180deg,rgba(5,4,10,.55),rgba(5,4,10,.35) 40%,rgba(5,4,10,.7)),radial-gradient(900px 500px at 80% 30%,rgba(124,77,255,.18),transparent 70%)}
#page .pr-track{padding:6px clamp(22px,3vw,44px) 14px;scroll-padding-inline:clamp(22px,3vw,44px)}
#page .pr-side.prev{left:14px}#page .pr-side.next{right:14px}
#page .pr-bar{margin:18px 0 14px}
/* подвал — тоже окно */
.foot{width:min(1240px,calc(100vw - 2*var(--pad)));margin:clamp(20px,5vh,50px) auto calc(var(--pad) + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:26px 0;background:rgba(9,7,20,.55)}
.foot .wrap{width:auto;margin:0 clamp(20px,3vw,40px)}
@media(max-width:1099px){
  #page .sec > .wrap.blk,#page .sec > .wrap > .blk{background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 42%,rgba(255,255,255,.04)),rgba(10,8,22,.72)}
}
@media(max-width:820px){
  #page .prices{width:calc(100vw - 24px);border-radius:24px}
  .foot{width:calc(100vw - 24px)}
  #page .space-pics{height:220px}
}

/* ===== v12: без размытия под стеклом (backdrop-filter).
   Размытие поверх 3D-сцены — главная причина чёрных прямоугольников в Chrome и подтормаживания на ноутбуках
   и телефонах. Стекло остаётся стеклом: полупрозрачный тёмный фон, градиентный блик и светящаяся кромка. ===== */
*,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.nav{background:rgba(10,8,20,.82)}
.state-k{background:rgba(10,8,20,.74)}
#panel{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02)),rgba(12,9,24,.84)}
#sound{background:rgba(10,8,20,.82)}
.glass{background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.025)),rgba(14,10,28,.8)}
.blk .glass:not(.blk){background:rgba(255,255,255,.04)}
.blk{background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 42%,rgba(255,255,255,.04)),rgba(11,8,23,.8)}
@media(max-width:1099px){#page .sec > .wrap.blk,#page .sec > .wrap > .blk{background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 42%,rgba(255,255,255,.04)),rgba(11,8,23,.86)}}
.foot{background:rgba(9,7,20,.86)}
.modal{background:rgba(5,4,10,.9)}
.spine-cta{background:rgba(40,10,22,.78)}
.spine-cta:hover{background:rgba(90,20,40,.85)}
.pc-chip{background:rgba(96,70,150,.9)}
.pr-side{background:rgba(14,10,22,.86)}
/* v12: подсказка «включить звук» не прячется под уведомлением о cookie */
html:has(#ck.on) .snd-hint{bottom:calc(150px + env(safe-area-inset-bottom))}
@media(max-width:600px){html:has(#ck.on) .snd-hint{bottom:calc(190px + env(safe-area-inset-bottom))}}
/* v14: центральная кнопка «Записаться» сама является оверлеем (.ov), у которого клики выключены — включаем их, иначе нажатие уходило в сцену */
.ov.spine-cta{pointer-events:auto;cursor:pointer}
/* v14: нижний стек — уведомление о cookie, над ним «Записаться», над ней подсказка про звук; ничто никого не перекрывает */
:root{--ctaB:calc(var(--pad) + 18px);--hintB:calc(var(--pad) + 92px)}
html:has(#ck.on){--ctaB:calc(var(--pad) + 120px);--hintB:calc(var(--pad) + 194px)}
@media(max-width:820px){:root{--ctaB:calc(env(safe-area-inset-bottom) + 84px);--hintB:calc(env(safe-area-inset-bottom) + 150px)}
  html:has(#ck.on){--ctaB:calc(env(safe-area-inset-bottom) + 160px);--hintB:calc(env(safe-area-inset-bottom) + 226px)}}
@media(max-width:600px){html:has(#ck.on){--ctaB:calc(env(safe-area-inset-bottom) + 196px);--hintB:calc(env(safe-area-inset-bottom) + 262px)}}
.spine-cta{bottom:var(--ctaB)!important}
body:not(.dirpage) .snd-hint,html:has(#ck.on) body:not(.dirpage) .snd-hint{bottom:var(--hintB)!important}

/* ===== v15: отзывы с Яндекс Карт — лента, плашка рейтинга ===== */
.ya-badge a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:14px;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,211,107,.35);background:rgba(255,211,107,.06);color:#fff;text-decoration:none;font-size:13.5px;transition:background .25s,border-color .25s}
.ya-badge a:hover{background:rgba(255,211,107,.12);border-color:rgba(255,211,107,.6)}
.ya-badge b{font-family:var(--display);font-weight:400;font-size:26px;line-height:1}
.ya-badge .stars{color:#ffd36b;letter-spacing:2px}
.ya-badge span:last-child{color:var(--dim)}
#page .revs.revs-track,.revs.revs-track{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc(100% - 46px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:4px;align-items:stretch}
.revs-track::-webkit-scrollbar{display:none}
.revs-track .rev{scroll-snap-align:start;min-height:0}
.rev p{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.rev.full p{display:block;-webkit-line-clamp:unset;overflow:visible}
.rev-more{justify-self:start;padding:0;border:0;background:none;color:var(--accent);font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.revs-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.revs-n{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--dim)}
.revs-bar .pr-arrows{display:flex!important}
@media(max-width:1099px){.revs.revs-track,#page .revs.revs-track{grid-auto-columns:min(420px,calc(100% - 40px))}}

/* ===== v15: подарочные сертификаты ===== */
.gifts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gift{position:relative;overflow:hidden;text-align:left;cursor:pointer;display:grid;gap:10px;align-content:start;padding:clamp(20px,2.2vw,30px);border-radius:22px;color:#fff;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s}
.gift::before{content:"";position:absolute;inset:auto -30% -60% auto;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--gc),transparent 65%);opacity:.22;transition:opacity .4s,transform .6s;pointer-events:none}
.gift:hover{transform:translateY(-5px);border-color:var(--gc)}
.gift:hover::before{opacity:.38;transform:scale(1.1)}
.gift-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.gift-sum{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.4vw,50px);line-height:1;text-shadow:0 0 34px var(--gc)}
.gift-sum small{font-size:.5em}
.gift-t{font-weight:700;font-size:15px}
.gift-d{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.72)}
.gift-go{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gc)}
@media(max-width:560px){.gifts{grid-template-columns:1fr}}
.gm-sums{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 6px}
.gm-sum input{position:absolute;opacity:0;pointer-events:none}
.gm-sum span{display:grid;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);cursor:pointer;transition:border-color .25s,background .25s}
.gm-sum b{font-family:var(--display);font-weight:400;font-size:26px}
.gm-sum small{font-size:12px;color:var(--dim)}
.gm-sum input:checked+span{border-color:var(--green);background:rgba(77,255,166,.08);box-shadow:0 0 0 1px var(--green) inset}
.gm-sum input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
#giftForm .f{margin-top:12px}
#giftForm .check{margin:16px 0}
.gm-fine{text-align:center;margin-top:12px}
.gm-done{text-align:center;padding-top:8px}
.gm-done p{color:rgba(255,255,255,.78);line-height:1.6}
@media(max-width:400px){.nav a[data-go=prices],.nav a[data-go=prices]+i{display:none}}

/* v15: без периодического «глитча» заголовков — на десктопе он читался как моргание экрана */
.glitch{animation:none!important}
@media(min-width:821px){.grain{animation:none;opacity:.035}}

/* ===== v16: против чёрных квадратов (не успевающих отрисоваться тайлов) при прокрутке =====
   1) зерно — маленькая картинка вместо SVG-фильтра шума: тот рисовался заново на каждом тайле 120% экрана;
   2) холст волн — только полоса внизу экрана;
   3) полоски «напряжение/баланс» двигаются transform, без перерасчёта раскладки. */
.grain{inset:-48px;background-image:url(grain.png);background-size:96px 96px;animation:none}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-24px,16px)}50%{transform:translate(18px,-30px)}75%{transform:translate(-30px,-8px)}100%{transform:translate(0,0)}}
#waves{top:auto;bottom:0;height:auto}
.meter-bar i,.meter-bar.g i{width:100%;transform-origin:left center}
#mTensionBar{transform:scaleX(.92)}#mBalanceBar{transform:scaleX(.08)}
@media (prefers-reduced-motion:reduce){.grain{animation:none}}
/* v16: бесконечные анимации, которые перерисовывали большие области каждый кадр (главная причина чёрных квадратов
   на всех страницах): переливающаяся кромка блоков (фон под маской на весь блок), пульсация тени кнопок.
   Кромка теперь статичная, пульсация — прозрачностью отдельного слоя (видеокарта делает это без перерисовки). */
.blk::before{animation:none!important;background-position:30% 0}
.spine-cta,html.sound-wait #sound{animation:none!important}
.spine-cta::after,html.sound-wait #sound::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;animation:glowO 2.4s ease-in-out infinite}
.spine-cta::after{box-shadow:0 0 50px rgba(255,77,106,.6),inset 0 0 26px rgba(255,77,106,.25)}
html.sound-wait #sound{position:relative}
html.sound-wait #sound::after{box-shadow:0 0 0 6px rgba(183,156,255,.18),0 0 30px rgba(183,156,255,.35);animation-duration:1.8s}
@keyframes glowO{50%{opacity:1}}
.snd-hint{animation:none!important}
.snd-hint::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:0 0 0 6px rgba(183,156,255,.18),0 0 30px rgba(183,156,255,.35);animation:glowO 1.8s ease-in-out infinite}
