/* ============================================================
   Ария Огнева — страницы воронки: анкета · оплата · спасибо
   Подключается после site.css. Цвета — переменные темы из site.css;
   свои производные (--fn-*) заданы и для светлой, и для ночной темы.
   Стиль: стекло (полупрозрачные плашки, белая кромка, блик),
   кристаллы — фоном var(--crystal) / var(--crystal-lit) из site.css,
   огоньки на CSS — белые с пастельными кончиками (--grad-white-flame).
   ============================================================ */

@property --v{syntax:'<number>';inherits:true;initial-value:0}

:root{
  --fn-line:rgba(var(--edge-rgb),.11);
  --fn-sel:linear-gradient(160deg,rgba(var(--tint-rgb),.9),rgba(var(--rose-rgb),.55));
  --fn-tint:rgba(255,255,255,.46);
  --fn-field:rgba(255,255,255,.66);
  --rope:rgba(var(--edge-rgb),.28);
  --facet-hi:rgba(255,255,255,.8);
  --sheen:rgba(255,255,255,.9);
  --check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E");
  /* запасные кристаллы — пока site.css не отдал свои --crystal / --crystal-lit */
  --fn-crystal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.55' stop-color='%23fde4ee'/%3E%3Cstop offset='1' stop-color='%23f7bfd6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M12 1.5 21.5 10 12 28.5 2.5 10z' fill='url(%23g)' stroke='%23d99cf0' stroke-width='.9' stroke-linejoin='round'/%3E%3Cpath d='M2.5 10h19M7.6 10 12 28.5 16.4 10M7.6 10 12 1.5l4.4 8.5' fill='none' stroke='%23fff' stroke-width='.8'/%3E%3C/svg%3E");
  --fn-crystal-lit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23ffe1ed'/%3E%3Cstop offset='.45' stop-color='%23ff9fcb'/%3E%3Cstop offset='1' stop-color='%239a3fb8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M12 1.5 21.5 10 12 28.5 2.5 10z' fill='url(%23g)'/%3E%3Cpath d='M7.6 10 12 1.5 9.8 10z' fill='%23fff' fill-opacity='.6'/%3E%3Cpath d='M2.5 10h19M7.6 10 12 28.5 16.4 10M7.6 10 12 1.5l4.4 8.5' fill='none' stroke='%23fff' stroke-width='.8' stroke-opacity='.8'/%3E%3C/svg%3E");
  --fn-c:var(--crystal,var(--fn-crystal));
  --fn-c-lit:var(--crystal-lit,var(--fn-crystal-lit));
}
html[data-theme="night"]{
  --fn-line:rgba(var(--rose-rgb),.08);
  --fn-sel:linear-gradient(160deg,rgba(var(--glow-rgb),.3),rgba(var(--glow-rgb),.1));
  --fn-tint:rgba(255,255,255,.05);
  --fn-field:rgba(255,255,255,.05);
  --rope:rgba(var(--rose-rgb),.26);
  --facet-hi:rgba(var(--rose-rgb),.14);
  --sheen:rgba(var(--rose-rgb),.26);
}

.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- каркас страниц воронки ---------- */
.fn-main{overflow-x:clip}
.fn-hero{position:relative;padding:clamp(108px,10vw,138px) 0 clamp(64px,8vw,110px)}
.fn-hero h1{font-size:clamp(36px,4.3vw,62px);margin-bottom:20px}
.fn-hero .lead{margin-top:0}

/* анкета: слева вступление, справа карточка опроса */
.fn-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);grid-template-rows:auto 1fr;grid-template-areas:"intro card" "aside card";column-gap:clamp(32px,5vw,80px);align-items:start}
.fn-intro{grid-area:intro;padding-top:6px}
.fn-aside{grid-area:aside}
.fn-grid>.qz-wrap{grid-area:card}
.fn-who{display:flex;align-items:center;gap:14px;margin-top:32px}
.fn-who .ph{width:54px;flex:none}
.fn-who .ava{width:54px;height:54px}
.fn-who b{display:block;font-size:16px}
.fn-who>div>span{display:block;font-size:14px;color:var(--ink-2)}
.fn-points{list-style:none;margin:24px 0 0;padding:22px 0 0;border-top:1px solid var(--line);display:grid;gap:12px;max-width:440px}
.fn-points li{position:relative;padding-left:30px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.fn-points li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:20px;background:var(--fn-c) center/contain no-repeat}

/* ---------- огонёк на конце шнура: белый, кончики нежно-розовые ---------- */
.flame-tip::before{content:"";position:absolute;inset:0;background:var(--grad-white-flame,linear-gradient(to top,#fff 0 42%,#ffe1ed 64%,#f3bfd8 86%,#ffb3cf));-webkit-mask:var(--flame-i) center/contain no-repeat;mask:var(--flame-i) center/contain no-repeat;transform-origin:50% 90%;animation:fnFlick .17s steps(2) infinite alternate}
@keyframes fnFlick{from{transform:scale(1,1)}to{transform:scale(.92,1.1)}}
.flame-tip::after{content:"";position:absolute;left:50%;top:62%;z-index:-1;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:radial-gradient(circle,rgba(var(--glow-rgb),.58),rgba(var(--rose2-rgb),.3) 42%,transparent 70%);filter:blur(2px)}
.flame-tip>i{position:absolute;left:50%;top:64%;width:3px;height:3px;margin:-1.5px;border-radius:50%;background:#fff;box-shadow:0 0 6px 2px rgba(var(--rose2-rgb),.9);opacity:0;animation:tipSpark 1.2s linear infinite}
.flame-tip>i:nth-child(1){--sx:-16px;--sy:-14px}
.flame-tip>i:nth-child(2){--sx:-5px;--sy:-24px;animation-delay:.4s}
.flame-tip>i:nth-child(3){--sx:-24px;--sy:-5px;animation-delay:.8s}
@keyframes tipSpark{0%{transform:translate(0,0) scale(1);opacity:0}14%{opacity:1}100%{transform:translate(var(--sx),var(--sy)) scale(.3);opacity:0}}

/* огненная линия шнура (прогоревшая часть) */
.burn-line{background:var(--fuse-burn);box-shadow:0 0 10px 1px rgba(var(--glow-rgb),.5)}

/* ---------- путь воронки: анкета → оплата → время ---------- */
.path{--p:.5;position:relative;max-width:520px}
.path ol{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}
.path::before{content:"";position:absolute;left:16.667%;right:16.667%;top:13px;height:2px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--rope) 0 6px,transparent 6px 12px)}
.path-fill{position:absolute;left:16.667%;top:13px;width:calc(66.667% * var(--p));height:2px;border-radius:2px;transform-origin:left;animation:pathBurn 1.5s cubic-bezier(.4,.1,.3,1) .35s both}
.path-flame{position:absolute;top:13px;left:calc(16.667% + 66.667% * var(--p));z-index:2;width:30px;height:30px;margin:-24px 0 0 -15px;pointer-events:none;animation:pathFlame 1.5s cubic-bezier(.4,.1,.3,1) .35s both}
@keyframes pathBurn{from{transform:scaleX(0)}}
@keyframes pathFlame{from{left:16.667%}}
.path li{position:relative;display:grid;justify-items:center;gap:9px;text-align:center;font-size:14px;line-height:1.25;color:var(--ink-3)}
.path li>i{position:relative;width:22px;height:27px;background:var(--fn-c) center/contain no-repeat;opacity:.8}
.path li.done{color:var(--ink-2)}
.path li.done>i{background-image:var(--fn-c-lit);opacity:1;filter:drop-shadow(0 0 6px rgba(var(--glow-rgb),.55))}
.path li.done>i::after{content:"";position:absolute;inset:8px 6px 10px;background:var(--on-fire);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat}
.path li.cur{color:var(--ink);font-weight:700}
.path li.cur>i{opacity:0}
.path--night::before{background:repeating-linear-gradient(90deg,rgba(var(--shade-rgb),.3) 0 6px,transparent 6px 12px)}
.path--night li{color:var(--band-mute)}
.path--night li.done{color:var(--band-p)}
.path--night li.cur{color:var(--ink)}

/* ---------- карточка опроса ---------- */
.qz-wrap{position:relative;isolation:isolate}
.qz-wrap>.hero-glow{inset:10% -5% -6%;opacity:.5}
.qz{position:relative;z-index:1;isolation:isolate;overflow:hidden;overflow:clip;border-radius:var(--r-lg);padding:clamp(22px,3vw,40px)}
.qz-facets{position:absolute;right:-118px;top:-150px;z-index:-1;width:350px;height:350px;pointer-events:none;opacity:.24;transform:rotate(14deg);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23a23bc7' stroke-width='.7' stroke-opacity='.42'%3E%3Cpath d='M100 8 176 62 100 192 24 62z'/%3E%3Cpath d='M24 62h152M64 62l36-54 36 54M64 62l36 130 36-130M44 34l20 28M156 34l-20 28'/%3E%3C/svg%3E") center/contain no-repeat}
.qz-heat{position:absolute;left:-15%;right:-15%;bottom:-40%;height:74%;z-index:-1;pointer-events:none;background:radial-gradient(50% 58% at 50% 100%,rgba(var(--glow-rgb),.3),rgba(var(--rose-rgb),.2) 45%,transparent 72%);opacity:var(--heat,0);transition:opacity .6s}

/* бикфордов шнур: прогорает от вопроса к вопросу */
.wick{--p:0;position:relative;margin:0 0 clamp(20px,2.4vw,30px)}
.wick-track{position:relative;height:30px;margin:0 11px}
.wick-track::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--rope) 0 6px,transparent 6px 12px)}
.wick-fill{position:absolute;left:0;top:50%;width:calc(var(--p)*100%);height:2px;margin-top:-1px;border-radius:2px;transition:width .9s cubic-bezier(.4,.1,.3,1)}
.wick-knot{position:absolute;top:50%;left:calc(var(--x)*100%);width:14px;height:18px;margin:-9px 0 0 -7px;background:var(--fn-c) center/contain no-repeat;opacity:.7;transition:opacity .4s .4s,transform .45s .4s var(--ease),filter .4s .4s}
.wick-knot.lit{background-image:var(--fn-c-lit);opacity:1;transform:scale(1.12);filter:drop-shadow(0 0 5px rgba(var(--glow-rgb),.6))}
.wick-knot.end{width:20px;height:26px;margin:-13px 0 0 -10px}
.wick-knot.end::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;box-shadow:0 0 0 2px rgba(var(--glow-rgb),.75);opacity:0;pointer-events:none}
.wick.done .wick-knot.end::after{animation:knotRing 1.1s var(--ease) .8s}
@keyframes knotRing{0%{opacity:1;transform:scale(.5)}100%{opacity:0;transform:scale(4.2)}}
.wick-flame{position:absolute;top:50%;left:calc(var(--p)*100%);z-index:2;width:30px;height:30px;margin:-25px 0 0 -15px;pointer-events:none;transition:left .9s cubic-bezier(.4,.1,.3,1),opacity .45s}
.wick.done .wick-flame{opacity:0;transition:left .9s cubic-bezier(.4,.1,.3,1),opacity .4s .75s}
.wick-meta{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:6px;font-size:14px;color:var(--ink-3)}
.wick-step{color:var(--ink-2)}
.wick-step b{color:var(--ink);font-weight:700}
.wick-left{text-align:right}

/* сцена: шаги сменяются со сдвигом и размытием */
.qz-stage{position:relative;margin:0 -16px -16px;padding:0 16px 16px}
.qz-stage.swap{overflow:hidden;overflow:clip;transition:height .5s var(--ease)}
.qz-step{position:relative}
.qz-step.leaving{pointer-events:none}
.qz-head{margin-bottom:clamp(18px,2vw,24px)}
.qz-q{font-size:clamp(25px,2.3vw,34px);line-height:1.14;outline:none}
.qz-hint{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:10px 0 0;font-size:15px;color:var(--ink-2)}
.qz-count{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-3)}
.qz-count .meter-gems i{width:13px;height:17px}
.nudge{animation:nudge .5s}
.qz-hint.nudge{color:var(--pink-2)}
@keyframes nudge{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}

/* стеклянные варианты ответа: огранка и подсветка при выборе */
.opts{display:grid;gap:12px}
.opts--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.opt{position:relative;isolation:isolate;overflow:hidden;overflow:clip;display:flex;align-items:center;gap:16px;width:100%;min-height:66px;padding:14px 14px 14px 18px;border:1px solid var(--glass-edge);border-radius:18px;text-align:left;color:var(--ink);
  background:var(--gloss),var(--glass);box-shadow:var(--glass-rim),0 0 0 1px var(--fn-line),var(--shadow-s);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s,opacity .3s,filter .3s}
.opt:hover{transform:translateY(-2px);box-shadow:var(--glass-rim),0 0 0 1px rgba(var(--rose2-rgb),.45),0 18px 36px -22px rgba(var(--shade-rgb),.5)}
.opt:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.opt-gem{flex:none;width:22px;height:27px;background:var(--fn-c) center/contain no-repeat;transition:transform .4s var(--ease),filter .4s}
.opt-t{flex:1;min-width:0;display:grid;gap:3px}
.opt-t b{font-weight:600;font-size:16.5px;line-height:1.3}
.opt-t small{font-size:14px;line-height:1.4;color:var(--ink-3)}
.opt-key{flex:none;display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:8px;font:600 12.5px/1 var(--f-body);color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line);transition:color .3s,background .3s,box-shadow .3s}
/* выбранный: радужное стекло, огранка ловит свет, радужная кромка */
.opt[aria-checked="true"]{border-color:rgba(var(--rose-rgb),.95);
  background:linear-gradient(112deg,transparent 0 60%,var(--facet-hi) 60.3%,transparent 68%),linear-gradient(64deg,transparent 0 80%,rgba(var(--glow-rgb),.08) 80.3%,transparent 90%),var(--gloss),var(--fn-sel);
  box-shadow:var(--glass-rim),inset 0 0 22px rgba(255,255,255,.25),0 18px 40px -20px rgba(var(--glow-rgb),.65),0 0 26px -6px rgba(var(--glow-rgb),.5)}
.opt::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1.5px;pointer-events:none;background:var(--grad-fire);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s}
.opt[aria-checked="true"]::before{opacity:1}
.opt[aria-checked="true"] .opt-gem{background-image:var(--fn-c-lit);transform:scale(1.12);filter:drop-shadow(0 0 6px rgba(var(--glow-rgb),.65))}
.opt[aria-checked="true"] .opt-key{color:var(--on-fire);background:var(--grad-fire);box-shadow:none}
html[data-theme="night"] .opt[aria-checked="true"]{border-color:rgba(var(--rose2-rgb),.4);box-shadow:var(--glass-rim),0 18px 40px -20px rgba(var(--glow-rgb),.6),0 0 26px -6px rgba(var(--glow-rgb),.45)}
/* вспышка в момент выбора */
.opt::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent,var(--sheen),transparent);transform:skewX(-18deg);opacity:0}
.opt.flash{animation:optPop .5s var(--ease)}
.opt.flash::after{animation:optFlash .75s var(--ease)}
@keyframes optFlash{0%{left:-60%;opacity:1}100%{left:130%;opacity:1}}
@keyframes optPop{35%{transform:scale(1.02)}}
.opts.full .opt[aria-checked="false"]{opacity:.5;filter:saturate(.6)}

/* плитки: крупная цифра или короткий ответ */
.opts--tiles .opt{display:grid;grid-template-columns:1fr auto;grid-template-areas:"g k" "t t";align-items:start;row-gap:16px;min-height:120px;padding:18px 16px 18px 20px}
.opts--tiles .opt-gem{grid-area:g}
.opts--tiles .opt-key{grid-area:k}
.opts--tiles .opt-t{grid-area:t;gap:6px}
.opts--tiles .opt-t b{font-family:var(--f-display);font-weight:var(--fw-display);font-size:clamp(27px,2.5vw,34px);line-height:1.02}

/* поле «другое» */
.opt-other{grid-column:1/-1;max-height:0;opacity:0;visibility:hidden;overflow:hidden;overflow:clip;transition:max-height .45s var(--ease),opacity .35s,visibility 0s .45s}
.opt-other.open{max-height:110px;opacity:1;visibility:visible;transition:max-height .45s var(--ease),opacity .35s,visibility 0s}
.opt-other .inp{margin-top:2px}

/* поля ввода — матовое стекло */
.inp{width:100%;height:56px;padding:0 18px;border:1px solid rgba(var(--edge-rgb),.2);border-radius:16px;font:500 16.5px/1.2 var(--f-body);color:var(--ink);outline:none;
  background:var(--fn-field);box-shadow:inset 0 1px 2px rgba(var(--shade-rgb),.06);transition:border-color .3s,box-shadow .3s}
html[data-theme="night"] .inp{border-color:rgba(var(--rose-rgb),.18)}
.inp::placeholder{color:var(--ink-3);opacity:.85}
.inp:focus{border-color:rgba(var(--glow-rgb),.6);box-shadow:0 0 0 4px rgba(var(--glow-rgb),.13)}
.inp.bad{border-color:rgba(var(--err-rgb),.85)}
textarea.inp{height:auto;min-height:104px;padding:14px 18px;line-height:1.5;resize:vertical}
.fld{display:grid;gap:8px;margin-bottom:16px}
.fld>span{font-size:14.5px;font-weight:600;color:var(--ink-2)}
.fld-err{display:block;font-size:13.5px;line-height:1.35;color:rgb(var(--err-rgb))}
.fld-err:empty{display:none}

/* выбор канала связи и отметки — стеклянные пилюли */
.chan{display:flex;flex-wrap:wrap;gap:8px}
.chan button,.pf span,.bk-t{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--glass-edge);border-radius:999px;font-weight:600;color:var(--ink-2);text-align:left;
  background:var(--gloss),var(--glass);box-shadow:var(--glass-rim),0 0 0 1px var(--fn-line),0 8px 20px -16px rgba(var(--shade-rgb),.45);transition:color .3s,box-shadow .3s,border-color .3s,transform .3s var(--ease)}
.chan button{height:46px;padding:0 18px 0 14px;font-size:15px}
.chan button:hover,.pf:hover span,.bk-t:hover{transform:translateY(-1px)}
.chan button svg,.pf svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chan button[aria-checked="true"],.pf input:checked+span,.bk-t[aria-checked="true"]{color:var(--ink);border-color:rgba(var(--rose-rgb),.95);background:var(--gloss),var(--fn-sel);box-shadow:var(--glass-rim),0 0 0 1px rgba(var(--glow-rgb),.4),0 12px 26px -16px rgba(var(--glow-rgb),.85)}
.chan button[aria-checked="true"] svg,.pf input:checked+span svg{stroke:var(--pink-2)}
.chan button:focus-visible,.pf input:focus-visible+span,.bk-t:focus-visible{outline:2px solid var(--pink);outline-offset:3px}

/* согласие: кристалл-чекбокс загорается */
.agree{position:relative;display:flex;align-items:flex-start;gap:14px;cursor:pointer;font-size:15px;line-height:1.45;color:var(--ink-2)}
.agree input{position:absolute;left:0;top:0;width:24px;height:24px;margin:0;opacity:0;cursor:pointer}
.agree-box{position:relative;flex:none;width:24px;height:24px;margin-top:-1px;border-radius:8px;border:1px solid rgba(var(--edge-rgb),.38);background:var(--gloss),var(--glass);box-shadow:var(--glass-rim),0 4px 10px -6px rgba(var(--shade-rgb),.4);transition:transform .35s var(--ease),border-color .3s,box-shadow .3s}
.agree-box::before{content:"";position:absolute;inset:3px;background:var(--on-fire);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat;transform:scale(0);transition:transform .35s .08s var(--ease)}
.agree-box::after{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--grad-fire);opacity:0;z-index:-1;transition:opacity .3s}
.agree input:checked+.agree-box{border-color:rgba(var(--rose-rgb),.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 0 14px rgba(var(--glow-rgb),.5);transform:scale(1.06)}
.agree input:checked+.agree-box::after{opacity:1}
.agree input:checked+.agree-box::before{transform:scale(1)}
.agree input:focus-visible+.agree-box{outline:2px solid var(--pink);outline-offset:3px}
.agree:hover .agree-box{border-color:rgba(var(--edge-rgb),.7)}
.agree.bad .agree-box{border-color:rgba(var(--err-rgb),.85);box-shadow:0 0 0 3px rgba(var(--err-rgb),.2)}
.agree a{color:var(--pink-2);text-underline-offset:3px;text-decoration-color:rgba(var(--edge-rgb),.4)}

/* навигация опроса */
.qz-nav{display:flex;align-items:center;gap:14px;margin-top:clamp(20px,2.4vw,28px);padding-top:clamp(18px,2vw,22px);border-top:1px solid var(--line)}
.qz-nav[hidden]{display:none}
.qz-back{flex:none;gap:8px}
.qz-back .arr{transform:scaleX(-1)}
.qz-back:hover .arr{transform:scaleX(-1) translateX(4px)}
.qz-back.is-hidden{visibility:hidden}
.qz-keys{flex:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--ink-3)}
.qz-keys kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:7px;font:600 12px/1 var(--f-body);color:var(--ink-2);background:var(--fn-tint);box-shadow:inset 0 0 0 1px var(--line)}
.qz-keys .dot{margin:0 4px;opacity:.6}
.qz-next{flex:none;margin-left:auto}
.qz-next.is-off,.bk-go.is-off{opacity:.5;filter:saturate(.55)}
.qz-next.is-off::before,.bk-go.is-off::before{animation:none}
.qz-next.is-off::after,.bk-go.is-off::after{opacity:0}
.qz-next.is-off:hover,.bk-go.is-off:hover{transform:none}
.qz-next.is-busy{pointer-events:none}
.spin{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,var(--on-fire) 22%,transparent);border-top-color:var(--on-fire);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- шкала готовности: разгорается ---------- */
.heat{--v:0;position:relative;padding:4px 0 0;transition:--v .28s var(--ease)}
.heat-top{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;min-height:86px;margin-bottom:46px}
.heat-num{display:flex;align-items:baseline;gap:8px;font-family:var(--f-display);line-height:.9}
.heat-num b{display:inline-block;font-weight:var(--fw-display);font-size:clamp(66px,7vw,96px);background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .04em}
.heat-num small{font-size:19px;color:var(--ink-3)}
.heat-cap{max-width:270px;margin:0 0 6px;text-align:right;font-family:var(--f-display);font-style:var(--em-style);font-size:clamp(18px,1.6vw,22px);line-height:1.3;color:var(--pink-2)}
.heat.is-cold .heat-num b{opacity:.4}
.heat.is-cold .heat-cap{color:var(--ink-3)}
.heat-rail{position:relative;height:56px}
.heat-fire{position:absolute;left:-20px;right:-20px;bottom:24px;height:104px;pointer-events:none;
  -webkit-mask:linear-gradient(90deg,transparent 0,#000 34px,#000 calc(37px + var(--v)*(100% - 74px) - 22px),transparent calc(37px + var(--v)*(100% - 74px) + 8px));
  mask:linear-gradient(90deg,transparent 0,#000 34px,#000 calc(37px + var(--v)*(100% - 74px) - 22px),transparent calc(37px + var(--v)*(100% - 74px) + 8px))}
.heat-fire canvas{width:100%;height:100%}
.heat-track{position:absolute;left:0;right:0;top:50%;height:6px;margin-top:-3px;border-radius:6px;background:repeating-linear-gradient(90deg,var(--rope) 0 6px,transparent 6px 12px)}
.heat-fill{position:absolute;left:0;top:0;bottom:0;width:calc(17px + var(--v)*(100% - 34px));border-radius:6px;background:var(--fuse-burn);
  box-shadow:0 0 calc(6px + var(--v)*22px) calc(var(--v)*3px) rgba(var(--glow-rgb),calc(.25 + var(--v)*.5))}
.heat.is-cold .heat-fill{opacity:.45}
.heat-flame{position:absolute;bottom:50%;left:calc(17px + var(--v)*(100% - 34px));z-index:1;width:calc(24px + var(--v)*30px);height:calc(28px + var(--v)*56px);margin-bottom:8px;transform:translateX(-50%);pointer-events:none;opacity:calc(.5 + var(--v)*.5)}
.heat-flame::before{content:"";position:absolute;inset:0;background:var(--grad-white-flame,linear-gradient(to top,#fff 0 42%,#ffe1ed 64%,#f3bfd8 86%,#ffb3cf));-webkit-mask:var(--flame-i) center bottom/contain no-repeat;mask:var(--flame-i) center bottom/contain no-repeat;transform-origin:50% 100%;animation:fnFlick .18s steps(2) infinite alternate}
.heat-flame::after{content:"";position:absolute;left:50%;bottom:-10%;z-index:-1;width:150%;height:90%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(var(--glow-rgb),.55),rgba(var(--rose2-rgb),.25) 55%,transparent);filter:blur(3px)}
.heat-flame i{position:absolute;left:50%;bottom:30%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#fff;box-shadow:0 0 6px 2px rgba(var(--rose2-rgb),.9);opacity:0}
.heat-flame i.on{animation:tipSpark 1.5s linear infinite}
.heat-flame i:nth-child(1){--sx:-14px;--sy:-70px}
.heat-flame i:nth-child(2){--sx:12px;--sy:-86px;animation-delay:.3s}
.heat-flame i:nth-child(3){--sx:-4px;--sy:-100px;animation-delay:.6s}
.heat-flame i:nth-child(4){--sx:18px;--sy:-64px;animation-delay:.9s}
.heat-flame i:nth-child(5){--sx:-20px;--sy:-92px;animation-delay:1.2s}
.heat input{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:pan-y}
.heat input:focus{outline:none}
.heat input::-webkit-slider-runnable-track{height:56px;background:transparent;border:0}
.heat input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:34px;height:34px;margin-top:11px;border:0;border-radius:50%;cursor:grab;
  background:radial-gradient(circle at 50% 34%,#fff 0 30%,#fbe0f0 46%,#e6a0ee 74%,#a98cf0);box-shadow:inset 0 1px 1px #fff,0 0 0 6px rgba(var(--glow-rgb),.15),0 6px 18px -4px rgba(var(--shade-rgb),.6)}
.heat input::-moz-range-track{height:56px;background:transparent;border:0}
.heat input::-moz-range-progress{background:transparent}
.heat input::-moz-range-thumb{width:34px;height:34px;border:0;border-radius:50%;cursor:grab;background:radial-gradient(circle at 50% 34%,#fff 0 30%,#fbe0f0 46%,#e6a0ee 74%,#a98cf0);box-shadow:0 0 0 6px rgba(var(--glow-rgb),.15),0 6px 18px -4px rgba(var(--shade-rgb),.6)}
.heat input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 6px rgba(var(--glow-rgb),.2),0 0 0 9px rgba(var(--glow-rgb),.45)}
.heat input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 6px rgba(var(--glow-rgb),.2),0 0 0 9px rgba(var(--glow-rgb),.45)}
.heat-ticks{position:relative;height:30px;margin-top:2px}
.heat-ticks button{position:absolute;top:0;left:calc(17px + var(--i)*(100% - 34px)/9);width:30px;height:30px;margin-left:-15px;padding:0;border:0;border-radius:50%;background:none;font:600 13px/1 var(--f-body);color:var(--ink-3);transition:color .3s}
.heat-ticks button.on{color:var(--pink-2)}
.heat-ticks button:hover{color:var(--ink)}
.heat-ends{display:flex;justify-content:space-between;gap:12px;margin-top:2px;font-size:13.5px;color:var(--ink-3)}

/* ---------- итог анкеты ---------- */
.qz-res{position:relative}
.res-mark{position:relative;width:78px;height:78px;margin-bottom:18px}
.res-mark svg{position:relative;width:100%;height:100%;filter:drop-shadow(0 10px 22px rgba(var(--glow-rgb),.45));animation:float 4.5s ease-in-out infinite alternate}
.res-mark::before{content:"";position:absolute;inset:-26px;border-radius:50%;background:radial-gradient(circle,rgba(var(--glow-rgb),.3),rgba(var(--rose-rgb),.16) 45%,transparent 70%);animation:glow 3s ease-in-out infinite alternate}
.qz-res .qz-q{font-size:clamp(32px,3.4vw,48px);margin-bottom:14px}
.res-lead{color:var(--ink-2);font-size:clamp(16.5px,1.3vw,18px);max-width:560px}
.res-steps{list-style:none;counter-reset:rs;display:grid;gap:4px;margin:22px 0 26px;padding:0}
.res-steps li{display:grid;grid-template-columns:34px 1fr;column-gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.res-steps li:last-child{border-bottom:0}
.res-steps li::before{counter-increment:rs;content:counter(rs);grid-row:span 2;font-family:var(--f-display);font-style:var(--em-style);font-size:30px;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.res-steps b{font-weight:700;font-size:16px}
.res-steps span{font-size:14.5px;color:var(--ink-3)}
.btn-xl{min-height:66px;padding:0 34px;font-size:17px}
.res-cta{width:100%}
.res-note{margin:16px 0 0;font-size:14px;color:var(--ink-3)}
.res-redo{padding:0;border:0;background:none;font:600 14px var(--f-body);color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;cursor:pointer}
.res-redo:hover{color:var(--pink-2)}
.res-row{display:flex;flex-wrap:wrap;gap:12px}
.res-ig svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}

/* ---------- оплата ---------- */
.fn-pay{padding-top:clamp(100px,8.6vw,122px)}
.fn-pay .path{margin-bottom:clamp(16px,2vw,24px)}
.pay-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(26px,4vw,60px);align-items:start}
.fn-hero .pay-h{font-size:clamp(30px,3.1vw,44px);margin-bottom:clamp(16px,2vw,22px)}
.order{padding:clamp(22px,2.6vw,34px);border-radius:var(--r-lg)}
.order-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--line)}
.order-ic{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(var(--glow-rgb),.14),rgba(169,228,239,.32));box-shadow:inset 0 1px 0 var(--glass-edge)}
.order-ic svg{width:34px;height:34px}
.order-kick{display:block;margin-bottom:4px;font-size:14px;color:var(--ink-3)}
.order-name h2{font-size:clamp(25px,2.3vw,33px);line-height:1.12}
.order-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.order-meta span{padding:5px 12px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink-2);background:var(--fn-tint);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 0 0 1px var(--fn-line)}
.order-price{text-align:right}
.order-price b{display:block;font-family:var(--f-display);font-weight:var(--fw-display);font-size:clamp(36px,3.4vw,50px);line-height:1;white-space:nowrap;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
.order-price small{display:block;margin-top:8px;font-size:13px;color:var(--ink-3)}
.order-inc{padding:16px 0 2px}
.order-sub{display:block;margin-bottom:9px;font-family:var(--f-display);font-style:var(--em-style);font-size:19px;color:var(--pink-2)}
.order-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.order-list li{position:relative;padding-left:32px;font-size:16px;line-height:1.45}
.order-list li::before{content:"";position:absolute;left:0;top:0;width:18px;height:23px;background:var(--fn-c-lit) center/contain no-repeat}
.order-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:16px 0 18px;padding:13px 18px;border-radius:16px;background:var(--fn-tint);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 0 0 1px var(--fn-line)}
.order-total span{font-weight:600;color:var(--ink-2)}
.order-total b{font-family:var(--f-display);font-weight:var(--fw-display);font-size:28px;line-height:1}
.btn-pay{width:100%;min-height:62px;margin-top:16px;font-size:17px}
.btn-pay.is-locked{cursor:not-allowed;opacity:.5;filter:saturate(.45)}
.btn-pay.is-locked::before{animation:none}
.btn-pay.is-locked::after{opacity:0}
.btn-pay.is-locked:hover{transform:none}
.btn-pay.lit{animation:payLit 1s var(--ease)}
@keyframes payLit{0%{outline:0 solid rgba(var(--glow-rgb),.55);outline-offset:0}100%{outline:14px solid rgba(var(--glow-rgb),0);outline-offset:6px}}
.pay-safe{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;font-size:14px;line-height:1.4;color:var(--ink-2);text-align:center}
.pay-safe svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--pink-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.paymarks{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.paymarks span{display:grid;place-items:center;width:52px;height:34px;border-radius:9px;background:rgba(255,255,255,.92);box-shadow:inset 0 0 0 1px rgba(var(--shade-rgb),.12),0 4px 10px -6px rgba(var(--shade-rgb),.35)}
html[data-theme="night"] .paymarks span{background:rgba(255,250,252,.94);box-shadow:none}
.paymarks svg{width:40px;height:24px}

/* доверие */
.trust{position:relative;padding:clamp(24px,3vw,36px);border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(var(--tint-rgb),.5),rgba(255,255,255,0) 92%);box-shadow:inset 0 1px 0 var(--glass-edge)}
html[data-theme="night"] .trust{background:linear-gradient(180deg,rgba(var(--glow-rgb),.1),rgba(var(--glow-rgb),0) 92%)}
.trust-top{display:flex;align-items:center;gap:20px}
.trust-photo{position:relative;flex:none;width:136px;padding:10px}
.trust-photo .hero-glow{inset:0 -30% -10%}
.trust-photo .ring{border-radius:999px 999px calc(var(--r) + 10px) calc(var(--r) + 10px)}
.trust-photo .arch{aspect-ratio:4/5;border-radius:999px 999px var(--r) var(--r);box-shadow:0 24px 50px -30px rgba(var(--shade-rgb),.6)}
.trust-photo .arch .ph{height:100%;aspect-ratio:auto;border:0;border-radius:0}
.trust-photo .ph>span{padding:6px}
.trust-photo .ph>span::before{width:24px;height:24px}
.trust-photo .ph b{font-size:11.5px}
.trust-photo .ph small{display:none}
.trust-photo .flame-box{height:42%}
.trust-name b{display:block;margin-bottom:6px;font-family:var(--f-display);font-weight:var(--fw-display);font-size:26px;line-height:1.1}
.trust-name span{display:block;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.trust-stats{display:flex;gap:clamp(16px,2vw,28px);margin:24px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-stats .stat b{font-size:clamp(30px,2.6vw,38px)}
.trust-stats .stat span{font-size:13px}
.trust-note{display:flex;gap:14px;padding:18px 20px}
.tn-ic{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--grad-fire);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 10px 22px -10px rgba(var(--glow-rgb),.9)}
.tn-ic svg{width:22px;height:22px;fill:none;stroke:var(--on-fire);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.trust-note b{display:block;margin-bottom:4px;font-family:var(--f-display);font-weight:var(--fw-display);font-size:19px;line-height:1.2}
.trust-note p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.refund{margin-top:18px}
.refund summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--pink-2)}
.refund summary::-webkit-details-marker{display:none}
.refund summary u{text-decoration-color:rgba(var(--edge-rgb),.35);text-underline-offset:4px}
.refund summary i{width:9px;height:9px;margin-top:-4px;border-right:1.6px solid;border-bottom:1.6px solid;transform:rotate(45deg);transition:transform .35s var(--ease)}
.refund[open] summary i{transform:translateY(4px) rotate(-135deg)}
.refund-a{padding-top:12px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.refund-a p:last-child{margin:0}

/* ---------- спасибо ---------- */
.fn-thanks{padding-top:clamp(88px,8vw,100px)}
.ty-hero{padding:clamp(52px,6vw,84px) 0 clamp(170px,17vw,230px);text-align:center}
.ty-hero .flame-box{height:58%}
.ty-inner{position:relative;z-index:1}
.ty-hero .path{margin:0 auto clamp(34px,4.4vw,52px)}
.ty-gem{position:relative;width:92px;height:92px;margin:0 auto 24px}
.ty-gem::before{content:"";position:absolute;inset:-34px;border-radius:50%;background:radial-gradient(circle,rgba(var(--glow-rgb),.5),rgba(var(--rose2-rgb),.18) 45%,transparent 70%);animation:glow 3s ease-in-out infinite alternate}
.ty-gem svg{position:relative;width:100%;height:100%;filter:drop-shadow(0 12px 26px rgba(var(--glow-rgb),.55));animation:float 4.5s ease-in-out infinite alternate}
.ty-check{stroke-dasharray:30;stroke-dashoffset:30;animation:tyCheck .7s var(--ease) 1.1s forwards}
@keyframes tyCheck{to{stroke-dashoffset:0}}
.ty-hero h1{max-width:900px;margin:0 auto 18px;font-size:clamp(40px,5.6vw,78px)}
.ty-hero .split em .w>i{background-image:var(--grad-text)}
.ty-hero .lead{margin:0 auto}
.ty-next{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;max-width:920px;margin:clamp(30px,4vw,46px) auto 0;text-align:left}
.ty-step{display:flex;gap:16px;align-items:flex-start;padding:24px;border-radius:var(--r)}
.ty-step .n{flex:none;font-family:var(--f-display);font-style:var(--em-style);font-size:36px;line-height:.9;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.ty-step b{display:block;margin-bottom:6px;font-family:var(--f-display);font-weight:var(--fw-display);font-size:22px;line-height:1.2;color:var(--ink)}
.ty-step p{margin:0;font-size:15px;line-height:1.5}
.ty-step .btn{margin-top:16px}
.salute{position:absolute;inset:0;z-index:0;overflow:hidden;overflow:clip;pointer-events:none}
.spark{position:absolute;left:0;top:0;width:4px;height:4px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff 0 36%,var(--c,#fbe0f0) 64%,transparent 78%);box-shadow:0 0 8px 1px rgba(var(--glow-rgb),.6);will-change:transform,opacity}

/* ---------- анкета: последний шаг — оплата разбора ---------- */
.ps{margin:22px 0 0;padding:clamp(16px,2vw,22px);border-radius:20px;background:var(--fn-tint);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 0 0 1px var(--fn-line)}
.ps-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}
.ps-top .order-ic{width:52px;height:52px;border-radius:16px}
.ps-top .order-ic svg{width:30px;height:30px}
.ps-name>b{display:block;font-family:var(--f-display);font-weight:var(--fw-display);font-size:clamp(21px,1.9vw,26px);line-height:1.15}
.ps-name .order-meta{margin-top:8px}
.ps-price b{font-size:clamp(32px,3vw,42px)}
.ps-price small{margin-top:6px}
.ps-list{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);gap:7px}
.ps-list li{padding-left:28px;font-size:15px}
.ps-list li::before{width:15px;height:19px;top:2px}
.pay-act{margin-top:20px}
.pay-cap{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 0;text-align:center;font-family:var(--f-display);font-style:var(--em-style);font-size:clamp(17px,1.5vw,20px);line-height:1.35;color:var(--pink-2)}
.pay-cap::before{content:"";flex:none;width:14px;height:18px;background:var(--fn-c-lit) center/contain no-repeat}
.qz-pay .pay-safe{margin-top:14px}
.pay-legal{max-width:520px;margin:10px auto 0;text-align:center;font-size:13px;line-height:1.5;color:var(--ink-3)}
.pay-legal a,.pay-wait .res-note a,.order-split a,.bk-alt a{color:var(--pink-2);text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--pink-2) 40%,transparent)}
.pay-wait{margin-top:18px;padding:18px 20px 20px;border-radius:20px;background:var(--fn-tint);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 0 0 1px var(--fn-line)}
.pay-wait-t{margin:0 0 14px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.pay-wait-t b{color:var(--ink)}
.pay-wait .res-note{margin-top:12px}
/* контакты на экране оплаты: те же поля, что были отдельным шагом */
.pay-contact{margin-top:20px}
.pay-contact .fld:last-child{margin-bottom:0}
.qz-pay .ps{margin-top:20px}
/* ответ «пока нет»: мягкая альтернатива — бесплатный тест «СИЛА» */
.pay-alt{display:grid;justify-items:start;gap:12px;margin:20px 0 0;padding:16px 18px;border-radius:18px;background:var(--fn-tint);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 0 0 1px var(--fn-line)}
.pay-alt p{margin:0;font-size:15px;line-height:1.5;color:var(--ink-2)}
.pay-alt .btn svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* необязательное уточнение под вариантами ответа */
.qz-note{margin:16px 0 0}
.qz-note>span{font-weight:500;color:var(--ink-3)}

/* ---------- оплата программы: цена со спецусловиями / полная ---------- */
.tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;margin:16px 0 2px;padding:0;border:0}
.tiers[hidden]{display:none}
.tier-o{position:relative;display:block;cursor:pointer}
.tier-o input,.pf input{position:absolute;left:0;top:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.tier-c{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"g b p" "g s s";column-gap:12px;row-gap:4px;align-items:center;height:100%;padding:14px 16px 14px 14px;border:1px solid var(--glass-edge);border-radius:18px;
  background:var(--gloss),var(--glass);box-shadow:var(--glass-rim),0 0 0 1px var(--fn-line),var(--shadow-s);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.tier-c::before{content:"";grid-area:g;align-self:start;width:18px;height:23px;margin-top:1px;background:var(--fn-c) center/contain no-repeat;transition:transform .35s var(--ease)}
.tier-c b{grid-area:b;font-size:15.5px;font-weight:700;line-height:1.25}
.tier-c em{grid-area:p;font-style:normal;font-family:var(--f-display);font-weight:var(--fw-display);font-size:22px;line-height:1;white-space:nowrap}
.tier-c small{grid-area:s;font-size:13px;line-height:1.35;color:var(--ink-3)}
.tier-o:hover .tier-c{transform:translateY(-1px)}
.tier-o input:checked+.tier-c{border-color:transparent;background:var(--gloss),var(--fn-sel);box-shadow:var(--glass-rim),0 0 0 1.5px var(--pink),0 16px 34px -22px var(--pink)}
.tier-o input:checked+.tier-c::before{background-image:var(--fn-c-lit);transform:scale(1.1)}
.tier-o input:focus-visible+.tier-c{outline:2px solid var(--pink);outline-offset:3px}
.order-split{margin:-4px 0 18px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.order-split[hidden]{display:none}
/* тарифы курса и бронь: стоимость разбора засчитывается */
.order-credit{display:flex;align-items:center;gap:10px;margin:-4px 0 18px;font-size:14.5px;font-weight:600;line-height:1.45;color:var(--ink-2)}
.order-credit::before{content:"";flex:none;width:15px;height:19px;background:var(--fn-c-lit) center/contain no-repeat}
.order-credit[hidden]{display:none}
.order-price small s,.up-price s{text-decoration-thickness:1.5px;text-decoration-color:rgba(var(--edge-rgb),.55)}
/* оплата «Короны»: апсейл «Мой кодекс» */
.upsell{margin-top:18px;padding:clamp(18px,2.2vw,26px);border-radius:var(--r-lg)}
.up-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start}
.up-top .order-ic{width:52px;height:52px;border-radius:16px}
.up-top .order-ic svg{width:30px;height:30px}
.up-name b{display:block;font-family:var(--f-display);font-weight:var(--fw-display);font-size:clamp(21px,1.9vw,26px);line-height:1.15}
.up-name .order-meta{margin-top:8px}
.up-price{display:grid;justify-items:end;gap:4px;white-space:nowrap}
.up-price s{font-size:15px;color:var(--ink-3)}
.up-price b{font-family:var(--f-display);font-weight:var(--fw-display);font-size:clamp(30px,2.8vw,40px);line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
.up-text{margin:14px 0 16px;font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.up-btn{width:100%}

/* ---------- «Спасибо»: запись на встречу — платформа, день, время ---------- */
.ty-book .sec-head{margin-bottom:clamp(26px,3.2vw,40px)}
.ty-book .sec-head h2{font-size:clamp(30px,3.6vw,50px)}
.ty-book .qz-wrap{max-width:860px;margin:0 auto}
#book{scroll-margin-top:84px}
.bk-lab{display:block;font-size:14.5px;font-weight:600;color:var(--ink-2)}
.bk-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;margin-bottom:12px}
.bk-sub{font-size:13.5px;color:var(--ink-3)}
.bk-plat{min-width:0;margin:0 0 24px;padding:0;border:0}
.bk-plat legend{float:left;width:100%;margin:0 0 12px;padding:0}
.bk-pf{clear:both;display:flex;flex-wrap:wrap;gap:8px}
.pf{position:relative;display:inline-flex;cursor:pointer}
.pf span{height:48px;padding:0 20px 0 15px;font-size:15.5px}
.bk-cal{margin-bottom:22px}
.bk-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.bk-dow{padding-bottom:2px;text-align:center;font-size:12.5px;color:var(--ink-3)}
.bk-day{position:relative;display:grid;place-items:center;width:100%;height:clamp(44px,5.4vw,58px);padding:0;border:1px solid transparent;border-radius:14px;font:600 15px/1 var(--f-body);color:var(--ink-3);background:var(--fn-tint);box-shadow:inset 0 0 0 1px var(--fn-line)}
.bk-day.is-off{opacity:.55}
button.bk-day{color:var(--ink);border-color:var(--glass-edge);background:var(--gloss),var(--glass);box-shadow:var(--glass-rim),0 0 0 1px var(--fn-line),var(--shadow-s);cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),color .3s}
button.bk-day::after{content:"";position:absolute;left:50%;bottom:7px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--pink)}
button.bk-day:hover{transform:translateY(-2px)}
button.bk-day[aria-checked="true"]{color:var(--on-fire);border-color:transparent;background:var(--grad-fire);box-shadow:var(--glass-rim),0 14px 28px -14px var(--pink)}
button.bk-day[aria-checked="true"]::after{background:var(--on-fire)}
button.bk-day:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.bk-day.flash,.bk-t.flash{animation:optPop .5s var(--ease)}
.bk-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bk-slots.nudge .bk-t{box-shadow:var(--glass-rim),0 0 0 1.5px var(--pink-2)}
.bk-grp small{display:block;margin-bottom:8px;font-family:var(--f-display);font-style:var(--em-style);font-size:17px;color:var(--pink-2)}
.bk-ts{display:flex;flex-wrap:wrap;gap:8px}
.bk-t{justify-content:center;height:46px;min-width:92px;padding:0 20px;font-size:15.5px;font-variant-numeric:tabular-nums}
.bk-act{margin-top:24px}
.bk-go{width:100%}
.bk-go.is-busy{pointer-events:none}
.bk-note{margin:12px 0 0;text-align:center;font-size:14px;line-height:1.45;color:var(--ink-3)}
.bk-done .qz-q{font-size:clamp(28px,3vw,42px)}
.bk-meta{margin:2px 0 16px}
.bk-ask{margin:18px 0 22px;padding:16px 18px;border-radius:18px;font-size:15px;line-height:1.55;color:var(--ink-2);background:var(--fn-tint);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 0 0 1px var(--fn-line)}
.bk-ask b{color:var(--ink)}
.bk-embed{position:relative;overflow:hidden;overflow:clip;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--fn-line)}
.bk-embed iframe{display:block;width:100%;height:720px;border:0}
.bk-alt{margin:12px 0 0;font-size:14px;color:var(--ink-3)}
/* время не выбрано: напишет бот-помощница */
.bk-later{margin:16px 0 0;padding:13px 18px;border-radius:16px;text-align:center;font-size:14.5px;line-height:1.5;color:var(--ink-2);background:var(--fn-tint);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 0 0 1px var(--fn-line)}

/* ---------- всплывашка для заглушек макета ---------- */
.toast{position:fixed;left:16px;right:16px;bottom:22px;z-index:90;display:flex;align-items:center;gap:10px;width:fit-content;max-width:440px;margin:0 auto;padding:13px 18px 13px 15px;border-radius:16px;
  background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(var(--wt-rgb),.8));-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);color:var(--ink);font-size:14.5px;line-height:1.4;
  box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(var(--edge-rgb),.14),0 20px 50px -22px rgba(var(--shade-rgb),.5);transform:translateY(170%);transition:transform .5s var(--ease);pointer-events:none}
.toast::before{content:"";flex:none;width:16px;height:20px;background:var(--fn-c-lit) center/contain no-repeat}
.toast.show{transform:none}

/* ночная тема: мелкие розовые подписи светлее */
html[data-theme="night"] :is(.order-sub,.heat-cap,.heat-ticks button.on,.fld-err,.res-redo:hover){color:#e6a0ee}
html[data-theme="night"] .heat.is-cold .heat-cap{color:var(--ink-3)}
html[data-theme="night"] .toast{background:rgba(52,20,38,.84);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 20px 50px -20px rgba(0,0,0,.9)}

/* ---------- адаптив ---------- */
@media (max-width:900px){
  .fn-hero{padding-top:100px}
  .fn-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"intro" "card" "aside";row-gap:28px}
  .fn-who{margin-top:4px}
  .pay-grid{grid-template-columns:minmax(0,1fr)}
  .ty-next{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .fn-hero h1{font-size:clamp(32px,9vw,40px)}
  .qz{padding:20px 18px 22px;border-radius:26px}
  .qz-stage{margin:0 -12px -12px;padding:0 12px 12px}
  .opts--2:not(.opts--keep){grid-template-columns:minmax(0,1fr)}
  .opts--tiles .opt{min-height:96px;row-gap:10px;padding:14px 12px 14px 16px}
  .opts--tiles:not(.opts--keep) .opt{min-height:0;grid-template-columns:auto 1fr;grid-template-areas:"g t";column-gap:14px;align-items:center}
  .opts--tiles:not(.opts--keep) .opt-key{display:none}
  .opt{gap:13px;padding:12px 12px 12px 15px}
  .opt-t b{font-size:16px}
  .opt-t small{font-size:13.5px}
  .wick-meta{font-size:13px}
  .qz-q{font-size:clamp(23px,6.6vw,27px)}
  html .qz .qz-back{width:50px;padding:0}
  .qz-back .t{display:none}
  html .qz .qz-next{flex:1;min-height:54px;padding:0 20px}
  .qz-keys{display:none}
  .qz .btn{white-space:normal;text-align:center;line-height:1.2}
  .qz .btn .price{white-space:nowrap}
  .btn-xl{min-height:60px;padding:10px 20px;font-size:16px}
  .res-row .btn{width:100%}
  .heat-num b{font-size:64px}
  .heat-cap{font-size:17px;max-width:170px}
  .heat-ends{font-size:12.5px}
  .order-top{grid-template-columns:auto minmax(0,1fr);row-gap:14px}
  .order-price{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;text-align:left;padding:14px 16px;border-radius:14px;background:var(--fn-tint);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 0 0 1px var(--fn-line)}
  .order-price small{margin:0}
  .order-ic{width:48px;height:48px;border-radius:15px}
  .order-ic svg{width:28px;height:28px}
  html .order .btn-pay{white-space:normal;line-height:1.2;padding:8px 16px;gap:10px;font-size:15px}
  .paymarks{gap:6px}
  .paymarks span{width:48px;height:32px}
  .paymarks svg{width:38px}
  .btn-pay .price{white-space:nowrap}
  .trust-top{gap:14px}
  .trust-photo{width:112px}
  .trust-stats{gap:14px}
  .ty-step{padding:20px}
  .ty-step .btn{width:100%}
  .ps-top{grid-template-columns:auto minmax(0,1fr);row-gap:14px}
  .up-top{grid-template-columns:auto minmax(0,1fr);row-gap:12px}
  .up-price{grid-column:1/-1;display:flex;align-items:baseline;justify-content:flex-start;gap:12px}
  html .upsell .up-btn{white-space:normal;line-height:1.2;padding:8px 16px}
  .pay-alt .btn{width:100%}
  .pay-cap{font-size:16.5px}
  .pay-cap::before{display:none}
  .bk .btn{font-size:15px}
  .bk .btn .arr{display:none}
  .tiers{grid-template-columns:minmax(0,1fr)}
  .bk-grid{gap:5px}
  .bk-day{height:44px;border-radius:11px;font-size:14px}
  button.bk-day::after{bottom:5px;width:4px;height:4px;margin-left:-2px}
  .bk-slots{grid-template-columns:minmax(0,1fr);gap:12px}
  .bk-t{flex:1;min-width:0;padding:0 12px}
  .pf{flex:1}
  .pf span{width:100%;justify-content:center;padding:0 12px}
  .bk-embed iframe{height:900px}
}
@media (pointer:coarse){
  .qz-keys,.opt-key{display:none}
}

@media (prefers-reduced-motion:reduce){
  .heat{transition:none}
}
