/* 1. первый экран: циферблат часа */
.v-hero{min-height:100svh;padding-bottom:64px}
.v-hero .ryad{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;margin-top:36px}
.v-hero h1{font-size:clamp(72px,9.6vw,156px)}
.v-hero h1 .h1-pod{display:block;margin-top:.16em;font:800 clamp(26px,2.6vw,40px)/1.05 var(--zag);text-transform:none;letter-spacing:0;color:var(--bone);max-width:24ch}
.v-hero .cena-r{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-top:36px}
.v-hero .cena-r .chislo{font-size:clamp(64px,7vw,112px)}
.v-hero .knopki{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.cif{position:relative;width:100%;max-width:560px;margin-left:auto}
.cif svg{width:100%;height:auto;overflow:visible}
.cif .seg{fill:none;stroke-width:34;stroke-linecap:butt;transition:stroke-width .4s var(--ease),opacity .4s}
.cif .seg:hover{stroke-width:44}
.cif .strelka{transform-origin:280px 280px;animation:krug 12s linear infinite}
@keyframes krug{to{transform:rotate(360deg)}}
.cif .metki text{font:600 15px var(--tekst);fill:var(--mute)}
.cif .centr{font:900 120px var(--zag);fill:var(--bone)}
.cif .centr2{font:600 14px var(--tekst);fill:var(--mute);letter-spacing:.16em}
@media (max-width:900px){.v-hero .ryad{grid-template-columns:1fr}.cif{max-width:380px;margin:0 auto}.v-hero h1{font-size:17vw}}

/* 2. коротко: слова загораются прокруткой */
.korotko #krt{font:700 clamp(32px,4.4vw,64px)/1.08 var(--zag);max-width:24ch}
.korotko .w{opacity:.18;transition:opacity .2s}.korotko .w.a{color:var(--acid)}
.v-js .korotko.tiho .w{opacity:1}

/* 3. для кого: «с чем приходят» — выбор и ответ */
.prihod{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.prihod .chipy{display:flex;flex-direction:column;gap:2px}
.chip{display:flex;align-items:center;gap:18px;text-align:left;min-height:72px;padding:14px 0;border-bottom:1px solid var(--line);font:700 clamp(26px,2.6vw,40px)/1 var(--zag);color:var(--mute);transition:color .3s,padding .4s var(--ease)}
.chip::before{content:"";width:0;height:3px;background:var(--acid);transition:width .4s var(--ease)}
.chip[aria-selected="true"]{color:var(--bone);padding-left:6px}.chip[aria-selected="true"]::before{width:36px}
.prihod .otvet{position:sticky;top:120px;padding:40px;min-height:320px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.prihod .otvet .kav{font:900 140px/.6 var(--zag);color:var(--viol);height:56px}
.prihod .otvet p{font-size:21px;line-height:1.45}
.prihod .otvet.smena p{animation:smena .5s var(--ease)}
@keyframes smena{from{opacity:0;transform:translateY(12px)}}
@media (max-width:860px){.prihod{grid-template-columns:1fr;gap:24px}.prihod .otvet{position:static;padding:26px;min-height:0}.chip{min-height:60px}}

/* 4. таймлайн одного часа: закреплённые минуты слева */
.chas{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:56px}
.chas .lev{position:sticky;top:96px;align-self:start;height:calc(100vh - 140px);display:flex;flex-direction:column;justify-content:center}
.chas .min{font:900 clamp(120px,16vw,250px)/.8 var(--zag);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.chas .min span{color:var(--acid)}
.chas .shk{height:6px;background:rgba(237,235,230,.1);border-radius:3px;margin-top:28px;overflow:hidden}
.chas .shk i{display:block;height:100%;width:0;background:var(--acid)}
.chas .etapy{display:grid;gap:0}
.etap{min-height:70vh;display:flex;flex-direction:column;justify-content:center;gap:16px;border-left:2px solid var(--line);padding-left:40px;position:relative;transition:border-color .4s}
.etap::before{content:"";position:absolute;left:-9px;top:50%;width:16px;height:16px;border-radius:50%;background:var(--ink);border:2px solid var(--mute);transition:all .4s}
.etap.tek{border-color:var(--acid)}.etap.tek::before{background:var(--acid);border-color:var(--acid);box-shadow:0 0 0 8px rgba(204,255,0,.15)}
.etap .vr{font:600 14px var(--tekst);letter-spacing:.16em;color:var(--mute);text-transform:uppercase}
.etap h3{font:800 clamp(40px,4.6vw,72px)/.92 var(--zag)}
.etap p{max-width:44ch;color:#cfcdc8}
@media (max-width:860px){
 .chas{grid-template-columns:1fr;gap:0}
 .chas .lev{top:64px;height:auto;z-index:4;background:rgba(8,8,10,.92);padding:14px 0 12px;margin:0 calc(var(--pole)*-1);padding-left:var(--pole);padding-right:var(--pole);flex-direction:row;align-items:center;gap:18px}
 .chas .min{font-size:64px}.chas .shk{flex:1;margin-top:0}.chas .lev .melko{display:none}
 .etap{min-height:auto;padding:56px 0 56px 26px}
}

/* 5. результат: чек печатается */
.chek-r{display:grid;grid-template-columns:1fr 420px;gap:64px;align-items:center}
.chek{background:var(--bone);color:var(--ink);padding:36px 32px 48px;font-size:16px;position:relative;
 -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/20px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/20px 100%;
 clip-path:inset(0 0 100% 0);transition:clip-path 1.2s steps(10)}
.chek-r.vidno .chek{clip-path:inset(0 0 0 0)}
.chek .zag{font:900 34px/1 var(--zag);text-align:center;text-transform:uppercase}
.chek .pod{text-align:center;font-size:13px;color:#555;margin:6px 0 20px}
.chek .s{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1.5px dashed rgba(8,8,10,.3)}
.chek .s svg{width:30px;flex:none}
.chek .itogo{display:flex;justify-content:space-between;font:900 30px var(--zag);border-top:3px solid var(--ink);padding-top:14px;margin-top:8px}
.chek .shtrih{height:44px;margin-top:22px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 5px,var(--ink) 5px 6px,transparent 6px 10px,var(--ink) 10px 13px,transparent 13px 15px)}
@media (max-width:860px){.chek-r{grid-template-columns:1fr;gap:32px}}

/* 6. формат: посадочный талон */
.talon{display:grid;grid-template-columns:1fr 240px;background:var(--ink2);border:1px solid var(--line);border-radius:28px;overflow:hidden;position:relative}
.talon .osn{padding:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px 32px}
.talon .osn .zag{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px}
.talon dt{font:600 12px var(--tekst);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.talon dd{font:800 clamp(28px,2.6vw,40px)/1 var(--zag);margin-top:8px}
.talon dd small{display:block;font:400 14px var(--tekst);color:#cfcdc8;margin-top:6px}
.talon .koreshok{border-left:2px dashed rgba(237,235,230,.25);padding:40px 28px;display:flex;flex-direction:column;justify-content:space-between;background:var(--acid);color:var(--ink);transition:transform .6s var(--ease);transform-origin:top left}
.talon:hover .koreshok{transform:rotate(4deg) translate(6px,6px)}
.talon .koreshok b{font:900 64px/.8 var(--zag)}
.talon::before,.talon::after{content:"";position:absolute;right:226px;width:28px;height:28px;border-radius:50%;background:var(--ink);z-index:2}
.talon::before{top:-14px}.talon::after{bottom:-14px}
@media (max-width:860px){.talon{grid-template-columns:1fr}.talon .osn{grid-template-columns:1fr 1fr;padding:26px}.talon .koreshok{border-left:0;border-top:2px dashed rgba(8,8,10,.3);flex-direction:row;align-items:center;padding:22px 26px}.talon::before,.talon::after{display:none}.talon .koreshok b{font-size:44px}.talon .koreshok .metka{display:none}.talon .koreshok{justify-content:space-between;gap:20px}.talon .koreshok span{max-width:16ch;text-align:right}}

/* 7. цена против рынка: шкала с отметкой */
.rynok .shkala{position:relative;height:200px;margin-top:40px}
.rynok .os{position:absolute;left:0;right:0;top:120px;height:2px;background:rgba(237,235,230,.2)}
.rynok .os i{position:absolute;top:-6px;width:1px;height:14px;background:rgba(237,235,230,.3)}
.rynok .os i span{position:absolute;top:22px;left:50%;transform:translateX(-50%);font-size:13px;color:var(--mute);white-space:nowrap}
.rynok .zona{position:absolute;top:104px;height:34px;border-radius:8px;background:rgba(108,75,255,.35);border:1px solid rgba(108,75,255,.8)}
.rynok .zona p{position:absolute;bottom:44px;left:0;font-size:14px;color:#cfcdc8;white-space:nowrap}
.rynok .my{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform 1.2s var(--ease),opacity .6s}
.v-js .rynok:not(.vidno) .my{transform:translate(-50%,-40px);opacity:0}
.rynok .my b{font:900 48px/1 var(--zag);color:var(--acid)}
.rynok .my i{width:3px;height:70px;background:var(--acid);box-shadow:0 0 14px rgba(204,255,0,.7)}
.rynok .os i:last-child span{transform:translateX(-100%)}
@media (max-width:760px){.rynok .shkala{height:260px}.rynok .os{top:120px}.rynok .zona{top:104px}.rynok .zona p{bottom:auto;top:62px;white-space:normal;width:130px;font-size:13px}.rynok .zona:nth-child(3) p{right:0;left:auto;text-align:right}.rynok .my{top:0}.rynok .my b{font-size:36px}.rynok .os i span{display:none}}

/* 8. вопросы: крупные строки, ответ проявляется сканом */
.vopr details{border-top:1px solid var(--line)}
.vopr details:last-child{border-bottom:1px solid var(--line)}
.vopr summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 56px;gap:20px;align-items:center;min-height:88px;padding:18px 0;font:700 clamp(26px,2.6vw,40px)/1.05 var(--zag)}
.vopr summary::-webkit-details-marker{display:none}
.vopr summary i{width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(237,235,230,.3);display:grid;place-items:center;font-style:normal;font-size:26px;transition:transform .4s var(--ease),background .3s}
.vopr details[open] summary i{transform:rotate(45deg);background:var(--acid);color:var(--ink);border-color:var(--acid)}
.vopr details p{padding:0 80px 28px 0;font-size:19px;color:#cfcdc8;max-width:62ch;position:relative}
.vopr details[open] p{animation:skn .7s var(--ease)}
@keyframes skn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.vopr .ramka{color:var(--acid)}
@media (max-width:760px){.vopr summary{grid-template-columns:1fr 46px;min-height:72px}.vopr summary i{width:46px;height:46px}.vopr details p{padding-right:0}}

/* 9. заявка: круг заполняется как час */
.finl{display:grid;place-items:center;text-align:center;padding:120px 0 180px}
.krug{--p:0;width:min(560px,86vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--acid) calc(var(--p)*1%),rgba(237,235,230,.08) 0);position:relative}
.krug::before{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--ink)}
.krug>div{position:relative;display:grid;gap:22px;justify-items:center;padding:40px}
.krug .d3{max-width:12ch}
