/* Space 1977 · макет «Пульт». Тёмные полосы — графит и янтарь, светлые (.band--alt) — кость и ржавчина.
   Цвета только через переменные: светлая полоса переопределяет их у себя. */

@font-face{font-family:"Dela Gothic One";src:url(../fonts/dela-gothic-one.woff2) format("woff2");font-weight:400;font-display:swap}
/* В Dela Gothic нет ₽ и стрелок — берём их из Onest SemiBold, а не из случайного системного шрифта. */
@font-face{font-family:"Dela Gothic One";src:url(../fonts/Onest-symbols-600.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+20BD,U+2190-2199}
/* Onest: переменный, сужен до насыщенностей 400–700 (других на сайте нет). ₽ и стрелок в веб-версии нет — они
   в Onest-symbols из статических TTF. Chrome не смешивает начертания с разными диапазонами font-weight, поэтому
   у всех файлов одинаковые две группы: 400–500 и 600–700 (один и тот же файл объявлен дважды — качается один раз). */
@font-face{font-family:Onest;src:url(../fonts/Onest-cyrillic-ext.woff2) format("woff2");font-weight:400 500;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Onest;src:url(../fonts/Onest-cyrillic-v3.woff2) format("woff2");font-weight:400 500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1}
@font-face{font-family:Onest;src:url(../fonts/Onest-latin-v3.woff2) format("woff2");font-weight:400 500;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2010-2027,U+2030-203A,U+2122,U+2212}
@font-face{font-family:Onest;src:url(../fonts/Onest-symbols-400.woff2) format("woff2");font-weight:400 500;font-display:swap;unicode-range:U+20BD,U+2190-2199}
@font-face{font-family:Onest;src:url(../fonts/Onest-cyrillic-ext.woff2) format("woff2");font-weight:600 700;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Onest;src:url(../fonts/Onest-cyrillic-v3.woff2) format("woff2");font-weight:600 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1}
@font-face{font-family:Onest;src:url(../fonts/Onest-latin-v3.woff2) format("woff2");font-weight:600 700;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2010-2027,U+2030-203A,U+2122,U+2212}
@font-face{font-family:Onest;src:url(../fonts/Onest-symbols-600.woff2) format("woff2");font-weight:600 700;font-display:swap;unicode-range:U+20BD,U+2190-2199}

:root{
  --bg:#2B2B2A;--surf:#323230;--surf2:#3B3A37;--text:#FFF0DA;--muted:rgba(255,240,218,.78);--faint:rgba(255,240,218,.62);
  --line:rgba(255,240,218,.1);--line2:rgba(255,240,218,.24);--acc:#F4B029;--acct:#F4B029;--onacc:#2B2B2A;
  --accsoft:rgba(244,176,41,.13);--gold:#EABC7D;--track:rgba(255,240,218,.14);--glass:rgba(50,50,48,.66);
  --forest:#072321;--forest2:#0C302D;
  --display:"Dela Gothic One","Arial Black",sans-serif;--sans:Onest,Inter,"Helvetica Neue",Arial,sans-serif;
  --r:20px;--wrap:1180px;
}
.band--alt{
  --bg:#FFF0DA;--surf:#FFF7E9;--surf2:#F5E5CB;--text:#2B2B2A;--muted:rgba(43,43,42,.84);--faint:rgba(43,43,42,.72);
  --line:rgba(43,43,42,.12);--line2:rgba(43,43,42,.26);--acc:#B04818;--acct:#9C3F14;--onacc:#FFF0DA;
  --accsoft:rgba(176,72,24,.1);--gold:#9C3F14;--track:rgba(43,43,42,.12);--glass:rgba(255,247,233,.7);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--acct);text-decoration:none}
a:hover{color:var(--text)}
p a,.lead a,.consent a,.cookie a{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:8px;z-index:99;background:var(--acc);color:var(--onacc);padding:10px 16px;border-radius:10px}
.skip:focus{left:16px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- каркас ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px}
.band{padding:96px 0;background:var(--bg);color:var(--text);position:relative}
.band--tight{padding-top:0}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.span2{grid-column:span 2}.span3{grid-column:span 3}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-32{margin-top:32px}
.stack-sm{display:flex;flex-direction:column;gap:12px}

/* ---------- типографика ---------- */
.k{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600}
.h1,.h2,.h3{font-family:var(--display);font-weight:400;margin:0;color:var(--text)}
.h1{font-size:56px;line-height:1.04}
.h2{font-size:42px;line-height:1.06}
.h1,.h2,.h3,.tile-title{overflow-wrap:break-word}
@media (max-width:340px){.h1,.h2,.h3{hyphens:auto}}
.h3{font-size:30px;line-height:1.1}
.acc{color:var(--acct)}
.lead{margin:0;font-size:18px;line-height:1.6;color:var(--muted)}
.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:14px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.sec-head__l{display:flex;flex-direction:column;gap:10px}
.sec-head__r{font-size:15px;color:var(--faint);max-width:440px}
.prose{max-width:760px;font-size:17px;line-height:1.7;color:var(--muted)}
.prose h2,.prose h3{font-family:var(--display);font-weight:400;color:var(--text);line-height:1.15;margin:1.6em 0 .5em}
.prose h2{font-size:30px}.prose h3{font-size:22px}
.prose a{text-decoration:underline;text-underline-offset:3px}
.prose ul{padding-left:20px}

/* ---------- элементы ---------- */
.ic{width:24px;height:24px;stroke:var(--acct);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icb{width:48px;height:48px;border-radius:14px;background:var(--accsoft);display:flex;align-items:center;justify-content:center;flex:none}
.tile{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px;color:var(--text)}
.tile--alt{background:var(--surf2)}
.tile-link{transition:border-color .2s,transform .2s}
.tile-link:hover{border-color:var(--acc);color:var(--text);transform:translateY(-2px)}
.tile-title{font-size:21px;font-weight:600;line-height:1.3}
.tile-img{border-radius:14px;width:100%;aspect-ratio:16/10;object-fit:cover}
.price{color:var(--acct);font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:14px;font:600 16px var(--sans);border:0;cursor:pointer;text-align:center}
.btn .ic{stroke:currentColor;width:18px;height:18px}
.btn--acc{background:var(--acc);color:var(--onacc)}
.btn--acc:hover{color:var(--onacc);filter:brightness(1.08)}
.btn--ghost{background:transparent;color:var(--text);border:1px solid var(--line2)}
.btn--ghost:hover{border-color:var(--acc);color:var(--text)}
.btn--sm{min-height:44px;font-size:15px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);font:500 14px var(--sans);color:var(--text);background:transparent;cursor:pointer}
.chip[aria-pressed="true"],.chip[aria-selected="true"]{background:var(--acc);color:var(--onacc);border-color:var(--acc)}
.chip--check{position:relative;user-select:none}
.chip--check input{position:absolute;opacity:0;width:1px;height:1px}
.chip--check:has(input:checked){background:var(--acc);color:var(--onacc);border-color:var(--acc)}
.chip--check:has(input:focus-visible){outline:2px solid var(--acc);outline-offset:3px}
.tag{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--surf2);font-size:12px;color:var(--muted)}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.li{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.45;color:var(--muted)}
.li li{display:flex;gap:10px}
.li li::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--acc);margin-top:8px;flex:none}
.more{font-size:14px;font-weight:600;color:var(--acct);margin-top:auto;display:inline-flex;align-items:center;gap:6px}
.glass{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%)}

/* ---------- шапка ---------- */
.site-head{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:28px;height:76px}
.logo{display:flex;align-items:center;gap:7px;font-family:var(--display);font-size:21px;color:var(--text);white-space:nowrap;flex:none}
.logo:hover{color:var(--text)}
.nav{flex:1}
.nav ul{display:flex;gap:26px;margin:0;padding:0;list-style:none;font-size:15px}
.nav a{color:var(--muted)}
.nav a:hover,.nav .current-menu-item>a{color:var(--text)}
.menu-btn{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:transparent;color:var(--text);align-items:center;justify-content:center;cursor:pointer}
.menu-btn .ic{stroke:var(--text)}

/* ---------- первый экран ---------- */
.hero{padding:56px 0 40px;overflow:hidden}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center}
.hero__l{display:flex;flex-direction:column;gap:24px}
.hero__pin{align-self:flex-start;color:var(--gold);cursor:default;min-height:34px}
.hero__pin .ic{width:16px;height:16px}
.trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;max-width:520px;font-size:14px;color:var(--muted)}
.trust div{display:flex;gap:8px;align-items:center}
.trust .ic{width:18px;height:18px}
.pult{padding:0;overflow:hidden;gap:0;border-color:var(--line2)}
.pult__top{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}
.pult__body{padding:20px 22px;display:flex;flex-direction:column;gap:16px}
.bar-row{display:flex;flex-direction:column;gap:7px}
.bar-row__t{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.bar{position:relative;height:10px;border-radius:5px;background:var(--track);overflow:hidden}
.bar i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--acc);transform-origin:left;animation:grow 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes grow{from{transform:scaleX(0)}}
.notify{margin:0 14px 14px;background:var(--forest);border-radius:14px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;color:#FFF0DA;font-size:14px;line-height:1.5}
.notify__ic{width:36px;height:36px;border-radius:50%;background:#F4B029;display:flex;align-items:center;justify-content:center;flex:none}
.notify__ic .ic{stroke:#072321;width:18px;height:18px}
.stats .stat{border-top:2px solid var(--line2);padding-top:16px}
.stats .stat:first-child{border-color:var(--acc)}
.stat b{display:block;font-family:var(--display);font-weight:400;font-size:32px;line-height:1.2}
.stat span{font-size:14px;color:var(--faint)}

/* генеративное поле: точки на орбитах, считается в PHP один раз */
.field{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.orbit{position:absolute;border-radius:50%;animation:spin 140s linear infinite}
.orbit--b{animation-duration:220s;animation-direction:reverse}
.orbit__ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line)}
.orbit__ring--dash{inset:150px;border-style:dashed;border-color:var(--line2);opacity:.6}
.star{position:absolute;border-radius:50%}
.star--tw{animation:tw 5s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes tw{50%{opacity:.2}}

/* ---------- услуги ---------- */
.svc__sub{background:var(--bg);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}
.svc__row{display:flex;gap:16px;align-items:center}
.problem{flex-direction:row;align-items:center;gap:18px}
.problem__t{font-size:19px;font-weight:600}
.problem p{margin:4px 0 0;font-size:15px;color:var(--muted)}

/* ---------- калькулятор ---------- */
.calc{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}
.opt{display:flex;align-items:center;gap:16px;width:100%;min-height:64px;padding:12px 18px;border-radius:16px;cursor:pointer;text-align:left;font:15px var(--sans);color:var(--text);background:var(--surf);border:2px solid var(--line)}
.opt[aria-pressed="true"]{background:var(--surf2);border-color:var(--acc)}
.opt__t{flex:1}.opt__t b{font-weight:600}.opt__t span{display:block;font-size:13px;color:var(--faint)}
.sw{position:relative;width:44px;height:26px;border-radius:13px;flex:none;background:var(--line2);transition:background .15s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#FFF0DA;transition:left .15s}
.opt[aria-pressed="true"] .sw{background:var(--acc)}
.opt[aria-pressed="true"] .sw::after{left:21px}
.sum{background:var(--forest);color:#FFF0DA;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
.sum .k{color:#EABC7D}
.sum__big{font-family:var(--display);font-size:32px;line-height:1.1}
.sum__lbl{font-size:13px;color:rgba(255,240,218,.65)}
.sum .bar{background:rgba(255,240,218,.14)}
.sum .bar i{background:#F4B029;transition:width .3s;animation:none}
.sum__save{font-size:16px;font-weight:600;color:#F4B029}
.sum .btn--acc{--acc:#F4B029;--onacc:#072321}

/* ---------- тарифы ---------- */
.tabs{display:flex;gap:6px;padding:5px;border-radius:999px;background:var(--surf)}
.tabs .chip{border:0}
.plan--top{border:2px solid var(--acc);background:var(--surf2)}
.plan__price{font-family:var(--display);font-size:36px}
.plan--top .plan__price{color:var(--acct)}
.badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--acc);color:var(--onacc)}
[hidden]{display:none!important}

/* ---------- проекты и работы ---------- */
.proj{padding:0;overflow:hidden;gap:0}
.proj__img{height:210px;display:flex;align-items:center;justify-content:center;gap:18px;position:relative}
.proj__img img{width:120px;height:120px;border-radius:28px;object-fit:cover}
.proj__name{font-family:var(--display);font-size:34px;line-height:1}
.proj__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px}
.proj__soon{position:absolute;left:14px;top:14px;font-size:12px;padding:4px 10px;border-radius:999px;background:rgba(244,176,41,.15);color:#F4B029}
.mini{display:flex;flex-direction:column;gap:6px;background:var(--bg);border-radius:12px;padding:12px;min-height:76px}
.work{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);border-radius:24px;overflow:hidden}
.work--rev{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.work--dark{background:#0B0B0D;color:#F3EDE2;border:1px solid rgba(255,255,255,.08)}
.work--light{background:#EEF5FC;color:#13202B}
.work + .work{margin-top:24px}
.work__shot{position:relative;padding:36px;min-height:460px}
.work--dark .work__shot{padding-right:0;background:radial-gradient(600px 300px at 30% 20%,rgba(214,160,60,.22),transparent 70%)}
.work--light .work__shot{padding-left:0;background:radial-gradient(520px 320px at 70% 30%,rgba(41,151,227,.25),transparent 70%)}
.browser{border-radius:14px;overflow:hidden;width:92%}
.work--light .browser{margin-left:auto}
.work--dark .browser{border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.work--light .browser{border:1px solid rgba(19,32,43,.1);box-shadow:0 30px 60px rgba(19,32,43,.18)}
.browser__bar{height:30px;display:flex;align-items:center;gap:6px;padding:0 12px;font-size:11px}
.work--dark .browser__bar{background:rgba(255,255,255,.06);color:rgba(255,255,255,.6)}
.work--light .browser__bar{background:rgba(19,32,43,.05);color:rgba(19,32,43,.6)}
.browser__bar span{width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.45}
.browser__bar em{margin-left:10px;font-style:normal}
.browser img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.phone{position:absolute;bottom:28px;width:170px;padding:8px;border-radius:30px}
.work--dark .phone{right:-6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22)}
.work--light .phone{left:-6px;background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.7)}
.phone img{display:block;width:100%;border-radius:22px}
.phone,.work__chip{-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 18px 40px rgba(0,0,0,.25)}
.work__chip{position:absolute;right:20px;top:20px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);font-size:13px;font-weight:600}
.work__text{padding:40px 36px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.work__k{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.work--dark .work__k{color:#D6A03C}.work--light .work__k{color:#1D74B8}
.work__name{font-family:var(--display);font-size:34px;line-height:1.05}
.work__desc{font-size:15px;line-height:1.6;opacity:.85;margin:0}
.work--dark .tag{background:rgba(255,255,255,.08);color:rgba(243,237,226,.85)}
.work--light .tag{background:rgba(19,32,43,.07);color:#2A3A47}
.rings{display:flex;gap:14px;flex-wrap:wrap}
.ring{display:flex;flex-direction:column;align-items:center;gap:6px;width:72px;font-size:12px;text-align:center}
.ring__c{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--c) calc(var(--v)*1%),var(--t) 0)}
.ring__c b{width:50px;height:50px;border-radius:50%;background:var(--h);display:flex;align-items:center;justify-content:center;font-size:17px}
.ring span{opacity:.75}
.rings__note{font-size:12px;opacity:.65}

/* ---------- процесс, гарантии, FAQ ---------- */
.steps{position:relative}
.steps::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:2px;background:var(--line2)}
.step{display:flex;flex-direction:column;gap:10px;position:relative}
.step__n{width:48px;height:48px;border-radius:50%;background:var(--surf2);border:2px solid var(--acc);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:18px}
.step:first-child .step__n{background:var(--acc);color:var(--onacc)}
.step__t{font-weight:600;font-size:18px}
.step__d{font-size:13px;color:var(--acct);font-weight:600}
.step p{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-size:18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--acct)}
.faq details[open] summary::after{content:"−"}
.faq .prose{margin-top:12px;font-size:16px}
.photo{aspect-ratio:4/5;border-radius:24px;background:var(--surf2);border:1px dashed var(--line2);display:flex;align-items:center;justify-content:center;color:var(--faint);overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover}

/* ---------- заявка ---------- */
.order{background:var(--forest);color:#FFF0DA;padding:80px 0;position:relative;overflow:hidden}
.order .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:44px;position:relative;z-index:1}
.order .h2{color:#FFF0DA}
.order .k{color:#EABC7D}
.order a{color:#F4B029}
.order__contacts{display:flex;flex-direction:column;gap:10px;font-size:16px}
.order__contacts a{display:flex;gap:10px;align-items:center}
.order__contacts .ic{stroke:#F4B029;width:20px;height:20px}
.form{display:flex;flex-direction:column;gap:16px}
.fld{display:flex;flex-direction:column;gap:6px;font-size:13px;color:rgba(255,240,218,.78)}
.fld input,.fld textarea{background:var(--forest2);border:1px solid rgba(234,188,125,.3);border-radius:12px;min-height:50px;padding:12px 14px;color:#FFF0DA;font:16px var(--sans);width:100%}
.fld input:focus,.fld textarea:focus{border-color:#F4B029;outline:none}
.form .chip{color:#FFF0DA;border-color:rgba(255,240,218,.3)}
.form .chip[aria-pressed="true"],.form .chip--check:has(input:checked){background:#F4B029;color:#072321;border-color:#F4B029}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:rgba(255,240,218,.8)}
.consent input{width:20px;height:20px;margin:0;accent-color:#F4B029;flex:none}
.trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form .btn--acc{--acc:#F4B029;--onacc:#072321;align-self:flex-start}
.form__status{min-height:22px;font-size:15px;margin:0}
.form__status.is-ok{color:#9BE0B0}.form__status.is-err{color:#FFB4A0}

/* ---------- подвал ---------- */
.site-foot{padding:56px 0 44px;font-size:14px;line-height:1.9}
.site-foot__cols{display:grid;grid-template-columns:1.3fr repeat(3,minmax(0,1fr));gap:24px}
.site-foot b{display:block;margin-bottom:4px}
/* Знак похож на Q: вплотную к надписи читалось бы «QSPACE», поэтому в подвале тот же отступ, что в шапке. */
.site-foot b.logo{display:flex;margin-bottom:10px}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot a{color:var(--muted)}
.site-foot__legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--faint);border-top:1px solid var(--line);padding-top:20px;margin-top:28px}
.site-foot__legal a{color:var(--faint)}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:30;max-width:560px;margin:0 auto;padding:16px 18px;border-radius:16px;border:1px solid var(--line2);display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.cookie p{margin:0;flex:1 1 260px}
.cookie .btn{min-height:42px}

/* ---------- внутренние страницы ---------- */
.page-hero{padding:72px 0 40px}
.page-hero .lead{max-width:720px;margin-top:16px}
.crumbs{font-size:13px;color:var(--faint);margin-bottom:18px}
.crumbs a{color:var(--faint)}
.subnav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.subnav .chip{text-decoration:none}
.subnav .chip:hover{border-color:var(--acc);color:var(--acct)}
.crumbs a:hover{color:var(--text)}
.pricelist .row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.pricelist .row b{white-space:nowrap}
.pricelist .row small{display:block;color:var(--faint);font-size:13px}
.nav-links{display:flex;gap:10px}
.page-numbers{display:inline-flex;min-width:40px;min-height:40px;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line2);color:var(--text)}
.page-numbers.current{background:var(--acc);color:var(--onacc);border-color:var(--acc)}

/* ---------- адаптив ---------- */
@media (max-width:1024px){
  .h1{font-size:46px}.h2{font-size:36px}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .wrap{padding:0 16px}
  .band{padding:64px 0}
  .h1{font-size:clamp(28px,9vw,36px)}.h2{font-size:clamp(24px,7.5vw,30px)}
  .g2,.g3,.g4,.hero .wrap,.calc,.order .wrap,.work,.work--rev,.site-foot__cols,.split{grid-template-columns:minmax(0,1fr)!important}
  .span2,.span3{grid-column:auto}
  .tile.tile--alt .h2,.tile .h2{font-size:clamp(22px,7vw,30px)!important}
  .nav{position:fixed;inset:76px 0 auto 0;background:var(--bg);border-bottom:1px solid var(--line);padding:16px;display:none}
  .nav.is-open{display:block}
  .nav ul{flex-direction:column;gap:6px;font-size:18px}
  .nav a{display:block;padding:10px 0}
  .menu-btn{display:inline-flex;margin-left:auto}
  .head-cta{display:none}
  .site-head .wrap{gap:12px}
  .steps::before{display:none}
  .work__shot{min-height:0;padding:20px!important}
  .browser{width:100%}
  .phone,.work__chip{display:none}
  .work--light .work__text{order:2}
  .field{opacity:.45}
  .sum{position:static}
  .problem{flex-direction:column;align-items:flex-start}
  .problem>div{flex-basis:auto!important}
  .pricelist .row b{white-space:normal;text-align:right;max-width:55%}
  .stats .g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stat b{font-size:24px}
  .rings{gap:8px}
  .ring{width:62px}
  .ring__c{width:56px;height:56px}
  .ring__c b{width:44px;height:44px;font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ---------- 404 ---------- */
.err{min-height:calc(100vh - 77px);display:flex;align-items:center;overflow:hidden}
.err__wrap{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px}
.err__code{display:flex;align-items:center;gap:6px;font-family:var(--display);font-size:150px;line-height:.9;color:var(--text);margin-bottom:6px}
.err__planet{width:150px;height:150px;color:var(--text);overflow:visible}
.err__moon{animation:orbit 9s linear infinite;transform-origin:0 0}
@keyframes orbit{to{transform:rotate(360deg)}}
.err__search{display:flex;gap:10px;max-width:520px;flex-wrap:wrap}
.err__search input{flex:1 1 240px;min-height:50px;border-radius:14px;border:1px solid var(--line2);background:var(--surf);color:var(--text);padding:0 16px;font:16px var(--sans)}
.err__search input:focus{outline:none;border-color:var(--acc)}
.err__links{margin-top:10px;width:100%}
.err__links .tile{gap:6px}
.err__links b{font-size:18px}
@media (max-width:900px){.err__code{font-size:96px}.err__planet{width:96px;height:96px}.err__links{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ---------- печать: только содержание ---------- */
@media print{
  .site-head,.site-foot,.order,.field,.cookie,.menu-btn,.btn,.tabs,.sum,.err__search{display:none!important}
  body,.band,.band--alt{background:#fff!important;color:#000!important}
  .band{padding:16px 0!important}
  .tile{border:1px solid #ccc!important;background:#fff!important;break-inside:avoid}
  a{color:#000!important;text-decoration:underline}
  .prose a[href^="http"]::after{content:" (" attr(href) ")";font-size:11px}
}

/* отзывы */
.review{display:flex;flex-direction:column;gap:18px;margin:0}
.review__text{margin:0;font-size:16px;line-height:1.6}
.review__text p{margin:0 0 10px}
.review__text::before{content:"«";display:block;font:400 44px/0.6 var(--display);color:var(--acc);margin-bottom:8px}
.review__by{display:flex;flex-direction:column;gap:4px;margin-top:auto}

/* поиск по ⌘K */
.cmdk-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--line2);color:var(--faint);text-decoration:none;margin-left:auto}
.cmdk-btn:hover{color:var(--text);border-color:var(--acc)}
.cmdk-btn .ic{width:18px;height:18px}
.cmdk-btn kbd{font:500 12px var(--sans)}
.cmdk{width:min(640px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 96px));margin:12vh auto auto;padding:0;border:1px solid var(--line2);border-radius:20px;color:var(--text);background:var(--bg);overflow:hidden;flex-direction:column}
.cmdk[open]{display:flex}
.cmdk::backdrop{background:rgba(10,10,10,.55);backdrop-filter:blur(4px)}
.cmdk__bar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.cmdk__bar input{flex:1;min-width:0;height:40px;border:0;background:transparent;color:var(--text);font:500 17px var(--sans);outline:none}
.cmdk__bar input::-webkit-search-cancel-button{display:none}
.cmdk__esc{height:28px;padding:0 8px;border-radius:8px;border:1px solid var(--line2);background:transparent;color:var(--faint);font:500 12px var(--sans);cursor:pointer}
.cmdk__list{list-style:none;margin:0;padding:8px;overflow-y:auto;overflow-x:hidden;flex:1}
.cmdk__list li{margin:0}
.cmdk__list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 12px;border-radius:12px;color:var(--text);text-decoration:none}
.cmdk__list [aria-selected="true"] a{background:var(--accsoft);outline:1px solid var(--acc)}
.cmdk__t{font-weight:600}
.cmdk__d{color:var(--acct);font-size:14px;text-align:right;max-width:22ch}
.cmdk__k{grid-column:1/-1;color:var(--faint);font-size:13px}
.cmdk__none{padding:18px 12px;color:var(--faint)}
.cmdk__foot{display:flex;gap:18px;padding:10px 16px;border-top:1px solid var(--line)}
@media (max-width:900px){.cmdk-btn kbd,.cmdk__foot{display:none}.cmdk-btn{width:44px;height:44px;justify-content:center;padding:0}.cmdk-btn+.menu-btn{margin-left:0}}
@media print{.cmdk-btn,.cmdk{display:none!important}}

/* скорость: полосы ниже первого экрана браузер не раскладывает и не рисует, пока до них далеко.
   На телефоне это вдвое сокращает первую раскладку главной (замер: 363 → 181 мс при CPU ×4). */
main>.band:not(.hero):not(.stats):not(.page-hero),.site-foot{content-visibility:auto;contain-intrinsic-size:auto 1000px}
/* на время перехода по якорю раскладываем всё, иначе браузер промахивается мимо цели (site.js, fullLayout) */
.cv-off main>.band,.cv-off .site-foot{content-visibility:visible!important}

/* переходы между страницами: шапка стоит на месте, содержимое меняется за 0,18 с */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  .site-head{view-transition-name:site-head}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
}

/* пока картинка грузится — подложка цвета поверхности, а не дыра */
.browser img,.phone img,.tile-img{background:var(--surf2)}

/* скелетон списка в поиске ⌘K */
.cmdk__sk{display:grid;grid-template-columns:1fr 70px;gap:8px 12px;padding:12px}
.cmdk__sk i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surf) 0,var(--surf2) 50%,var(--surf) 100%) 0 0/200% 100%;animation:sk 1.2s linear infinite}
.cmdk__sk i:nth-child(3){grid-column:1/2;width:40%;height:9px}
@keyframes sk{to{background-position:-200% 0}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* кнопка отправки, пока заявка уходит */
.btn[aria-busy="true"]{opacity:.85;cursor:progress}
.btn[aria-busy="true"]::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
@media (prefers-reduced-motion:reduce){.cmdk__sk i,.btn[aria-busy="true"]::after{animation:none}}
