/* ============================================================
   ПРИЁМ ЛОМА — styles.css
   Токены: Onest 300/400 · ink #101214 / paper #F3F1EE / accent #F2591F
   Easing: cubic-bezier(.22,1,.36,1) · радиусы 999px | 0 · шаг 4px
   Mobile-first: базовые правила = телефон, далее min-width 768 / 1100
   ============================================================ */

/* ---------- 0. Шрифт Onest — с нашего сервера, без запросов в Google (лицензия SIL OFL 1.1).
   Один переменный файл на набор символов: и 300, и 400 берутся из него ---------- */
@font-face{font-family:'Onest';font-style:normal;font-weight:300 400;font-display:swap;
  src:url('assets/fonts/onest-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 400;font-display:swap;
  src:url('assets/fonts/onest-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 400;font-display:swap;
  src:url('assets/fonts/onest-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ---------- 1. Токены ---------- */
:root{
  --ink:#101214;
  --ink-2:#1a1d21;
  --ink-3:#282c31;
  --paper:#f3f1ee;
  --paper-2:#fffffe;
  --accent:#f2591f;
  --accent-d:#d84a13;

  --on-dark:#f3f1ee;
  --on-light:#101214;

  --e:cubic-bezier(.22,1,.36,1);
  --r:999px;

  --s1:4px;  --s2:8px;  --s3:12px; --s4:16px;
  --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --s9:96px; --s10:128px;

  --pad:20px;
  --maxw:1280px;
}

/* ---------- 2. Сброс ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--on-light);
  font-family:'Onest',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-weight:400;
  font-size:clamp(15px,1.1vw,18px);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
ul,ol,dl{margin:0;padding:0;list-style:none}
[hidden]{display:none !important}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
h1,h2,h3,h4,p,dd,dt,figure{margin:0}
address{font-style:normal}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:#fff}

/* ---------- 3. Типографика ---------- */
h1{
  font-weight:300;
  font-size:clamp(1.85rem,7.6vw,5.2rem);
  line-height:.92;
  letter-spacing:-.035em;
  text-wrap:balance;
  hyphens:none;
}
h2{
  font-weight:300;
  font-size:clamp(1.85rem,5.5vw,3.4rem);
  line-height:.95;
  letter-spacing:-.03em;
  text-wrap:balance;
  hyphens:none;
}
h3{font-weight:400;font-size:clamp(17px,1.5vw,21px);line-height:1.15;letter-spacing:-.015em}
h4{font-weight:400;font-size:17px;line-height:1.2;letter-spacing:-.015em}
p{text-wrap:pretty}
.lead{font-size:clamp(15px,1.15vw,18px);line-height:1.6;max-width:52ch;opacity:.72;margin-top:var(--s4)}
.label{
  display:block;
  font-size:11px;
  line-height:1.8;
  text-transform:uppercase;
  letter-spacing:.2em;
  opacity:.55;
}
.opt{opacity:.5;letter-spacing:0;text-transform:none;font-size:11px}

/* ---------- 4. Зерно ---------- */
.grain{
  position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- 5. Кнопки ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 26px;border-radius:var(--r);
  overflow:hidden;white-space:nowrap;
  font-size:15px;letter-spacing:-.01em;
}
.btn__label{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;transition:color 320ms var(--e)}
.btn__arrow{transition:transform 520ms var(--e)}
.btn:hover .btn__arrow{transform:translateX(5px)}
.btn__fill{position:absolute;inset:0;z-index:1;transform:scaleX(0);transform-origin:left;transition:transform 500ms var(--e)}
.btn:hover .btn__fill{transform:scaleX(1)}

.btn--solid{background:var(--accent);color:#fff}
.btn--solid .btn__fill{background:var(--ink)}
.btn--ghost{border:1px solid currentColor;color:inherit;opacity:.9}
.btn--ghost:hover{opacity:1}
.btn--sm{min-height:44px;padding:0 20px;font-size:14px}
.btn--wide{width:100%;margin-top:var(--s5)}

.reassure{font-size:12.5px;opacity:.6;letter-spacing:-.005em}
.reassure--block{display:block;margin-top:var(--s3);text-align:center}

.lnk{
  position:relative;font-size:14px;color:var(--accent);
  padding-bottom:2px;
}
.lnk::after{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:right;
  transition:transform 420ms var(--e);
}
.lnk:hover::after{transform:scaleX(1);transform-origin:left}

/* ---------- 6. Каркас ---------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.sect{padding-block:var(--s8)}
.sect__head{margin-bottom:var(--s7)}
.sect__head h2{margin-top:var(--s3)}
.sect--calc{background:var(--ink);color:var(--on-dark)}
.sect--things{background:var(--paper-2)}
.sect--how{background:var(--ink);color:var(--on-dark)}
.sect--cta{background:var(--ink);color:var(--on-dark)}

/* ---------- 7. Шапка ---------- */
.hdr{
  position:fixed;inset:0 0 auto 0;z-index:40;
  display:flex;align-items:center;gap:var(--s4);
  padding:var(--s3) var(--pad);
  padding-top:calc(var(--s3) + env(safe-area-inset-top,0px));
  color:var(--on-dark);
  transition:background 240ms var(--e),color 240ms var(--e),box-shadow 240ms var(--e);
}
.hdr.is-stuck{background:var(--ink);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.hdr__logo{display:flex;align-items:center;gap:10px;flex:1 0 auto}
.hdr__mark{flex:none}
.hdr__name{font-size:12px;letter-spacing:.2em}
.hdr__side{display:flex;align-items:center;gap:var(--s3)}
.hdr__tel,.hdr__cb{display:none}
.hdr__nav{
  position:fixed;inset:0;z-index:-1;
  display:flex;flex-direction:column;justify-content:center;gap:var(--s5);
  padding:var(--s10) var(--pad);
  background:var(--ink);
  opacity:0;visibility:hidden;
  transition:opacity 420ms var(--e),visibility 420ms;
}
.hdr__nav a{font-size:clamp(26px,8vw,38px);font-weight:300;letter-spacing:-.03em}
.hdr__nav.is-open{opacity:1;visibility:visible}
.burger{width:44px;height:44px;display:grid;place-content:center;gap:6px;color:currentColor}
.burger span{display:block;width:22px;height:1px;background:currentColor;transition:transform 400ms var(--e),opacity 300ms}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* ---------- 7b. Шапка внутренней страницы ---------- */
.hdr--solid{background:var(--ink)}
.pagehead{
  background:var(--ink);color:var(--on-dark);
  padding-block:calc(var(--s9) + env(safe-area-inset-top,0px)) var(--s8);
}
.pagehead h1{margin-top:var(--s3)}
.pagehead .lead{opacity:.75}
.pagehead__cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s6)}
.hdr__nav a[aria-current="page"]{color:var(--accent);opacity:1}

/* ---------- 8. Hero — схема A ---------- */
.hero{position:relative;height:100svh;min-height:560px;background:var(--ink);overflow:hidden}
.hero__media{position:absolute;inset:0}
.hero__media img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.08);
  animation:heroIn 2200ms var(--e) forwards;
}
@keyframes heroIn{to{transform:scale(1)}}
.hero__scrim{
  position:absolute;inset:0;
  backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);
  -webkit-mask-image:linear-gradient(to top,#000 0%,transparent 52%);
  mask-image:linear-gradient(to top,#000 0%,transparent 52%);
}
.hero__content{
  position:absolute;inset:auto 0 0 0;
  padding:0 var(--pad) calc(var(--s7) + env(safe-area-inset-bottom,0px));
  color:var(--on-dark);
  text-shadow:0 2px 34px rgba(0,0,0,.55);
}
.hero__inner{max-width:1000px}
.hero__inner h1{--d:260ms}
.hero__sub{--d:400ms}
.hero__cta{--d:540ms}
.hero__chip{--d:680ms}
.hero__sub{margin-top:var(--s4);font-size:clamp(15px,1.2vw,19px);line-height:1.5;opacity:.8}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s5)}
.hero__chip{
  display:inline-flex;align-items:center;gap:9px;margin-top:var(--s5);
  font-size:12.5px;opacity:.75;text-shadow:none;
}
.chip__dot{width:6px;height:6px;border-radius:var(--r);background:var(--accent);flex:none;animation:pulse 2.6s var(--e) infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}

/* ---------- 9. Калькулятор ---------- */
.calc{display:grid;gap:var(--s6)}
.calc__steps{display:flex;align-items:center;gap:var(--s4)}
.calc__bar{flex:1;height:1px;background:rgba(243,241,238,.2);display:block}
.calc__bar i{display:block;height:1px;background:var(--accent);width:33%;transition:width 620ms var(--e)}
.calc__count{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.55}
.calc__count b{font-weight:400;color:var(--accent)}
.calc__step{display:none}
.calc__step.is-active{display:block;animation:stepIn 620ms var(--e)}
@keyframes stepIn{from{opacity:0;transform:translateY(16px);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
.calc__q{margin-bottom:var(--s5);font-weight:300;font-size:clamp(20px,3vw,28px);letter-spacing:-.02em}
.calc__sub{margin-top:var(--s5)}

.grid-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2)}
.grid-pick--sm{grid-template-columns:repeat(2,1fr)}
.pick{position:relative;display:block;cursor:pointer}
.pick input{position:absolute;opacity:0;width:0;height:0}
.pick__in{
  display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 16px;
  border:1px solid rgba(243,241,238,.18);
  transition:border-color 420ms var(--e),background 420ms var(--e),transform 620ms var(--e);
}
.pick:hover .pick__in{border-color:rgba(243,241,238,.45)}
.pick input:checked + .pick__in{border-color:var(--accent);background:rgba(242,89,31,.1)}
.pick input:focus-visible + .pick__in{outline:2px solid var(--accent);outline-offset:2px}
.pick__t{font-size:14.5px;letter-spacing:-.01em;line-height:1.25}
.pick__ic{flex:none;width:22px;height:22px;color:var(--accent)}

.weight{display:flex;align-items:center;gap:var(--s2);border:1px solid rgba(243,241,238,.18);border-radius:var(--r);padding:6px}
.weight__pm{width:48px;height:48px;border-radius:var(--r);display:grid;place-content:center;transition:background 400ms var(--e)}
.weight__pm:hover{background:rgba(243,241,238,.1)}
.weight__in{
  flex:1;min-width:0;background:none;border:0;text-align:center;
  font-size:clamp(28px,7vw,40px);font-weight:300;letter-spacing:-.03em;
  -moz-appearance:textfield;
}
.weight__in::-webkit-outer-spin-button,.weight__in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.weight__unit{padding-right:var(--s3);opacity:.5;font-size:15px}
.quick{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}
.quick button{
  min-height:40px;padding:0 16px;border-radius:var(--r);font-size:13.5px;
  border:1px solid rgba(243,241,238,.18);
  transition:border-color 400ms var(--e),color 400ms var(--e);
}
.quick button:hover,.quick button.is-on{border-color:var(--accent);color:var(--accent)}

.checks{display:grid;gap:var(--s3);margin-top:var(--s5)}
.checks--first{margin-top:0}
.check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14.5px;line-height:1.4;min-height:44px;align-items:center}
.check input{position:absolute;opacity:0;width:0;height:0}
.check__box{
  flex:none;width:22px;height:22px;border:1px solid currentColor;opacity:.45;
  position:relative;transition:opacity 340ms var(--e),background 340ms var(--e),border-color 340ms var(--e);
}
.check__box::after{
  content:'';position:absolute;inset:5px;background:var(--accent);
  transform:scale(0);transition:transform 340ms var(--e);
}
.check input:checked + .check__box{opacity:1;border-color:var(--accent)}
.check input:checked + .check__box::after{transform:scale(1)}
.check--fine{margin-top:var(--s3);font-size:12px;opacity:.6}
.check--fine .check__box{width:18px;height:18px}
.check--fine .check__box::after{inset:4px}

.field__lab{display:block;margin-top:var(--s5);margin-bottom:var(--s2);font-size:12px;letter-spacing:.06em;opacity:.65}
.field{
  width:100%;min-height:54px;padding:0 20px;border-radius:var(--r);
  background:transparent;border:1px solid rgba(243,241,238,.2);
  transition:border-color 420ms var(--e);
}
.field:hover{border-color:rgba(243,241,238,.4)}
.field:focus{outline:none;border-color:var(--accent)}
.field--area{padding:16px 20px;border-radius:20px;resize:vertical;min-height:96px;line-height:1.5}
.field--file{padding:14px 18px;min-height:54px;font-size:13px;border-style:dashed}
.field--file::file-selector-button{
  margin-right:14px;padding:8px 16px;border-radius:var(--r);
  border:1px solid rgba(243,241,238,.3);background:none;color:inherit;font-size:13px;cursor:pointer;
}
.field__err{margin-top:var(--s2);font-size:12.5px;color:var(--accent)}
select.field{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 22px) 25px,calc(100% - 17px) 25px;background-size:5px 5px;background-repeat:no-repeat}

.calc__out{border:1px solid rgba(243,241,238,.18);padding:var(--s5)}
.calc__sum{display:flex;align-items:baseline;gap:8px;margin-top:var(--s2);font-weight:300;font-size:clamp(38px,11vw,62px);line-height:1;letter-spacing:-.045em;color:var(--accent)}
.calc__cur{font-size:.42em;opacity:.75}
.calc__break{margin-top:var(--s4);display:grid;gap:8px;font-size:13.5px;opacity:.72}
.calc__break li{display:flex;justify-content:space-between;gap:var(--s4)}
.calc__break li span:last-child{white-space:nowrap}
.calc__hint{opacity:.5}
.calc__nav{display:flex;gap:var(--s2);margin-top:var(--s5)}
.calc__nav .btn{flex:1}

/* ---------- 10. Прайс ---------- */
.sect__head--row{display:grid;gap:var(--s5)}
.price__tools{display:grid;gap:var(--s3)}
.search{display:flex;align-items:center;gap:10px;border:1px solid rgba(16,18,20,.18);border-radius:var(--r);padding:0 18px;min-height:48px}
.search svg{flex:none;opacity:.45}
.search input{flex:1;min-width:0;background:none;border:0}
.search input:focus{outline:none}

.price__grp{margin-top:var(--s6)}
.price__grpT{
  width:100%;display:flex;align-items:baseline;gap:var(--s3);
  padding:var(--s4) 0;min-height:56px;text-align:left;
  border-bottom:1px solid rgba(16,18,20,.14);
}
.price__grpT h3{font-weight:400;flex:1}
.price__grpN,.price__grpU{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.45}
.price__grpU{display:none}
.price__chev{flex:none;align-self:center;opacity:.5;transition:transform 420ms var(--e)}
.price__grp.is-open .price__chev{transform:rotate(180deg)}
.price__body{display:none}
.price__grp.is-open .price__body{display:block;animation:stepIn 520ms var(--e)}
.price__row{
  display:grid;grid-template-columns:1fr auto;gap:4px var(--s4);
  align-items:center;padding:var(--s4) 0;
  border-bottom:1px solid rgba(16,18,20,.08);
  transition:opacity 380ms var(--e);
}
.price__row.is-hidden{display:none}
.price__nm{font-size:15px;letter-spacing:-.01em}
.price__meta{grid-column:1;font-size:12px;opacity:.5}
.price__val{
  grid-column:2;grid-row:1 / span 2;
  display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px;
}
.price__num{font-size:clamp(17px,2.2vw,21px);letter-spacing:-.02em;white-space:nowrap}
.price__num b{font-weight:400}
.price__num i{font-style:normal;font-size:12px;opacity:.5}
.price__soon{font-size:13px;opacity:.5;white-space:nowrap}
.qty{display:flex;align-items:center;gap:2px;border:1px solid rgba(16,18,20,.16);border-radius:var(--r);padding:3px}
.qty button{width:34px;height:34px;border-radius:var(--r);display:grid;place-content:center;transition:background 380ms var(--e)}
.qty button:hover{background:rgba(16,18,20,.07)}
.qty input{
  width:52px;background:none;border:0;text-align:center;font-size:14px;
  -moz-appearance:textfield;
}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty input:focus{outline:none}

.price__cart{position:static;margin-top:var(--s6);background:var(--ink);color:var(--on-dark)}
.price__cartIn{display:grid;gap:var(--s3);padding:var(--s5)}
.price__cartSub{font-size:13px;opacity:.6;margin-top:4px}
.price__cartSum{display:flex;align-items:baseline;gap:6px;font-weight:300;font-size:clamp(30px,8vw,42px);line-height:1;letter-spacing:-.04em;color:var(--accent)}
.price__note{margin-top:var(--s6);font-size:13px;opacity:.55;max-width:60ch}

/* ---------- 11. Типовые предметы ---------- */
.things{display:grid;gap:var(--s2)}
.things li{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px var(--s4);
  padding:var(--s4) 0;border-bottom:1px solid rgba(16,18,20,.08);
}
.things h3{font-weight:400;font-size:16px}
.things p{grid-column:1;font-size:12.5px;opacity:.5}
.things__v{grid-column:2;grid-row:1 / span 2;justify-self:end;align-self:center;font-size:clamp(17px,2.4vw,22px);letter-spacing:-.02em;color:var(--accent);white-space:nowrap}

/* ---------- 12. Сплиты ---------- */
.wrap--split{display:grid;gap:var(--s7)}
.split__photo{margin-top:var(--s6);margin-inline:calc(var(--pad) * -1)}
.split__photo img{width:100%;aspect-ratio:7/5;object-fit:cover}

.idlist{display:grid;gap:var(--s6)}
.idlist li{display:grid;gap:var(--s2)}
.idlist__n{font-size:12px;letter-spacing:.2em;color:var(--accent)}
.idlist p{font-size:14.5px;opacity:.68;line-height:1.55;max-width:46ch}

.why{display:grid;gap:var(--s6)}
.why li{display:grid;gap:var(--s2);padding-top:var(--s4);border-top:1px solid rgba(16,18,20,.14)}
.why p{font-size:14.5px;opacity:.68;line-height:1.55;max-width:44ch}

/* ---------- 13. Услуги ---------- */
.serv{display:grid;gap:var(--s6)}
.serv__i{display:grid;gap:var(--s3);padding-top:var(--s4);border-top:1px solid rgba(16,18,20,.14)}
.serv__i svg{width:30px;height:30px;color:var(--accent)}
.serv__i p{font-size:14.5px;opacity:.68;line-height:1.55;max-width:42ch}
.serv__sub{margin-top:var(--s9);margin-bottom:var(--s5);font-weight:300;font-size:clamp(20px,3vw,28px);letter-spacing:-.02em}
.trucks{display:grid;gap:var(--s6)}
.truck__img{overflow:hidden}
.truck__img img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 820ms var(--e)}
.truck:hover .truck__img img{transform:scale(1.05)}
.truck{display:flex;flex-direction:column}
.truck__b{padding-top:var(--s4);display:flex;flex-direction:column;flex:1}
.truck__b p{font-size:13.5px;opacity:.6;margin-top:6px;margin-bottom:var(--s3)}
.truck__b .lnk{margin-top:auto;align-self:flex-start}

/* ---------- 13a. Полоса: наша площадка ---------- */
.strip{background:var(--paper-2);padding-bottom:var(--s8)}
.strip__row{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.strip__row img{width:100%;aspect-ratio:4/3;object-fit:cover}
.strip__cap{margin-top:var(--s5);font-size:13px;opacity:.55;max-width:62ch}

/* ---------- 13b. Наши работы ---------- */
.sect--works{background:var(--paper-2)}
.works__all{justify-self:start}
.works{
  display:grid;grid-auto-flow:column;grid-auto-columns:62vw;gap:var(--s3);
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);
  scrollbar-width:none;
}
.works::-webkit-scrollbar{display:none}
.work{scroll-snap-align:start;min-width:0}
/* на отдельной странице — сетка, а не карусель: видно всё сразу */
.works--all{
  grid-auto-flow:row;grid-template-columns:repeat(2,1fr);gap:var(--s5) var(--s3);
  overflow:visible;margin-inline:0;padding-inline:0;
}
.works--all h3{font-size:15px}
.works--all p{font-size:12px}
.work__media{
  position:relative;aspect-ratio:9/16;overflow:hidden;
  background:var(--ink);cursor:pointer;
}
.work__v{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 820ms var(--e);
}
.work:hover .work__v{transform:scale(1.03)}
.work__btn{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:60px;height:60px;border-radius:var(--r);
  display:grid;place-content:center;padding-left:4px;
  background:rgba(16,18,20,.62);color:#fff;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:opacity 420ms var(--e),transform 620ms var(--e),background 420ms var(--e);
}
.work__media:hover .work__btn{background:var(--accent);transform:translate(-50%,-50%) scale(1.06)}
.work.is-playing .work__btn{opacity:0;transform:translate(-50%,-50%) scale(.8);pointer-events:none}
.work h3{margin-top:var(--s3);font-weight:400;font-size:16px}
.work p{margin-top:4px;font-size:12.5px;opacity:.55}
.works__note{margin-top:var(--s5);font-size:12.5px;opacity:.5;max-width:52ch}

/* фотогалерея — только на странице работ */
.shots{display:grid;gap:var(--s3);margin-top:var(--s7)}
.shots img{width:100%;aspect-ratio:4/3;object-fit:cover}
.shots figcaption{margin-top:var(--s3);font-size:13px;opacity:.6}

/* ---------- 14. Шаги ---------- */
.steps{display:grid;gap:var(--s6)}
.steps li{display:grid;gap:var(--s2);padding-top:var(--s4);border-top:1px solid rgba(243,241,238,.16)}
.steps__n{font-size:12px;letter-spacing:.2em;color:var(--accent)}
.steps p{font-size:14.5px;opacity:.7;line-height:1.55;max-width:40ch}

/* ---------- 15. Условия ---------- */
.terms{display:grid;gap:var(--s5)}
.terms > div{display:grid;gap:var(--s2);padding-top:var(--s4);border-top:1px solid rgba(16,18,20,.14)}
.terms dt{font-size:16px;letter-spacing:-.015em}
.terms dd{margin:0;font-size:14.5px;opacity:.68;line-height:1.55;max-width:46ch}

/* ---------- 16. Контакты / форма ---------- */
.contacts{display:grid;gap:var(--s5);margin-top:var(--s7)}
.contacts li{display:grid;gap:4px}
.contacts a{font-size:clamp(17px,2.4vw,22px);letter-spacing:-.02em}
.contacts a:hover{color:var(--accent)}
.contacts__msg{display:flex;gap:var(--s4)}
.contacts__msg a{font-size:15px;color:var(--accent)}
.contacts address{font-size:15px;opacity:.75}
.lead-form{border:1px solid rgba(243,241,238,.18);padding:var(--s5)}

/* ---------- 17. Подвал ---------- */
.ftr{background:var(--ink-2);color:var(--on-dark);padding-block:var(--s8);padding-bottom:calc(var(--s7) + 58px + env(safe-area-inset-bottom,0px))}
.ftr__in{display:grid;gap:var(--s6)}
.ftr__brand p{margin-top:var(--s3);font-size:13.5px;opacity:.6;max-width:44ch;line-height:1.55}
.ftr__nav{display:grid;gap:var(--s3);font-size:14.5px}
.ftr__nav a{opacity:.7;transition:opacity 340ms var(--e)}
.ftr__nav a:hover{opacity:1;color:var(--accent)}
.ftr__legal{display:grid;gap:var(--s3);font-size:12px;opacity:.5;line-height:1.55}
.ftr__legal a{text-decoration:underline;text-underline-offset:3px}
.ftr__cc{opacity:.7}

/* ---------- 18. Док / плавающее ---------- */
.dock{
  position:fixed;left:0;right:0;bottom:0;z-index:35;
  display:grid;grid-template-columns:auto 1fr 1.2fr;
  background:var(--ink);
  padding-bottom:env(safe-area-inset-bottom,0px);
  transform:translateY(102%);
  transition:transform 520ms var(--e);
}
.dock.is-up{transform:none}
.dock__b{
  display:flex;align-items:center;justify-content:center;gap:8px;
  min-height:58px;padding-inline:14px;font-size:14px;color:var(--on-dark);
  white-space:nowrap;
}
.dock__b--wa{border-inline:1px solid rgba(243,241,238,.14)}
.dock__b--calc{background:var(--accent);color:#fff}
.fab{
  position:fixed;right:var(--pad);bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:34;
  display:grid;gap:var(--s2);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity 480ms var(--e),transform 480ms var(--e),visibility 480ms;
}
.fab.is-up{opacity:1;visibility:visible;transform:none}
.fab > .fab__b:not(.fab__b--up){display:none}
.fab__b{
  width:48px;height:48px;border-radius:var(--r);
  display:grid;place-content:center;
  background:var(--ink);color:var(--on-dark);
  transition:background 400ms var(--e),color 400ms var(--e);
}
.fab__b:hover{background:var(--accent);color:#fff}
.fab__b--up{background:rgba(16,18,20,.75)}

/* ---------- 19. Модалка / тост ---------- */
.modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:var(--pad)}
.modal__bg{position:absolute;inset:0;background:rgba(16,18,20,.7);backdrop-filter:blur(6px);animation:fadeIn 380ms var(--e)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal__box{
  position:relative;width:100%;max-width:440px;max-height:88svh;overflow-y:auto;
  background:var(--ink);color:var(--on-dark);padding:var(--s6) var(--s5) var(--s5);
  animation:boxIn 520ms var(--e);
}
@keyframes boxIn{from{opacity:0;transform:translateY(22px);filter:blur(12px)}to{opacity:1;transform:none;filter:blur(0)}}
.modal__box h3{margin-top:var(--s3);font-weight:300;font-size:clamp(24px,6vw,32px);line-height:1;letter-spacing:-.03em}
.modal__x{position:absolute;top:10px;right:10px;width:44px;height:44px;display:grid;place-content:center;opacity:.6;transition:opacity 340ms var(--e)}
.modal__x:hover{opacity:1}

.toast{
  position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:80;
  transform:translateX(-50%);
  background:var(--ink);color:var(--on-dark);
  padding:14px 22px;border-radius:var(--r);font-size:14px;
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  animation:boxIn 460ms var(--e);
  max-width:calc(100vw - var(--pad) * 2);text-align:center;
}

/* ---------- 20. Появление ---------- */
.js .rise{opacity:0;transform:translateY(28px);filter:blur(14px)}
.is-in .rise,.rise.is-in{
  opacity:1;transform:none;filter:blur(0);
  transition:opacity 900ms var(--e) var(--d,0ms),
             transform 900ms var(--e) var(--d,0ms),
             filter 900ms var(--e) var(--d,0ms);
}

/* ---------- 21. Планшет ---------- */
@media (min-width:768px){
  :root{--pad:40px}
  .sect{padding-block:var(--s9)}
  .grid-pick{grid-template-columns:repeat(3,1fr)}
  .grid-pick--sm{grid-template-columns:repeat(4,1fr)}
  .calc{grid-template-columns:1.35fr .85fr;gap:var(--s7);align-items:start}
  .calc__steps{grid-column:1 / -1}
  .calc__out{position:sticky;top:96px}
  .sect__head--row{grid-template-columns:1fr auto;align-items:end}
  .price__tools{grid-template-columns:auto 1fr;gap:var(--s3);align-items:center}
  .search{min-width:280px}
  .price__row{grid-template-columns:1.6fr .8fr auto;gap:var(--s4)}
  .price__meta{grid-column:2;grid-row:1;justify-self:start;font-size:13px}
  .price__val{grid-row:1;grid-column:3;flex-direction:row;align-items:center;gap:var(--s3)}
  .price__cart{position:sticky;bottom:0;z-index:20}
  .price__grpT{pointer-events:none;padding-bottom:var(--s3);min-height:0}
  .price__chev,.price__grpN{display:none}
  .price__grpU{display:inline}
  .price__body{display:block}
  .price__cartIn{grid-template-columns:1fr auto auto;align-items:center;gap:var(--s5)}
  .things li{grid-template-columns:1.2fr 1fr auto}
  .things p{grid-column:2;grid-row:1}
  .things__v{grid-column:3;grid-row:1}
  .serv{grid-template-columns:repeat(2,1fr);gap:var(--s7) var(--s6)}
  .trucks{grid-template-columns:repeat(2,1fr)}
  .strip__row{grid-template-columns:repeat(4,1fr)}
  .works{
    grid-auto-flow:row;grid-template-columns:repeat(2,1fr);gap:var(--s5);
    overflow:visible;margin-inline:0;padding-inline:0;
  }
  .shots{grid-template-columns:repeat(2,1fr);gap:var(--s6)}
  .steps{grid-template-columns:repeat(3,1fr);gap:var(--s7) var(--s6)}
  .terms{grid-template-columns:repeat(2,1fr);gap:var(--s7) var(--s6)}
  .ftr__in{grid-template-columns:1.4fr 1fr 1.2fr;gap:var(--s7)}
  .lead-form{padding:var(--s6)}
  .dock{display:none}
  .ftr{padding-bottom:var(--s7)}
  .fab{bottom:var(--pad)}
  .fab > .fab__b:not(.fab__b--up){display:grid}
    .toast{bottom:var(--pad)}
}

/* ---------- 22. Десктоп ---------- */
@media (min-width:1100px){
  :root{--pad:56px}
  .hdr{padding-block:var(--s5)}
  .hdr__logo{flex:0 0 auto}
  .hdr__nav{
    position:static;flex-direction:row;align-items:center;gap:var(--s6);
    padding:0;background:none;opacity:1;visibility:visible;z-index:auto;
    flex:1;justify-content:center;
  }
  .hdr__nav a{font-size:14px;font-weight:400;letter-spacing:-.005em;opacity:.8;transition:opacity 340ms var(--e)}
  .hdr__nav a:hover{opacity:1}
  .burger{display:none}
  .hdr__tel{display:inline-block;font-size:15px;letter-spacing:-.01em}
  .hdr__cb{display:inline-flex}
  .hero__content{padding-bottom:var(--s9)}
  .pagehead{padding-block:calc(var(--s10) + var(--s5)) var(--s9)}
  .steps{grid-template-columns:repeat(5,1fr);gap:var(--s5)}
  .serv{grid-template-columns:repeat(4,1fr)}
  .terms{grid-template-columns:repeat(3,1fr)}
  .wrap--split{grid-template-columns:1fr 1fr;gap:var(--s8);align-items:start}
  .split__photo{margin-inline:0}
  .works{grid-template-columns:repeat(4,1fr)}
  .trucks{grid-template-columns:repeat(4,1fr)}
  .works--all{grid-template-columns:repeat(3,1fr)}
  .shots{grid-template-columns:repeat(3,1fr)}
  .grid-pick{grid-template-columns:repeat(4,1fr)}
}

/* ---------- 23. Уважение к настройкам ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;transition-delay:0ms !important;
  }
  html{scroll-behavior:auto}
  .rise{opacity:1;transform:none;filter:none}
  .hero__media img{transform:none;animation:none}
}

/* ---------- Ловушка для ботов: поле есть в форме, но человеку не видно ---------- */
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

.ftr__legal a + a{margin-top:-4px}
.check a{text-decoration:underline;text-underline-offset:3px}

/* ---------- Юридические страницы ---------- */
.pagehead--legal h1{font-size:clamp(1.85rem,5.5vw,3.4rem)}
.legal{max-width:68ch}
.legal h2{margin-top:var(--s7);margin-bottom:var(--s3);font-weight:400;font-size:clamp(19px,2vw,24px);line-height:1.2;letter-spacing:-.015em}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{font-size:15.5px;line-height:1.65;opacity:.85}
.legal p + p{margin-top:var(--s3)}
.legal ul{margin-top:var(--s3);display:grid;gap:var(--s2)}
.legal li{position:relative;padding-left:22px}
.legal li::before{content:'';position:absolute;left:0;top:.72em;width:10px;height:1px;background:var(--accent)}
.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.legal__form{margin-top:var(--s5);padding:var(--s5);background:var(--paper-2);max-width:460px}
.legal__form .field{border-color:rgba(16,18,20,.2)}
.legal__form .btn--wide{white-space:normal;text-align:center}
