/* Основия — «Ночная смена». Слой оформления поверх style.css (публичные страницы). Палитра и шрифты — из набора Дизайнера. */
@font-face{font-family:Tektur;src:url(/static/brand/fonts/Tektur.woff2) format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:Plex;src:url(/static/brand/fonts/IBMPlexSans.woff2) format('woff2');font-weight:100 700;font-display:swap}
@font-face{font-family:PlexMono;src:url(/static/brand/fonts/IBMPlexMono-Medium.woff2) format('woff2');font-weight:500;font-display:swap}
:root{--bg:#0C0F12;--txt:#EEF2F4;--mut:#A9B4BC;--acc:#C8F03C;--acc2:#D7F86A;--line:#2A323A;--panel:#13181D;--bd:#4A555E;--ink:#0C0F12;--ink2:#46515A;--g:#EEF2F4;--o:#C8F03C;--m:#A9B4BC;--r:4px;color-scheme:dark}
html{background:var(--bg)}
body{background:var(--bg);color:var(--txt);font-family:Plex,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--txt)}
h1,h2,h3,.cat-h{font-family:Tektur,system-ui,sans-serif;font-weight:600;letter-spacing:-.01em;line-height:1.08}
h2{font-size:clamp(30px,3.4vw,48px);margin-bottom:.45em}
h3{line-height:1.2}
.muted,.size,.why,.crumbs,.crumbs a,.nb time,.narticle time{color:var(--mut)}
::selection{background:var(--acc);color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.tab:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.wrap{max-width:1240px;padding:0 24px}
section{padding:88px 0}
.alt{background:transparent;border-top:1px solid var(--line)}
/* кнопки: одна залитая лаймом на экран, остальные — рамкой */
.btn{background:var(--acc);color:var(--ink);border-radius:4px;border:1px solid var(--acc);padding:15px 24px;font-weight:600;font-family:inherit;transition:background .2s,border-color .2s,color .2s}
.btn:hover{background:var(--acc2);border-color:var(--acc2);filter:none;color:var(--ink)}
.btn.ghost,.btn.ghost.light,.btn-ctor,.plan-btn,.btn.tg,.btn.call{background:transparent;color:var(--txt);border:1px solid var(--bd)}
.btn.ghost:hover,.btn-ctor:hover,.plan-btn:hover,.btn.tg:hover,.btn.call:hover{background:transparent;border-color:var(--acc);color:var(--acc)}
.btn.call small{color:var(--mut)}
.btn.sm{padding:10px 16px;font-size:15px}
.top .btn.sm{background:transparent;color:var(--txt);border-color:var(--bd)}.top .btn.sm:hover{border-color:var(--acc);color:var(--acc)}
/* шапка */
.top{background:rgba(12,15,18,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:12px 0}
.brand{gap:14px;color:var(--txt)}
.brand .osn-logo{display:block;height:32px;width:auto;flex:none}
.brand .osn-slog{font-size:13px;line-height:1.25;color:var(--mut);max-width:9em;border-left:1px solid var(--line);padding-left:14px}
@media(max-width:1279px){.top .brand .osn-slog{display:none}}
nav a{color:var(--mut)}nav a:hover{color:var(--acc)}
.top nav a:first-child{color:var(--mut);font-weight:400}
.burger i{background:var(--txt)}
.hphone{background:transparent;border:1px solid var(--bd);color:var(--txt);border-radius:4px}
@media(max-width:760px){.top nav a{border-top:1px solid var(--line);color:var(--txt)}.top nav a:first-child{color:var(--acc);font-weight:600}.brand .osn-logo{height:28px}}
@media(max-width:400px){.brand .osn-logo{height:24px}}
/* первый экран */
.hero{background:var(--bg);color:var(--txt);padding:72px 0 0;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 96px;opacity:.35;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
.hero .wrap{position:relative}
.hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding-bottom:64px}
.hero h1{font-size:clamp(38px,4.6vw,66px);line-height:1.02;margin:0 0 22px}
.hero h1::after{width:96px;height:6px;background:var(--acc);border-radius:0;margin-top:24px}
.hero .lead{font-size:19px;color:var(--mut);opacity:1;max-width:32em;line-height:1.5}
.cta{gap:12px 14px;margin-top:30px;align-items:center}
.cta .btn.ghost.light{border:0;border-bottom:1px solid var(--mut);border-radius:0;padding:6px 0;margin:0 10px;font-weight:400}
.cta .btn.ghost.light:hover{border-color:var(--acc);color:var(--acc)}
.hero-img,.ph,.nimg,.pb-sum img,.nhero,.kv-fig,.ctor-img{border-radius:4px}
.hero-img{box-shadow:0 0 0 1px var(--line),0 30px 80px rgba(0,0,0,.45)}
.hero-img:after,.ph:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);pointer-events:none}
.viz{background:rgba(12,15,18,.7);color:var(--mut);border-radius:2px}
.osn-bar{border-top:1px solid var(--line);background:rgba(19,24,29,.8)}
.osn-bar .wrap{display:flex;align-items:center;gap:14px 28px;min-height:64px;flex-wrap:wrap;font-size:16px;padding-top:12px;padding-bottom:12px}
.osn-bar .cnt{font-family:PlexMono,ui-monospace,monospace;color:var(--acc);font-size:22px;font-variant-numeric:tabular-nums}
.osn-bar ul{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;margin:0;padding:0;color:var(--txt)}
.osn-bar li:before{content:"";display:inline-block;width:6px;height:6px;background:var(--acc);margin-right:9px;vertical-align:middle}
.osn-bar .slog{margin-left:auto;color:var(--mut)}
@media(max-width:860px){.hero{padding-top:28px}.hero-in{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.hero-img{order:-1}.osn-bar .slog{display:none}.osn-bar ul{font-size:15px;gap:6px 14px}}
@media(max-width:600px){.hero h1{font-size:36px}.hero .lead{font-size:17px}.cta .btn:not(.ghost){display:block;width:100%}.cta .btn-ctor{display:block;width:100%}.cta .btn.ghost.light{margin:4px 8px 0 0}}
/* каталог */
.tabs{gap:8px}
.tab{background:transparent;color:var(--txt);border:1px solid var(--bd);border-radius:4px;font-weight:500}
.tab:hover{border-color:var(--acc);color:var(--acc)}
.tab.on{background:var(--txt);border-color:var(--txt);color:var(--ink)}
.cat-h{color:var(--txt);font-size:26px}.cat-h:after{height:1px;background:var(--line)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:none}
.card.featured{border:1px solid var(--acc);box-shadow:none}
.ph{background:#1a2026}
.cb{padding:20px}
.cb h3{font-size:22px;margin:4px 0}
.price{font-family:PlexMono,ui-monospace,monospace;font-weight:500;color:var(--acc);font-size:24px;font-variant-numeric:tabular-nums}
.price.ask{color:var(--mut);font-family:inherit}
.badge{background:var(--acc);color:var(--ink);border-radius:2px;font-weight:600;letter-spacing:0}
.badge.hot,.topb.hotb{background:var(--ink);color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.badge .fl{color:var(--acc)}
details summary{color:var(--txt)}
.card-act .btn{padding:12px 16px}
.card-act .btn:not(.plan-btn){background:transparent;color:var(--txt);border-color:var(--bd)}
.card-act .btn:not(.plan-btn):hover{border-color:var(--acc);color:var(--acc)}
.card.featured .card-act .btn:not(.plan-btn){background:var(--acc);color:var(--ink);border-color:var(--acc)}
/* блок конструктора, новости */
.ctor{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ctor-tag{background:transparent;color:var(--acc);border:1px solid var(--acc);border-radius:2px;font-weight:500}
.ctor p{color:var(--mut);opacity:1}.ctor small{color:var(--mut)}
.ctor .btn.big{background:var(--acc);color:var(--ink);box-shadow:none}.ctor .btn.big:hover{background:var(--acc2);color:var(--ink)}
.ctor-img{background:#fff;padding:8px;box-shadow:0 0 0 1px var(--line)}
.ncard{background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:none}
.nimg{background:#1a2026}
.nb h3 a{color:var(--txt)}.nb h3 a:hover{color:var(--acc)}.nb p{color:var(--mut)}
.nmore,.nhead a,.ntext a{color:var(--acc);font-weight:600}
/* шаги */
.steps{gap:0;counter-reset:s;margin-top:40px;border-top:1px solid var(--line)}
.steps li{background:transparent;border-radius:0;border-top:0;border-right:1px solid var(--line);padding:28px 24px 28px 0;margin-left:0}
.steps li+li{padding-left:24px}.steps li:last-child{border-right:0}
.steps span{width:auto;height:auto;border-radius:0;background:transparent;color:var(--acc);font-family:PlexMono,ui-monospace,monospace;font-weight:500;font-size:22px;display:block;margin-bottom:14px}
.steps span:before{content:"0"}
.steps h3{font-size:22px}.steps p{color:var(--mut);margin:0}
@media(max-width:760px){.steps li,.steps li+li{border-right:0;border-bottom:1px solid var(--line);padding:22px 0}}
.steps-more a{color:var(--txt);text-decoration-color:var(--acc)}.steps-more a:hover{color:var(--acc)}
/* регионы — светлая секция */
#geo{background:#EEF2F4;color:var(--ink)}
#geo h2{color:var(--ink)}#geo .muted{color:var(--ink2)}
.geo{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink);margin:36px 0 24px}
.geo li{background:none;border:0;border-bottom:1px solid #C5CDD3;border-radius:0;padding:22px 20px 24px 0;font-family:Tektur,sans-serif;font-weight:600;font-size:clamp(24px,2.6vw,38px);line-height:1.08;color:var(--ink)}
.geo li::before{content:none}
@media(max-width:860px){.geo{grid-template-columns:1fr 1fr}}@media(max-width:520px){.geo{grid-template-columns:1fr}.geo li{padding:16px 0 18px}}
/* вопросы */
.faq{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:18px 22px}
.faq summary{font-weight:600;font-size:18px}.faq p{color:var(--mut)}
.faq[open] summary{color:var(--acc)}
/* заявка и контакты */
#lead h2{font-size:clamp(30px,3.2vw,44px)}
.cphone a{font-family:Tektur,sans-serif;font-weight:600;font-size:clamp(28px,3vw,40px);color:var(--txt)}.cphone a:hover{color:var(--acc)}
.cmail a{color:var(--txt)}
.form{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:32px}
.form.wide{background:none;border:0;padding:0}
label{color:var(--txt);font-weight:600;font-size:15px}
input,select,textarea{background:var(--bg);color:var(--txt);border:1px solid var(--bd);border-radius:4px;padding:13px 14px}
input::placeholder,textarea::placeholder{color:#7D8890}
input:focus,select:focus,textarea:focus{border-color:var(--acc);outline:0;box-shadow:0 0 0 1px var(--acc)}
.chk{color:var(--mut)}
.chk input[type=checkbox],.pb-ch.col input,.pb-cat input,.kv-consent input{accent-color:var(--acc)}
.chk a,.consent-note,.consent-note a{color:var(--mut)}
.form-alt{color:var(--mut)}.form-alt a{color:var(--acc)}
.ok{background:rgba(200,240,60,.1);border:1px solid var(--acc);border-radius:4px;color:var(--txt)}
.err,.warn{background:rgba(232,146,48,.08);border:1px solid #6b5a3a;border-radius:4px;color:var(--txt)}
.warn{border-left:3px solid var(--acc)}
/* подвал */
footer{background:var(--bg);color:var(--mut);border-top:1px solid var(--line);padding:40px 0 24px}
footer a{color:var(--txt)}footer a:hover{color:var(--acc)}
.fbrand{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.fbrand svg{height:30px;width:auto}.fbrand span{color:var(--mut)}
.flegal{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;opacity:1}
/* cookie, модалки */
.ckb{background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.ckb a{color:var(--acc)}.ckb .btn.ghost{color:var(--txt);border-color:var(--bd)}
.plan-modal,.lm,.pl-modal{background:rgba(6,8,10,.82)}
.plan-box,.lm-box,.pl-mbox{background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:4px}
.plan-head{border-bottom:1px solid var(--line);color:var(--txt)}
.plan-x{background:transparent;border:1px solid var(--bd);border-radius:4px;color:var(--txt)}.plan-x:hover{background:transparent;border-color:var(--acc);color:var(--acc)}
.plan-tab{background:transparent;border:1px solid var(--bd);border-radius:4px;color:var(--txt)}.plan-tab.on{background:var(--txt);border-color:var(--txt);color:var(--ink)}
.plan-img{background:#fff}.plan-foot{color:var(--mut)}.plan-foot a{color:var(--acc)}.plan-foot a.btn{color:var(--ink)}
.lm-x,.pl-mx{color:var(--mut)}
#pl-lead label{color:var(--txt)}#pl-lead input:not([type=checkbox]),#pl-lead textarea{background:var(--bg);color:var(--txt);border:1px solid var(--bd);border-radius:4px}
#pl-lead label.chk,#pl-lead .chk a{color:var(--mut)}.pl-mor{color:var(--mut)}
/* подбор */
.pb-box{background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:none}
.pb-box h2{color:var(--txt)}
.pb-prog{background:var(--line);border-radius:0;height:6px}.pb-prog i{background:var(--acc);border-radius:0}
button.pb-opt{background:var(--bg);color:var(--txt);border:1px solid var(--bd);border-radius:4px;box-shadow:none}
button.pb-opt:hover{background:var(--bg);border-color:var(--acc);box-shadow:none;color:var(--acc)}
button.pb-opt.on{background:var(--acc);border-color:var(--acc);color:var(--ink)}
.pb-ch.col .chk{border:1px solid var(--bd);border-radius:4px;color:var(--txt)}.pb-ch.col .chk:has(input:checked){border-color:var(--acc);background:rgba(200,240,60,.08)}
.pb-nav .btn,.pb-act .btn,.pb-card .btn{border-radius:4px}
.pb-nav .btn:not(.ghost),.pb-card .btn{background:var(--acc);color:var(--ink);border:1px solid var(--acc)}.pb-nav .btn:not(.ghost):hover,.pb-card .btn:hover{background:var(--acc2);border-color:var(--acc2)}
.pb-nav .btn.ghost,.pb-act .btn.ghost{background:transparent;color:var(--txt);border:1px solid var(--bd)}.pb-nav .btn.ghost:hover,.pb-act .btn.ghost:hover{background:transparent;color:var(--acc);border-color:var(--acc)}
.pb-in input{background:var(--bg);color:var(--txt);border:1px solid var(--bd);border-radius:4px}
.pb-cat{border:1px solid var(--line);border-radius:4px}.pb-total{color:var(--acc);font-family:PlexMono,ui-monospace,monospace;font-weight:500}
small.free{color:var(--acc)}small.paid{color:var(--mut)}
/* конструктор планировки: лист остаётся светлым */
.pl-size{color:var(--acc);font-family:PlexMono,ui-monospace,monospace;font-weight:500}
.pl-top select,.pl-size-f input{background:var(--bg);color:var(--txt);border:1px solid var(--bd);border-radius:4px}
.pl-tools{background:var(--bg)}
.pl-tools button,#pl-floors button,.pl-furn button{background:transparent;color:var(--txt);border:1px solid var(--bd);border-radius:4px}
.pl-tools button:hover,#pl-floors button:hover,.pl-furn button:hover{border-color:var(--acc)}
.pl-tools button.on,#pl-floors button.on{background:var(--acc);color:var(--ink);border-color:var(--acc)}
.pl-tools .danger{color:#ff8a7a;border-color:#6b3a34}
.pl-hint{background:var(--panel);border-left:3px solid var(--acc);border-radius:4px;color:var(--mut)}
.pl-canvas{background:#fff;border-radius:4px;box-shadow:0 0 0 1px var(--line)}
.pl-furn{background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:none}.pl-furn small{color:var(--mut)}.pl-furn button small{color:var(--acc)}
@media(max-width:800px){.pl-sel{background:var(--panel);border-top:1px solid var(--line)}}
/* юр. страницы, новости */
.legal .ph{background:rgba(200,240,60,.15);color:var(--acc)}
.opbox{background:var(--panel);border-left:3px solid var(--acc);border-radius:4px}
.legal a{color:var(--txt)}
/* анкета /kviz: переменные анкеты на палитру бренда */
.kv{--g:#EEF2F4;--o:#C8F03C;--od:#D7F86A;--ln:#2A323A;--bg:#13181D;--mu:#A9B4BC}
.kv .kv-mode,.kv .kc,.kv .kt,.kv .kx-r,.kv .kq textarea,.kv .kq-oth,.kv .kf input,.kv .kf textarea{background:var(--bg);border-color:#3a444d;border-radius:4px}
.kv .kc input[type=checkbox]{background-color:#0C0F12;border-color:#4A555E;border-radius:2px}
.kv .kc input[type=checkbox]:checked{background-color:var(--o);border-color:var(--o);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2l2.6 2.6L10 3.4' fill='none' stroke='%230C0F12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.kv .kc:hover{border-color:#6B7780}
.kv .kc:has(input:checked),.kv .kv-mode:hover{background:rgba(200,240,60,.08);border-color:var(--o)}
.kv .kv-mode i{border-radius:4px;border-width:1px;border-color:var(--bd)}
.kv .kv-mode-main i{color:#0C0F12}
.kv .kb{border-radius:4px;color:#0C0F12 !important;border-width:1px}
.kv .kb-ghost{background:transparent;color:var(--g) !important;border-color:#4A555E}.kv .kb-ghost:hover{background:transparent;color:var(--o) !important;border-color:var(--o)}
.kv .kv-ruler i{background:repeating-linear-gradient(90deg,rgba(238,242,244,.18) 0 1px,transparent 1px 5px) left bottom/100% 45% no-repeat,#1d242a}
.kv .kv-ruler i.on{background:repeating-linear-gradient(90deg,rgba(12,15,18,.35) 0 1px,transparent 1px 5px) left bottom/100% 45% no-repeat,var(--o)}
.kv .kv-ruler i.cur{background:repeating-linear-gradient(90deg,rgba(12,15,18,.35) 0 1px,transparent 1px 5px) left bottom/100% 45% no-repeat,#7f9a25}
.kv .kv-err{background:rgba(192,57,43,.15);color:#ffb3a8}
.kv .kv-fig,.kv .kv-draft{border-radius:4px}
.kv .kq-n{font-family:PlexMono,ui-monospace,monospace;font-weight:500}
.kv .kv-h{font-family:Tektur,sans-serif;font-weight:600}
.kv :focus-visible,.kv .kc:has(input:focus-visible){outline-color:var(--o)}
@media (max-width:720px){.kv .kv-nav{background:#0C0F12}}
/* анкета: поля в шаблонах «взрослых ___ детей ___» — сетка «подпись над полем» */
.kv .kq-tpl{line-height:1.4;margin:0 0 12px}
.kv .kt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 12px;align-items:end;max-width:640px}
.kv .kt-g{display:grid;grid-template-rows:auto auto;gap:6px;min-width:0;font-weight:400;font-size:14px;color:var(--mu);margin:0}
.kv .kt-l{line-height:1.25}
.kv .kt-f{position:relative;display:block}
.kv .kt-grid .kt,.kv .kt-row .kt{display:block;box-sizing:border-box;width:100%;height:46px;min-height:46px;margin:0;padding:0 12px;font:400 16px/1.2 Plex,system-ui,sans-serif;color:var(--g);background:var(--bg);border:1px solid #3a444d;border-radius:4px;font-variant-numeric:tabular-nums}
.kv .kt-f:has(.kt-u) .kt{padding-right:52px}
.kv .kt-u{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--mu);font-size:14px;pointer-events:none;white-space:nowrap}
.kv .kt-grid .kt:focus,.kv .kt-row .kt:focus{border-color:var(--o);box-shadow:0 0 0 1px var(--o);outline:0}
.kv .kt-nolab{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);max-width:420px;align-items:center}
.kv .kt-nolab .kt-l{display:none}
.kv .kt-nolab .kt-tail{grid-column:1/-1}
.kv .kt-x{color:var(--mu);font-size:18px;text-align:center}
.kv .kt-tail{color:var(--mu);font-size:14px;align-self:center}
.kv .kt-row{display:flex;align-items:center;gap:6px;color:var(--mu);max-width:420px}
.kv .kt-row .kt{flex:1 1 0;min-width:0;padding:0 8px;text-align:center}
/* значение внутри варианта ответа («да, ___ шт») */
.kv .kc .kc-v{width:5.5em;height:34px;min-height:0;margin:0 6px;padding:0 8px;font-size:16px;line-height:1.2;box-sizing:border-box;vertical-align:middle;border-radius:4px}
.kv .kc>span{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px 0}
/* варианты ответа: на телефоне ровные колонки, без «лесенки» */
.kv .kq-o{align-items:stretch}
.kv .kc{align-items:center}
.kv .kq-more textarea,.kv .kq textarea{font-size:16px}
.kv .kx-b .kf input{height:46px;padding:0 12px;font-size:16px;box-sizing:border-box}
@media (max-width:520px){
  .kv .kt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px}
  .kv .kt-grid:has(>.kt-g:nth-of-type(2):last-of-type){grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv .kt-grid:has(>.kt-g:only-of-type){grid-template-columns:minmax(0,200px)}
  .kv .kt-nolab,.kv .kt-nolab:has(>.kt-g:nth-of-type(2):last-of-type){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .kv .kt-g{font-size:13px}
  .kv .kt-f:has(.kt-u) .kt{padding-right:40px;padding-left:10px}
  .kv .kt-u{right:8px;font-size:13px}
  .kv .kx-b{grid-template-columns:1fr}
  /* варианты: две ровные колонки, высота по самой высокой в ряду */
  .kv .kq-o{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kv .kq-o .kc{min-width:0;width:auto;align-items:center}
  .kv .kq-o .kc:has(.kc-v),.kv .kq-o .kc-alt:last-child{grid-column:1/-1}
  .kv .kq-o .kc>span{min-width:0;overflow-wrap:anywhere}
}
/* превью */
.osn-preview{background:var(--acc);color:var(--ink);text-align:center;font-size:14px;font-weight:600;padding:6px 12px}
/* без лишнего движения */
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}
.pb-box h2{font-size:clamp(24px,2.6vw,34px)}
.pl{padding-top:36px}
/* анкета на главной */
.top nav a.nav-kv{color:var(--acc);font-weight:600}
.top nav a.nav-kv:hover{color:var(--acc2)}
.osn-kv{padding:44px 0;border-bottom:1px solid var(--line)}
.osn-kv-in{display:grid;grid-template-columns:1fr auto;gap:24px 48px;align-items:center;border:1px solid var(--acc);border-radius:4px;background:var(--panel,#13181D);padding:32px 36px}
.osn-kv h2{margin:0 0 10px;font-size:clamp(26px,2.6vw,34px)}
.osn-kv p{margin:0;color:var(--txt);font-size:18px;max-width:640px}
.osn-kv .osn-kv-meta{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:14px;color:var(--mut);font-size:15px}
.osn-kv-meta b{font-family:PlexMono,ui-monospace,monospace;color:var(--acc);font-weight:500;font-size:18px;margin-right:4px}
.osn-kv .btn{white-space:nowrap;padding:16px 28px;font-size:17px}
@media(max-width:760px){.osn-kv{padding:28px 0}.osn-kv-in{grid-template-columns:1fr;padding:22px 18px}.osn-kv p{font-size:17px}.osn-kv .btn{display:block;width:100%;text-align:center}}
.hero .cta .cta-br{flex-basis:100%;height:0}
.hero .cta .cta-br + .btn{margin-left:0}
.top .btn.sm{white-space:nowrap}
@media(min-width:761px) and (max-width:1599px){.top .brand .osn-slog{display:none}}
@media(min-width:1181px) and (max-width:1439px){.top nav{gap:12px}.top nav a{font-size:14.5px}}

.kv-done-b{display:flex;flex-wrap:wrap;gap:12px}.kv-done-b:empty{display:none}
@media(max-width:600px){.kv-done-b .kb{width:100%}}

/* карточка каталога → страница товара */
a.ph{display:block;color:inherit}
.card h3 a{color:inherit;text-decoration:none}.card h3 a:hover{color:var(--acc)}
.cb p a.more{color:var(--mut);font-size:14px;white-space:nowrap}.cb p a.more:hover{color:var(--acc)}

/* страница товара */
.dm{padding:20px 18px 56px}
.dm .crumbs span{color:var(--txt)}
.dm-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:40px;align-items:start;margin-top:6px}
.dm-gal{position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#1a2026}
.dm-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.dm-track::-webkit-scrollbar{display:none}
.dm-sl{flex:0 0 100%;scroll-snap-align:start;margin:0;position:relative}
.dm-sl img{width:100%;aspect-ratio:4/3;object-fit:cover}
.dm-ar{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:4px;border:1px solid var(--bd);background:rgba(12,15,18,.7);color:var(--txt);font-size:26px;line-height:1;cursor:pointer}
.dm-ar:hover{border-color:var(--acc);color:var(--acc)}.dm-ar.prev{left:10px}.dm-ar.next{right:10px}
.dm-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:4px}
.dm-dots button{width:24px;height:24px;border:0;background:transparent;padding:0;cursor:pointer;position:relative}
.dm-dots button:after{content:"";position:absolute;left:8px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--mut);opacity:.6}
.dm-dots button.on:after{background:var(--acc);opacity:1}
.dm-sum h1{font-size:clamp(34px,4vw,52px);margin:0 0 12px}
.dm-badges{display:flex;gap:8px;margin-bottom:12px}.dm-badges .badge{position:static}
.dm-lead{font-size:18px;color:var(--mut);margin:0 0 18px;max-width:34em}
.dm-specs{margin:0 0 20px;border-top:1px solid var(--line)}
.dm-specs div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.dm-specs dt{color:var(--mut);white-space:nowrap}.dm-specs dd{margin:0;text-align:right}
.dm-price{font-family:PlexMono,ui-monospace,monospace;color:var(--acc);font-size:clamp(30px,3vw,38px);font-variant-numeric:tabular-nums;line-height:1.1}
.dm-price.ask{color:var(--mut);font-family:inherit;font-size:24px}
.dm-sum .small{font-size:14px;margin:6px 0 20px}
.dm-cta{display:flex;flex-wrap:wrap;gap:12px}.dm-cta .btn{min-height:50px}
.dm-sec{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.dm-sec h2{margin:0 0 20px}
.dm-h3{font-size:20px;margin:0 0 12px}
.dm-plan-g{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:40px;align-items:start}
.dm-plans{display:grid;gap:16px}.dm-plans.two{grid-template-columns:1fr 1fr}
.dm-plan{margin:0}.dm-plan img{width:100%;background:#fff;border-radius:4px}
.dm-plan figcaption{color:var(--mut);font-size:14px;margin-top:6px}
.dm-rooms-g{display:grid;gap:16px}.dm-rooms-g h3{font-size:16px;color:var(--mut);margin:0 0 4px;font-family:inherit;font-weight:600}
.dm-rooms{list-style:none;margin:0;padding:0}
.dm-rooms li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}
.dm-rooms li span:last-child{font-family:PlexMono,ui-monospace,monospace;font-size:15px;color:var(--txt)}
.dm-inc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 32px}
.dm-inc li{padding:10px 0 10px 26px;border-bottom:1px solid var(--line);position:relative}
.dm-inc li:before{content:"";position:absolute;left:0;top:19px;width:12px;height:2px;background:var(--acc)}
.dm-inc li:first-letter{text-transform:uppercase}
.dm-link{color:var(--acc)}.dm-link:hover{color:var(--acc2)}
.dm-lead-sec{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.dm-lead-sec h2{font-size:clamp(28px,3vw,40px)}
.dm-more{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dm-card{display:block;text-decoration:none;color:var(--txt);background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.dm-card:hover{border-color:var(--acc)}
.dm-cb{padding:12px 14px 14px;display:flex;flex-direction:column;gap:2px}.dm-cb .price{font-size:18px}
.dm-stick{display:none}
@media(max-width:860px){
 .dm-top,.dm-plan-g{grid-template-columns:1fr;gap:22px}
 .dm-gal{margin:0 -18px;border-left:0;border-right:0;border-radius:0}
 .dm-ar{display:none}
 .dm-more{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dm-sec,.dm-lead-sec{margin-top:40px;padding-top:24px}
 .dm-stick{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(12,15,18,.96);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .2s}
 .dm-stick.on{transform:none}
 .dm-stick .btn{padding:12px 22px;min-height:46px}
 .dm-stick-p{font-family:PlexMono,ui-monospace,monospace;color:var(--acc);font-size:18px}
 body:has(.ckb) .dm-stick,body:has(.plan-modal:not([hidden])) .dm-stick{display:none}
 .dm{padding-bottom:90px}
}
@media(max-width:420px){.dm-plans.two{grid-template-columns:1fr}.dm-cta .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.dm-stick{transition:none}}
/* product page: no global section padding, ctor button */
.dm-sec,.dm-lead-sec{padding-bottom:0}
.dm-last{padding-bottom:72px}
.dm-ctor-w{margin:24px 0 0}
.btn.dm-ctor{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent;color:var(--acc);border:1px solid var(--acc)}
.btn.dm-ctor:hover{background:rgba(200,240,60,.1);color:var(--acc);border-color:var(--acc)}
@media(max-width:860px){.btn.dm-ctor{display:flex;width:100%;padding:15px 12px;font-size:15px;white-space:nowrap}.dm-last{padding-bottom:56px}}
/* header v2: one line, «Ещё» dropdown */
@media(min-width:761px){
.top .row{flex-wrap:nowrap;gap:20px}
.top .brand{flex:none}
.top nav{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:22px;white-space:nowrap;min-width:0}
.top nav a,.top .nav-mb{white-space:nowrap;font-size:15px}
.top .nv-l{display:none}
.top .hphone{display:inline-flex;flex:none;width:40px;height:40px;align-items:center;justify-content:center;margin-left:4px}
.top .btn.sm{flex:none}
.nav-more{position:relative}
.nav-mb{appearance:none;background:none;border:0;color:var(--mut);font:inherit;cursor:pointer;padding:10px 0;display:inline-flex;align-items:center;gap:6px}
.nav-mb:hover,.nav-more.open .nav-mb,.nav-more:hover .nav-mb{color:var(--acc)}
.nav-mb svg{transition:transform .2s}.nav-more.open .nav-mb svg,.nav-more:hover .nav-mb svg{transform:rotate(180deg)}
.nav-dd{display:none;position:absolute;right:-14px;top:100%;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 0;box-shadow:0 12px 32px rgba(0,0,0,.45);z-index:30}
.nav-more:hover .nav-dd,.nav-more.open .nav-dd{display:block}
.nav-dd::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.top .nav-dd a{display:block;padding:10px 16px;color:var(--txt)}
.top .nav-dd a:hover,.top .nav-dd a:focus-visible{color:var(--acc);background:rgba(200,240,60,.06)}
.nav-mb:focus-visible,.top nav a:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.dd-k,.dd-c{display:none!important}
.top .brand .osn-slog{display:none}
}
@media(min-width:1600px){.top .brand .osn-slog{display:block;max-width:none;white-space:nowrap}}
@media(min-width:1181px) and (max-width:1439px){.top nav{gap:18px}.top nav a,.top .nav-mb{font-size:15px}}
@media(min-width:761px) and (max-width:1180px){.top .btn.sm{display:inline-flex}.top nav{gap:18px}.top .nv-c{display:none}.top .dd-c{display:block!important}}
@media(min-width:761px) and (max-width:1023px){.top .nv-k{display:none}.top .dd-k{display:block!important}.top nav{gap:16px}.top nav a,.top .nav-mb{font-size:14.5px}}
@media(min-width:761px) and (max-width:900px){.top .btn.sm{display:none}}
@media(max-width:760px){.nav-mb{display:none}.nav-more,.nav-dd{display:contents}.dd-k,.dd-c{display:none!important}.top .nav-dd a{padding:12px 4px;border-top:1px solid var(--line);font-size:17px;color:var(--txt)}}
@media(min-width:761px) and (max-width:1000px){.top .nav-dd a[href="/#steps"],.top .nav-dd a[href="/#faq"]{display:block}}
@media(min-width:761px){.top nav{order:1}.top .hphone{order:2}.top .btn.sm{order:3}}
