/* ЛЁД · многостраничный сайт. Подключается после base.css (общие токены, кнопки, шапка, слайдер, ленты). */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .35s var(--ease) both}
::view-transition-new(root){animation:vt-in .6s var(--ease) both}
@keyframes vt-out{to{opacity:0;transform:scale(.99)}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
:root{--pad:clamp(20px,5vw,80px)}
main{display:block;min-height:60svh}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* шапка: иконки и мега-меню */
.ibtn{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;transition:background .4s}
.ibtn:hover{background:rgba(255,255,255,.08)}
.ibtn svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.6}
.hd .has-mega::before{content:"";display:inline-block;order:2}
.mega{position:absolute;left:0;right:0;top:100%;display:grid;grid-template-columns:2.2fr 1fr;gap:48px;padding:26px max(20px,calc((100vw - 1180px)/2)) 36px;background:rgba(5,5,6,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;visibility:hidden;translate:0 -10px;transition:opacity .4s var(--ease),translate .5s var(--ease),visibility 0s .4s}
.mega.on{opacity:1;visibility:visible;translate:0 0;transition:opacity .4s var(--ease),translate .5s var(--ease)}
.mega::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(222,228,238,.45),rgba(150,162,184,0.35),rgba(222,228,238,.45),transparent)}
.mega__cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-content:start}
.mc{display:grid;gap:10px}
.mc__i{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#0b0b0c;transition:box-shadow .6s var(--ease)}
.mc__i img{width:100%;height:100%;object-fit:cover;transition:scale 1.2s var(--ease)}
.mc:hover .mc__i{box-shadow:var(--glow)}.mc:hover img{scale:1.07}
.mc b{font:500 19px/1.1 var(--serif)}.mc small{font:400 13px var(--ui);color:var(--g500)}
.mega__col{display:grid;align-content:start;gap:14px}
.mega__col h4{font:500 12px/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--g500);margin-bottom:6px}
.mega__col .tl{width:fit-content;font:500 17px/1.2 var(--ui)}.mega__col .tl i{font:400 14px var(--serif);color:#b4bbc5}
.mega__all{margin-top:8px;font:500 15px var(--ui);color:#fff;width:fit-content;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px}
@media(max-width:1180px){.mega{display:none}}
.hd .logo{justify-self:center}

/* поиск */
.search{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:14vh var(--pad) 40px;background:rgba(3,3,4,.95);backdrop-filter:blur(18px);color:#fff;border:0}
.search[open]{display:block;animation:fadeIn .4s var(--ease)}
@keyframes fadeIn{from{opacity:0}}
.search::backdrop{background:transparent}
.search__x{position:absolute;right:22px;top:16px}.search__x button{font-size:38px;width:48px;height:48px;border-radius:50%}
.search__in{max-width:900px;margin:0 auto}
.search__in label{display:block;font:500 12px/1 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--g500);margin-bottom:16px}
.search__in input{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.3);color:#fff;font:500 clamp(30px,4.5vw,64px)/1.2 var(--serif);padding:8px 0}
.search__in input:focus{outline:none;border-color:#fff}
.search__r{max-width:900px;margin:36px auto 0;display:grid;gap:6px}
.sr{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;padding:10px;border-radius:16px;transition:background .3s}
.sr:hover,.sr:focus-visible{background:rgba(255,255,255,.07)}
.sr img{width:72px;height:72px;object-fit:cover;border-radius:12px}
.sr b{display:block;font:500 20px/1.2 var(--serif)}.sr small{color:var(--g500);font-size:14px}
.search__e{color:var(--g500)}

/* подвал */
.ft__grid{grid-template-columns:1.5fr repeat(3,minmax(0,1fr))}
.ft__c{margin-top:18px}.ft__c .tl{font:500 18px var(--ui)}
@media(max-width:860px){.ft__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* курсор-шайба */

/* просмотр фото: ссылка на изделие */
.lb__bar #lbLink{font:500 15px var(--ui);color:#fff}.lb__bar #lbLink b{font-weight:500;font-family:var(--serif)}

/* общие блоки страниц */
.pagehead{padding:clamp(150px,22vh,220px) 0 clamp(50px,8vh,90px);position:relative;isolation:isolate;overflow:hidden}
.pagehead::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 80% at 80% 20%,rgba(150,162,184,0.1),transparent 70%),radial-gradient(40% 60% at 10% 80%,rgba(222,228,238,.08),transparent 70%)}
.pagehead .h2{font-size:clamp(52px,8vw,140px);line-height:.95;text-align:left;margin-top:20px}
.pagehead .sub{text-align:left;margin-left:0;font-size:19px;line-height:30px}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font:400 14px var(--ui);color:var(--g500);margin-bottom:8px}
.crumbs a:hover{color:#fff}.crumbs i{font-style:normal;opacity:.5}
.hr{height:1px;border:0;background:linear-gradient(90deg,transparent,rgba(222,228,238,.35),rgba(150,162,184,0.28),rgba(222,228,238,.35),transparent);margin:0}
.link-arrow{display:inline-flex;gap:14px;align-items:center;font:500 15px var(--ui)}
.link-arrow i{display:block;width:34px;height:1px;background:currentColor;transition:width .5s var(--ease)}.link-arrow:hover i{width:60px}

/* карточки изделий */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:clamp(24px,3vw,44px) clamp(18px,2.4vw,32px)}
.pcard{display:grid;gap:16px;align-content:start}
.pcard__i{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:#0b0b0c;transition:box-shadow .7s var(--ease),transform .7s var(--ease)}
.pcard__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s var(--ease),scale 1.6s var(--ease)}
.pcard__i img+img{opacity:0}
.pcard:hover .pcard__i{box-shadow:var(--glow);transform:translateY(-6px)}
.pcard:hover .pcard__i img{scale:1.06}.pcard:hover .pcard__i img+img{opacity:1}
.pcard__t{display:grid;gap:4px}
.pcard__t span{font:500 12px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--g500)}
.pcard__t b{font:500 24px/1.15 var(--serif)}
.pcard__t small{font:400 14px var(--ui);color:var(--g300)}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:36px 0 44px}
.chip{font:500 15px/1 var(--ui);padding:12px 20px;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);color:var(--g300);transition:background .4s,color .4s,box-shadow .5s}
.chip:hover{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.chip[aria-pressed=true]{background:#fff;color:#000;box-shadow:none}
.tcard{perspective:1000px}
.tcard>*{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s var(--ease),box-shadow .7s var(--ease)}

/* ===== ГЛАВНАЯ ===== */
.tunnel{position:relative;height:460vh;background:#000}
.tunnel__stick{position:sticky;top:0;height:100svh;overflow:hidden;perspective:900px;perspective-origin:50% 50%}
.tunnel__world{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.tp{position:absolute;left:50%;top:50%;width:calc(var(--w)*var(--k,1)*1vw);aspect-ratio:var(--ar);margin:calc(var(--w)*var(--k,1)*-.5vw/var(--ar)) 0 0 calc(var(--w)*var(--k,1)*-.5vw);transform:translate3d(calc(var(--x)*1vw),calc(var(--y)*1vh),var(--z));border-radius:20px;overflow:hidden;box-shadow:0 40px 120px -20px #000,0 0 80px -30px rgba(150,162,184,0.35);background:#0b0b0c;will-change:opacity}
.tp img{width:100%;height:100%;object-fit:cover}
.tunnel__t{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;z-index:5;padding:0 var(--pad)}
.tunnel__t h2{font:500 clamp(48px,9vw,150px)/.95 var(--serif);letter-spacing:-.02em;text-shadow:0 0 80px #000,0 0 30px #000}
.tunnel__t p{font:500 13px/1 var(--ui);letter-spacing:.3em;text-transform:uppercase;color:var(--g300);margin-bottom:20px}
.tunnel__bar{position:absolute;left:var(--pad);right:var(--pad);bottom:34px;height:2px;background:rgba(255,255,255,.14);z-index:6;border-radius:2px;overflow:hidden}
.tunnel__bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#e8ebf0,#8e98a8);transform-origin:left;scale:var(--p,0) 1}
.tunnel__fog{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(70% 60% at 50% 50%,transparent 30%,rgba(0,0,0,.85))}
.tz{padding:clamp(100px,16vh,180px) 0;position:relative;overflow:hidden;isolation:isolate}
.tz__g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center}
.tz__g.rev>:first-child{order:2}
.tz__t p:not(.label){color:var(--g300);margin-top:20px;max-width:46ch}
.tz__t .h2{margin-top:18px}
.tz__t .pill,.tz__t .link-arrow{margin-top:30px}
.tz__ph{position:relative;aspect-ratio:5/4;border-radius:var(--r);overflow:hidden;box-shadow:var(--glow);clip-path:inset(0 100% 0 0 round var(--r));transition:clip-path 1.6s var(--ease-io)}
.tz__ph.in{clip-path:inset(0 0 0 0 round var(--r))}
.tz__ph img{width:100%;height:100%;object-fit:cover;scale:1.18;transition:scale 2.4s var(--ease)}.tz__ph.in img{scale:1}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);margin-top:50px}
.steps3 div{position:relative;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:#0b0b0c}
.steps3 img{width:100%;height:100%;object-fit:cover}
.steps3 .lbl{position:absolute;left:20px;bottom:18px;font:500 24px/1.1 var(--serif);text-shadow:0 2px 20px #000;z-index:2}
.bigcta{position:relative;display:block;min-height:70svh;overflow:hidden;isolation:isolate}
.bigcta__bg{position:absolute;inset:0;z-index:-1;-webkit-mask:linear-gradient(transparent,#000 20%,#000 80%,transparent);mask:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
.bigcta__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.9) brightness(.5);transition:filter 1s,scale 2s var(--ease)}
.bigcta:hover .bigcta__bg img{filter:grayscale(.2) brightness(.7);scale:1.04}
.bigcta__t{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:14px;padding:0 var(--pad)}
.bigcta__t b{font:500 clamp(44px,8vw,130px)/.95 var(--serif)}
.bigcta__t span{font:500 14px var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--g300)}
@media(max-width:860px){.tz__g{grid-template-columns:1fr}.tz__g.rev>:first-child{order:0}.steps3{grid-template-columns:1fr 1fr}.tunnel{height:380vh}.tunnel__world{--k:1.9}}
.tunnel.still{height:100svh}

/* ===== КАТАЛОГ ===== */
.cstack{position:relative}
.cpanel{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;align-items:end;isolation:isolate;transform-origin:50% 0;will-change:transform}
.cpanel__bg{position:absolute;inset:0;z-index:-1}
.cpanel__bg img{width:100%;height:120%;object-fit:cover;filter:brightness(.62)}
.cpanel__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.9)),linear-gradient(90deg,rgba(0,0,0,.6),transparent 60%)}
.cpanel__t{padding:0 max(20px,calc((100vw - 1180px)/2)) clamp(60px,12vh,120px);display:grid;gap:14px;max-width:900px}
.cpanel__t small{font:500 13px/1 var(--ui);letter-spacing:.26em;text-transform:uppercase;color:var(--g300)}
.cpanel__t h2{font:500 clamp(60px,10vw,170px)/.9 var(--serif);letter-spacing:-.02em}
.cpanel__t p{color:var(--g300);max-width:40ch}
.cpanel__t .link-arrow{margin-top:14px;width:fit-content}
.ccards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:26px}
.ccard{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:#0b0b0c}
.ccard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale 1.6s var(--ease),filter .8s;filter:brightness(.8)}
.ccard::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.85))}
.ccard:hover{box-shadow:var(--glow)}.ccard:hover img{scale:1.06;filter:none}
.ccard__t{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;display:grid;gap:6px}
.ccard__t b{font:500 clamp(26px,2.6vw,38px)/1 var(--serif)}
.ccard__t i{font:400 17px var(--serif);color:#b4bbc5;font-style:normal}
.ccard__t small{font:400 13px var(--ui);color:var(--g300)}
.sect{padding:clamp(80px,12vh,140px) 0}

/* ===== КОЛЛЕКЦИЯ / ИЗДЕЛИЕ ===== */
.chero{position:relative;min-height:86svh;display:grid;align-items:end;overflow:hidden;isolation:isolate}
.chero__bg{position:absolute;inset:0;z-index:-1}
.chero__bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.chero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,var(--bg)),linear-gradient(90deg,rgba(5,5,6,.85),transparent 65%)}
.chero__t{padding:160px max(20px,calc((100vw - 1180px)/2)) clamp(50px,9vh,100px);max-width:1000px}
.chero__t h1{font:500 clamp(56px,10vw,170px)/.9 var(--serif);letter-spacing:-.02em;margin:18px 0 8px}
.chero__t em{display:block;font:500 clamp(24px,3vw,44px)/1.1 var(--serif);background:linear-gradient(90deg,#e8ebf0,#b4bbc5 60%,#8e98a8);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:22px}
.chero__t p{color:var(--g300);max-width:46ch}
.pdp{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,90px);align-items:start;padding-top:clamp(120px,16vh,170px);padding-bottom:clamp(60px,10vh,110px)}
.gal3{position:sticky;top:96px}
.gstage{position:relative;aspect-ratio:4/5;max-height:78svh;width:100%;overflow:hidden;border-radius:var(--r);background:#0b0b0c;cursor:zoom-in;box-shadow:var(--glow);touch-action:pan-y}
.gstage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;scale:1.04;transition:opacity .8s var(--ease),scale 1.2s var(--ease)}
.gstage img.on{opacity:1;scale:1}
.gstage.zoom{cursor:zoom-in}.gstage.zoom img.on{scale:2;transition:scale .4s var(--ease),opacity .8s}
.gthumbs{display:flex;gap:14px;margin-top:18px;align-items:center;flex-wrap:wrap}
.gthumbs button{width:68px;aspect-ratio:1;border-radius:14px;overflow:hidden;opacity:.4;transition:opacity .4s,translate .4s var(--ease),box-shadow .5s}
.gthumbs button img{width:100%;height:100%;object-fit:cover}
.gthumbs button[aria-current=true]{opacity:1;translate:0 -4px;box-shadow:0 0 30px -6px rgba(150,162,184,0.42)}
.gcount{margin-left:auto;font:400 20px var(--serif);color:var(--g500)}
.pinfo .kick{font:500 12px/1 var(--ui);letter-spacing:.3em;text-transform:uppercase;color:var(--g300)}
.pinfo h1{font:500 clamp(40px,4.6vw,76px)/1 var(--serif);margin:16px 0 12px;letter-spacing:-.01em}
.pinfo .price{font:400 24px var(--serif);color:var(--g300)}
.pinfo .desc{color:var(--g300);margin:20px 0 30px;max-width:44ch;white-space:pre-line}
.opt{margin-bottom:24px}.opt__h{display:block;font:500 12px/1 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--g500);margin-bottom:12px}
.opt__row{display:flex;gap:22px;flex-wrap:wrap}
.opt__row button{position:relative;font:500 16px/1.4 var(--ui);color:var(--g500);padding:4px 0;transition:color .3s}
.opt__row button::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:linear-gradient(90deg,#e8ebf0,#8e98a8);scale:0 1;transition:scale .5s var(--ease)}
.opt__row button[aria-pressed=true]{color:#fff}.opt__row button[aria-pressed=true]::after{scale:1 1}
.engr{margin:6px 0 28px;display:grid;gap:10px}
.engr label{font:500 12px/1 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--g500)}
.engr input{width:100%;max-width:380px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 18px;color:#fff;font:500 18px var(--ui);letter-spacing:.08em;text-transform:uppercase}
.engr input:focus{outline:none;border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.09)}
.engr output{font:400 20px var(--serif);color:#c9ced6;min-height:1.4em}
.pinfo .actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.acc{margin-top:44px;display:grid}
.acc details{padding:0}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font:500 17px var(--ui);position:relative}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font:300 26px/1 var(--ui);transition:rotate .4s var(--ease)}
.acc details[open] summary::after{rotate:45deg}
.acc details{background:linear-gradient(90deg,transparent,rgba(222,228,238,.18),transparent) bottom/100% 1px no-repeat}
.acc p{color:var(--g300);padding:0 0 22px;max-width:46ch}
.pnav{display:flex;justify-content:space-between;gap:24px;padding:30px 0;font:500 12px/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--g500)}
.pnav b{display:block;margin-top:12px;font:500 clamp(24px,3vw,44px)/1.1 var(--serif);letter-spacing:0;text-transform:none;color:#fff}
.pnav a:last-child{text-align:right}
@media(max-width:900px){.pdp{grid-template-columns:1fr}.gal3{position:relative;top:0}}

/* ===== ИСТОРИЯ ===== */
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:start}
.story__sticky{position:sticky;top:12vh;aspect-ratio:4/5;max-height:76svh;border-radius:var(--r);overflow:hidden;background:#0b0b0c;box-shadow:var(--glow)}
.story__sticky img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;scale:1.08;transition:opacity 1s var(--ease),scale 1.6s var(--ease)}
.story__sticky img.on{opacity:1;scale:1}
.chap{min-height:86svh;display:grid;align-content:center;gap:16px;opacity:.28;transition:opacity .8s}
.chap.on{opacity:1}
.chap small{font:400 24px var(--serif);color:#b4bbc5}
.chap h3{font:500 clamp(38px,4.4vw,72px)/1 var(--serif)}
.chap p{color:var(--g300);max-width:40ch}
.quote{padding:clamp(100px,18vh,200px) 0;text-align:center;position:relative;overflow:hidden}
.quote blockquote{font:400 clamp(34px,5vw,84px)/1.1 var(--serif);max-width:18em;margin:0 auto;position:relative}
.quote::before{content:"";position:absolute;left:50%;top:50%;width:900px;height:900px;translate:-50% -50%;background:radial-gradient(closest-side,rgba(150,162,184,0.1),transparent);pointer-events:none}
.chap__m{display:none}
@media(max-width:860px){.story{grid-template-columns:1fr}.story__sticky{display:none}.chap{min-height:auto;padding:34px 0;opacity:1}.chap__m{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;margin-bottom:12px}.chap__m img{width:100%;height:100%;object-fit:cover}}

/* ===== ПРОЦЕСС ===== */
.proc__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,100px);align-items:start}
.proc__aside{position:sticky;top:120px}
.proc__count{margin-top:44px;display:flex;align-items:baseline;gap:12px;font:500 18px/1 var(--ui);color:var(--g500)}
.proc__count b{font:500 64px/1 var(--serif);color:#fff;min-width:1.3em}
.proc__count .bar{flex:1;max-width:180px;height:1px;background:rgba(255,255,255,.14);position:relative;overflow:hidden;align-self:center}
.proc__count .bar i{position:absolute;inset:0;background:linear-gradient(90deg,#e8ebf0,#8e98a8);transform-origin:left;scale:var(--p,0) 1;transition:scale .6s var(--ease)}
.proc__now{margin-top:12px;font:500 20px/1.2 var(--serif)}
.steps{display:grid;gap:clamp(70px,10vw,140px)}
.step:nth-child(even){margin-left:clamp(0px,8vw,120px)}
.step__img{position:relative;overflow:hidden;border-radius:var(--r);clip-path:inset(18% 10% 18% 10% round var(--r));transition:clip-path 1.5s var(--ease-io);background:#0b0b0c}
.step.in .step__img{clip-path:inset(0 0 0 0 round var(--r))}
.step__img img{width:100%;height:100%;object-fit:cover;scale:1.18;transition:scale 2s var(--ease)}.step.in .step__img img{scale:1}
.step[data-format=wide] .step__img{aspect-ratio:16/9}.step[data-format=tall] .step__img{aspect-ratio:4/5;width:78%}.step[data-format=square] .step__img{aspect-ratio:1;width:86%}.step[data-format=portrait] .step__img{aspect-ratio:3/4;width:70%}
.step__t{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;margin-top:22px;max-width:520px}
.step__t span{grid-row:span 2;font:500 15px/1.6 var(--ui);color:var(--g500)}.step__t h3{font:500 clamp(26px,2.4vw,38px)/1.1 var(--serif)}.step__t p{color:var(--g300)}
.ph-badge{position:absolute;left:14px;top:14px;z-index:3;font:500 10px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:#000;background:#ffcf5c;padding:6px 9px;border-radius:99px}
@media(max-width:860px){.proc__grid{grid-template-columns:1fr}.proc__aside{position:relative;top:0}.proc__count{display:none}.step:nth-child(even){margin-left:0}.step[data-format] .step__img{width:100%}}

/* ===== ИНДИВИДУАЛЬНЫЙ ЗАКАЗ ===== */
.cu{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:start;padding-bottom:clamp(80px,12vh,140px)}
.cu__pv{position:sticky;top:100px;display:grid;gap:22px}
.cu__ph{aspect-ratio:1;border-radius:var(--r);overflow:hidden;box-shadow:var(--glow);background:#0b0b0c;position:relative}
.cu__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s}
.cu__ph .tagline{position:absolute;left:0;right:0;bottom:0;padding:50px 22px 20px;background:linear-gradient(transparent,rgba(0,0,0,.85));font:500 clamp(22px,2.4vw,34px)/1.1 var(--serif);text-transform:uppercase;letter-spacing:.04em}
.stepper{display:flex;gap:10px;margin-bottom:30px}
.stepper i{flex:1;height:2px;border-radius:2px;background:rgba(255,255,255,.16);position:relative;overflow:hidden}
.stepper i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#e8ebf0,#8e98a8);scale:0 1;transform-origin:left;transition:scale .6s var(--ease)}
.stepper i.on::after{scale:1 1}
.fstep{display:none;gap:18px}.fstep.on{display:grid;animation:fadeIn .5s var(--ease)}
.fstep h3{font:500 clamp(30px,3.4vw,50px)/1.05 var(--serif)}
.fstep>p{color:var(--g300);max-width:44ch}
.pick{display:flex;gap:10px;flex-wrap:wrap}
.field{display:grid;gap:8px}.field label{font:500 12px/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--g500)}
.field input,.field textarea,.field select{width:100%;padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font:400 16px var(--body);color:#fff}
.field input.up{text-transform:uppercase;font:500 18px var(--ui);letter-spacing:.08em}
.field input:focus,.field textarea:focus{outline:none;border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.09)}
.field .bad{border-color:#e07a74}
.row2{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.nav2{display:flex;gap:22px;align-items:center;margin-top:10px}
.ok{padding:30px;border-radius:var(--r);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
@media(max-width:860px){.cu{grid-template-columns:1fr}.cu__pv{position:relative;top:0;order:-1}.row2{grid-template-columns:1fr}}

/* ===== ГАЛЕРЕЯ ===== */
.ring3d{position:relative;height:min(86svh,820px);perspective:1800px;overflow:hidden;cursor:grab;touch-action:pan-y;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ring3d.drag{cursor:grabbing}
.ring3d__c{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;transform:translateZ(calc(var(--R)*-1)) rotateY(var(--ry,0deg));will-change:transform}
.rp{position:absolute;width:var(--pw);height:var(--ph);margin:calc(var(--ph)*-.5) 0 0 calc(var(--pw)*-.5);transform:rotateY(calc(var(--a)*1deg)) translateZ(var(--R));border-radius:18px;overflow:hidden;background:#0b0b0c;box-shadow:0 30px 80px -20px #000;backface-visibility:visible;transition:filter .4s}
.rp img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.rp:hover{filter:brightness(1.15)}
.ring3d__hint{position:absolute;left:50%;bottom:26px;translate:-50% 0;z-index:3;font:500 12px/1 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--g300);display:flex;gap:12px;align-items:center;pointer-events:none}
.ring3d__hint i{width:34px;height:1px;background:currentColor}
.mason{columns:3 300px;column-gap:20px}
.mason figure{margin:0 0 20px;break-inside:avoid;border-radius:20px;overflow:hidden;position:relative;background:#0b0b0c;transition:box-shadow .7s var(--ease)}
.mason figure:hover{box-shadow:var(--glow)}
.mason img{width:100%;height:auto;display:block;transition:scale 1.4s var(--ease)}.mason figure:hover img{scale:1.05}
.mason figure button{position:absolute;inset:0;width:100%}

/* ===== ДОСТАВКА, КОНТАКТЫ ===== */
.dl{display:grid;gap:0;max-width:900px}
.cgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,100px);align-items:start}
.cl{margin-top:26px}.cl .tlink{font:500 clamp(24px,2.6vw,38px)/1.2 var(--serif)}
.mapph{margin-top:44px;aspect-ratio:16/10;border-radius:var(--r);background:repeating-linear-gradient(135deg,#131315 0 12px,#17171a 12px 24px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);display:grid;place-content:center;text-align:center;color:var(--g500);font:500 13px var(--ui);letter-spacing:.2em;text-transform:uppercase;position:relative;overflow:hidden}
.mapph b{display:block;font:500 26px var(--serif);letter-spacing:0;text-transform:none;color:#fff;margin-bottom:8px}
@media(max-width:860px){.cgrid{grid-template-columns:1fr}}

/* ===== ВОРОТА (страница корзины) ===== */
.gate{display:grid;grid-template-columns:1.4fr .8fr;gap:clamp(30px,5vw,80px);align-items:start;padding-bottom:clamp(80px,12vh,140px)}
.grow{display:grid;grid-template-columns:96px 1fr auto minmax(90px,auto) auto;gap:22px;align-items:center;padding:22px 0;background:linear-gradient(90deg,transparent,rgba(222,228,238,.16),transparent) bottom/100% 1px no-repeat}
.grow img{width:96px;height:96px;object-fit:cover;border-radius:16px}
.grow b{display:block;font:500 24px/1.15 var(--serif)}.grow small{display:block;color:var(--g500);font-size:14px;margin-top:4px}
.qty{display:inline-flex;align-items:center;gap:14px;font:500 16px var(--ui)}.qty button{width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);font-size:18px;transition:background .3s}.qty button:hover{background:rgba(255,255,255,.1)}
.sum{position:sticky;top:100px;padding:30px;border-radius:var(--r);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 30px 90px -40px rgba(150,162,184,0.35);display:grid;gap:16px}
.sum h2{font:500 32px var(--serif)}.sum p{color:var(--g300);font-size:15px}
.empty-gate{text-align:center;padding:10vh 0;display:grid;gap:22px;justify-items:center}
.empty-gate .goalbig{width:220px;opacity:.8}.empty-gate .goalbig svg{width:100%;overflow:visible}
@media(max-width:860px){.gate{grid-template-columns:1fr}.sum{position:relative;top:0}.grow{grid-template-columns:72px 1fr auto}.grow img{width:72px;height:72px}.grow .qty{grid-column:1/3}.grow__s{grid-column:3}.grow__x{grid-column:1/-1;justify-self:start}}

/* ===== 404 ===== */
.nf{min-height:100svh;display:grid;place-content:center;text-align:center;gap:20px;padding:0 var(--pad);position:relative;overflow:hidden}
.nf h1{font:500 clamp(120px,26vw,420px)/.8 var(--serif);letter-spacing:-.04em;background:linear-gradient(180deg,#fff,#6a7280);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf p{color:var(--g300)}
.nf .slide-puck{position:absolute;left:-80px;bottom:18%;width:60px;height:26px;border-radius:50%;background:radial-gradient(ellipse at 40% 30%,#8c929b,#1b1d21 70%);box-shadow:0 8px 0 -2px #0b0c0e,0 0 40px rgba(150,162,184,0.42);animation:slidep 5s var(--ease-io) infinite}
@keyframes slidep{0%{left:-80px;rotate:0deg}60%,100%{left:calc(100% + 80px);rotate:900deg}}

@media(prefers-reduced-motion:reduce){.tz__ph,.step__img{clip-path:none!important}.nf .slide-puck{animation:none;left:50%}.tcard>*{transition:none}}
/* только для проверки снимков (?shot): фиксирует высоты, зависящие от окна */
[data-shot] .hero,[data-shot] .nf{height:900px;min-height:0}
[data-shot] .cpanel{height:900px}
[data-shot] .chero{min-height:780px}
[data-shot] .tunnel,[data-shot] .tunnel__stick{height:900px}
[data-shot] .ring3d{height:760px}
[data-shot] .bigcta{min-height:520px}
.crumbs{margin-bottom:22px}
.gthumbs #fs{width:auto;min-height:24px;aspect-ratio:auto;overflow:visible;opacity:1;white-space:nowrap}

/* ===== МАГАЗИН: корзина, оформление, заказ ===== */
.gate__bar{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:22px}.gate__bar .tlink{color:var(--g500)}
.grow__s{display:grid;gap:2px;text-align:right}.grow__s b{font:500 18px var(--ui)}.grow__x{color:var(--g500);font-size:14px}
.sum__r{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);color:var(--g300);font-size:15px}.sum__r b{color:#fff;font:500 16px var(--ui)}
.sum__r.big{border:0;padding:18px 0 22px}.sum__r.big b{font:500 28px var(--serif)}
.sum__n{color:var(--g500);font-size:13px;margin:14px 0}.sum .pill{margin-top:14px;width:100%;justify-content:center}
.co{display:grid;grid-template-columns:1.4fr .8fr;gap:clamp(30px,5vw,80px);align-items:start;padding-bottom:clamp(80px,12vh,140px)}
.steps4{display:flex;gap:10px;list-style:none;margin:0 0 30px;padding:0}
.steps4 li{flex:1;font:500 12px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--g500);padding-top:14px;position:relative}
.steps4 li::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px;background:rgba(255,255,255,.16)}
.steps4 li.on,.steps4 li.done{color:#fff}.steps4 li.on::before,.steps4 li.done::before{background:linear-gradient(90deg,#e8ebf0,#8e98a8)}
.cstep{display:none;gap:18px;border:0;padding:0;margin:0;min-width:0}.cstep.on{display:grid;animation:fadeIn .5s var(--ease)}
.cstep legend{float:left;width:100%;padding:0;margin-bottom:18px;font:500 clamp(30px,3.4vw,50px)/1.05 var(--serif)}.cstep legend+*{clear:both}
.hint{color:var(--g300);max-width:52ch}
.err{color:#e88a84;font-size:13px}.err:empty{display:none}
.opts{display:grid;gap:12px}
.opt2{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);cursor:pointer;transition:box-shadow .4s,background .4s}
.opt2:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.opt2:has(input:checked){background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px #fff,var(--glow)}
.opt2:has(input:focus-visible){outline:2px solid #fff;outline-offset:3px}
.opt2 input{margin-top:5px;width:18px;height:18px;accent-color:#8e98a8}
.opt2 b{display:block;font:500 20px/1.2 var(--serif)}.opt2 small{display:block;color:var(--g300);font-size:14px;margin-top:4px}.opt2 em{display:block;font:500 12px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--g500);font-style:normal;margin-top:8px}
.opt2.off{opacity:.45;cursor:not-allowed}
.chk{display:flex;gap:12px;align-items:flex-start;color:var(--g300);font-size:14px}.chk input{width:18px;height:18px;margin-top:2px;accent-color:#8e98a8;flex:none}.chk em{color:var(--g500);font-style:normal}
.review{display:grid;grid-template-columns:max-content 1fr;gap:12px 24px;margin:0;font-size:15px}.review dt{color:var(--g500);font:500 12px/1.6 var(--ui);letter-spacing:.16em;text-transform:uppercase}.review dd{margin:0;color:#fff}
.mini{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:12px}.mini li{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center}.mini img{width:56px;height:56px;object-fit:cover;border-radius:12px}.mini b{display:block;font:500 17px/1.2 var(--serif)}.mini small{color:var(--g500);font-size:13px}
.paydlg{margin:auto;width:min(480px,92vw);padding:34px;border-radius:var(--r);background:#0d0d0f;color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:0 40px 120px #000,var(--glow)}
.paydlg::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(6px)}
.paydlg h2{font:500 32px var(--serif);margin:10px 0}.paydlg__t{color:var(--g300);font-size:15px}
.paydlg__s{display:flex;justify-content:space-between;align-items:baseline;margin:22px 0;padding:16px 0;border-block:1px solid rgba(255,255,255,.12)}.paydlg__s b{font:500 28px var(--serif)}.paydlg__s span{color:var(--g500)}
.paydlg__b{display:grid;gap:14px;justify-items:start}
.ostat{padding:26px 30px;border-radius:var(--r);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);margin-bottom:36px}
.ostat small{font:500 12px var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--g500)}.ostat b{display:block;font:500 clamp(30px,4vw,48px)/1.1 var(--serif);margin:6px 0}.ostat p{color:var(--g300)}
.ostat--paid{box-shadow:inset 0 0 0 1px rgba(160,220,170,.5)}.ostat--failed{box-shadow:inset 0 0 0 1px rgba(224,122,116,.7)}
.ogrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px)}.ogrid h3{font:500 26px var(--serif);margin-bottom:18px}
.ocard{padding:26px;border-radius:var(--r);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);align-self:start}
.olist{display:grid}.orow{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:16px;padding:20px 4px;border-bottom:1px solid rgba(255,255,255,.1);transition:background .4s}.orow:hover{background:rgba(255,255,255,.04)}.orow b{font:500 18px var(--ui)}.orow span{color:var(--g300)}
@media(max-width:860px){.co{grid-template-columns:1fr}.ogrid{grid-template-columns:1fr}.orow{grid-template-columns:1fr 1fr}.steps4 li{font-size:10px;letter-spacing:.08em}.review{grid-template-columns:1fr;gap:2px}.review dd{margin-bottom:12px}}
/* коллекции: строка «обложка + лента изделий» */
.crow{display:grid;grid-template-columns:minmax(260px,.42fr) 1fr;gap:clamp(20px,3vw,44px);align-items:stretch;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.crow>.ccard{aspect-ratio:auto;min-height:340px}
.crow__s{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding:6px 6px 18px;scrollbar-width:thin;scrollbar-color:#444 transparent;cursor:grab;min-width:0}.crow__s.drag{cursor:grabbing;scroll-snap-type:none}
.crow__s .pcard{flex:0 0 clamp(190px,18vw,260px);scroll-snap-align:start}
.crow__all{flex:0 0 150px;display:grid;place-content:center;gap:10px;text-align:center;border-radius:var(--r);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);font:500 14px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--g300);transition:box-shadow .5s,color .4s}.crow__all:hover{color:#fff;box-shadow:inset 0 0 0 1px #fff,var(--glow)}.crow__all i{font-style:normal;font-size:24px}
@media(max-width:860px){.crow{grid-template-columns:1fr}.crow>.ccard{min-height:220px;aspect-ratio:16/10}}
/* конструктор */
.chip--p{display:inline-flex;align-items:center;gap:10px;padding:6px 18px 6px 6px}.chip--p img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.lbl2{font:500 12px/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--g500)}
.ask{display:grid;gap:16px;margin-top:16px;padding:22px;border-radius:var(--r);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.cu .qty{justify-self:start}

[hidden]{display:none!important}

/* прайс: исполнения, доплаты, гайтаны */
.price__n{display:block;color:var(--g500);font-size:13px;margin-top:4px}.price__n:empty{display:none}
.opt__row.wrapchips{gap:10px 18px}
.opt__row.single button{cursor:default}
.addons{display:grid;gap:8px}
.addons__g{font:500 13px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--g300);margin-top:10px}
.addon{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);cursor:pointer;font-size:15px;transition:box-shadow .3s,background .3s}
.addon:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.addon:has(input:checked){background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px #fff}
.addon input{width:17px;height:17px;accent-color:#8e98a8}.addon b{font:500 14px var(--ui);color:var(--g300);white-space:nowrap}
.addons__n{display:block;color:var(--g500);font-size:13px;margin-top:4px}
.sizeg{margin:-8px 0 24px;color:var(--g300);font-size:14px}.sizeg summary{cursor:pointer;color:var(--g500)}.sizeg p{margin-top:8px}

/* конструктор в стиле конфигуратора: плитки форм + панель выбора рядом с предпросмотром */
.cfg{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:clamp(30px,5vw,80px);align-items:start;padding-bottom:clamp(80px,12vh,140px)}
.cfg__pv{position:sticky;top:96px;display:grid;gap:12px}
.cfg__cap{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.cfg__cap b{font:500 24px/1.2 var(--serif)}.cfg__cap span{color:var(--g500);font-size:14px}
.cfg__price{font:500 clamp(30px,3.4vw,44px)/1.1 var(--serif);color:#fff}
.cfg__hint{color:var(--g500);font-size:13px}
.cfg__s{display:grid;gap:18px;padding:34px 0;border-top:1px solid rgba(255,255,255,.1)}.cfg__s:first-child{border-top:0;padding-top:0}
.cfg__s h2{font:500 12px/1 var(--ui);letter-spacing:.28em;text-transform:uppercase;color:var(--g500)}
.forms{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.form{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;text-align:left;padding:10px;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:box-shadow .4s,background .4s}
.form:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.form[aria-pressed=true]{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px #fff,var(--glow)}
.form__i{width:54px;height:54px;border-radius:12px;overflow:hidden;background:#0b0b0c}.form__i img{width:100%;height:100%;object-fit:cover}
.form__t b{display:block;font:500 14px/1.2 var(--ui)}.form__t small{display:block;color:var(--g500);font-size:12px;margin-top:3px}
.cfg__go{align-items:start;justify-items:start}
@media(max-width:860px){.cfg{grid-template-columns:1fr}.cfg__pv{position:relative;top:0}.cfg__pv .cu__ph{max-height:46vh}}

/* конструктор: индикатор шагов, срок, заказ на изготовление */
.cfgsteps{grid-column:1/-1;position:sticky;top:84px;z-index:20;background:linear-gradient(#050506 70%,transparent);padding:10px 0 14px;margin-bottom:-6px}
.cfgsteps ol{display:flex;gap:10px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.cfgsteps a{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--ui);letter-spacing:.06em;color:var(--g500);padding:10px 16px 10px 10px;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transition:color .3s,box-shadow .3s,background .3s}
.cfgsteps a i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font:500 12px var(--ui);font-style:normal;background:rgba(255,255,255,.1)}
.cfgsteps a:hover{color:#fff}.cfgsteps a[aria-current=step]{color:#fff;box-shadow:inset 0 0 0 1px #fff}
.cfgsteps a.done i{background:linear-gradient(135deg,#e8ebf0,#8e98a8);color:#000;font-size:0}.cfgsteps a.done i::after{content:"✓";font-size:12px}
.cfg__lead{color:var(--g300);font-size:14px;min-height:0}.cfg__lead:empty{display:none}
.cfg__made{font-size:13px;color:#c9ced6;padding:10px 14px;border-radius:12px;background:rgba(150,162,184,0.07);box-shadow:inset 0 0 0 1px rgba(150,162,184,0.24)}
.made{color:#c9ced6!important}
.cfg__s{scroll-margin-top:150px}
@media(max-width:860px){.cfgsteps{top:72px}.cfgsteps a{font-size:12px;padding:8px 12px 8px 8px}}

/* главная: место под будущую 3D-модель (функция не подключена) */
.v3d{padding:clamp(90px,14vh,160px) 0;position:relative}
.v3d__g{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,100px);align-items:center}
.v3d__t p:not(.label){color:var(--g300);margin-top:18px;max-width:44ch}.v3d__t .link-arrow{margin-top:26px}
.v3d__f{margin:0;display:grid;gap:12px}.v3d__f figcaption{font:500 12px var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--g500)}
.v3d__stage{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:radial-gradient(60% 60% at 50% 45%,rgba(222,228,238,.07),transparent 70%),#08080a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.v3d__stage .c{position:absolute;width:26px;height:26px;border:0 solid rgba(222,228,238,.5)}
.v3d__stage .tl{left:20px;top:20px;border-width:1px 0 0 1px}.v3d__stage .tr{right:20px;top:20px;border-width:1px 1px 0 0}.v3d__stage .bl{left:20px;bottom:20px;border-width:0 0 1px 1px}.v3d__stage .br{right:20px;bottom:20px;border-width:0 1px 1px 0}
.v3d__floor{position:absolute;left:8%;right:8%;bottom:14%;height:34%;background:repeating-linear-gradient(90deg,rgba(222,228,238,.12) 0 1px,transparent 1px 12%),repeating-linear-gradient(0deg,rgba(222,228,238,.1) 0 1px,transparent 1px 22%);transform:perspective(500px) rotateX(62deg);transform-origin:50% 100%;mask:linear-gradient(transparent,#000 60%)}
.v3d__mark{position:absolute;inset:0 0 18%;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--g500)}.v3d__mark span{font:500 13px var(--ui);letter-spacing:.2em;text-transform:uppercase}
@media(max-width:860px){.v3d__g{grid-template-columns:1fr}}

/* ===== Шрифты: Inter (текст и заголовки) + JetBrains Mono (подписи, цены, теги) ===== */
h1,h2,h3,h4,.h2{letter-spacing:-.025em;font-weight:500}
.label,.opt__h,.cfg__s h2,.lbl2,.pcard__t span,.kick,.steps4 li,.review dt,.ostat small,.price__n,.form__t small,.addon b,.pcard__t small,.crumbs,.ccard__t small,.cfg__cap span,.tunnel__t p,.v3d__f figcaption,.v3d__mark span,.gcount,.hero__ctr,.sum__r,.paydlg__s span,.orow span,.sub-mono{font-family:var(--mono);letter-spacing:.06em}
.label,.opt__h,.cfg__s h2,.lbl2,.steps4 li,.review dt,.ostat small{letter-spacing:.12em}
.hero__ui .hero__ctr,.slide__t .k{font-family:var(--mono)}

/* ===== Конструктор-мастер (по образцу конфигуратора: превью слева, панель шагов справа) ===== */
.pagehead--s{padding-bottom:clamp(20px,4vh,40px)}.pagehead--s .h2{font-size:clamp(36px,5vw,72px)}
.cfgw{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start;padding-bottom:clamp(60px,10vh,120px)}
.cfgw__pv{position:sticky;top:88px;display:grid;gap:12px;padding:14px;border-radius:20px;background:#0c0d0f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.cfgw__pv .cu__ph{aspect-ratio:auto;height:calc(100svh - 230px);min-height:420px;max-height:760px;border-radius:14px}
.cfgw__tags{display:flex;flex-wrap:wrap;gap:8px;min-height:30px}
.cfgw__tags span{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;border-radius:6px;background:#e9ecf1;color:#0a0b0d}
.cfgp{position:relative;display:flex;flex-direction:column;border-radius:20px;background:#0c0d0f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);overflow:hidden;height:calc(100svh - 110px);min-height:560px;max-height:860px;position:sticky;top:88px}
.cfgp__h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:22px 26px;border-bottom:1px solid rgba(255,255,255,.1)}
.cfgp__h small{display:block;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--g500);margin-bottom:8px}
.cfgp__h b{font:600 clamp(28px,3vw,38px)/1 var(--ui);letter-spacing:-.02em}
.cfgp__h span{font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--g500);text-align:right;max-width:18ch}
.cfgp__s{display:flex;list-style:none;margin:0;padding:16px 14px 12px;gap:0;border-bottom:1px solid rgba(255,255,255,.1);overflow-x:auto;scrollbar-width:none}
.cfgp__s li{flex:1;min-width:84px;position:relative;display:flex;justify-content:center}
.cfgp__s li+li::before{content:"";position:absolute;left:-50%;right:50%;top:19px;height:1px;background:rgba(255,255,255,.18);z-index:0}
.cfgp__s button{position:relative;z-index:1;display:grid;justify-items:center;gap:3px;width:100%;color:var(--g500);transition:color .3s}
.cfgp__s i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#0c0d0f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);transition:background .3s,box-shadow .3s,color .3s}
.cfgp__s b{font:600 12px/1.2 var(--ui)}.cfgp__s small{font:400 10px/1.2 var(--mono);color:var(--g500);max-width:12ch;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cfgp__s button:hover{color:#fff}
.cfgp__s button[aria-current=step]{color:#fff}.cfgp__s button[aria-current=step] i{background:#fff;color:#000;box-shadow:0 0 0 3px #0c0d0f,0 0 0 4px #fff}
.cfgp__s button.done i{box-shadow:inset 0 0 0 1px #c9ced6;color:#c9ced6}
.cfgp__b{flex:1;overflow-y:auto;padding:22px 26px;scrollbar-width:thin;scrollbar-color:#3a3d44 transparent;min-height:0}
.pane{display:none;gap:18px}.pane.on{display:grid;animation:fadeIn .4s var(--ease)}
.pane h2{font:600 18px/1.2 var(--ui);letter-spacing:-.01em}
.cfgp__f{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 26px;border-top:1px solid rgba(255,255,255,.1)}
.cfgp__f .pill{margin-left:auto;flex:1;justify-content:center;max-width:none;border-radius:12px;padding:17px 22px}.cfgp__f .pill i{width:auto;margin-left:2px}
.cfgp .ok{margin:22px 26px;overflow:auto}
.qtyrow{display:flex;align-items:center;gap:18px}
/* карточки выбора: рамка, внизу цена; выбранная — залита белым */
.opt__row button{display:grid;gap:3px;text-align:left;padding:11px 14px;border-radius:10px;color:var(--g300);background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);font:500 14px/1.25 var(--ui);transition:background .25s,color .25s,box-shadow .25s}
.opt__row button::after{display:none}
.opt__row button small{font:400 11px/1.2 var(--mono);color:var(--g500)}
.opt__row button:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);color:#fff}
.opt__row button[aria-pressed=true]{background:#fff;color:#000;box-shadow:none}.opt__row button[aria-pressed=true] small{color:#444}
.opt__row,.opt__row.wrapchips{gap:10px}
.cfgw .chip{font:500 14px/1 var(--ui);padding:11px 16px;border-radius:10px}.cfgw .chip[aria-pressed=true]{background:#fff;color:#000}
.cfgw .forms{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.cfgw .form{border-radius:12px}
@media(max-width:1000px){.cfgw{grid-template-columns:1fr}.cfgw__pv{position:relative;top:0}.cfgw__pv .cu__ph{height:46svh;min-height:300px}.cfgp{position:relative;top:0;height:auto;max-height:none}.cfgp__b{overflow:visible}}
@media(max-width:600px){
  .cfgp__s{padding:14px 8px 10px}.cfgp__s li{min-width:0}.cfgp__s small{display:none}.cfgp__s b{font-size:11px}.cfgp__s i{width:34px;height:34px}.cfgp__s li+li::before{top:17px}
  .cfgp__h{padding:18px 16px}.cfgp__b{padding:18px 16px}.cfgp__f{padding:14px 16px}
  .cfgw__pv .cu__ph{height:38svh}
}

/* ===== КОРЗИНА: красные штанги, шаги, карточка итога ===== */
.gpost{fill:none;stroke:var(--post);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.gnet path{fill:none;stroke:rgba(222,228,238,.26);stroke-width:1}
.gice{fill:none;stroke:rgba(255,255,255,.2);stroke-width:1.4}
.gpuck{fill:#16181b;stroke:rgba(222,228,238,.4);stroke-width:1}
.cart-head__in{display:flex;align-items:center;justify-content:space-between;gap:40px}
.cgoal{flex:0 0 auto;width:clamp(150px,22vw,300px);filter:drop-shadow(0 0 34px rgba(208,58,53,.3))}
.cgoal svg,.empty-gate .goalbig svg{display:block;width:100%;height:auto;overflow:visible}
.empty-gate .goalbig{width:min(300px,70vw);opacity:1;filter:drop-shadow(0 0 40px rgba(208,58,53,.3))}
.csteps{display:flex;gap:clamp(14px,2.4vw,34px);list-style:none;padding:0;margin:30px 0 0;counter-reset:cs;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--g500)}
.csteps li{counter-increment:cs;display:flex;align-items:center;gap:10px}
.csteps li::before{content:counter(cs);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);font-size:11px}
.csteps li.on{color:#fff}.csteps li.on::before{background:var(--post);box-shadow:none}
.csteps li+li::after{content:none}
.sum{position:sticky;overflow:hidden}
.sum::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--post-d),var(--post),var(--post-d))}
.qty{gap:0;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);padding:3px}
.qty button{box-shadow:none}.qty span{min-width:30px;text-align:center}
.grow{padding:26px 0}
.grow b{font:500 22px/1.2 var(--ui)}
.grow img{box-shadow:0 0 0 1px rgba(255,255,255,.1)}
.grow .made{color:#e9b2ad}
@media(max-width:860px){.cart-head__in{flex-direction:column;align-items:flex-start;gap:26px}.cgoal{width:160px}}

/* ===== Переключатель языка RU / EN ===== */
.tg{font:500 12px/1 var(--mono);letter-spacing:.12em}
.tg button{padding:8px 4px;color:var(--g500);transition:color .3s}.tg button:hover{color:#fff}
.tg button.on{color:#fff;box-shadow:0 1px 0 var(--post)}
.menu .tg{display:flex;justify-content:center;margin-top:18px;font-size:15px}
.menu .tg button{min-width:44px;min-height:44px}
@media(max-width:860px){.cart-head__in{position:relative;display:block}.cgoal{position:absolute;right:0;top:-6px;width:104px}.csteps{flex-wrap:wrap;row-gap:12px}}
@media(max-width:860px){
  .grow{grid-template-columns:72px 1fr auto;grid-template-areas:"img txt txt" "qty qty sum" "x x x";gap:14px 16px;align-items:start}
  .grow>a{grid-area:img}.grow>div:nth-child(2){grid-area:txt}.grow .qty{grid-area:qty;grid-column:auto;justify-self:start}.grow__s{grid-area:sum;grid-column:auto;align-self:center}.grow__x{grid-area:x;grid-column:auto;justify-self:start}
}

/* ===== Телефоны: длинные слова, цели касания, сетки без выхода за край ===== */
h1,h2,h3,.h2{overflow-wrap:break-word;text-wrap:balance}
.ft a.l{display:flex;align-items:center;min-height:24px;margin-bottom:8px}
.link-arrow,.crumbs a,.grow__x{min-height:24px}
.crumbs a{display:inline-flex;align-items:center}
.dots button{height:24px}.dots button::before,.dots button i{top:11px}
.gate>*,.co>*,.cgrid>*,.cfgw>*{min-width:0}
@media(max-width:860px){
  .crow>.ccard{aspect-ratio:auto;width:100%}
  .grow{grid-template-columns:72px minmax(0,1fr) auto}
  .grow b,.grow small{overflow-wrap:anywhere}
  .grow__s{max-width:130px}
  .bigcta__t b{overflow-wrap:break-word;max-width:100%}
}
@media(max-width:600px){
  .pagehead .h2,.pagehead--s .h2{font-size:clamp(32px,10.6vw,56px);line-height:1.02}
  .chero__t h1{font-size:clamp(44px,14vw,84px)}
  .cfgp__s li{flex:1 1 0}
  .cfgp__s li:has([aria-current=step]){flex:0 0 auto;padding:0 8px}
  .cfgp__s button:not([aria-current=step]) b{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .cfgp__s li+li::before{left:-100%}
  .cl .tlink{overflow-wrap:anywhere}
  #fs{font-size:15px}
  .grow__s b{font-size:15px;line-height:1.25}
  .csteps{font-size:11px;letter-spacing:.08em;gap:12px}
}
@media(max-width:860px){
  .crow{grid-template-columns:minmax(0,1fr)}
  .bigcta__t{grid-template-columns:minmax(0,1fr)}
  .bigcta__t b{font-size:clamp(36px,10.5vw,72px)}
}

/* Каталог: категории плитками, коллекции, все изделия с фильтрами */
.catsect{padding-block:clamp(28px,4vw,56px)}
.ctiles{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(170px,17vw,250px);gap:clamp(12px,1.6vw,22px);margin-top:26px}
.ctile{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:#0b0b0c;isolation:isolate}
.ctile:first-child{grid-column:span 2;grid-row:span 2}
.ctile:nth-child(4){grid-column:span 2}
.ctile:nth-child(7){grid-column:span 2}
.ctile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72);transition:scale 1.2s var(--ease),filter .6s}
.ctile::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.86))}
.ctile:hover{box-shadow:var(--glow)}.ctile:hover img{scale:1.05;filter:none}
.ctile__t{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:grid;gap:6px}
.ctile__t b{font:500 clamp(21px,2.1vw,32px)/1.05 var(--serif)}
.ctile:first-child .ctile__t b{font-size:clamp(30px,4vw,60px)}
.ctile__t small{font:400 13px var(--ui);color:var(--g300)}
.fbar{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;margin:-18px 0 34px}
.fsel{display:grid;gap:8px;min-width:min(240px,100%)}
.fsel span{font:500 12px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--g500)}
.fsel select,.opt__sel{width:100%;min-height:46px;background:#141416;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 14px;font:400 15px/1.3 var(--ui)}
.fsel select:focus-visible,.opt__sel:focus-visible{outline:2px solid #fff;outline-offset:2px}
.opt__row:has(.opt__sel){display:block;max-width:440px}
.fcount{font:400 14px var(--ui);color:var(--g500);margin-left:auto;padding-bottom:12px}
.fempty{color:var(--g300);padding:30px 0}
.fmore{margin:40px auto 0;display:flex}
@media(max-width:860px){
  .ctiles{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(130px,40vw,220px)}
  .ctile:first-child{grid-row:span 1}
  .ctile:nth-child(4),.ctile:nth-child(7){grid-column:auto}
  .ctile:nth-child(even):last-child{grid-column:span 1}
  .fsel{flex:1 1 200px}.fcount{margin-left:0;width:100%;padding-bottom:0}
  .fbar{margin-top:-14px}
}
