/* ===== Цветовые варианты (примерка): mono по умолчанию ===== */
:root{
  --bg:#0e0e0e; --bg2:#161616; --line:#2a2a2a; --ink:#f2f2f0; --ink2:#a3a3a0; --ink3:#8a8a86;
  --acc:#f2f2f0; --on-acc:#0e0e0e; --light:#ededeb; --on-light:#111; --mute-light:#6a6a66; --line-light:#cfcfcb;
  --e1:currentColor; --e2:currentColor;
  --f-d:"Oswald","Arial Narrow",sans-serif; --f-b:"Onest",system-ui,sans-serif; --f-m:"JetBrains Mono",ui-monospace,monospace;
  --pad:32px;
}
:root[data-pal=brand]{--acc:#2bea1a;--on-acc:#0b0b0b;--e1:#1f4bff;--e2:#2bea1a}
:root[data-pal=acid]{--acc:#d4ff1e;--on-acc:#0b0b0b;--light:#eef0e6;--e2:#d4ff1e}
:root[data-pal=steel]{--bg:#0b0d10;--bg2:#12161b;--line:#252b33;--ink:#eef2f7;--ink2:#9aa4b2;--ink3:#8592a3;--acc:#8fb6ff;--on-acc:#0b0d10;--light:#e8ecf1;--line-light:#c9d0da;--e1:#8fb6ff}
:root[data-pal=orange]{--bg:#0f0e0c;--bg2:#181613;--line:#2b2823;--ink:#f1ece4;--ink2:#a59d91;--ink3:#8d867b;--acc:#ff5a1f;--on-acc:#160a04;--light:#e7e2d9;--line-light:#cdc5b8;--e1:#ff5a1f;--e2:#ff5a1f}

/* Кардинальные варианты (12.11): красный гараж, неон, золото, светлый «бумага» */
:root[data-pal=red]{--bg:#0b0909;--bg2:#151011;--line:#2e2223;--ink:#f5efee;--ink2:#b3a5a4;--ink3:#97898a;--acc:#e3121f;--on-acc:#fff;--light:#f2ebe9;--on-light:#140c0c;--mute-light:#7a6463;--line-light:#dccdcb;--e1:#e3121f;--e2:#e3121f}
:root[data-pal=neon]{--bg:#08091a;--bg2:#10122b;--line:#252a52;--ink:#eef0ff;--ink2:#a6abd9;--ink3:#8d92c4;--acc:#00e5ff;--on-acc:#04051a;--light:#e8eaff;--on-light:#0a0b22;--mute-light:#575c8c;--line-light:#c6caf0;--e1:#ff2bd6;--e2:#00e5ff}
:root[data-pal=gold]{--bg:#0d0b08;--bg2:#17140f;--line:#2f2a20;--ink:#f4ede0;--ink2:#b3a88f;--ink3:#988d76;--acc:#d9a84e;--on-acc:#140f05;--light:#efe7d6;--on-light:#16120a;--mute-light:#7d7259;--line-light:#d8ccb2;--e1:#d9a84e;--e2:#d9a84e}
:root[data-pal=paper]{--bg:#f3f1ec;--bg2:#e8e5de;--line:#d3cfc5;--ink:#121212;--ink2:#56534d;--ink3:#6b675f;--acc:#121212;--on-acc:#f3f1ec;--light:#141414;--on-light:#f1efe9;--mute-light:#a7a39a;--line-light:#3a3a3a;--e1:#121212;--e2:#121212}
:root[data-pal=paper] .hero,:root[data-pal=paper] .top:not(.on-light):not(.scrolled-light){--ink:#f2f2f0;--ink2:#cfcfcb;--ink3:#bdbdb8;--line:rgba(255,255,255,.22);--acc:#f2f2f0;--on-acc:#111;--bg:#0e0e0e}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--f-b);-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background .4s}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
h1,h2,h3{margin:0;font-family:var(--f-d);text-transform:uppercase;font-weight:700;line-height:1.1}
h1 em,h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.light h2 em,.light h1 em{-webkit-text-stroke-color:var(--on-light)}
.tag{font:500 12px var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);display:flex;gap:10px;align-items:center}
.tag::before{content:"";width:28px;height:1px;background:var(--acc)}
.label{display:flex;justify-content:space-between;gap:12px;font:500 12px var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);border-top:1px solid var(--line);padding-top:12px;margin-bottom:44px}
.light .label{color:var(--mute-light);border-color:var(--line-light)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--acc);color:var(--on-acc);padding:14px 22px;font:600 15px var(--f-d);letter-spacing:.06em;text-transform:uppercase;border:0;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--acc),0 0 0 5px var(--bg),0 0 0 6px var(--acc)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink3)}
.btn.ghost:hover{border-color:var(--ink);box-shadow:none}

/* появление блоков */
[data-r]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
[data-r].in{opacity:1;transform:none}
/* первый экран проявляется сразу, не дожидаясь загрузки 3D */
.hero [data-r]{opacity:1;transform:none;transition:none;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero [data-r]:nth-child(2){animation-delay:.12s}.hero [data-r]:nth-child(3){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}}

/* шапка */
.top{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:28px;padding:14px var(--pad);
  background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);transition:transform .35s}
.top.hide{transform:translateY(-100%)}
.logo{display:block;color:var(--ink)}
.logo svg,.big-logo svg{display:block;fill:currentColor}
.logo svg{height:24px;width:auto}
.e1{fill:var(--e1)}.e2{fill:var(--e2)}
.top nav{display:flex;gap:26px;margin-left:auto;font:500 13px var(--f-m);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2)}
.top nav a{position:relative}
.top nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--acc);transition:right .25s}
.top nav a:hover{color:var(--ink)}.top nav a:hover::after{right:0}
.tg{border:1px solid var(--ink3);padding:9px 14px;font:500 13px var(--f-m);letter-spacing:.06em;text-transform:uppercase}
.tg:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* ===== ГЛАВНАЯ ===== */
.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1;transition:opacity .6s}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 80%,transparent) 0%,transparent 55%),linear-gradient(0deg,var(--bg) 0%,transparent 30%);transition:opacity .6s}
.hero-copy{position:absolute;left:var(--pad);bottom:13vh;display:flex;flex-direction:column;gap:22px;max-width:680px;transition:opacity .5s,transform .5s}
.hero h1{font-size:clamp(44px,5.6vw,100px);letter-spacing:-.01em;line-height:1.08}
.hero h1 span{display:block;white-space:nowrap}
.hero h1 .o{color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap}
.stages{position:absolute;right:var(--pad);bottom:13vh;display:flex;gap:18px;font:500 11px var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);padding-bottom:12px;transition:all .5s}
.stages span{transition:color .3s}
.stages span.on{color:var(--ink)}
.stages i{position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--acc)}
.stages::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);z-index:-1}
.close-watch{position:absolute;top:84px;right:var(--pad);width:44px;height:44px;border:1px solid var(--ink3);background:transparent;font-size:18px;opacity:0;pointer-events:none;transition:opacity .4s}
body.watching .hero-copy{opacity:0;transform:translateY(20px);pointer-events:none}
body.watching .hero::after{opacity:.2}
body.watching .stages{right:50%;transform:translateX(50%);font-size:13px;gap:28px}
body.watching .close-watch{opacity:1;pointer-events:auto}

.marquee{overflow:hidden;border-block:1px solid var(--line);padding:16px 0;background:var(--bg)}
.marquee div{display:flex;gap:44px;width:max-content;white-space:nowrap;animation:run 40s linear infinite;font:600 26px var(--f-d);text-transform:uppercase;letter-spacing:.04em}
.marquee span{color:transparent;-webkit-text-stroke:1px var(--ink3)}
.marquee span:nth-child(3n){color:var(--ink);-webkit-text-stroke:0}
.marquee em{font-style:normal;color:var(--acc)}
@keyframes run{to{transform:translateX(-50%)}}

.about,.range,.models,.reviews{padding:120px var(--pad)}
.light{background:var(--light);color:var(--on-light);transition:background .4s}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:start}
.about-copy{display:flex;flex-direction:column;gap:22px}
.about h2,.models h2,.reviews h2{font-size:clamp(42px,5.4vw,88px)}
.about h2{font-size:clamp(34px,3.9vw,66px)}
.about p{margin:0;font-size:18px;color:#3c3c39;max-width:52ch}.about p strong{color:var(--on-light)}
.about p.small{font-size:15px;color:var(--mute-light);border-left:2px solid var(--on-light);padding-left:14px}
.nums{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 40px;margin-top:6px}
.nums div{display:flex;flex-wrap:wrap;align-items:baseline}
.nums b{font:700 clamp(46px,5vw,76px)/1 var(--f-d)}
.nums span{flex-basis:100%;font:400 11px var(--f-m);text-transform:uppercase;letter-spacing:.1em;color:var(--mute-light);margin-top:6px}
.social{display:flex;gap:18px;flex-wrap:wrap;font:500 13px var(--f-m);text-transform:uppercase;letter-spacing:.06em}
.social a{border-bottom:1px solid currentColor;padding-bottom:3px;opacity:.75}.social a:hover{opacity:1}

.origin{background:#fff;border:1px solid var(--line-light);display:flex;flex-direction:column}
.origin-scene{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(#fff,#f4f4f2)}
#wheelie{position:absolute;max-width:none;will-change:transform;filter:drop-shadow(0 14px 10px rgba(0,0,0,.25))}
.ground{position:absolute;left:0;right:0;height:1px;background:#bdbdb8}
#sparks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.angle{position:absolute;left:16px;top:14px}
.angle b{display:block;font:700 34px/1 var(--f-d);color:var(--on-light)}
.angle span{font:400 10px var(--f-m);text-transform:uppercase;letter-spacing:.1em;color:var(--mute-light)}
.origin-text{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line-light)}
.kicker{font:500 11px var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--mute-light)}
.origin h3{font-size:clamp(26px,2.4vw,36px);line-height:1}
.origin p{margin:0;font-size:15px;color:#3c3c39}
.more{align-self:flex-start;font:600 14px var(--f-d);letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--on-light);padding-bottom:2px;margin-top:4px}

.range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.rcard{background:var(--bg);padding:30px;display:flex;flex-direction:column;gap:14px;min-height:300px;transition:background .3s,color .3s}
.rcard span{font:500 12px var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.rcard h3{font-size:52px}
.rcard p{margin:0;color:var(--ink2);flex:1}
.rcard strong{font:600 15px var(--f-d);letter-spacing:.06em;text-transform:uppercase}
a.rcard:hover{background:var(--acc);color:var(--on-acc)}a.rcard:hover p,a.rcard:hover span{color:var(--on-acc)}
.rcard.soon h3{color:transparent;-webkit-text-stroke:1px var(--ink2)}
.rcard strong{margin-top:auto}
.rcard.has-img{position:relative;overflow:hidden}
.rcard.has-img>*:not(.rcard-img){position:relative;z-index:1}
.rcard.has-img>p,.rcard.has-img>strong{max-width:56%}
.rcard-img{position:absolute;right:-3%;bottom:-14%;transform:rotate(-8deg);width:44%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55));transition:transform .4s}
.rcard.has-img:hover .rcard-img{transform:rotate(-4deg) translateY(-6px) scale(1.04)}
@media (max-width:980px){.rcard.has-img{min-height:200px}}
@media (min-width:981px){.range-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.range-grid>a.rcard{grid-row:span 2}.range-grid .rcard.soon{min-height:220px}}
@media (min-width:981px){.range-grid{grid-template-columns:1.2fr 1fr 1fr}}

.models-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:34px}
.filter{display:flex;flex-direction:column;gap:12px;align-items:flex-end;flex:1;min-width:280px}
.brands{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.brands button{border:1px solid var(--line);background:none;padding:8px 14px;font:500 12px var(--f-m);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2)}
.brands button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.search{width:min(420px,100%)}
.search input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--ink3);padding:10px 0;color:var(--ink);font:500 16px var(--f-b);outline:none}
.search input:focus{border-color:var(--ink)}
.mgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.mcard{position:relative;background:var(--bg);min-height:190px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;overflow:hidden;transition:background .25s,color .25s}
.mcard small{font:400 11px var(--f-m);text-transform:uppercase;letter-spacing:.1em;color:var(--ink3)}
.mcard b{font:700 clamp(24px,2.1vw,32px)/1 var(--f-d);text-transform:uppercase}
.mcard .go{display:flex;justify-content:space-between;align-items:center;font:500 11px var(--f-m);text-transform:uppercase;letter-spacing:.1em;color:var(--ink3)}
.mcard .go i{font-style:normal;font-size:20px;color:var(--ink);transition:transform .25s}
.mcard:hover{background:var(--ink);color:var(--bg)}
.mcard:hover small,.mcard:hover .go{color:var(--ink3)}.mcard:hover .go i{color:var(--bg);transform:translate(3px,-3px)}
.mcard.sig{grid-column:span 2;grid-row:span 2;min-height:400px}
.mcard.sig img{position:absolute;right:-4%;bottom:12%;width:92%;object-fit:contain;transition:transform .6s cubic-bezier(.2,.7,.2,1);transform-origin:80% 84%}
.mcard.sig:hover img{transform:rotate(14deg)}
.mcard.sig .badge{align-self:flex-start;background:var(--acc);color:var(--on-acc);font:600 11px var(--f-m);letter-spacing:.1em;text-transform:uppercase;padding:5px 9px}
.mcard.sig b{font-size:clamp(34px,3.6vw,56px);position:relative}
.mcard.sig:hover{background:var(--bg2);color:var(--ink)}.mcard.sig:hover .go i{color:var(--ink)}
.mgrid .none{grid-column:1/-1;background:var(--bg);padding:30px;color:var(--ink3);font:400 13px var(--f-m)}

.reviews h2{margin-bottom:44px}
.cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:18px;background:#fff;border:1px solid var(--line-light);padding:16px}
.case>img{width:100%;aspect-ratio:3/4;object-fit:cover}
.case div{display:flex;flex-direction:column;gap:8px}
.case small{font:400 11px var(--f-m);text-transform:uppercase;letter-spacing:.1em;color:var(--mute-light)}
.case h3{font-size:30px}
.case .by{margin:0;color:var(--mute-light);font-size:13px}
.case .shot{width:100%;margin-top:auto;border:1px solid var(--line-light)}

footer{background:var(--bg);padding:70px var(--pad) 40px;color:var(--ink3);font-size:13px;overflow:hidden}
.big-logo{color:var(--bg2);margin-bottom:34px}
.big-logo svg{width:100%;height:auto}
.big-logo .e1,.big-logo .e2{fill:currentColor}
:root[data-pal=brand] .big-logo .e1{fill:var(--e1)}:root[data-pal=brand] .big-logo .e2{fill:var(--e2)}
.foot-row{display:flex;gap:40px;align-items:flex-start;flex-wrap:wrap;justify-content:space-between}
.foot-row p{margin:0}

/* переключатель цветов (примерка) */
.palette{position:fixed;left:16px;bottom:16px;z-index:40;font:500 12px var(--f-m)}
.pal-open{background:var(--ink);color:var(--bg);border:0;padding:9px 13px;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.pal-list{position:absolute;left:0;bottom:calc(100% + 8px);background:var(--bg2);border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:4px;min-width:230px;box-shadow:0 16px 40px rgba(0,0,0,.45)}
.pal-list[hidden]{display:none}
.pal-list small{color:var(--ink3);padding:2px 4px 6px;font-size:11px}
.pal-list button{display:flex;gap:10px;align-items:center;background:none;border:1px solid transparent;padding:7px 8px;text-align:left;color:var(--ink2)}
.pal-list button[aria-pressed=true]{border-color:var(--ink3);color:var(--ink)}
.pal-list i{width:34px;height:14px;flex:none;border:1px solid #444}
.sw-mono{background:linear-gradient(90deg,#0e0e0e 50%,#f2f2f0 50%)}
.sw-red{background:linear-gradient(90deg,#0b0909 50%,#e3121f 50%)}.sw-neon{background:linear-gradient(90deg,#08091a 34%,#ff2bd6 34% 67%,#00e5ff 67%)}.sw-gold{background:linear-gradient(90deg,#0d0b08 50%,#d9a84e 50%)}.sw-paper{background:linear-gradient(90deg,#f3f1ec 50%,#121212 50%)}
.sw-brand{background:linear-gradient(90deg,#0e0e0e 34%,#1f4bff 34% 67%,#2bea1a 67%)}
.sw-acid{background:linear-gradient(90deg,#0b0b0b 50%,#d4ff1e 50%)}
.sw-steel{background:linear-gradient(90deg,#0b0d10 50%,#8fb6ff 50%)}
.sw-orange{background:linear-gradient(90deg,#0f0e0c 50%,#ff5a1f 50%)}

/* ===== СТРАНИЦА МОДЕЛИ ===== */
.viewer{min-height:100svh;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr) 260px;gap:28px;padding:84px var(--pad) 24px;position:relative;
  background:radial-gradient(55% 50% at 55% 55%,color-mix(in srgb,var(--acc) 9%,transparent),transparent 70%)}
.back{position:absolute;top:80px;left:var(--pad);font:400 12px var(--f-m);color:var(--ink3);text-transform:uppercase;letter-spacing:.08em}
.back:hover{color:var(--ink)}
.v-copy{align-self:center;display:flex;flex-direction:column;gap:18px}
.v-copy h1{font-size:clamp(56px,7vw,120px)}
.v-copy p{margin:0;color:var(--ink2)}
.fit{font-size:13px;color:var(--ink3);border-left:2px solid var(--acc);padding-left:12px;line-height:1.6}.fit b{color:var(--ink)}
.stage{position:relative;min-height:520px;cursor:grab;outline:none}
.stage:active{cursor:grabbing}
.stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.stage .hint{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);font:400 11px var(--f-m);color:var(--ink3);white-space:nowrap}
.stage .photo{position:absolute;inset:6% 4%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px dashed var(--line);color:var(--ink3);font:400 12px var(--f-m);text-align:center;padding:20px}
.stage .photo b{font:700 40px var(--f-d);color:var(--ink2);text-transform:uppercase}
.tools{position:absolute;right:0;top:4%;display:flex;flex-direction:column;gap:6px;z-index:3;align-items:flex-end}
.tools button{background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(6px);border:1px solid var(--line);padding:6px 10px;font:500 12px var(--f-m);color:var(--ink2);min-width:34px}
.tools button:hover,.tools button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}
.tools .sep{height:6px}
.dot{position:absolute;z-index:2;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:0;padding:0;background:rgba(255,90,31,.22);display:grid;place-items:center}
.dot::before{content:"";width:8px;height:8px;border-radius:50%;background:#ff5a1f;box-shadow:0 0 0 2px #0e0e0e}
.dot::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid #ff5a1f;animation:ping 1.8s ease-out infinite}
.dot[aria-pressed=true]{background:#ff5a1f}
@keyframes ping{from{transform:scale(.6);opacity:1}to{transform:scale(1.9);opacity:0}}
.pop{position:absolute;z-index:4;transform:translate(-50%,calc(-100% - 18px));background:var(--ink);color:var(--bg);padding:9px 12px;max-width:220px;font-size:13px;line-height:1.35;pointer-events:none}
.pop b{display:block;font:600 14px var(--f-d);text-transform:uppercase;letter-spacing:.04em}
.paint{align-self:center;display:flex;flex-direction:column;gap:14px}
.paint h3{font:500 12px var(--f-m);letter-spacing:.14em;color:var(--ink2)}
.ptype{display:flex;gap:4px;flex-wrap:wrap}
.ptype button{border:1px solid var(--line);background:none;padding:6px 9px;font:500 12px var(--f-m);color:var(--ink2)}
.ptype button[aria-pressed=true]{border-color:var(--ink);color:var(--bg);background:var(--ink)}
.zone{display:flex;flex-direction:column;gap:8px}
.zone[hidden]{display:none}
.zone small{font:400 11px var(--f-m);color:var(--ink3);text-transform:uppercase;letter-spacing:.1em}
.sw{display:grid;grid-template-columns:repeat(5,30px);gap:9px}
.sw button{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.18);padding:0;position:relative;transition:transform .15s;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.55),transparent 38%),var(--c)}
.sw button:hover{transform:scale(1.12)}
.sw button[aria-pressed=true]::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--ink)}
.named{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink2)}
.named input{accent-color:var(--ink)}
.nick{background:none;border:1px solid var(--line);padding:9px 10px;color:var(--ink);font:500 14px var(--f-m)}
.paint .name{font:600 18px var(--f-d);text-transform:uppercase;letter-spacing:.04em}
.price{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:10px}
.price small{font:400 11px var(--f-m);color:var(--ink3);text-transform:uppercase;letter-spacing:.1em}
.price b{font:700 34px var(--f-d)}.price span{font-size:12px;color:var(--ink3)}
.order{padding:100px var(--pad)}
.order h2{font-size:clamp(40px,5vw,80px);margin-bottom:36px}
.oform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;max-width:860px}
.oform label{display:flex;flex-direction:column;gap:6px;font:500 12px var(--f-m);text-transform:uppercase;letter-spacing:.08em;color:var(--mute-light)}
.oform input{background:#fff;border:1px solid var(--line-light);padding:12px;font:500 16px var(--f-b);color:var(--on-light);box-sizing:border-box}
.oform input:not([type=checkbox]){width:100%}
.oform .chk input{width:22px;height:22px;flex:none;margin:0 10px 0 0}
.oform .ref-pick{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font:500 15px var(--f-b);color:var(--on-light)}
.oform .ref-pick label{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font:500 15px var(--f-b);color:var(--on-light)}
.oform .ref-pick input{width:20px;height:20px}
.oform .ref-pick output{flex-basis:100%;font-size:13px;color:var(--mute-light)}
.oform .opt{text-transform:none;letter-spacing:0;opacity:.7}
.oform .wide{grid-column:1/-1}
.oform .chk{flex-direction:row;align-items:center;text-transform:none;letter-spacing:0;font:400 14px var(--f-b)}
.oform .map{align-self:flex-start;background:none;border:1px dashed var(--mute-light);padding:8px 12px;color:var(--mute-light);font:500 12px var(--f-m)}
.oform .btn{background:var(--on-light);color:var(--light);justify-self:start}
.oform .pay-note{grid-column:1/-1;margin:0;font-size:13px;color:var(--mute-light)}
.oform .ok{grid-column:1/-1;margin:0;font-weight:500}


/* ===== воронка: каталог с фото, как заказать, вопросы, финал, липкая кнопка ===== */
.mcard img:not(.sig img){width:100%;height:150px;object-fit:contain;background:#fff;margin:-20px -20px 0;width:calc(100% + 40px);padding:12px;transition:transform .5s}
.mcard:not(.sig):hover img{transform:scale(1.04)}
.mcard:not(.sig){justify-content:flex-start}
.mcard:not(.sig) .go{margin-top:auto}
.how{padding:120px var(--pad);background:var(--bg)}
.how h2{font-size:clamp(42px,5.4vw,88px);margin-bottom:44px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);counter-reset:s}
.steps li{background:var(--bg);padding:26px 24px 30px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.steps li span{font:700 64px/1 var(--f-d);color:transparent;-webkit-text-stroke:1px var(--ink3)}
.steps li b{font:600 22px var(--f-d);text-transform:uppercase;letter-spacing:.03em}
.steps li p{margin:0;color:var(--ink2);font-size:14px}
.steps li::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--acc);transition:width .8s .3s}
.steps li.in::after{width:100%}
.how-cta{margin-top:30px}
.faq{padding:120px var(--pad)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px;align-items:start}
.faq h2{font-size:clamp(42px,5.4vw,88px);position:sticky;top:90px}
.faq-list{border-top:1px solid var(--line-light)}
.faq-list details{border-bottom:1px solid var(--line-light)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;font:600 20px var(--f-d);text-transform:uppercase;letter-spacing:.02em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{width:14px;height:14px;position:relative;flex:none}
.faq-list summary i::before,.faq-list summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transition:transform .3s}
.faq-list summary i::after{transform:rotate(90deg)}
.faq-list details[open] summary i::after{transform:rotate(0)}
.faq-list details div{padding:0 0 22px;max-width:62ch}
.faq-list details p{margin:0 0 8px;color:#3c3c39;font-size:16px}
.todo{display:inline-block;border:1px dashed #b4552a;color:#b4552a!important;padding:6px 10px;font:500 12px var(--f-m)!important}
.final{padding:130px var(--pad);text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px;background:radial-gradient(60% 70% at 50% 100%,color-mix(in srgb,var(--acc) 10%,transparent),transparent 70%),var(--bg)}
.final h2{font-size:clamp(42px,6vw,104px)}
.final-search{display:flex;width:min(560px,100%);border:1px solid var(--ink3)}
.final-search input{flex:1;min-width:0;background:none;border:0;padding:16px;color:var(--ink);font:500 16px var(--f-b);outline:none}
.final p{margin:0;color:var(--ink2)}.final p a{color:var(--ink);border-bottom:1px solid}
.range{padding-top:80px}
.sticky-cta{display:none}
@media (max-width:980px){
  .steps{grid-template-columns:1fr}
  .steps li{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:18px 16px}
  .steps li span{font-size:40px}
  .steps li p{flex-basis:100%}
  .how,.faq{padding:80px var(--pad)}
  .faq-grid{grid-template-columns:1fr;gap:20px}
  .faq h2{position:static}
  .faq-list summary{font-size:17px;padding:16px 0}
  .final{padding:90px var(--pad)}
  .mcard img:not(.sig img){height:120px;margin:-14px -14px 0;width:calc(100% + 28px)}
  .sticky-cta{display:flex;justify-content:center;position:fixed;left:12px;right:12px;bottom:12px;z-index:35;background:var(--acc);color:var(--on-acc);padding:15px;font:600 15px var(--f-d);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.45);transform:translateY(140%);transition:transform .35s}
  .sticky-cta.show{transform:none}
  .palette{bottom:80px}
}


/* страница модели: фото самоката, «что получаешь», другие модели */
.stage .scooter{position:absolute;inset:4% 2%;margin:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}
.stage .scooter img{max-width:100%;max-height:88%;object-fit:contain;background:#fff;padding:18px}
.stage .scooter figcaption{font:400 11px var(--f-m);color:var(--ink3);text-transform:uppercase;letter-spacing:.08em}
.get{padding:100px var(--pad) 40px}
.get-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.get-grid div{background:var(--bg);padding:24px;display:flex;flex-direction:column;gap:8px}
.get-grid small{font:400 11px var(--f-m);text-transform:uppercase;letter-spacing:.1em;color:var(--ink3)}
.get-grid b{font:700 28px var(--f-d);text-transform:uppercase}
.get-grid p{margin:0;color:var(--ink2);font-size:14px}
.get-grid .todo,.price .todo{color:#e08a5c!important;border-color:#e08a5c}
.model .how{padding-top:60px}
.others{padding:100px var(--pad)}
.others .label a{color:var(--ink)}
.others-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.others-row .mcard{min-height:230px}
.others-note{margin:24px 0 0;color:var(--ink2)}.others-note a{color:var(--ink);border-bottom:1px solid}
@media (max-width:980px){
  .get{padding:70px var(--pad) 30px}
  .get-grid{grid-template-columns:1fr 1fr}
  .get-grid div{padding:16px}.get-grid b{font-size:22px}
  .others{padding:70px var(--pad)}
  .others-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
  .others-row .mcard{flex:0 0 62%;scroll-snap-align:start}
}


/* ===== интерактив: подсветка всего, на что можно нажать ===== */
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.light :focus-visible{outline-color:var(--on-light)}
.btn.ghost:hover{background:var(--ink);color:var(--bg)}
.brands button{transition:border-color .2s,color .2s,background .2s}
.brands button:hover{border-color:var(--ink);color:var(--ink)}
.brands button[aria-pressed=true]:hover{color:var(--bg)}
.ptype button{transition:border-color .2s,color .2s,background .2s}
.ptype button:hover{border-color:var(--ink);color:var(--ink)}
.ptype button[aria-pressed=true]:hover{color:var(--bg)}
.pal-open{transition:transform .2s}.pal-open:hover{transform:translateY(-2px)}
.pal-list button:hover{border-color:var(--line);color:var(--ink);background:var(--bg)}
.more{transition:letter-spacing .25s,opacity .2s}.more:hover{letter-spacing:.1em}
.social a{transition:opacity .2s,border-color .2s}
.faq-list summary{transition:padding-left .25s,color .2s}
.faq-list summary:hover{padding-left:8px}
.light .faq-list summary:hover{color:#000}
.final p a,.others-note a,.others .label a{transition:opacity .2s}.final p a:hover,.others-note a:hover,.others .label a:hover{opacity:.7}
.final-search{transition:border-color .2s}.final-search:focus-within{border-color:var(--ink)}
.search input:hover{border-color:var(--ink2)}
.oform input{transition:border-color .2s,box-shadow .2s}
.oform input:hover{border-color:var(--mute-light)}
.oform input:focus{outline:none;border-color:var(--on-light);box-shadow:0 0 0 3px rgba(0,0,0,.08)}
.oform .map:not(:disabled):hover{border-style:solid}
.oform .btn:hover{box-shadow:0 0 0 1px var(--on-light),0 0 0 5px var(--light),0 0 0 6px var(--on-light)}
.close-watch:hover{background:var(--ink);color:var(--bg)}
.nick:focus{outline:none;border-color:var(--ink)}
.case{transition:transform .3s,box-shadow .3s}.case:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.08)}
.origin{transition:box-shadow .3s}.origin:hover{box-shadow:0 18px 40px rgba(0,0,0,.08)}
.steps li{transition:background .25s}.steps li:hover{background:var(--bg2)}
.get-grid div{transition:background .25s}.get-grid div:hover{background:var(--bg2)}
.rcard.soon{transition:background .3s}.rcard.soon:hover{background:var(--bg2)}
footer a{transition:color .2s}footer a:hover{color:var(--ink)}
.named{cursor:pointer}.named:hover{color:var(--ink)}
/* место под фото бугеля на странице модели */
.stage .photo{gap:14px;background:repeating-linear-gradient(135deg,transparent 0 14px,color-mix(in srgb,var(--ink) 3%,transparent) 14px 15px)}
.stage .photo svg{width:min(320px,70%);color:var(--ink3)}
.stage .photo b{font-size:clamp(28px,3vw,40px)}
.stage .photo span{max-width:38ch;line-height:1.5}

@media (prefers-reduced-motion:reduce){[data-r],.hero [data-r]{opacity:1;transform:none;transition:none;animation:none}.marquee div{animation:none}.dot::after{animation:none}html{scroll-behavior:auto}}

/* ===== ТЕЛЕФОН ===== */
@media (max-width:980px){
  :root{--pad:16px}
  .top{gap:12px;padding:12px var(--pad)}
  .logo svg{height:20px}
  .top nav{display:none}.tg{margin-left:auto;padding:8px 11px;font-size:12px}
  .hero-copy{bottom:8vh;right:var(--pad)}
  .hero h1{font-size:clamp(34px,10.4vw,64px)}
  .hero::after{background:linear-gradient(0deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 70%,transparent) 42%,transparent 70%)}
  .stages{left:var(--pad);right:var(--pad);top:70px;bottom:auto;justify-content:space-between;gap:6px;font-size:10px}
  body.watching .stages{right:var(--pad);transform:none;top:auto;bottom:10vh;font-size:11px;gap:6px}
  .close-watch{top:70px}
  body.watching .close-watch{top:auto;bottom:calc(10vh + 40px)}
  .marquee div{font-size:20px}
  .about,.range,.models,.reviews{padding:80px var(--pad)}
  .about-grid{grid-template-columns:1fr;gap:36px}
  .about p{font-size:16px}
  .nums{gap:12px 24px}
  .range-grid,.cases{grid-template-columns:1fr}
  .rcard{min-height:0}
  .filter{align-items:stretch}
  .brands{justify-content:flex-start}
  .mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mcard{min-height:150px;padding:14px}
  .mcard b{font-size:22px}
  .mcard.sig{grid-column:1/-1;grid-row:auto;min-height:300px}
  .case{grid-template-columns:1fr 1fr}
  .viewer{grid-template-columns:1fr;padding-top:70px;gap:12px}
  .back{top:66px}
  .v-copy{padding-top:28px;gap:12px}
  .v-copy h1{font-size:56px}
  .stage{min-height:0;height:80vw;max-height:460px;margin:0 calc(-1*var(--pad))}
  .stage .hint{display:none}
  .tools{top:auto;bottom:6px;right:auto;left:0;width:100%;flex-direction:row;overflow-x:auto;padding:0 var(--pad)}
  .tools .sep{width:4px;height:auto}
  .tools button{white-space:nowrap;flex:none}
  .sw{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
  .sw button{width:100%;height:auto;aspect-ratio:1}
  .order{padding:70px var(--pad)}
  .oform{grid-template-columns:1fr}
  .palette{left:auto;right:12px;bottom:12px}
  .pal-list{left:auto;right:0}
}

/* ===================================================================
   Правки по итогам проверки (школьник, покупатель, дизайнер, маркетолог)
   =================================================================== */
/* служебные пометки видны только при включённой галочке в «Цвета сайта» */
.todo{display:none!important}
:root[data-todo] .todo{display:inline-block!important;border:1px dashed #b4552a;color:#b4552a!important;padding:4px 8px;font:500 11px var(--f-m)!important;margin-top:4px}
.todo-toggle{display:flex;gap:8px;align-items:center;padding:8px 8px 2px;border-top:1px solid var(--line);margin-top:4px;color:var(--ink2);cursor:pointer}
.todo-toggle:hover{color:var(--ink)}
/* точки крепления — в цвет сайта */
.dot{background:color-mix(in srgb,var(--acc) 22%,transparent)}
.dot::before{background:var(--acc);box-shadow:0 0 0 2px var(--bg)}
.dot::after{border-color:var(--acc)}
.dot[aria-pressed=true]{background:var(--acc)}
/* первый экран: строка доверия */
.trust{display:flex;gap:22px;flex-wrap:wrap;font:400 12px var(--f-m);text-transform:uppercase;letter-spacing:.08em;color:var(--ink2)}
.trust b{font:700 18px var(--f-d);color:var(--ink);margin-right:4px;letter-spacing:.02em}
/* бегущая строка — ссылки на модели */
.marquee a{color:transparent;-webkit-text-stroke:1px var(--ink3);transition:color .2s,-webkit-text-stroke-color .2s}
.marquee a:nth-of-type(3n){color:var(--ink);-webkit-text-stroke:0}
.marquee a:hover{color:var(--acc);-webkit-text-stroke-color:var(--acc)}
.marquee:hover div{animation-play-state:paused}
/* ритм */
.models{padding-top:90px;padding-bottom:72px}
.how{padding-top:72px}
/* каталог */
.mcard .ph{display:block;background:var(--light);margin:-20px -20px 0;height:150px;padding:12px;overflow:hidden}
.mcard .ph img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;margin:0;padding:0;background:none;transition:transform .5s}
.mcard:hover .ph img{transform:scale(1.05)}
.mcard.ask{border:0;background:var(--bg2);justify-content:space-between}
.mcard.ask b{font-size:clamp(22px,1.8vw,28px)}
.mcard.ask:hover{background:var(--acc);color:var(--on-acc)}.mcard.ask:hover small,.mcard.ask:hover .go,.mcard.ask:hover .go i{color:var(--on-acc)}
.mcard.ask.wide{grid-column:1/-1;min-height:120px}
/* «О нас»: цифры не ломаются */
.nums{grid-template-columns:repeat(3,max-content)}
.nums b{white-space:nowrap}
/* отзывы — тёмный блок между каталогом и вопросами */
.reviews{background:var(--bg)}
.reviews .case{background:var(--bg2);border-color:var(--line)}
.reviews .case small,.reviews .case .by{color:var(--ink3)}
.case blockquote{margin:6px 0 4px;font:500 19px/1.35 var(--f-b);color:var(--ink)}
.reviews .case .shot{border-color:var(--line);opacity:.85}
.avito-more{display:inline-block;margin-top:26px;font:600 15px var(--f-d);letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:2px;transition:letter-spacing .25s}
.avito-more:hover{letter-spacing:.1em}
/* шапка: над светлыми блоками — светлая; меню-бургер */
.top.on-light{background:color-mix(in srgb,var(--light) 82%,transparent);color:var(--on-light);border-color:var(--line-light)}
.top.on-light .logo,.top.on-light nav,.top.on-light nav a:hover{color:var(--on-light)}
.top.on-light .tg{border-color:var(--on-light);color:var(--on-light)}
.top.on-light .tg:hover{background:var(--on-light);color:var(--light)}
.burger{display:none}
/* страница модели */
@media (min-width:981px){.viewer{grid-template-columns:minmax(0,.8fr) minmax(0,1.8fr) 280px}.stage{min-height:0;aspect-ratio:16/10;align-self:center}}
.eta{font:400 12px var(--f-m);color:var(--ink2);text-transform:uppercase;letter-spacing:.08em}
.price b{font-size:28px}
.price .ask{font:600 14px var(--f-d);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--ink);align-self:flex-start;margin-top:4px;transition:opacity .2s}
.price .ask:hover{opacity:.7}
.stage .photo svg .p-top,.stage .photo svg .p-bot{fill:#141416;stroke:var(--ink3);stroke-width:.6;transition:fill .35s}
.stage .photo svg .p-holes{fill:var(--bg)}
.stage .photo svg{width:min(420px,82%);color:inherit}
.order-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:28px;align-items:start;max-width:1200px}
.summary{background:#fff;border:1px solid var(--line-light);padding:22px;display:flex;flex-direction:column;gap:12px;position:sticky;top:90px}
.summary small{font:500 11px var(--f-m);text-transform:uppercase;letter-spacing:.12em;color:var(--mute-light)}
.summary dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px}
.summary dt{color:var(--mute-light)}
.summary dd{margin:0;font-weight:600;color:var(--on-light);text-align:right}
.summary .change{font:600 13px var(--f-d);letter-spacing:.06em;text-transform:uppercase;color:var(--on-light);border-bottom:1px solid;align-self:flex-start}
.sticky-cta.dark{background:var(--on-light);color:var(--light)}

@media (max-width:980px){
  .top{flex-wrap:wrap}
  .burger{display:grid;place-items:center;align-content:center;gap:5px;width:40px;height:38px;margin-left:auto;background:none;border:1px solid var(--ink3);padding:0 10px}
  .burger i{display:block;width:18px;height:1.5px;background:currentColor;transition:transform .25s}
  .top.open .burger i:first-child{transform:translateY(3.5px) rotate(45deg)}
  .top.open .burger i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .tg{margin-left:0}
  .top nav{display:none;order:5;flex-basis:100%;flex-direction:column;gap:0;margin:8px 0 0;font-size:15px}
  .top.open nav{display:flex}
  .top nav a{padding:13px 0;border-top:1px solid var(--line);color:var(--ink)}
  .top.on-light nav a{border-color:var(--line-light);color:var(--on-light)}
  .top.open{background:var(--bg)}
  .top.open.on-light{background:var(--light)}
  .palette{left:12px;right:auto;bottom:76px}
  .pal-open{padding:7px 10px;font-size:11px;opacity:.85}
  .hero-btns .btn{flex:1 1 100%;justify-content:center}
  .trust{gap:8px 16px;font-size:10px}.trust b{font-size:15px}
  h1 em,h2 em,.hero h1 .o{-webkit-text-stroke-width:1px}
  .steps li{display:grid;grid-template-columns:52px 1fr;gap:4px 12px;align-items:baseline}
  .steps li p{grid-column:2}
  .brands{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1*var(--pad));padding:0 var(--pad)}
  .brands::-webkit-scrollbar{display:none}
  .brands button{flex:none}
  .mcard .ph{margin:-14px -14px 0;height:120px}
  .nums{grid-template-columns:repeat(3,max-content);gap:10px 18px}
  .nums b{font-size:38px}
  .case blockquote{font-size:16px}
  .stage{aspect-ratio:auto;height:62vw;min-height:280px;max-height:420px}
  .tools{flex-wrap:wrap;justify-content:center;overflow:visible;bottom:4px}
  .order-wrap{grid-template-columns:1fr}
  .summary{position:static;order:-1}
  footer{padding-bottom:90px}
}

/* подписи этапов сборки ниже строки доверия */
.stages{bottom:4vh}
@media (max-width:1180px) and (min-width:981px){.stages{right:var(--pad);left:auto;bottom:3vh}.hero-copy{bottom:12vh}}
@media (max-width:1180px) and (min-width:981px){.viewer{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto auto}.v-copy{grid-column:1;grid-row:1;padding-top:30px}.stage{grid-column:1;grid-row:2}.paint{grid-column:2;grid-row:1/3}}
.stage .photo svg{width:min(460px,90%)}

@media (max-width:980px){
  .nums{grid-template-columns:1fr 1fr;gap:14px 18px}
  .nums div:nth-child(3){grid-column:1/-1}
  .nums b{font-size:40px}
  /* кнопка примерки цветов — узкий язычок у левого края, ничего не закрывает */
  .palette{left:0;bottom:auto;top:55%}
  .pal-open{writing-mode:vertical-rl;transform:rotate(180deg);padding:10px 5px;font-size:10px;opacity:.7}
  .pal-open:hover{transform:rotate(180deg)}
  .pal-list{left:34px;right:auto;bottom:auto;top:-60px}
}
@media (max-width:980px){.palette{left:auto;right:0;top:38%}.pal-open{opacity:.55}.pal-list{left:auto;right:34px}}

/* «О нас»: цифры переносятся, не наезжают на карточку с видео */
.nums{display:flex;flex-wrap:wrap;gap:16px 40px}
.nums div{flex:none}
/* стрелка «Купить бугель» на первом экране */
.buy-arrow{position:fixed;left:50%;bottom:22px;z-index:36;display:flex;flex-direction:column;align-items:center;gap:6px;
  transform:translate(-50%,30px);opacity:0;pointer-events:none;transition:opacity .5s,transform .5s cubic-bezier(.2,.7,.2,1);
  font:600 13px var(--f-d);letter-spacing:.12em;text-transform:uppercase;color:var(--on-acc)}
.buy-arrow span{background:var(--acc);padding:11px 18px;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .2s}
.buy-arrow i{font-style:normal;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--acc);font-size:18px;animation:hop 1.4s ease-in-out infinite}
.buy-arrow:hover span{transform:translateY(-2px)}
.buy-arrow.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.buy-arrow.gone{opacity:0;transform:translate(-50%,30px);pointer-events:none}
@keyframes hop{50%{transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.buy-arrow i{animation:none}}
/* «Купить бугель» — заметнее: крупнее, блик пробегает по кнопке, вокруг расходится волна */
.buy-arrow{font-size:16px;font-weight:700;letter-spacing:.14em;gap:8px}
.buy-arrow span{position:relative;overflow:hidden;white-space:nowrap;padding:16px 34px;border:2px solid var(--acc);box-shadow:0 0 0 0 var(--acc),0 14px 40px rgba(0,0,0,.55);animation:buyPulse 2s ease-out infinite}
.buy-arrow span::before{content:"";position:absolute;inset:0 auto 0 -60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:buyShine 2.8s ease-in-out infinite}
.buy-arrow:hover span{transform:translateY(-3px) scale(1.04);background:var(--on-acc);color:var(--acc);animation:none}
.buy-arrow:active span{transform:scale(.97)}
@keyframes buyPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--acc) 70%,transparent),0 14px 40px rgba(0,0,0,.55)}100%{box-shadow:0 0 0 18px color-mix(in srgb,var(--acc) 0%,transparent),0 14px 40px rgba(0,0,0,.55)}}
@keyframes buyShine{0%,55%{left:-60%}100%{left:130%}}
@media (prefers-reduced-motion:reduce){.buy-arrow span,.buy-arrow span::before{animation:none}}
@media (max-width:980px){.buy-arrow{bottom:14px;font-size:14px}.buy-arrow span{padding:13px 24px}.hero-copy{bottom:calc(8vh + 70px)}.hero{min-height:680px}}

/* реферальная программа */
.ref{padding:110px var(--pad);background:var(--bg2)}
.ref-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px;align-items:start}
.ref h2{font-size:clamp(42px,5.4vw,88px)}
.ref-steps{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);counter-reset:r}
.ref-steps li{background:var(--bg);padding:20px;display:flex;flex-direction:column;gap:8px;counter-increment:r;transition:background .25s}
.ref-steps li:hover{background:var(--bg2)}
.ref-steps li::before{content:"0" counter(r);font:700 34px/1 var(--f-d);color:transparent;-webkit-text-stroke:1px var(--ink3)}
.ref-steps b{font:600 19px var(--f-d);text-transform:uppercase}
.ref-steps span{color:var(--ink2);font-size:14px}
.ref-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.ref-check{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ref-check input{background:transparent;border:1px solid var(--ink3);padding:13px 14px;color:var(--ink);font:500 15px var(--f-m);text-transform:uppercase;width:200px;transition:border-color .2s}
.ref-check input:hover,.ref-check input:focus{border-color:var(--ink);outline:none}
.ref-check output{flex-basis:100%;font-size:13px;color:var(--ink2)}
.ref-choice{border:1px solid var(--line-light);padding:12px 14px;display:flex;gap:18px;flex-wrap:wrap;margin:0}
.ref-choice legend{font:500 12px var(--f-m);text-transform:uppercase;letter-spacing:.08em;color:var(--mute-light);padding:0 4px}
.ref-choice label{display:flex;gap:8px;align-items:center;font:500 15px var(--f-b);color:var(--on-light);text-transform:none;letter-spacing:0;cursor:pointer}
@media (max-width:980px){.ref{padding:80px var(--pad)}.ref-grid{grid-template-columns:1fr;gap:20px}.ref-steps{grid-template-columns:1fr}.ref-check input{width:100%}.ref-check{width:100%}}

/* «Нет твоей модели?» — яркая карточка, чтобы её замечали */
.mcard.ask{background:var(--acc);color:var(--on-acc);position:relative;overflow:hidden}
.mcard.ask small,.mcard.ask .go,.mcard.ask .go i{color:var(--on-acc)!important;opacity:.8}
.mcard.ask b{font-size:clamp(24px,2vw,32px)}
.mcard.ask::before{content:"?";position:absolute;right:-6px;top:-30px;font:700 180px/1 var(--f-d);opacity:.12;pointer-events:none}
.mcard.ask::after{content:"";position:absolute;inset:0;border:2px solid var(--acc);animation:askpulse 2.2s ease-out infinite;pointer-events:none}
.mcard.ask:hover{background:var(--ink);color:var(--bg)}
.mcard.ask:hover small,.mcard.ask:hover .go,.mcard.ask:hover .go i{color:var(--bg)!important}
@keyframes askpulse{0%{box-shadow:inset 0 0 0 0 rgba(255,255,255,.5)}70%{box-shadow:inset 0 0 0 14px rgba(255,255,255,0)}100%{box-shadow:inset 0 0 0 0 rgba(255,255,255,0)}}
@media (prefers-reduced-motion:reduce){.mcard.ask::after{animation:none}}

/* текст первого экрана не прячется под стрелкой «Купить бугель» */
@media (min-width:981px){.hero-copy{bottom:max(13vh,118px)}.stages{bottom:max(4vh,24px)}}

/* Фон hero — видео сборки (Blender v5) */
.hero video.hero-video{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1;object-fit:cover;object-position:62% 50%;transition:opacity .6s,transform .8s cubic-bezier(.2,.7,.2,1)}
@media (min-width:981px){.hero video.hero-video{transform:scale(1.08);transform-origin:0 46%}}
body.watching .hero video.hero-video{object-position:50% 50%;transform:none}
@media (max-width:980px){
  .hero video.hero-video{inset:60px 0 auto 0;height:min(46svh,420px);object-position:46% 50%;transform:none;-webkit-mask-image:linear-gradient(#000 68%,transparent);mask-image:linear-gradient(#000 68%,transparent)}
  body.watching .hero video.hero-video{transform:scale(1.15)}
}

/* SEO-текст и ссылки на модели (видны без JavaScript) */
.seo-text{padding:72px var(--pad);border-top:1px solid var(--line)}
.seo-in{max-width:980px}
.seo-text h2{font:600 clamp(22px,2.6vw,34px)/1.15 var(--f-h,inherit);margin:0 0 18px}
.seo-text p{color:var(--ink2);line-height:1.65;margin:0 0 14px;max-width:760px}
.seo-text a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink3)}
.seo-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin-top:28px}
.seo-cols h3{font:500 12px var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin:0 0 10px}
.seo-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.seo-cols a{text-decoration:none;color:var(--ink2)}.seo-cols a:hover{color:var(--ink)}
@media (max-width:980px){.seo-text{padding:48px var(--pad)}}

@media(max-width:640px){.oform{grid-template-columns:1fr}.oform .btn{justify-self:stretch;min-height:52px}}
/* Карта пунктов СДЭК (esst-cdek.js): кнопки под полем пункта и окно с виджетом */
.oform .cdek-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:-6px}
.oform .cdek-row .map{min-height:40px;cursor:pointer;color:var(--on-light);border-color:var(--on-light)}
.oform .cdek-row .map[hidden]{display:none}
.oform .cdek-hint{flex-basis:100%;font-size:13px;color:var(--mute-light)}
.cdek-modal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.8);display:grid;place-items:center;padding:12px}
.cdek-modal[hidden]{display:none}
.cdek-box{width:min(1000px,100%);height:min(720px,100%);background:#fff;color:#111;display:flex;flex-direction:column;overflow:hidden}
.cdek-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg);color:var(--ink)}
.cdek-head b{flex:1;min-width:0;font:600 15px var(--f-b)}
.cdek-head button{border:1px solid var(--line);background:none;color:var(--ink);padding:8px 12px;font:500 12px var(--f-m);cursor:pointer;white-space:nowrap}
.cdek-head .cdek-close{width:40px;padding:6px 0;font-size:20px;line-height:1}
.cdek-status{margin:0;padding:8px 12px;font-size:13px;background:#fff6d6;color:#111}
#cdek-map{flex:1;min-height:0;position:relative}
.cdek-tip{margin:0;padding:6px 12px;font-size:12px;line-height:1.35;background:#f2f2f2;color:#444}
.cdek-pick{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#111;color:#fff;border-top:3px solid #fff}
.cdek-pick[hidden]{display:none}
.cdek-pick-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cdek-pick-text small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.6}
.cdek-pick-text b{font:600 15px var(--f-b)}
.cdek-pick-text span{font-size:12px;opacity:.75}
.cdek-pick button{min-height:42px;padding:8px 14px;border:1px solid #fff;background:none;color:#fff;font:600 13px var(--f-b);cursor:pointer;white-space:nowrap}
.cdek-pick .cdek-ok{background:#fff;color:#111;border-color:#fff}
.oform .cdek-hint.picked{color:var(--on-light);font-weight:600}
@media(max-width:640px){.cdek-modal{padding:0}.cdek-box{height:100%}.oform .cdek-row .map{flex:1 1 100%}.cdek-pick{flex-wrap:wrap}.cdek-pick-text{flex-basis:100%}.cdek-pick button{flex:1}.cdek-tip{font-size:11px}}
/* «Купить бугель» — всегда красная, в любой палитре */
.buy-arrow{--buy:#e3121f;--on-buy:#fff;color:var(--on-buy)}
.buy-arrow span,.buy-arrow i{background:var(--buy);border-color:var(--buy)}
.buy-arrow span{animation-name:buyPulseRed}
.buy-arrow:hover span{background:#fff;color:var(--buy);border-color:#fff}
@keyframes buyPulseRed{0%{box-shadow:0 0 0 0 rgba(227,18,31,.75),0 14px 40px rgba(0,0,0,.55)}100%{box-shadow:0 0 0 20px rgba(227,18,31,0),0 14px 40px rgba(0,0,0,.55)}}
.oform .ok .tg-next{display:inline-block;margin-top:12px}
/* ПК: «Купить бугель» стоит на месте «Найти бугель…» в первом экране, плавающей кнопки нет */
.hero-btns .hero-buy{display:none}
@media (min-width:981px){
  .hero-btns .hero-find{display:none}
  .hero-btns .hero-buy{display:inline-flex;align-items:center;gap:10px;background:#e3121f;border-color:#e3121f;color:#fff;font-weight:700;letter-spacing:.14em;padding:18px 36px;position:relative;overflow:hidden;animation:buyPulseRed 2s ease-out infinite}
  .hero-btns .hero-buy::before{content:"";position:absolute;inset:0 auto 0 -60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:buyShine 2.8s ease-in-out infinite}
  .hero-btns .hero-buy:hover{background:#fff;color:#e3121f;border-color:#fff;animation:none}
  .buy-arrow{display:none}
}
@media (prefers-reduced-motion:reduce){.hero-btns .hero-buy,.hero-btns .hero-buy::before{animation:none}}
:root[data-pal=paper] .mcard .ph{background:#fff}
/* G2 Pro Max в каталоге: стант до касания бугелем асфальта (mockup-home.js) */
.mcard.sig>span:not(.sig-scene){position:relative;z-index:2;text-shadow:0 2px 18px rgba(0,0,0,.65)}
.mcard.sig .sig-scene{position:absolute;inset:0;z-index:1;pointer-events:none}
.mcard.sig .sig-scene img{position:absolute;max-width:none;right:auto;bottom:auto;will-change:transform;transition:none;transform-origin:0 0}
.mcard.sig:hover img{transform:none}
.mcard.sig .sig-scene canvas{position:absolute;inset:0;width:100%;height:100%}
/* SEO-текст внизу: в коде целиком (для поиска), на экране — две строки мелко */
.seo-text .seo-in>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;opacity:.7}
/* 3D-сцена — светлая студия, чтобы чёрный бугель было хорошо видно (12.11) */
.stage.lit{background:radial-gradient(ellipse 75% 65% at 50% 52%,#f6f6f3 0%,#dcdcd8 55%,#b4b4af 100%)}
.stage.lit .hint{color:#55554f}
.stage.lit .tools button{background:rgba(255,255,255,.75);border-color:#b9b9b4;color:#222}
.stage.lit .tools button:hover,.stage.lit .tools button[aria-pressed=true]{border-color:#111;color:#111}
@media (max-width:980px){.stage.lit .tools button{background:rgba(255,255,255,.85)}}
/* Видео станта — вариант «блок после каталога» */
.stunt{padding:90px var(--pad);background:var(--bg)}
.stunt-wrap{position:relative;overflow:hidden;border:1px solid var(--line)}
.stunt-video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.stunt-copy{position:absolute;left:0;bottom:0;right:0;padding:40px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent)}
.stunt-copy h2{font-size:clamp(34px,5vw,80px);color:#f2f2f0}
.stunt-copy h2 em{-webkit-text-stroke-color:#f2f2f0}
@media (max-width:980px){.stunt{padding:56px 0}.stunt .label{padding:0 var(--pad)}.stunt-wrap{border-inline:0}.stunt-copy{position:static;padding:18px var(--pad);flex-direction:column;align-items:flex-start;background:none}}
/* Видео станта — вариант «первый экран»: этапы производства не нужны */
.hero.stunt-hero .stages{display:none}
@media (min-width:981px){.hero.stunt-hero video.hero-video{left:auto;right:0;width:70%;transform:none;object-position:50% 50%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%);mask-image:linear-gradient(90deg,transparent,#000 28%)}}
.vid-pick{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);margin-top:6px;padding-top:8px}.vid-pick small{color:var(--ink3)}
.vid-pick button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}
/* Окно «Как мы делаем бугель» */
.prod-modal{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.86);display:grid;place-items:center;padding:16px}
.prod-modal[hidden]{display:none}
.prod-box{position:relative;width:min(1100px,100%)}
.prod-box video{display:block;width:100%;max-height:80svh;background:#000}
.prod-box p{margin:10px 0 0;font:500 12px var(--f-m);text-transform:uppercase;letter-spacing:.08em;color:#bdbdb8}
.prod-close{position:absolute;top:-46px;right:0;width:40px;height:40px;border:1px solid #777;background:none;color:#fff;font-size:18px}
.prod-link{display:inline-block;margin-top:14px;font:600 14px var(--f-d);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid currentColor}
.hero.stunt-hero #watch{display:inline-flex}


/* 2026-11-13: на невысоких экранах (ноутбук ~600-700 px по высоте) заголовок первого экрана уезжал под меню и наезжал на картинку: размер зависит и от высоты окна. */
@media (min-width:981px){.hero h1{font-size:clamp(40px,min(5.6vw,9.6vh),100px)}.hero-copy{gap:max(12px,min(22px,2.6vh))}}
@media (min-width:981px) and (max-height:700px){.hero-copy{bottom:max(9vh,96px)}}
/* Аккаунт покупателя: кнопка в шапке и блок над формой заказа */
.top .acc{margin-left:0;border:1px solid var(--ink3);padding:9px 14px;font:500 13px var(--f-m);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.top .acc.in{border-color:var(--acc);color:var(--acc)}
.top .acc+.tg{margin-left:0}
.top.on-light .acc{border-color:var(--on-light);color:var(--on-light)}
@media (max-width:980px){.top .acc{margin-left:auto;padding:8px 11px;font-size:12px}.top .acc+.tg{margin-left:0}}
.acc-gate{border:1px solid currentColor;padding:14px 16px;margin-bottom:6px}
.acc-gate p{margin:0}.acc-gate p+p{margin-top:10px}
.acc-gate a:not(.btn){text-decoration:underline}
.acc-gate-btns{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:640px){.top .acc~.tg{display:none}} /* на телефоне в шапке «Войти» вместо Telegram (Telegram — в меню и внизу) */
.oform .chk a{color:inherit;text-decoration:underline;text-underline-offset:3px}
