/* ---------- шрифты: лежат на своём сервере, без Google — работают без VPN и не тормозят первый экран ---------- */
/* Golos Text · cyrillic */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/golos-text-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* Golos Text · latin-ext */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/golos-text-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; }
/* Golos Text · latin */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/golos-text-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; }
/* Golos Text · cyrillic */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/golos-text-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* Golos Text · latin-ext */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/golos-text-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; }
/* Golos Text · latin */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/golos-text-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; }
/* Golos Text · cyrillic */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/golos-text-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* Golos Text · latin-ext */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/golos-text-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; }
/* Golos Text · latin */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/golos-text-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; }
/* Oswald · cyrillic */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/oswald-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* Oswald · latin-ext */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/oswald-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; }
/* Oswald · latin */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/oswald-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; }
/* Oswald · cyrillic */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/oswald-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* Oswald · latin-ext */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/oswald-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; }
/* Oswald · latin */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/oswald-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; }
/* Oswald · cyrillic */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/oswald-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* Oswald · latin-ext */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/oswald-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; }
/* Oswald · latin */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/oswald-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; }

  :root{color-scheme:light}
  html,body{margin:0}
  img{max-width:100%}
  [hidden]{display:none!important}
:root{
  --bg:#EFEFEC; --surface:#FFFFFF; --surface-2:#F7F7F5;
  --ink:#191C21; --ink-2:#5C6470; --ink-3:#646B76;
  --accent:#FFB81C; --accent-2:#E8A007; --on-accent:#191C21;
  --accent-ink:#8A5A00;
  --line:rgba(25,28,33,.11); --line-2:rgba(25,28,33,.2);
  --dark:#191C21; --dark-ink:#F3F3F1; --dark-ink-2:#A2A9B3;
  --maxw:1280px;
  --hdr-h:76px;
  --fs-h1:clamp(32px,7vw,99px);
  --fs-h2:clamp(26px,3.3vw,42px);
  --fs-sub:clamp(16px,1.45vw,19px);
  --fs-body:16px;
  --fs-cap:13px;
  --r-card:14px;   /* карточки, панели, окна */
  --r-btn:8px;     /* кнопки, поля, блоки внутри карточек */
  --ease-out:cubic-bezier(.23,1,.32,1);      /* появление, отклик на действие */
  --ease-in-out:cubic-bezier(.77,0,.175,1);  /* движение по экрану */
  --ease-in:cubic-bezier(.4,0,1,1);          /* исчезновение — коротко */
  --sp:clamp(56px,7vw,110px);
  --sh:0 1px 2px rgba(25,28,33,.05),0 10px 30px rgba(25,28,33,.07);
  --sh-2:0 2px 6px rgba(25,28,33,.07),0 22px 48px rgba(25,28,33,.13);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#101216; --surface:#181B20; --surface-2:#1E2228;
  --ink:#F2F3F4; --ink-2:#A3AAB4; --ink-3:#8E959F; --accent-ink:#FFC44D;
  --line:rgba(255,255,255,.1); --line-2:rgba(255,255,255,.2);
  --dark:#07090B; --sh:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.4);
  --sh-2:0 2px 6px rgba(0,0,0,.5),0 22px 48px rgba(0,0,0,.55);
}}
:root[data-theme="dark"]{
  --bg:#101216; --surface:#181B20; --surface-2:#1E2228;
  --ink:#F2F3F4; --ink-2:#A3AAB4; --ink-3:#8E959F; --accent-ink:#FFC44D;
  --line:rgba(255,255,255,.1); --line-2:rgba(255,255,255,.2);
  --dark:#07090B; --sh:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.4);
  --sh-2:0 2px 6px rgba(0,0,0,.5),0 22px 48px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 14px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Golos Text",-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;font-family:Oswald,"Golos Text",sans-serif;font-weight:600;text-transform:uppercase;line-height:1.06;letter-spacing:.004em;text-wrap:balance}
h1{font-size:var(--fs-h1);font-weight:700;line-height:1.02}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-sub);line-height:1.2}
p{margin:0;font-size:var(--fs-body)}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:22px}
.sect{padding-block:var(--sp)}
.cap{font-family:Oswald,sans-serif;font-size:var(--fs-cap);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.sub{font-size:var(--fs-sub);color:var(--ink-2);line-height:1.5}
.num{font-variant-numeric:tabular-nums}

.prog{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:var(--accent);z-index:99}

/* header */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;transition:background .2s var(--ease-out),box-shadow .2s var(--ease-out);box-shadow:0 1px 0 color-mix(in srgb,var(--ink) 9%,transparent)}
.hdr.stuck{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.hdr-in{display:flex;align-items:center;gap:26px;height:var(--hdr-h)}
.logo{display:flex;align-items:center;min-height:44px;gap:11px;font-family:Oswald,sans-serif;font-weight:700;font-size:var(--fs-sub);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.logo svg{width:34px;height:34px;flex:none}
.logo img{height:34px;width:auto;max-width:180px;flex:none;object-fit:contain}
.nav{display:flex;gap:26px;margin-left:auto;font-size:var(--fs-body);color:var(--ink);font-weight:500}
.nav a{position:relative;padding-block:4px}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .2s var(--ease-out)}
.nav a:hover{color:var(--ink)}@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.nav a:hover::after{transform:scaleX(1)}}
.tel{display:inline-flex;align-items:center;gap:9px;background:var(--accent);color:var(--on-accent);border-radius:var(--r-btn);padding:11px 20px;font-weight:600;font-size:var(--fs-body);transition:transform .16s var(--ease-out),background .2s ease}
.tel svg{width:17px;height:17px;flex:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.tel:hover{background:var(--accent-2);transform:translateY(-2px)}}
.burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;border:1px solid var(--line-2);border-radius:var(--r-btn);background:none;cursor:pointer;align-items:center;justify-content:center}
.burger i{width:17px;height:1.6px;background:var(--ink)}
.burger i{transition:transform .2s var(--ease-out),opacity .15s ease}
.burger.on i:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger.on i:nth-child(2){opacity:0}
.burger.on i:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}
@media(max-width:960px){
  .nav{display:none}
  .burger{display:flex;margin-left:auto}
  .hdr.open{background:var(--bg)}
  .hdr.open .nav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;margin:0;padding:6px 22px calc(14px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 14px 28px rgba(25,28,33,.13)}
  .hdr.open .nav a{display:flex;align-items:center;min-height:48px;padding-block:12px;border-bottom:1px solid var(--line)}
  .hdr.open .nav a:last-child{border-bottom:0}
  .hdr.open .nav a::after{display:none}
}
/* на телефоне звонок — в круглой кнопке справа внизу, в шапке второй не нужен */
@media(max-width:520px){.tel{display:none}}

/* ---------- HERO ---------- */
.hero{position:relative;isolation:isolate;margin-top:calc(var(--hdr-h) * -1);padding-top:var(--hdr-h);min-height:clamp(620px,52.4vw,900px);display:flex;align-items:center;overflow:hidden}
.hero-scene{position:absolute;inset:0;z-index:-2}
.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:100% 100%}
.hero-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(96deg,rgba(255,252,246,.9) 0 24%,rgba(255,252,246,.6) 42%,rgba(255,252,246,0) 64%)}

.hero-in{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:22px;padding-block:clamp(22px,4vh,44px);display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.hero-copy{max-width:min(53%,700px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(13px,1.6vh,20px)}


.hero-h1{line-height:.97;letter-spacing:-.015em}
.hero-h1 .l{display:block;overflow:hidden}
.hero-h1 .l>span{display:block}
/* компьютер: строки заголовка и пара преимуществ — без переноса. Цифры и «=» приходят с латинской
   частью шрифта чуть позже; до неё запасной шрифт шире, строки переносятся, и первый экран прыгает (CLS) */
@media(min-width:1025px){.hero-h1 .l{white-space:nowrap}.hero .feats{flex-wrap:nowrap}}
.hero-h1 .y{color:var(--accent-2)}
.hero .sub{max-width:46ch}

.feats{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);flex-wrap:wrap}
.feat{display:flex;align-items:center;gap:12px;position:relative}
.feat+.feat::before{content:"";position:absolute;left:clamp(-17px,-1.2vw,-8px);top:6px;bottom:6px;width:1px;background:var(--line-2)}
.ico{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:0 2px 8px rgba(25,28,33,.12),inset 0 0 0 1px var(--line)}
.ico svg{width:22px;height:22px}
.feat span:last-child{display:flex;flex-direction:column;font-size:var(--fs-cap);color:var(--ink-2);line-height:1.35}
.feat b{font-family:"Golos Text",sans-serif;font-size:var(--fs-body);font-weight:600;color:var(--ink);line-height:1.3}

.offer{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh-2);padding:clamp(18px,1.8vw,24px);display:flex;flex-direction:column;gap:16px;width:100%;max-width:min(100%,566px)}
.offer-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.offer-txt{flex:1;min-width:min(100%,205px);display:flex;flex-direction:column;font-size:var(--fs-cap);color:var(--ink-2);line-height:1.4}
.offer-txt b{font-family:"Golos Text",sans-serif;font-size:var(--fs-body);font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:3px}
.offer-btns{display:flex;flex-direction:column;align-items:stretch;gap:9px}
.offer-btns .btn{height:46px;padding:0 18px;font-size:var(--fs-cap);border-radius:var(--r-btn);white-space:nowrap}
.offer-btns .ar{margin-left:2px}
.offer-ico{flex:none;display:grid;place-items:center;width:38px;height:38px;color:var(--ink)}
.offer-ico svg{width:30px;height:30px}


.promise{display:flex;align-items:center;gap:15px;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh-2);padding:16px 20px;max-width:400px}
.promise-txt{display:flex;flex-direction:column;gap:5px;font-size:var(--fs-cap)}
.promise-txt b{font-family:"Golos Text",sans-serif;font-size:var(--fs-body);color:var(--ink);line-height:1.25;font-weight:600}
.promise mark{background:var(--accent);color:var(--on-accent);border-radius:var(--r-btn);padding:5px 9px;line-height:1.3;font-size:var(--fs-body);white-space:nowrap}

@media(max-width:1100px){
  .hero-copy{max-width:min(62%,600px)}
  }
@media(max-width:860px){
  .hero{min-height:clamp(560px,150vw,760px);padding-bottom:clamp(28px,7vw,48px)}
  .feat+.feat::before{display:none}
  .feats{gap:14px}
  .hero-scene img{object-position:63% 72%}
  .hero-scene::after{background:linear-gradient(180deg,rgba(255,255,255,.93) 0 52%,rgba(255,255,255,.78) 70%,rgba(255,255,255,.35) 88%,rgba(255,255,255,0) 100%)}
  .hero-in{flex-direction:column;align-items:stretch;gap:18px}
  .hero-copy{max-width:none}
    .promise{max-width:none;order:-1}
  .promise mark{white-space:normal}
  .hero .sub br{display:none}
  .offer-btns{flex-direction:row;flex-wrap:wrap}
  .offer-btns .btn{flex:1;min-width:150px}
}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 28px;border-radius:var(--r-btn);font-family:Oswald,sans-serif;font-size:var(--fs-body);letter-spacing:.06em;text-transform:uppercase;font-weight:600;border:1.6px solid transparent;cursor:pointer;transition:transform .16s var(--ease-out),background .2s ease,border-color .2s ease,color .2s ease}
.btn-y{background:var(--accent);color:var(--on-accent);box-shadow:0 6px 20px rgba(255,184,28,.34)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.btn-y:hover{background:var(--accent-2);transform:translateY(-2px)}}
.btn-o{background:transparent;border-color:var(--line-2);color:var(--ink)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.btn-o:hover{border-color:var(--ink);transform:translateY(-2px)}}

/* ---------- CARDS ---------- */
.head{text-align:center;max-width:62ch;margin:0 auto clamp(30px,3.6vw,52px)}
.head h2{margin-top:0}
.head .sub{margin-top:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,304px),1fr));gap:clamp(14px,1.8vw,24px)}
.card{background:var(--surface);border-radius:var(--r-card);padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:16px;box-shadow:var(--sh);transition:transform .2s var(--ease-out),box-shadow .2s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.card:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}}
.card h3{text-align:center}
.card-art{flex:1;display:flex;align-items:center;justify-content:center;padding-block:6px;min-height:118px}
.card-art svg,.card-art img{width:100%;max-width:230px;height:auto;transition:transform .25s var(--ease-out)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.card:hover .card-art svg,.card:hover .card-art img{transform:scale(1.03)}}
.card-price{display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}
.card-price b{font-family:Oswald,sans-serif;font-size:var(--fs-h2);font-weight:600}
.card-price span{font-size:var(--fs-cap);color:var(--ink-2)}
.card-half{text-align:center;font-size:var(--fs-cap);color:var(--ink-3)}
.card-btn{width:100%;border:0;font-family:inherit;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;height:46px;border-radius:var(--r-btn);background:var(--surface-2);font-size:var(--fs-body);font-weight:500;transition:background .2s ease,color .2s ease}
.card:hover .card-btn{background:var(--accent);color:var(--on-accent)}
.card-btn .ar{transition:transform .2s var(--ease-out)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.card:hover .card-btn .ar{transform:translateX(4px)}}

/* ---------- price ---------- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px)}
@media(max-width:820px){.two{grid-template-columns:1fr}}
.panel{background:var(--surface);border-radius:var(--r-card);padding:clamp(22px,2.6vw,34px);box-shadow:var(--sh)}
.pl{display:flex;justify-content:space-between;gap:18px;padding-block:13px;border-bottom:1px solid var(--line);font-size:var(--fs-body)}
.pl:last-child{border-bottom:0}
.pl span{color:var(--ink-2)}
.pl b{font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere}
.pl b.num{white-space:nowrap;overflow-wrap:normal}
.note{margin-top:20px;background:var(--surface-2);color:var(--ink);border-radius:var(--r-btn);padding:18px 20px;font-size:var(--fs-body);line-height:1.45;border:1px solid var(--line)}

/* ---------- ставки в блоке цен: по видам техники и полный список ---------- */
.rt{width:100%;border-collapse:collapse;font-size:var(--fs-body)}
.rt-cap{caption-side:top;text-align:left;font-size:var(--fs-cap);color:var(--ink-2);padding-bottom:14px}
.rt thead th{font-size:var(--fs-cap);font-weight:500;color:var(--ink-3);text-align:right;padding:0 0 10px 16px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.rt thead th:first-child{text-align:left;padding-left:0}
.rt tbody tr{position:relative}
.rt tbody th,.rt td{padding:14px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.rt tbody th{text-align:left;font-weight:400}
.rt tbody th a{font-weight:600;color:var(--ink);transition:color .2s}
.rt tbody th a::after{content:"";position:absolute;inset:0}
.rt tbody tr:hover th a{color:var(--accent-ink)}
.rt tbody th small{display:block;font-size:var(--fs-cap);color:var(--ink-3);margin-top:2px}
.rt td{text-align:right;white-space:nowrap;padding-left:16px;color:var(--ink-2);width:1%}
.rt td b{font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600;color:var(--ink)}
.rt>tbody>tr:last-child>*{border-bottom:0}
.rt-all{margin-top:4px;border-top:1px solid var(--line-2)}
.rt-all summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding-top:4px;cursor:pointer;font-weight:600;color:var(--ink)}
.rt-all summary::-webkit-details-marker{display:none}
.rt-all summary i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s var(--ease-out)}
.rt-all[open] summary i{transform:translateY(2px) rotate(-135deg)}
.rt-all summary:hover{color:var(--accent-ink)}
.rt-full{margin-top:8px}
.rt-full .rt-g th{padding:22px 0 8px;font-family:Oswald,sans-serif;font-size:var(--fs-cap);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line-2)}
.rt-full tbody tr:first-child.rt-g th{padding-top:6px}
.rt-full td b{font-size:var(--fs-body)}
/* телефон: название слева, ставка за смену справа, под ней — за час */
@media(max-width:560px){
  .rt thead tr,.rt tbody tr:not(.rt-g){display:grid;grid-template-columns:1fr auto;column-gap:14px;align-items:center}
  .rt thead th:nth-child(3){display:none}
  .rt thead tr{border-bottom:1px solid var(--line-2)}
  .rt thead th{border:0}
  .rt tbody tr:not(.rt-g){padding:12px 0;border-bottom:1px solid var(--line)}
  .rt>tbody>tr:not(.rt-g):last-child{border-bottom:0}
  .rt tbody th,.rt td{padding:0;border:0}
  .rt tbody tr:not(.rt-g) th{grid-column:1;grid-row:1/3}
  .rt td{grid-column:2;width:auto;padding:0}
  .rt td:nth-child(3){font-size:var(--fs-cap);color:var(--ink-3)}
  .rt td:nth-child(3)::after{content:" за час"}
  .rt-g{display:block}
  .rt-g th{display:block}
}
.note b{font-weight:600}

/* ---------- promises ---------- */
.pr{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px)}
@media(max-width:1020px){.pr{grid-template-columns:1fr}}
.pr-i{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:12px;transition:transform .2s var(--ease-out)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.pr-i:hover{transform:translateY(-2px)}}
.pr-n{font-family:Oswald,sans-serif;font-size:var(--fs-h2);font-weight:700;line-height:.92;color:var(--accent-ink)}
.pr-n small{font-size:var(--fs-cap);color:var(--ink-3);margin-left:7px;font-weight:500}
.pr-i h3{color:var(--ink)}
.pr-i p{color:var(--ink-2);font-size:var(--fs-body);max-width:68ch}

/* ---------- fleet ---------- */
.fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:980px){.fleet{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.fleet{grid-template-columns:1fr}}
.dot{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-cap);color:var(--ink-2);white-space:nowrap}
.dot i{width:8px;height:8px;border-radius:50%;background:#28A36B;flex:none}
.dot.busy i{background:var(--ink-3)}
.upd{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:20px;font-size:var(--fs-cap);color:var(--ink-2);justify-content:center}
.live{display:inline-flex;align-items:center;gap:7px}
.live i{width:7px;height:7px;border-radius:50%;background:#28A36B}

/* подсказка над карточками парка: одна строка, без плашки */
.pk-hint{display:flex;align-items:flex-start;gap:8px;line-height:1.45;margin:0 0 clamp(12px,1.4vw,16px);font-size:var(--fs-cap);color:var(--ink-2)}
.pk-hint-ic{flex:none;display:grid;place-items:center;width:18px;height:1.45em;color:var(--accent-ink)}
.pk-hint-ic svg{width:18px;height:18px}

.pk-bar{display:flex;gap:10px;margin-bottom:clamp(14px,1.8vw,22px)}
.pk-q{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-btn);padding:0 16px;min-height:54px;box-shadow:var(--sh);transition:border-color .2s}
.pk-q:focus-within{border-color:var(--accent)}
.pk-q>i{flex:none;display:grid;place-items:center;width:22px;height:22px;color:var(--ink-3)}
.pk-q>i svg{width:22px;height:22px}
.pk-q input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:inherit;font-size:var(--fs-body);color:var(--ink);height:52px}
.pk-q input::placeholder{color:var(--ink-3)}
.pk-filter{flex:none;width:54px;height:54px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-btn);color:var(--ink-2);cursor:pointer;box-shadow:var(--sh);transition:background .2s,color .2s,border-color .2s}
.pk-filter svg{width:24px;height:24px}
.pk-filter:hover{border-color:var(--line-2);color:var(--ink)}
.pk-filter[aria-pressed="true"]{background:var(--accent);border-color:transparent;color:var(--on-accent)}

.pk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(12px,1.6vw,22px);align-items:stretch}
.pk-c{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s ease}
.pk-c:hover{box-shadow:var(--sh-2)}
/* шапка карточки: техника сверху на светлом фоне, название под ней — текст на фото не наезжает */
.pk-ch{position:relative;display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:0 11px;background:var(--surface-2);color:var(--ink);padding:0 18px 14px;border-bottom:1px solid var(--line)}
.pk-bg{order:-1;flex:0 0 calc(100% + 36px);display:block;margin:0 -18px 10px;width:auto;height:132px;padding:16px 18px 0;object-fit:contain}
.pk-ic{flex:none;display:grid;place-items:center;width:30px;height:30px;color:var(--accent-ink)}
.pk-ic svg{width:28px;height:28px}
.pk-n{flex:1 1 0;min-width:0;font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pk-ar{flex:none;margin-left:6px;font-size:22px;line-height:1;color:var(--ink-3);transition:transform .2s var(--ease-out),color .2s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.pk-ch:hover .pk-ar{color:var(--ink);transform:translateX(3px)}}

.pk-l{display:flex;flex-direction:column;padding:4px 18px;flex:1 0 auto}
.pk-m{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:13px;border-bottom:1px solid var(--line);min-height:52px}
.pk-m:last-child{border-bottom:0}
.pk-mt{display:flex;flex-direction:column;min-width:0}
.pk-mt b{font-family:Oswald,sans-serif;font-size:var(--fs-body);font-weight:600;text-transform:uppercase;line-height:1.2;overflow-wrap:anywhere}
.pk-mt i{font-style:normal;font-size:var(--fs-cap);color:var(--ink-3);margin-top:2px}
.pk-m:hover .pk-mt b{color:var(--accent-ink)}
.pk-go{flex:none;font-size:21px;line-height:1;color:var(--ink-3);transition:color .2s ease,transform .2s var(--ease-out)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.pk-m:hover .pk-go{color:var(--accent-ink);transform:translateX(3px)}}
.pk-all{display:flex;align-items:center;gap:8px;margin-top:auto;padding:14px 18px 16px;font-size:var(--fs-cap);font-weight:600;color:var(--ink-2);border-top:1px solid var(--line)}
.pk-all:hover{color:var(--ink)}
.pk-all .ar{transition:transform .2s var(--ease-out)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.pk-all:hover .ar{transform:translateX(3px)}}
.pk-empty{margin-top:22px;text-align:center;color:var(--ink-2);font-size:var(--fs-body)}

.dot.hold i{background:var(--accent-2)}
.pk-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px clamp(16px,2.4vw,30px);margin-top:clamp(18px,2.4vw,28px);font-size:var(--fs-cap);color:var(--ink-2)}
.pk-lg{display:flex;flex-wrap:wrap;gap:12px 20px}
@media(max-width:660px){
  .pk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pk-c{border-radius:var(--r-card)}
  .pk-ch{padding:0 12px 10px;gap:0 8px}
  .pk-bg{flex-basis:calc(100% + 24px);margin:0 -12px 6px;height:84px;padding:10px 10px 0}
  .pk-ic{width:22px;height:22px}
  .pk-ic svg{width:22px;height:22px}
  .pk-n{font-size:var(--fs-cap);letter-spacing:.01em;min-height:2.3em;align-content:center}
  .pk-ch>.pk-ar{display:none}
  .pk-l{padding:2px 12px}
  .pk-m{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding-block:10px;min-height:0}
  .pk-m .pk-mt{grid-column:1}
  .pk-m .dot{grid-column:1;grid-row:2}
  .pk-go{grid-column:2;grid-row:1/3;font-size:18px}
  .pk-mt b{font-size:var(--fs-cap)}
  .pk-all{padding:11px 12px 13px;font-size:var(--fs-cap)}
}

/* самые узкие телефоны: без значка категории, чтобы название влезло целиком */
@media(max-width:359px){.pk-ch>.pk-ic{display:none}.pk-all{white-space:nowrap;gap:5px}}

/* строка поиска: крестик очистки */
.pk-clear{flex:none;width:30px;height:30px;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-size:19px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.pk-clear:hover{background:var(--line);color:var(--ink)}
.pk-filter[aria-expanded="true"]{background:var(--accent);border-color:transparent;color:var(--on-accent)}

/* панель фильтров */
.pk-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh);padding:clamp(16px,2vw,22px);margin-bottom:clamp(14px,1.8vw,22px);display:flex;flex-direction:column;gap:16px}
.pk-pr{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px clamp(18px,2.4vw,32px)}
.pk-pg{display:flex;flex-direction:column;gap:9px;min-width:0}
.pk-pl{font-size:var(--fs-cap);color:var(--ink-2);font-weight:500}
.pk-pl b{color:var(--ink);font-weight:600}
.pk-chips{display:flex;flex-wrap:wrap;gap:8px}
.pk-chip{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;background:var(--surface-2);border:1.6px solid var(--line);border-radius:99px;font-family:inherit;font-size:var(--fs-cap);color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.pk-chip:hover{border-color:var(--line-2)}
.pk-chip i{font-style:normal;font-size:var(--fs-cap);color:var(--ink-3)}
.pk-chip.on{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent);font-weight:600}
.pk-chip.on i{color:var(--accent-ink)}
.pk-pa{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.pk-pa .btn{height:44px;padding:0 18px;font-size:var(--fs-cap)}

/* ---------- steps ---------- */
/* шаги — шкала времени: одна линия, точки, над шагом срок. Без карточек: это последовательность, а не набор */
.tl{list-style:none;margin:0;padding:clamp(26px,3vw,40px) clamp(22px,3vw,40px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(18px,2.6vw,36px);position:relative;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh)}
.tl::before{content:"";position:absolute;left:clamp(22px,3vw,40px);right:clamp(22px,3vw,40px);top:calc(clamp(26px,3vw,40px) + 10px);height:2px;background:linear-gradient(90deg,var(--accent),var(--line-2))}
.tl-i{position:relative;display:flex;flex-direction:column;gap:8px;padding-top:40px;min-width:0}
.tl-dot{position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 2px var(--accent)}
.tl-dot::after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--accent)}
.tl-t{font-family:Oswald,sans-serif;font-size:var(--fs-cap);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
.tl-i h3{margin:0}
.tl-i p{margin:0;color:var(--ink-2);font-size:var(--fs-body);max-width:30ch}
/* планшет и телефон: шкала вертикальная, линия слева */
@media(max-width:900px){
  .tl{grid-template-columns:1fr;gap:0}
  .tl::before{display:none}
  /* линия — отрезками от точки до следующей точки, чтобы не уходила ниже последней */
  .tl-i:not(:last-child)::before{content:"";position:absolute;left:10px;top:22px;bottom:0;width:2px;background:linear-gradient(180deg,var(--accent),var(--line-2))}
  .tl-i{padding:0 0 26px 40px}
  .tl-i:last-child{padding-bottom:0}
  .tl-i p{max-width:none}
}

/* ---------- cases ---------- */
/* объекты: главный — крупно на всю высоту, два — рядом. Фото во всю карточку, текст на затемнении снизу */
.cases{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(12px,1.4vw,18px);height:clamp(540px,46vw,680px)}
.cases>.case:first-child{grid-row:span 2}
.cases:has(>.case:only-child){grid-template-columns:1fr}
.cases:has(>.case:nth-child(2):last-child)>.case{grid-row:span 2}
.case{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:0;border-radius:var(--r-card);background:var(--dark);color:#fff;box-shadow:var(--sh)}
.case-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:scale .25s var(--ease-out)}
.case::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,14,18,0) 26%,rgba(12,14,18,.6) 56%,rgba(12,14,18,.94) 100%)}
/* в маленьких карточках текст занимает больше высоты — затемнение начинается выше */
.cases>.case:not(:first-child)::after{background:linear-gradient(180deg,rgba(12,14,18,.08) 0%,rgba(12,14,18,.66) 38%,rgba(12,14,18,.95) 100%)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.case:hover .case-img{scale:1.03}}
.ph-note{position:absolute;top:18px;left:18px;font-family:Oswald,sans-serif;font-size:var(--fs-cap);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.25);border-radius:var(--r-btn);padding:7px 12px}
.case-b{width:100%;padding:clamp(18px,2.2vw,30px);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.case-where{font-size:var(--fs-cap);color:rgba(255,255,255,.78);text-shadow:0 1px 8px rgba(0,0,0,.5)}
.case h3{color:#fff;font-size:var(--fs-sub);text-shadow:0 1px 12px rgba(0,0,0,.35)}
.cases>.case:first-child h3{font-size:var(--fs-h2)}
.case-d{font-size:var(--fs-body);color:rgba(255,255,255,.84);max-width:54ch}
.case-n{display:flex;align-items:baseline;gap:10px;margin-top:2px;font-size:var(--fs-cap);color:rgba(255,255,255,.72)}
.case-n b{font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600;line-height:1;color:var(--accent)}
.cases>.case:first-child .case-n b{font-size:var(--fs-h2)}
/* цитата заказчика из его отзыва — подтверждение, что объект настоящий */
.case-q{margin:6px 0 0;padding:12px 14px;max-width:52ch;border-radius:var(--r-btn);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.case-q p{margin:0;font-size:var(--fs-body);line-height:1.45;color:#fff}
.case-q cite{display:block;margin-top:6px;font-style:normal;font-size:var(--fs-cap);color:rgba(255,255,255,.7)}
/* в маленьких карточках рядом с главной — цитата вместо описания, чтобы текст не закрывал фото */
.cases>.case:not(:first-child):has(.case-q) .case-d{display:none}
@media(max-width:900px){
  .cases{grid-template-columns:1fr;grid-template-rows:none;height:auto}
  .cases>.case,.cases:has(>.case:nth-child(2):last-child)>.case{grid-row:auto;min-height:clamp(440px,122vw,560px)}
  .cases>.case:first-child{min-height:clamp(520px,150vw,660px)}
  /* на телефоне текста в карточке больше — плотное затемнение начинается выше */
  .cases>.case::after,.cases>.case:not(:first-child)::after{background:linear-gradient(180deg,rgba(12,14,18,.05) 0%,rgba(12,14,18,.1) 18%,rgba(12,14,18,.78) 44%,rgba(12,14,18,.96) 100%)}
  .cases>.case:not(:first-child):has(.case-q) .case-d{display:block}
}

/* ---------- reviews ---------- */
.revs{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.8vw,22px)}
.revs-nav{display:none}
/* телефон и планшет: отзывы — лента, листается пальцем, следующая карточка видна краем */
@media(max-width:820px){
  .revs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-22px;padding:4px 22px 14px;scroll-padding-inline:22px;scrollbar-width:none;overscroll-behavior-x:contain}
  .revs::-webkit-scrollbar{display:none}
  /* в ленте карточки не выезжают снизу при появлении — иначе при листании они прыгают по вертикали */
  .revs .rev.pre{opacity:1;transform:none}
  .revs-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
  .revs-nav[hidden]{display:none}
  .revs-b{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:var(--sh);cursor:pointer;transition:opacity .2s,border-color .2s}
  .revs-b:disabled{opacity:.35;cursor:default;box-shadow:none}
  .revs-dots{display:flex;align-items:center;gap:6px}
  .revs-dots i{width:7px;height:7px;border-radius:99px;background:var(--line-2);transition:background .2s ease}
  .revs-dots i.on{width:22px;background:var(--accent)}
  .rev{flex:0 0 min(84%,440px);scroll-snap-align:start;padding:18px 18px 16px;gap:12px}
  .rev blockquote{font-size:var(--fs-body);line-height:1.5}
  .rev-a{padding-top:12px}
  .rev-a b{font-size:var(--fs-sub)}
  .rev-m{margin-top:6px;gap:5px}
  .rev-m i{padding:3px 9px}
}
.rev{background:var(--surface);border-radius:var(--r-card);padding:clamp(22px,2.4vw,30px);box-shadow:var(--sh);display:flex;flex-direction:column;gap:16px;margin:0;position:relative}
.rev blockquote{margin:0;font-size:var(--fs-body);line-height:1.55;max-width:68ch}
.rev-a{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-cap);color:var(--ink-2);padding-top:14px;border-top:1px solid var(--line)}
.rev-a b{font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.01em;line-height:1.15}
.rev-m{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rev-m i{font-style:normal;font-size:var(--fs-cap);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:4px 11px}

/* ---------- compare ---------- */
.cmp{background:var(--surface);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh)}
.cr{display:grid;grid-template-columns:1fr 1.15fr 1.15fr;border-bottom:1px solid var(--line)}
.cr:last-child{border-bottom:0}
.cr>div{padding:16px 20px;font-size:var(--fs-body)}
.ch{background:var(--surface-2)}
.ch>div{font-family:Oswald,sans-serif;font-size:var(--fs-cap);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.ch .us{display:flex;align-items:center;gap:9px;background:var(--dark);color:#fff;letter-spacing:.1em}
.us-m{flex:none;display:grid;place-items:center;width:24px;height:24px}
.us-m svg{width:24px;height:24px}
.us-m img{width:24px;height:24px;object-fit:contain}
.ck{color:var(--ink);font-weight:500}
.cu{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--ink);font-weight:600}
.ct{color:var(--ink-3)}
.cu,.ct{display:flex;align-items:flex-start;gap:10px}
.cv{flex:1 1 0;min-width:0}
.cu i,.ct i{flex:none;display:block;width:18px;height:18px;margin-top:2px;border-radius:50%;position:relative}
.cu i.yes{background:#28A36B}
.cu i.yes::after{content:"";position:absolute;left:5px;top:7px;width:7px;height:3.5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.ct i.no{background:var(--line-2)}
.ct i.no::after,.ct i.no::before{content:"";position:absolute;left:8px;top:4px;width:2px;height:10px;background:#fff}
.ct i.no::after{transform:rotate(45deg)}.ct i.no::before{transform:rotate(-45deg)}
.cr-sum{background:var(--surface-2);font-weight:600}
.cr-sum .cu{background:var(--accent);color:var(--on-accent);flex-direction:column;align-items:stretch;gap:2px;min-width:0}
.cr-sum .cu b,.cr-sum .cu{overflow-wrap:anywhere}
.cr-sum .cu b{font-size:var(--fs-body)}
.cr-sum .cu,.cr-sum .ct{font-size:var(--fs-cap)}
/* телефон: мини-таблица. Подписи колонок один раз сверху, в строке — условие и два коротких ответа рядом */
@media(max-width:760px){
  .cr{grid-template-columns:1fr 1fr;column-gap:8px;row-gap:6px;padding:12px 10px}
  .cr>div{padding:8px 10px;font-size:var(--fs-body);line-height:1.35}
  .ch{padding-block:10px}
  .ch>div:first-child{display:none}
  .ch>div{font-size:var(--fs-cap);letter-spacing:.06em;line-height:1.2;display:flex;align-items:center}
  .ch .us{border-radius:var(--r-btn);gap:7px}
  .us-m,.us-m svg{width:20px;height:20px}
  .ck{grid-column:1/-1;padding:0 2px!important;font-weight:600;font-size:var(--fs-body)!important;color:var(--ink)}
  .cu{border-radius:var(--r-btn)}
  .cu,.ct{gap:7px}
  .cu i,.ct i{margin-top:0}
  .cr-sum .ck{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-cap)!important;color:var(--ink-2)}
  .cr-sum .cu,.cr-sum .ct{font-size:var(--fs-cap)}
}

/* ---------- faq ---------- */
.faq{background:var(--surface);border-radius:var(--r-card);padding:clamp(8px,1.2vw,18px) clamp(22px,2.6vw,34px);box-shadow:var(--sh)}

/* ---------- final ---------- */
.fin{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);padding:clamp(24px,3.2vw,48px);display:grid;grid-template-columns:1fr .8fr;gap:clamp(26px,4vw,64px)}
@media(max-width:880px){.fin{grid-template-columns:1fr}}
.form{display:flex;flex-direction:column;gap:13px;margin-top:24px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font-size:var(--fs-cap);color:var(--ink-2)}
.fld input{height:52px;background:var(--surface-2);border:1.6px solid transparent;color:var(--ink);padding:0 16px;font-family:inherit;font-size:var(--fs-body);border-radius:var(--r-btn);transition:border-color .2s ease,background .2s ease}
.fld input::placeholder{color:var(--ink-3)}
.fld input:focus{border-color:var(--accent);background:var(--surface);outline:none}
.fld input.bad{border-color:#C4392E;background:color-mix(in srgb,#C4392E 6%,transparent)}
/* поле-ловушка для спам-ботов: человек его не видит и не заполняет */
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.chk{display:flex;gap:11px;align-items:flex-start;padding-block:10px;font-size:var(--fs-cap);color:var(--ink-2);cursor:pointer}
.chk input{flex:none;margin-top:1px;width:20px;height:20px;accent-color:var(--accent)}
.cts{display:flex;flex-direction:column;gap:20px}
.ct-i b{display:block;overflow-wrap:anywhere;font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600;margin-top:5px}
.ct-i span{display:block;overflow-wrap:anywhere;font-size:var(--fs-body);color:var(--ink-2);margin-top:5px}
.msgs{display:flex;gap:10px;flex-wrap:wrap}
/* мессенджеры: нейтральная кнопка, фирменный цвет только у значка — жёлтый остаётся единственным акцентом */
.msg{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 10px;border:1px solid var(--line-2);border-radius:var(--r-btn);background:var(--surface);color:var(--ink);font-weight:600;font-size:var(--fs-body);letter-spacing:.01em;
  transition:transform .16s var(--ease-out),border-color .2s ease,box-shadow .2s ease}
.msg i{flex:none;width:26px;height:26px;border-radius:var(--r-btn);background-repeat:no-repeat;background-position:center;background-size:60%;transition:transform .2s var(--ease-out)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.msg:hover{transform:translateY(-2px);border-color:var(--ink-3);box-shadow:var(--sh);color:var(--ink)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.msg:hover i{transform:scale(1.08)}}
.msg:active{transform:translateY(0)}
.msg-wa i{background-color:#25D366;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M17.47%2014.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94%201.16-.17.2-.35.22-.64.08-.3-.15-1.26-.47-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.18-.3-.02-.46.13-.6.13-.14.3-.35.44-.53.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2%200-.52.07-.8.37-.27.3-1.03%201.02-1.03%202.48s1.06%202.87%201.21%203.07c.15.2%202.1%203.2%205.08%204.49.71.3%201.26.49%201.69.62.71.23%201.36.2%201.87.12.57-.09%201.76-.72%202-1.42.25-.69.25-1.29.18-1.41-.08-.13-.28-.2-.57-.35M12.05%2021.79h-.01a9.87%209.87%200%200%201-5.03-1.38l-.36-.22-3.74.99.99-3.65-.23-.38a9.86%209.86%200%200%201-1.51-5.26c0-5.45%204.44-9.88%209.89-9.88a9.8%209.8%200%200%201%206.99%202.9%209.82%209.82%200%200%201%202.89%206.99c0%205.45-4.44%209.89-9.88%209.89m8.41-18.3A11.82%2011.82%200%200%200%2012.05%200C5.5%200%20.16%205.34.16%2011.89c0%202.1.55%204.15%201.59%205.95L.06%2024l6.3-1.65a11.88%2011.88%200%200%200%205.69%201.45h.01c6.55%200%2011.89-5.34%2011.89-11.9%200-3.17-1.24-6.16-3.48-8.41%22%2F%3E%3C%2Fsvg%3E")}
.msg-tg i{background-color:#229ED9;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M21.7%204.3%202.9%2011.6c-1%20.4-1%201.7.1%202l4.7%201.5%201.8%205.6c.2.7%201.1%201%201.6.4l2.6-2.8%204.7%203.5c.6.4%201.5.1%201.7-.7l3.3-15.4c.2-.9-.7-1.6-1.7-1.4zM9.4%2014.5l9.7-6-8.2%207.3-.3%203.1-1.2-4.4z%22%2F%3E%3C%2Fsvg%3E")}
.msg-max i{background-image:url("img/ic-max.png"),linear-gradient(135deg,#3B7BF6 0%,#8A5BF0 100%);background-size:60%,cover}
/* на тёмных плашках — прозрачная кнопка со светлой рамкой */
.pick-a .msg,.sect-dark .msg{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#fff}
.pick-a .msg:hover,.sect-dark .msg:hover{border-color:rgba(255,255,255,.5);color:#fff;box-shadow:none}
/* фирменные плитки мессенджеров */
.bic{border-radius:var(--r-btn);background-repeat:no-repeat;background-position:center}
.bic-wa{background-color:#25D366;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M17.47%2014.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94%201.16-.17.2-.35.22-.64.08-.3-.15-1.26-.47-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.18-.3-.02-.46.13-.6.13-.14.3-.35.44-.53.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2%200-.52.07-.8.37-.27.3-1.03%201.02-1.03%202.48s1.06%202.87%201.21%203.07c.15.2%202.1%203.2%205.08%204.49.71.3%201.26.49%201.69.62.71.23%201.36.2%201.87.12.57-.09%201.76-.72%202-1.42.25-.69.25-1.29.18-1.41-.08-.13-.28-.2-.57-.35M12.05%2021.79h-.01a9.87%209.87%200%200%201-5.03-1.38l-.36-.22-3.74.99.99-3.65-.23-.38a9.86%209.86%200%200%201-1.51-5.26c0-5.45%204.44-9.88%209.89-9.88a9.8%209.8%200%200%201%206.99%202.9%209.82%209.82%200%200%201%202.89%206.99c0%205.45-4.44%209.89-9.88%209.89m8.41-18.3A11.82%2011.82%200%200%200%2012.05%200C5.5%200%20.16%205.34.16%2011.89c0%202.1.55%204.15%201.59%205.95L.06%2024l6.3-1.65a11.88%2011.88%200%200%200%205.69%201.45h.01c6.55%200%2011.89-5.34%2011.89-11.9%200-3.17-1.24-6.16-3.48-8.41%22%2F%3E%3C%2Fsvg%3E");background-size:64%}
.bic-tg{background-color:#229ED9;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M21.7%204.3%202.9%2011.6c-1%20.4-1%201.7.1%202l4.7%201.5%201.8%205.6c.2.7%201.1%201%201.6.4l2.6-2.8%204.7%203.5c.6.4%201.5.1%201.7-.7l3.3-15.4c.2-.9-.7-1.6-1.7-1.4zM9.4%2014.5l9.7-6-8.2%207.3-.3%203.1-1.2-4.4z%22%2F%3E%3C%2Fsvg%3E");background-size:66%}
.bic-max{background-image:url("img/ic-max.png"),linear-gradient(135deg,#3B7BF6 0%,#8A5BF0 100%);background-size:62%,cover}
@media(prefers-reduced-motion:reduce){.msg,.msg i{transition:none}.msg:hover{transform:none}.msg:hover i{transform:none}}

.ftr{padding-block:28px 40px;font-size:var(--fs-cap);color:var(--ink-3)}

/* кнопка связи вместо нижней панели: занимает угол, а не всю ширину */
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;display:none;flex-direction:column;align-items:flex-end;gap:10px}
.fab{transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}
.fab.fab-off{opacity:0;transform:translateY(12px);pointer-events:none}
@media(max-width:960px){.fab{display:flex}.ftr{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
.fab-btn{width:58px;height:58px;flex:none;border:0;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 26px rgba(25,28,33,.3);transition:background .2s ease,transform .16s var(--ease-out)}
.fab-btn svg{width:26px;height:26px}
.fab-btn .fab-close{display:none}
.fab.open .fab-btn{background:var(--ink);color:var(--bg)}
.fab.open .fab-btn .fab-phone{display:none}
.fab.open .fab-btn .fab-close{display:block}
.fab-menu{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.fab-i{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 17px;border-radius:var(--r-btn);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--sh-2);font-family:Oswald,sans-serif;font-size:var(--fs-body);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}
/* появление пунктов — переходом (прерывается при быстром повторном нажатии), а не ключевыми кадрами */
@starting-style{.fab-i{opacity:0;transform:translateY(8px) scale(.96)}}
.fab-ic{display:grid;place-items:center;width:22px;height:22px;flex:none;color:var(--accent-ink)}
.fab-ic svg{width:22px;height:22px}

.pre{opacity:0;transform:translateY(12px)}
.pre-l{opacity:0;transform:translateY(102%)}
.rv{transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
@media(prefers-reduced-motion:reduce){.pre,.pre-l{opacity:1;transform:none}.rv{transition:none}html{scroll-behavior:auto}}

.card-types{font-family:Oswald,sans-serif;font-size:var(--fs-cap);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:center;margin-top:-8px}
/* блок цен: таблица ставок и карточка PDF рядом на компьютере, одна под другой на телефоне */
.rates-row{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2vw,26px)}
@media(min-width:941px){.rates-row{grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr)}}
/* карточка PDF по высоте своего содержимого (без пустого поля) и едет рядом с таблицей при прокрутке */
@media(min-width:941px){.rates-row .card-file{align-self:start;position:sticky;top:96px}}
.mach-back{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-cap);color:var(--ink-2);margin-bottom:clamp(18px,2.4vw,30px)}
.mach-back:hover{color:var(--ink)}
.mach{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,30px)}
.mach-head h1{font-size:var(--fs-h2);margin-top:10px}
.mach-full{font-size:var(--fs-sub);color:var(--ink-2);margin-top:8px;overflow-wrap:anywhere}
.mach-status{display:inline-flex;align-items:center;gap:9px;margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:9px 16px;font-size:var(--fs-cap);color:var(--ink);box-shadow:var(--sh)}
.mach-status i{width:9px;height:9px;border-radius:50%;background:#28A36B;flex:none}
.mach-status.busy i{background:var(--ink-3)}
@media(max-width:820px){
  .mach-status{margin-top:14px}
}

/* телефон: категории по две в ряд — карточка сжимается, поэтому компактный вид */
@media(max-width:660px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card{padding:14px 12px;gap:10px;border-radius:var(--r-card)}
  .card h3{font-size:var(--fs-body);line-height:1.14;text-wrap:pretty}
  .card-types{font-size:var(--fs-cap);letter-spacing:.06em;margin-top:-4px;line-height:1.25}
  .card-art{min-height:72px;padding-block:2px}
  .card-art img{max-width:150px}
  .card-price{flex-direction:column;align-items:center;gap:1px;padding-top:10px}
  .card-price b{font-size:var(--fs-h2)}
  .card-half{font-size:var(--fs-cap)}
  .card-btn{height:42px;font-size:var(--fs-body);gap:6px;padding-inline:6px;text-align:center;white-space:nowrap}
  .card-btn .ar{display:none}   /* в узкой карточке стрелка переносила подпись на вторую строку */
  .card-file{gap:12px}
}

/* узкий экран: кадр ближе к квадрату, заголовку нужен воздух */
@media(max-width:620px){
  .hero-h1{line-height:1.05}
  .head{margin-bottom:clamp(24px,5vw,34px)}
}
/* низкий экран (телефон боком): шапка не должна съедать высоту */
@media(max-height:640px){:root{--hdr-h:60px}}
@media(max-height:500px){
  :root{--hdr-h:44px;--fs-h1:clamp(28px,8.6vh,46px)}
  .hero{min-height:0}
  .hero-in{padding-block:14px}
  .hero-copy{gap:10px}
  .promise{padding:12px 16px}
  .offer{padding:14px;gap:12px}
}
/* телефон боком: экран широкий, но низкий — возвращаем две колонки,
   иначе заголовок и плашка встают друг на друга и не помещаются */
@media(max-height:500px) and (min-width:700px){
  .hero-in{flex-direction:row;align-items:flex-start}
  .hero-copy{max-width:min(58%,560px)}
  .promise{order:0;max-width:310px;margin-top:0}
  .hero-scene::after{background:linear-gradient(96deg,rgba(255,252,246,.92) 0 30%,rgba(255,252,246,.6) 48%,rgba(255,252,246,0) 70%)}
}

/* ---------- служебные страницы: политика, 404 ---------- */
.doc{max-width:760px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.doc h1{font-size:var(--fs-h2);margin-top:4px}
.doc>.sub{margin-bottom:10px}
.doc h2{margin-top:18px;font-family:"Golos Text",sans-serif;font-size:var(--fs-sub);font-weight:600;text-transform:none;letter-spacing:0;line-height:1.3}
.doc p{color:var(--ink-2);line-height:1.6;max-width:72ch;overflow-wrap:anywhere}
.doc-c{margin-inline:auto;align-items:center;text-align:center}
.nf-g{align-self:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin-top:10px;text-align:left}
.nf-i{display:flex;flex-direction:column;gap:4px;min-height:44px;padding:16px 18px;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);font-size:var(--fs-cap);color:var(--ink-2);line-height:1.4;transition:transform .2s var(--ease-out),box-shadow .2s ease}
.nf-i b{font-size:var(--fs-body);font-weight:600;color:var(--ink)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.nf-i:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}}
@media(prefers-reduced-motion:reduce){.nf-i{transition:none}.nf-i:hover{transform:none}}


/* ---------- мобильная обложка: вечерний кадр, светлый текст, карточка внизу ---------- */
.hero-m{display:none}
@media(max-width:640px){
  :root{--fs-h1:clamp(30px,9.4vw,46px)}
  .hero{min-height:0;align-items:stretch;background:linear-gradient(180deg,#0F1F2D 0 45%,#150F0C 100%);color:#fff;padding-bottom:0}
  .hero-scene{display:none}
  .hero-in{padding-inline:18px;padding-block:14px 18px}
  .hero-copy{gap:12px}
  .hero-copy>*{position:relative;z-index:1}
  /* кадр 2:3 во всю ширину экрана: верхние ~40% — небо, уходит под текст; средняя треть — машина,
     видна целиком между текстом и карточкой; нижние ~28% — земля, уходит под карточку */
  .hero-m{display:block;position:relative;z-index:0;align-self:stretch;margin:-63vw -18px -42vw;pointer-events:none}
  .hero-m img{display:block;width:100%;height:auto;aspect-ratio:2/3;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%);mask-image:linear-gradient(180deg,transparent 0,#000 16%)}
  .hero-h1{line-height:.97}
  .hero-h1 .y{color:var(--accent)}
  .hero .sub{color:#fff;line-height:1.4}
  .feats{flex-direction:column;align-items:flex-start;gap:10px}
  .ico{width:44px;height:44px;background:rgba(10,12,16,.55);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}
  .feat{gap:14px}
  .feat b{color:#fff}
  .feat span:last-child{color:#C5CBD3}
  .promise{display:none}
  .offer{background:rgba(14,16,20,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 36px rgba(0,0,0,.45);border-radius:var(--r-card);padding:16px;gap:14px}
  .offer-top{gap:12px 14px}
  .offer-ico{color:var(--accent);align-self:flex-start}
  .offer-txt{color:#C5CBD3}
  .offer-txt b{color:#fff}
  .offer-btns{flex-basis:100%;flex-wrap:nowrap;gap:10px}
  .offer-btns .btn{flex:1 1 0;min-width:0;height:48px;padding:0 6px;gap:6px;font-size:var(--fs-cap);letter-spacing:.02em;white-space:normal;line-height:1.1;text-align:center}
  .offer .btn-o{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(0,0,0,.25)}
  .offer .btn-o:hover{border-color:#fff}
  /* шапка поверх тёмного кадра — светлая, пока страницу не прокрутили */
  .home .hdr:not(.stuck):not(.open){box-shadow:0 1px 0 rgba(255,255,255,.12)}
  .home .hdr:not(.stuck):not(.open) .logo{color:#fff}
  .home .hdr:not(.stuck):not(.open) .logo svg rect{stroke:rgba(255,255,255,.22);stroke-width:1}
  .home .hdr:not(.stuck):not(.open) .burger{border-color:rgba(255,255,255,.42)}
  .home .hdr:not(.stuck):not(.open) .burger i{background:#fff}
}
/* невысокий экран (Safari с панелями браузера видит ~660 px): машина остаётся во всю ширину,
   а убирается пояснение в карточке — оно дублирует смысл кнопок. Кнопки «Рассчитать самому» / «Подобрать за меня» остаются на первом экране */
@media(max-width:640px) and (max-height:760px){
  .offer-ico,.offer-txt{display:none}
  .offer{padding:12px}
}
/* совсем низкий экран (iPhone SE в Safari): подзаголовок повторяет заголовок — убираем его, а не машину */
@media(max-width:640px) and (max-height:600px){.hero .sub{display:none}}
@media(max-width:380px){.offer-btns .ar{display:none}}

/* ---------- страница машины: две колонки ---------- */
.mpage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:clamp(20px,2.6vw,36px);align-items:start}
.mpage-main{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,30px);min-width:0}
.mpage-aside{position:sticky;top:calc(var(--hdr-h) + 16px);min-width:0}
.mach-head h1{font-size:var(--fs-h2);margin-top:10px}
.mach-photo{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);padding:clamp(16px,2vw,26px);display:flex;align-items:center;justify-content:center}
.mach-photo img{width:100%;max-width:520px;height:auto}

/* несколько фото машины — карусель. Без скрипта листается прокруткой, со скриптом — стрелки и миниатюры
   (мышь) или точки (палец) */
.gal{display:block;min-width:0;max-width:100%}
.gal-stage{position:relative;min-width:0}
.gal-track{display:flex;width:100%;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.gal-on .gal-track{scrollbar-width:none}
.gal-on .gal-track::-webkit-scrollbar{display:none}
.gal-track:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px;border-radius:var(--r-btn)}
.gal-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center}
.gal-btn{position:absolute;top:50%;width:44px;height:44px;margin-top:-22px;display:flex;align-items:center;justify-content:center;
  background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-btn);box-shadow:var(--sh);font-size:var(--fs-body);cursor:pointer;
  transition:transform .15s var(--ease-out),opacity .2s var(--ease-out)}
.gal-btn:active{transform:scale(.97)}
.gal-btn:disabled{opacity:0;pointer-events:none}
.gal-prev{left:0}
.gal-next{right:0}
.gal-count{position:absolute;top:0;right:0;padding:3px 9px;border-radius:var(--r-btn);background:rgba(25,28,33,.72);color:#fff;font-size:var(--fs-cap);font-variant-numeric:tabular-nums;pointer-events:none}
.gal-thumbs{display:flex;justify-content:safe center;max-width:100%;gap:8px;margin-top:14px;overflow-x:auto;padding:2px;scrollbar-width:thin}
.gal-th{flex:0 0 auto;width:72px;aspect-ratio:31/20;padding:3px;background:var(--surface);border:2px solid var(--line);border-radius:var(--r-btn);cursor:pointer;
  opacity:.7;transition:opacity .2s var(--ease-out),transform .15s var(--ease-out)}
.gal-th img{width:100%;height:100%;object-fit:contain;display:block}
.gal-th[aria-current="true"]{border-color:var(--accent);opacity:1}
.gal-th:active{transform:scale(.97)}
.gal-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
.gal-dots i{width:7px;height:7px;border-radius:50%;background:var(--line-2);transition:transform .2s var(--ease-out),background-color .2s var(--ease-out)}
.gal-dots i.on{background:var(--ink);transform:scale(1.25)}
/* палец: листают свайпом — стрелки и миниатюры не нужны, внизу точки */
@media(pointer:coarse){.gal-btn,.gal-thumbs{display:none!important}}
@media(pointer:fine){.gal-dots{display:none!important}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .gal-th:hover{opacity:1}
  .gal-btn:not(:disabled):hover{transform:translateY(-1px)}
}
@media(prefers-reduced-motion:reduce){.gal-btn,.gal-th,.gal-dots i{transition:none}}

/* блок характеристик и описания */
.mi{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);padding:clamp(18px,2.4vw,30px)}
.mi h2{font-size:var(--fs-sub);font-family:"Golos Text",sans-serif;text-transform:none;letter-spacing:0;margin-bottom:14px}
.mi-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0 clamp(16px,2.4vw,32px)}
.mi-g2{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}
.mi-r{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-block:11px;border-bottom:1px solid var(--line);font-size:var(--fs-body);min-width:0}
.mi-r>span{color:var(--ink-2);flex:1 1 auto;min-width:0}
.mi-r>b{font-weight:600;text-align:right;overflow-wrap:anywhere}
.mi-r>b.acc{color:var(--accent-ink)}
.mi-p{color:var(--ink-2);max-width:72ch;line-height:1.6}
.mi-p+.mi-p{margin-top:12px}

.mi-adv{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(10px,1.4vw,14px)}
.mi-a{display:flex;align-items:flex-start;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-btn);padding:15px 16px;box-shadow:var(--sh)}
.mi-a span{display:flex;flex-direction:column;font-size:var(--fs-cap);color:var(--ink-2);line-height:1.4;min-width:0}
.mi-a b{font-size:var(--fs-body);color:var(--ink);font-weight:600;line-height:1.3;margin-bottom:2px}
.mi-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-btn);background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--ink)}
.mi-ic svg{width:21px;height:21px}

/* правая колонка: цена, форма, контакты */
.ma-card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh-2);padding:clamp(16px,2vw,22px);display:flex;flex-direction:column;gap:18px}
.ma-price{display:flex;flex-direction:column;gap:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-btn);padding:16px 18px}
.ma-price b{font-family:Oswald,sans-serif;font-size:var(--fs-h2);font-weight:700;line-height:1.05}
.ma-price span{font-size:var(--fs-cap);color:var(--ink-2)}
.ma-st{display:inline-flex;align-items:center;gap:8px;margin-top:9px;font-size:var(--fs-cap);color:var(--ink)}
.ma-st i{width:9px;height:9px;border-radius:50%;background:#28A36B;flex:none}
.ma-st.busy i{background:var(--ink-3)}
.ma-form{display:flex;flex-direction:column;gap:11px}
.ma-h{font-size:var(--fs-body);font-weight:600}
.ma-form textarea{background:var(--surface-2);border:1.6px solid transparent;color:var(--ink);padding:11px 14px;font-family:inherit;font-size:var(--fs-body);border-radius:var(--r-btn);resize:vertical;min-height:62px}
.ma-form textarea:focus{border-color:var(--accent);background:var(--surface);outline:none}
.ma-form input[readonly]{color:var(--ink-2);cursor:default}
.ma-form .btn{width:100%}
.ma-note{color:var(--accent-ink)}
.ma-dir{display:flex;flex-direction:column;gap:9px;padding-top:16px;border-top:1px solid var(--line)}
.ma-tel{font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600}

/* «также заказывают» и «недавно смотрели» */
.also-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:clamp(18px,2.4vw,28px)}
.also-h h2{margin-top:9px}
.also-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:clamp(12px,1.6vw,20px)}
.also-c{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);padding:14px;display:flex;flex-direction:column;gap:7px;transition:transform .2s var(--ease-out),box-shadow .2s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.also-c:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}}
.also-ph{background:var(--surface-2);border-radius:var(--r-btn);padding:10px;display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;overflow:hidden}
.also-ph img{width:auto;max-width:100%;max-height:100%;height:auto;object-fit:contain}
.also-c h3{font-size:var(--fs-sub)}
.also-p{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding-top:11px;border-top:1px solid var(--line)}
.also-p span{font-size:var(--fs-cap);color:var(--ink-3)}
.also-p b{font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600}

/* вопросы-ответы «гармошкой» */
.fq2{border-bottom:1px solid var(--line)}
.fq2:last-child{border-bottom:0}
.fq2>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;cursor:pointer;list-style:none;font-size:var(--fs-body);font-weight:600;min-height:44px}
.fq2>summary::-webkit-details-marker{display:none}
.fq2>summary i{flex:none;width:11px;height:11px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s var(--ease-out)}
.fq2[open]>summary i{transform:rotate(-135deg) translate(-3px,-3px)}
.fq2>p{color:var(--ink-2);font-size:var(--fs-body);max-width:72ch;padding-bottom:18px}

@media(max-width:940px){
  .mpage{grid-template-columns:1fr}
  .mpage-aside{position:static}
}

/* ---------- калькулятор аренды ---------- */
.calc{margin-top:clamp(20px,2.6vw,32px);background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);padding:clamp(20px,2.6vw,34px)}
.calc-top{margin-bottom:clamp(18px,2.2vw,26px)}
.calc-top h2{margin-top:10px}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(18px,2.4vw,30px)}
.calc-f{display:flex;flex-direction:column;gap:11px;min-width:0}
.calc-l{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.calc-l>span{font-size:var(--fs-body);font-weight:600}
.calc-l>b{font-family:Oswald,sans-serif;font-size:var(--fs-sub);color:var(--accent-ink);white-space:nowrap}
.calc-l-sm>span{font-size:var(--fs-cap);font-weight:500;color:var(--ink-2)}
.calc-hint{font-size:var(--fs-cap);color:var(--ink-2);line-height:1.4}
.calc-hint b{font-weight:600;color:var(--ink)}

.calc-range{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;border:0;outline:none;cursor:pointer}
.calc-range::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line)}
.calc-range::-moz-range-track{height:6px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line)}
.calc-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-11px;border-radius:50%;background:var(--accent);border:3px solid var(--surface);box-shadow:0 2px 8px rgba(25,28,33,.28);cursor:pointer}
.calc-range::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--accent);border:3px solid var(--surface);box-shadow:0 2px 8px rgba(25,28,33,.28);cursor:pointer}
.calc-range:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent-2);outline-offset:2px}

.calc-chips{display:flex;flex-wrap:wrap;gap:8px}
.calc-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-btn);min-height:38px;padding:0 13px;font-family:inherit;font-size:var(--fs-cap);color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.calc-chip:hover{border-color:var(--line-2);background:var(--surface)}

.calc-seg{display:flex;flex-wrap:wrap;gap:8px}
.calc-b{flex:1 1 auto;min-width:0;min-height:46px;padding:9px 14px;background:var(--surface);border:1.6px solid var(--line-2);border-radius:var(--r-btn);font-family:inherit;font-size:var(--fs-cap);color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.calc-b:hover{border-color:var(--ink-3)}
.calc-b.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);font-weight:600}
#calc-ot .calc-b{flex:0 0 auto;min-width:62px;text-align:center}

.calc-sel{width:100%;min-height:48px;padding:0 14px;background:var(--surface-2);border:1.6px solid var(--line);border-radius:var(--r-btn);font-family:inherit;font-size:var(--fs-body);color:var(--ink);cursor:pointer}
.calc-sel:focus{border-color:var(--accent);outline:none}
#calc-away{display:flex;flex-direction:column;gap:11px}
#calc-km-box{display:flex;flex-direction:column;gap:8px}

.calc-sum{margin-top:clamp(20px,2.6vw,30px);padding-top:clamp(18px,2.2vw,24px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px clamp(14px,2vw,24px);align-items:end}
.calc-row{display:flex;flex-direction:column;gap:3px;min-width:0}
.calc-row>span{font-size:var(--fs-cap);color:var(--ink-2)}
.calc-row>b{font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600}
.calc-row>span>i{display:block;font-style:normal;font-size:var(--fs-cap);color:var(--ink-3);margin-top:2px}
.calc-row.up>b{color:var(--accent-ink)}
.calc-row.down>b{color:#28A36B}
.calc-row.zero>b{color:var(--ink-3)}
.calc-total{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-btn);padding:16px 20px}
.calc-total>span{font-size:var(--fs-body);font-weight:600}
.calc-total>b{font-family:Oswald,sans-serif;font-size:var(--fs-h2);font-weight:700;line-height:1;margin-left:auto}
.calc-total>i{flex-basis:100%;font-style:normal;font-size:var(--fs-cap);color:var(--ink-3)}

.calc-cta{margin-top:clamp(18px,2.2vw,26px);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.calc-cta .btn{width:100%;max-width:420px}

@media(max-width:620px){
  .calc{padding:18px 14px;border-radius:var(--r-card)}
  .calc-sum{grid-template-columns:1fr 1fr}
  .calc-total>b{margin-left:0}
  .calc-cta .btn{max-width:none}
}

/* без JavaScript: простой список парка вместо интерактива */
.ns-list{margin:24px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.ns-list li{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);padding:16px 18px;font-size:var(--fs-cap);color:var(--ink-2);line-height:1.6}
.ns-list b{font-size:var(--fs-body);color:var(--ink)}
.ns-list a{border-bottom:1px solid var(--line-2)}
noscript .sect{padding-block:clamp(30px,5vw,60px)}

/* хлебные крошки */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:clamp(16px,2.2vw,26px);font-size:var(--fs-cap);color:var(--ink-3)}
.crumbs a{color:var(--ink-2)}
.crumbs a:hover{color:var(--ink)}
.crumbs i{font-style:normal;color:var(--line-2)}
.crumbs span{color:var(--ink)}

/* блок подбора: чтобы страница категории не была тупиком */
.pick{margin-top:clamp(22px,3vw,38px);background:var(--dark);color:var(--dark-ink);border-radius:var(--r-card);padding:clamp(22px,3vw,40px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(20px,3vw,42px);align-items:center}
.pick .cap{color:var(--accent)}
.pick h2{margin-top:9px;color:#fff}
.pick .sub{margin-top:12px;color:var(--dark-ink-2);max-width:52ch}
.pick-a{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.pick-a .btn{width:100%}
.pick-tel{font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600;color:#fff;margin-top:6px}
.pick-a .cap-plain{color:var(--dark-ink-2)}
.pick-a .msgs{margin-top:4px}
@media(max-width:820px){.pick{grid-template-columns:1fr;gap:22px}}

/* бронь первым пунктом в кнопке связи */
.fab-i-y{background:var(--accent);border-color:transparent;color:var(--on-accent);font-weight:600}
.fab-i-y .fab-ic{color:var(--on-accent)}

/* карта и документы в контактах */
.ct-map{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:15px 17px;box-shadow:var(--sh);transition:transform .2s var(--ease-out),box-shadow .2s ease,border-color .2s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.ct-map:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:var(--accent)}}
.ct-map-pin{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-btn);background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--ink)}
.ct-map-pin svg{width:24px;height:24px}
.ct-map-t{display:flex;flex-direction:column;font-size:var(--fs-cap);color:var(--ink-2);line-height:1.4;min-width:0}
.ct-map-t b{font-size:var(--fs-body);color:var(--ink);font-weight:600;margin-bottom:2px}
.ct-map .ar{margin-left:auto;color:var(--ink-3)}
.ct-docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px}
.ct-doc{display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-btn);padding:12px 14px;font-size:var(--fs-cap);color:var(--ink-2);transition:border-color .2s ease,background .2s ease}
.ct-doc:hover{border-color:var(--accent);background:var(--surface)}
.ct-doc b{font-size:var(--fs-body);color:var(--ink);font-weight:600}

/* подвал */
.ftr{padding-block:clamp(34px,4vw,54px) 0;font-size:var(--fs-body);color:var(--ink-2);border-top:1px solid var(--line);margin-top:clamp(30px,4vw,56px)}
.ft-top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,44px)}
.ft-brand .logo{color:var(--ink)}
.ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0}
.ft-brand p{font-size:var(--fs-cap);color:var(--ink-2);max-width:40ch;line-height:1.5}
.ft-tel{font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600;color:var(--ink)}
.ft-note{font-size:var(--fs-cap);color:var(--ink-3);margin-top:-6px}
.ft-col{display:flex;flex-direction:column;gap:9px;min-width:0}
.ft-h{font-family:Oswald,sans-serif;font-size:var(--fs-cap);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
.ft-col a{font-size:var(--fs-cap);color:var(--ink-2);transition:color .2s}
.ft-col a:hover{color:var(--ink)}
.ft-a{display:flex;flex-direction:column;font-size:var(--fs-cap);color:var(--ink-2);line-height:1.45}
.ft-a b{color:var(--ink);font-weight:600}
.ft-a i{font-style:normal;color:var(--ink-3)}
.ft-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:clamp(26px,3vw,40px);padding-block:20px 28px;border-top:1px solid var(--line);font-size:var(--fs-cap);color:var(--ink-3)}
.ft-links{display:flex;flex-wrap:wrap;gap:18px}
.ft-links a{color:var(--ink-2)}
.ft-links a:hover{color:var(--ink)}
.ft-legal{flex-basis:100%;margin:0;font-size:var(--fs-cap);color:var(--ink-3);line-height:1.5}
.ft-legal a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}
@media(max-width:960px){.ftr{padding-bottom:0}.ft-top{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}}
@media(max-width:620px){.ft-bot{flex-direction:column;gap:12px}}

/* ---------- страница категории ---------- */
.cat-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,3vw,40px);align-items:center;margin-bottom:clamp(24px,3vw,40px)}
.cat-txt h1{font-size:var(--fs-h2);margin-top:10px}
.cat-txt .sub{margin-top:12px;max-width:56ch}
.cat-facts{display:flex;flex-wrap:wrap;gap:clamp(14px,2.4vw,30px);margin-top:20px}
.cat-facts span{display:flex;flex-direction:column;font-size:var(--fs-cap);color:var(--ink-2)}
.cat-facts b{font-family:Oswald,sans-serif;font-size:var(--fs-h2);font-weight:700;color:var(--ink);line-height:1.1}
.cat-ph{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);padding:clamp(14px,2vw,24px);display:flex;align-items:center;justify-content:center}
.cat-ph img{width:100%;max-width:400px;height:auto}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:clamp(12px,1.8vw,22px)}
.cat-c{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s var(--ease-out),box-shadow .2s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.cat-c:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}}
.cat-c-ph{background:var(--surface-2);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;padding:12px}
.cat-c-ph img{width:auto;max-width:100%;max-height:100%;height:auto;object-fit:contain}
.cat-c-b{padding:clamp(14px,1.8vw,20px);display:flex;flex-direction:column;gap:8px;flex:1}
.cat-c-b h3{font-size:var(--fs-sub)}
.cat-c-sp{display:flex;flex-direction:column;gap:5px;margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}
.cat-c-sp span{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-cap);font-weight:600}
.cat-c-sp i{font-style:normal;font-weight:400;color:var(--ink-2)}
.cat-c-p{display:flex;flex-direction:column;margin-top:auto;padding-top:11px;border-top:1px solid var(--line)}
.cat-c-p b{font-family:Oswald,sans-serif;font-size:var(--fs-h2);font-weight:700;line-height:1.1}
.cat-c-p span{font-size:var(--fs-cap);color:var(--ink-2);margin-top:2px}
.cat-c-go{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;margin-top:11px;border-radius:var(--r-btn);background:var(--surface-2);font-size:var(--fs-cap);font-weight:600;transition:background .2s ease,color .2s ease}
.cat-c:hover .cat-c-go{background:var(--accent);color:var(--on-accent)}
@media(max-width:820px){.cat-top{grid-template-columns:1fr}.cat-ph{order:-1}}

/* ---------- окно заявки ---------- */
.bk{width:min(640px,calc(100% - 28px));max-height:min(92dvh,900px);padding:0;border:0;border-radius:var(--r-card);background:var(--surface);color:var(--ink);box-shadow:0 30px 70px rgba(25,28,33,.35);overflow:auto;overscroll-behavior:contain}
.bk::backdrop{background:rgba(25,28,33,.55);backdrop-filter:blur(3px)}
.bk-x{position:sticky;top:10px;float:right;margin:10px 10px 0 0;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-size:22px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.bk-x:hover{background:var(--line);color:var(--ink)}
.bk-in{padding:clamp(20px,3vw,30px);display:flex;flex-direction:column;gap:16px}
.bk-in h2{font-size:var(--fs-h2)}
.bk-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:0 clamp(14px,2vw,26px)}
.bk-rows2{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-btn);padding:4px 16px}
.bk-r{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:9px;border-bottom:1px solid var(--line);font-size:var(--fs-cap);min-width:0}
.bk-rows>.bk-r:last-child,.bk-rows2>.bk-r:last-child{border-bottom:0}
.bk-r>span{color:var(--ink-2)}
.bk-r>b{font-weight:600;text-align:right;overflow-wrap:anywhere}
.bk-total{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;background:color-mix(in srgb,var(--accent) 16%,transparent);border-radius:var(--r-btn);padding:14px 16px}
.bk-total>span{font-size:var(--fs-body);font-weight:600}
.bk-total>b{font-family:Oswald,sans-serif;font-size:var(--fs-h2);font-weight:700;line-height:1}
.bk-form{display:flex;flex-direction:column;gap:12px}
.bk-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.bk-form .fld label i{color:var(--accent-ink);font-style:normal}
.bk-form .btn{width:100%}
.bk-err{font-size:var(--fs-cap);color:#C4392E;background:color-mix(in srgb,#C4392E 9%,transparent);border-radius:var(--r-btn);padding:10px 13px}
.bk-dir{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding-top:16px;border-top:1px solid var(--line)}
.bk-tel{font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600}
.bk-done{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-block:10px}
.bk-btns{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.bk-btns .btn{flex:1 1 180px}
.bk-tick{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:26px;font-weight:700}

/* ---------- просмотр документа перед печатью ---------- */
.kp-view{position:fixed;inset:0;z-index:90;overflow:auto;background:color-mix(in srgb,var(--ink) 55%,transparent);backdrop-filter:blur(3px);padding:clamp(12px,2vw,26px);overscroll-behavior:contain}
.kpv-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;max-width:820px;margin:0 auto 14px;background:var(--surface);border-radius:var(--r-card);padding:12px 16px;box-shadow:var(--sh-2)}
.kpv-t{font-size:var(--fs-body);font-weight:600;min-width:0;overflow-wrap:anywhere}
.kpv-b{display:flex;flex-wrap:wrap;gap:9px}
.kpv-b .btn{height:44px;padding:0 18px;font-size:var(--fs-cap)}
.kpv-doc{max-width:820px;margin:0 auto;background:#fff;border-radius:var(--r-card);box-shadow:0 20px 50px rgba(25,28,33,.3);padding:clamp(20px,3vw,40px)}
.kpv-doc .kp{display:block;color:#191C21;font-size:var(--fs-cap);line-height:1.5}
.kpv-hint{max-width:820px;margin:14px auto 0;font-size:var(--fs-cap);color:#fff;opacity:.85;text-align:center}
.kp-view .kp-h{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:10px;border-bottom:2px solid #191C21}
.kp-view .kp-h b{display:block;font-size:var(--fs-sub)}
.kp-view .kp-h span,.kp-view .kp-d{font-size:var(--fs-cap);color:#5C6470}
.kp-view .kp h1{font-size:var(--fs-sub);margin:18px 0 14px;font-family:"Golos Text",sans-serif;text-transform:none;letter-spacing:0;font-weight:700}
.kp-view .kp-h2{font-size:var(--fs-body);margin:16px 0 8px;font-weight:700;font-family:"Golos Text",sans-serif;text-transform:none;letter-spacing:0}
.kp-view .kp-t{width:100%;border-collapse:collapse;margin-bottom:16px}
.kp-view .kp-t td{padding:7px 0;border-bottom:1px solid #E6E6E2;vertical-align:top}
.kp-view .kp-t td.num{text-align:right;font-weight:600;white-space:nowrap}
.kp-view .kp-t th{text-align:left;font-size:var(--fs-cap);text-transform:uppercase;letter-spacing:.06em;color:#5C6470;padding-bottom:6px;border-bottom:1px solid #191C21}
.kp-view .kp-t th.num{text-align:right}
.kp-view .kp-to td:first-child,.kp-view .kp-spec td:first-child{color:#5C6470}
.kp-view .kp-t2 tfoot td{padding-top:11px;border-top:2px solid #191C21;border-bottom:0;font-size:var(--fs-sub)}
.kp-view .kp-n{font-size:var(--fs-cap);background:#F5F5F2;border-radius:var(--r-btn);padding:13px 15px;margin-bottom:16px}
.kp-view .kp-s{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:var(--fs-cap);color:#5C6470;padding-top:12px;border-top:1px solid #E6E6E2}
@media(max-width:620px){.kpv-b{width:100%}.kpv-b .btn{flex:1}}

/* ---------- печатное КП ---------- */
.calc-btns{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.calc-btns .btn{flex:1 1 220px}
.kp{display:none}
@media print{
  :root{--bg:#fff;--surface:#fff}
  body{background:#fff;padding:0!important}
  body.printing>*:not(.kp-view){display:none!important}
  .kp-view{position:static!important;background:none!important;backdrop-filter:none!important;padding:0!important;overflow:visible!important}
  .kpv-bar,.kpv-hint{display:none!important}
  .kpv-doc{max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
  .kp{display:block;font-family:"Golos Text",Arial,sans-serif;color:#191C21;font-size:11pt;line-height:1.45;padding:0}
  .kp-h{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:10px;border-bottom:2px solid #191C21}
  .kp-h b{display:block;font-size:13pt}
  .kp-h span{font-size:9pt;color:#5C6470}
  .kp-d{font-size:9pt;color:#5C6470;white-space:nowrap}
  .kp h1{font-size:15pt;margin:18px 0 14px;font-family:inherit;text-transform:none;letter-spacing:0;font-weight:700}
  .kp-t{width:100%;border-collapse:collapse;margin-bottom:16px}
  .kp-t td{padding:6px 0;border-bottom:1px solid #E3E3E0;vertical-align:top}
  .kp-t td.num{text-align:right;font-weight:600;white-space:nowrap}
  .kp-t th{text-align:left;font-size:9pt;color:#5C6470;font-weight:500;padding-bottom:6px;border-bottom:1px solid #191C21}
  .kp-t th.num{text-align:right}
  .kp-h2{font-size:11pt;margin:16px 0 8px;font-family:inherit;text-transform:none;letter-spacing:0;font-weight:700}
  .kp-to{margin-bottom:16px}
  .kp-to td:first-child,.kp-spec td:first-child{color:#5C6470}
  .kp-spec{margin-bottom:14px}
  .kp-t2 tfoot td{padding-top:10px;border-top:2px solid #191C21;border-bottom:0;font-size:13pt}
  .kp-n{font-size:9.5pt;color:#333;background:#F5F5F2;border-radius:6px;padding:12px 14px;margin-bottom:18px}
  .kp-s{display:flex;justify-content:space-between;gap:20px;font-size:9pt;color:#5C6470;padding-top:12px;border-top:1px solid #E3E3E0}
  @page{margin:16mm}
}

/* ---------- utilities ---------- */
.sect-flush{padding-top:0}
/* после тёмного блока светлой секции нужен свой отступ сверху — фон не общий */
.sect-dark + .sect-flush{padding-top:var(--sp)}
.sect-hero-gap{padding-top:clamp(20px,3vw,48px)}
.svg-defs{position:absolute}
.flex-wrap{display:flex;flex-wrap:wrap}
.items-center{align-items:center}
.justify-center{justify-content:center}
.gap-14{gap:14px}
.mt-4{margin-top:4px}
.mt-12{margin-top:12px}
.mt-14{margin-top:14px}
.mt-28{margin-top:28px}
.mb-14{margin-bottom:14px}
.self-start{align-self:flex-start}
.cap-plain{letter-spacing:0;text-transform:none;font-family:inherit}
.link-accent{position:relative;display:inline-block;font-weight:600;color:var(--ink);border-bottom:2px solid var(--accent)}
.link-accent::before{content:"";position:absolute;inset:-12px -10px}
.ct-i b.email-lg{font-size:var(--fs-sub)}

/* подсказка при нажатии на телефон и мессенджеры в демо-версии */
.demo-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:95;width:max-content;max-width:min(92vw,440px);padding:12px 16px;border-radius:var(--r-btn);background:var(--dark);color:#fff;font-size:var(--fs-cap);line-height:1.45;box-shadow:var(--sh-2);opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .15s var(--ease-in),transform .15s var(--ease-in)}
.demo-toast.on{opacity:1;transform:translate(-50%,0);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}
@media(max-width:960px){.demo-toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.demo-toast{transition:none}}

/* ссылка «к содержанию» для клавиатуры: видна только в фокусе */
.skip{position:fixed;left:12px;top:12px;z-index:100;padding:12px 16px;border-radius:var(--r-btn);background:var(--dark);color:#fff;font-weight:600;transform:translateY(-160%);transition:transform .2s var(--ease-out)}
.skip:focus{transform:none}
main:focus{outline:none}

/* ---------- иконки вместо символов →, ↓, ›, ×: одна толщина линии, цвет текста ---------- */
.ar{display:inline-block;flex:none;width:1.05em;height:1.05em;overflow:hidden;white-space:nowrap;text-indent:2em;vertical-align:-.16em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h15M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h15M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.ar-d{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204v15M6%2013l6%206%206-6%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204v15M6%2013l6%206%206-6%22%2F%3E%3C%2Fsvg%3E")}
.ar-l{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2012H5M11%206l-6%206%206%206%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2012H5M11%206l-6%206%206%206%22%2F%3E%3C%2Fsvg%3E")}
.pk-go,.pk-ar{display:inline-block;width:16px;height:16px;overflow:hidden;white-space:nowrap;text-indent:2em;font-size:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%205l7%207-7%207%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%205l7%207-7%207%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.pk-clear,.bk-x{display:grid;place-items:center;font-size:0}
.pk-clear::before,.bk-x::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%206l12%2012M18%206L6%2018%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%206l12%2012M18%206L6%2018%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}

/* ---------- обязательства: главная отстройка — тёмный блок во всю ширину ---------- */
.sect-dark{background:var(--dark);color:var(--dark-ink)}
.sect-dark h2{color:var(--dark-ink)}
.sect-dark .head .sub{color:var(--dark-ink-2)}
.sect-dark .pr{gap:clamp(22px,3vw,48px)}
.sect-dark .pr-i{background:none;border:0;border-top:1px solid rgba(255,255,255,.16);border-radius:0;padding:clamp(22px,2.4vw,30px) 0 0;gap:10px;transition:none}
.sect-dark .pr-i:hover{transform:none}
.sect-dark .pr-n{color:var(--accent)}
.sect-dark .pr-n small{color:var(--dark-ink-2)}
.sect-dark .pr-i h3{color:var(--dark-ink)}
.sect-dark .pr-i p{color:var(--dark-ink-2)}
.pr-c{margin-top:auto;padding-top:6px;font-size:var(--fs-cap);color:var(--accent);letter-spacing:.02em}
.pr-doc{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:clamp(30px,3.4vw,46px);font-size:var(--fs-cap);color:var(--dark-ink-2)}
.sect-dark :focus-visible{outline-color:var(--accent)}

/* ---------- строки под заголовками, заголовки карточек, контакты ---------- */
.mach-type{margin-top:8px;font-family:Oswald,sans-serif;font-size:var(--fs-cap);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.cat-c-t{font-size:var(--fs-sub);line-height:1.2}
.ct-i .ct-big{display:block;overflow-wrap:anywhere;font-family:Oswald,sans-serif;font-size:var(--fs-sub);font-weight:600;margin-top:5px;color:var(--ink);text-decoration:none}
.ct-i .ct-big.email-lg{font-size:var(--fs-sub)}
.ct-i .ct-big:hover{color:var(--accent-ink)}

/* ---------- формы: ссылка на политику видна, поле с ошибкой отмечено ---------- */
.chk a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.chk a:hover{color:var(--accent-ink)}
/* ссылка на политику — отдельно от галочки: «даю согласие» и «ознакомлен с политикой» не смешиваем */
.chk-pol{margin:-6px 0 0 31px;font-size:var(--fs-cap);color:var(--ink-3);line-height:1.45}
.chk-pol a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}
.chk-pol a:hover{color:var(--accent-ink)}
[aria-invalid="true"]{border-color:#C4392E!important;box-shadow:0 0 0 3px color-mix(in srgb,#C4392E 16%,transparent)}
.chk input[aria-invalid="true"]{outline:2px solid #C4392E;outline-offset:2px;box-shadow:none}

/* ---------- то, что рисует браузер: выделение, курсор, полоса прокрутки, фокус ---------- */
::selection{background:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--ink)}
html{scrollbar-color:color-mix(in srgb,var(--ink) 28%,transparent) var(--bg);accent-color:var(--accent)}
input,textarea,select{caret-color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
.hero :focus-visible,.fab :focus-visible,.sect-dark :focus-visible{outline-color:var(--accent)}

/* ---------- преимущества первого экрана на компьютере: светлая плашка, чтобы текст читался поверх фото ---------- */
@media(min-width:641px){
  .hero .feats{align-self:flex-start;padding:10px 22px 10px 12px;background:rgba(255,252,246,.92);border-radius:var(--r-card);box-shadow:var(--sh)}
}

/* ---------- первый экран на компьютере всегда светлый: фото светлое, текст на нём тёмный.
   В тёмной теме системы иначе заголовок и меню становились белыми на светлом кадре ---------- */
@media (prefers-color-scheme:dark) and (min-width:641px){
  :root:not([data-theme="light"]) .hero,
  :root:not([data-theme="light"]) .home .hdr:not(.stuck):not(.open){--ink:#191C21;--ink-2:#5C6470;--ink-3:#646B76;--surface:#FFFFFF;--surface-2:#F7F7F5;--line:rgba(25,28,33,.11);--line-2:rgba(25,28,33,.2);--accent-ink:#8A5A00;color-scheme:light;color:var(--ink)}
}
@media (min-width:641px){
  :root[data-theme="dark"] .hero,
  :root[data-theme="dark"] .home .hdr:not(.stuck):not(.open){--ink:#191C21;--ink-2:#5C6470;--ink-3:#646B76;--surface:#FFFFFF;--surface-2:#F7F7F5;--line:rgba(25,28,33,.11);--line-2:rgba(25,28,33,.2);--accent-ink:#8A5A00;color-scheme:light;color:var(--ink)}
}

/* сенсорные экраны: нажимаемые зоны не меньше 44 px — в конце файла, чтобы перекрыть базовые размеры */
@media(pointer:coarse){
  .ft-col{gap:0}
  .ft-col a{display:flex;align-items:center;min-height:44px}
  .ft-tel,.mach-back{display:inline-flex;align-items:center;min-height:44px}
  .card-btn{min-height:44px}
  .ft-links a,.crumbs a{display:inline-flex;align-items:center;min-height:44px}
  .calc-chip{min-height:44px}
  .ma-tel,.pick-tel,.bk-tel{display:inline-flex;align-items:center;min-height:44px}
}

/* ---------- отклик и мобильная платформа ---------- */
/* «уменьшение движения»: подсветка при наведении остаётся, сдвига нет */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){
  .tel:hover,.btn-y:hover{background:var(--accent-2)}
  .btn-o:hover{border-color:var(--ink)}
  .card:hover,.case:hover,.nf-i:hover,.also-c:hover,.ct-map:hover,.cat-c:hover{box-shadow:var(--sh-2)}
  .msg:hover{border-color:var(--ink-3)}
}
/* нажатие — мгновенный отклик: кнопка чуть проседает */
.btn,.tel,.card-btn,.msg,.fab-btn,.fab-i,.revs-b,.pk-filter,.pk-clear,.pk-chip,.calc-chip,.calc-b,.cat-c-go,.ct-doc,.bk-x{transition-property:transform,background,border-color,color,box-shadow,opacity}
.btn:active,.tel:active,.card-btn:active,.msg:active,.fab-btn:active,.fab-i:active,.revs-b:active,.pk-filter:active,.pk-clear:active,.pk-chip:active,.calc-chip:active,.calc-b:active,.cat-c-go:active,.ct-doc:active,.bk-x:active{transform:scale(.97);transition-duration:.12s;transition-timing-function:var(--ease-out)}
.revs-b:disabled:active{transform:none}
/* телефон: без серой вспышки при касании, без задержки клика, текст кнопок не выделяется долгим нажатием */
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,summary,label,input,select,textarea,[role="button"]{touch-action:manipulation}
.btn,.tel,.card-btn,.msg,.fab-btn,.fab-i,.revs-b,.pk-filter,.pk-chip,.calc-chip,.calc-b,.cat-c-go,.burger,summary{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}

/* ================= студийный слой: подача секций, лента статусов, глубина, движение =================
   Анимируются только transform и opacity (translate и scale — тоже transform). Всё движение выключено
   при «уменьшении движения», классы pre-* навешивает скрипт — без JS страница читается целиком */

/* ---------- заголовки секций главной: номер, тонкая линия, заголовок слева, пояснение справа ---------- */
.home main{counter-reset:sec}
.home .head{counter-increment:sec;position:relative;text-align:left;max-width:none;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;column-gap:clamp(24px,5vw,80px);padding-top:clamp(14px,1.6vw,20px)}
.home .head::before{content:counter(sec,decimal-leading-zero);grid-column:1/-1;margin-bottom:clamp(14px,1.8vw,24px);font-family:Oswald,sans-serif;font-size:var(--fs-cap);font-weight:600;letter-spacing:.16em;color:var(--accent-ink);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.home .head::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line-2);transform-origin:0 50%;transition:transform .4s var(--ease-in-out)}
.home .head h2{grid-column:1;max-width:20ch}
.home .head .sub{grid-column:2;margin-top:0;max-width:46ch;justify-self:end}
.home .sect-dark .head::before{color:var(--accent)}
.home .sect-dark .head::after{background:rgba(255,255,255,.18)}
@media(max-width:860px){
  .home .head{grid-template-columns:minmax(0,1fr)}
  .home .head .sub{grid-column:1;justify-self:start;margin-top:12px}
}
.home .head.pre-h::after{transform:scaleX(0)}
.home .head.pre-h::before{opacity:0;transform:translateY(8px)}

/* слова заголовка поднимаются из-под маски по очереди; поля у маски — чтобы не срезать «Й» и запятые */
.wd{display:inline-block;overflow:hidden;vertical-align:top;padding-block:.12em;margin-block:-.12em}
.wd>span{display:inline-block;transform-origin:50% 100%;transition:transform .6s var(--ease-out),opacity .4s var(--ease-out)}
.pre-w .wd>span{transform:perspective(600px) translateY(110%) rotateX(-80deg);opacity:0}

/* ---------- бегущая строка статусов парка под первым экраном ---------- */
.tk{height:52px;overflow:hidden;display:flex;align-items:center;background:var(--dark);border-top:1px solid rgba(255,255,255,.08)}
.tk-t{display:flex;flex:none;width:max-content;animation:tk 90s linear infinite}
.tk-i{position:relative;display:inline-flex;align-items:center;gap:10px;padding-inline:24px;font-size:var(--fs-cap);color:var(--dark-ink-2);white-space:nowrap}
.tk-i::after{content:"";position:absolute;right:0;top:50%;width:1px;height:14px;margin-top:-7px;background:rgba(255,255,255,.14)}
.tk-i b{font-family:Oswald,sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.tk-i i{flex:none;width:7px;height:7px;border-radius:50%;background:#28A36B}
.tk-i i.hold{background:var(--accent)}
.tk-i i.busy{background:#8E959F}
@keyframes tk{to{transform:translateX(-50%)}}
@media(hover:hover) and (pointer:fine){.tk:hover .tk-t{animation-play-state:paused}}
@media(prefers-reduced-motion:reduce){.tk-t{animation:none}}

/* ---------- парк: машина заезжает в карточку при первом показе, при наведении — подаётся вперёд ---------- */
.pk-c.rv{transition:opacity .4s var(--ease-out),transform .4s var(--ease-out),translate .2s var(--ease-out),box-shadow .2s ease}
.pk-bg{transition:transform .4s var(--ease-out) .12s,opacity .4s var(--ease-out) .12s,translate .25s var(--ease-out)}
.pk-c.pre .pk-bg{transform:translateX(-32px);opacity:0}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .pk-c{transition:box-shadow .2s ease,translate .2s var(--ease-out)}
  .pk-c:hover{translate:0 -3px}
  .pk-ch:hover .pk-bg{translate:8px 0}
}

/* живой индикатор «Обновлено…»: расходящееся кольцо */
.live i{position:relative}
.live i::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:live 2.2s var(--ease-out) infinite}
@keyframes live{from{transform:scale(1);opacity:.55}to{transform:scale(3.2);opacity:0}}
@media(prefers-reduced-motion:reduce){.live i::after{display:none}}

/* ---------- шкала шагов идёт за прокруткой (класс scrub и --p ставит скрипт): линия заполняется,
   шаг загорается, когда линия до него дошла. Без скрипта шкала показана целиком ---------- */
.tl.scrub::before{transform-origin:0 50%;transform:scaleX(var(--p,1))}
.tl.scrub .tl-dot{transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s var(--ease-out)}
.tl.scrub .tl-i>:not(.tl-dot){transition:opacity .3s var(--ease-out)}
.tl.scrub .tl-i:not(.on) .tl-dot{transform:scale(.55);opacity:.35}
.tl.scrub .tl-i:not(.on)>:not(.tl-dot){opacity:.38}
@media(max-width:900px){
  .tl.scrub .tl-i:not(:last-child)::before{transform-origin:50% 0;transform:scaleY(var(--p,1))}
}

/* ---------- тёмный блок обязательств: чертёжная сетка и свет за курсором ---------- */
.sect-dark{position:relative;isolation:isolate;overflow:hidden}
.sect-dark::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:56px 56px;background-position:center top;
  -webkit-mask-image:radial-gradient(ellipse 75% 85% at 50% 35%,#000 20%,transparent 100%);mask-image:radial-gradient(ellipse 75% 85% at 50% 35%,#000 20%,transparent 100%)}
.spot{--spot:680px;position:absolute;left:0;top:0;width:var(--spot);height:var(--spot);margin:calc(var(--spot)/-2) 0 0 calc(var(--spot)/-2);z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(255,184,28,.13),rgba(255,184,28,.04) 55%,rgba(255,184,28,0));opacity:0;transition:opacity .4s var(--ease-out)}
.spot-on .spot{opacity:1}
@media(max-width:640px){.spot{--spot:460px}}

/* ---------- глубина при прокрутке (класс plx ставит скрипт на компьютере) ---------- */
.plx .hero-scene img{transform-origin:100% 100%;will-change:translate,scale}
/* широкий монитор: картинка шире контента сайта — ставим её по центру, чтобы кран справа не обрезался сверху */
@media(min-width:1440px){
  .hero-scene img{object-position:50% 30%}
  .plx .hero-scene img{transform-origin:50% 30%}
}
.plx .case-img{top:-8%;height:116%}

/* ---------- кнопки: стрелка подаётся по направлению действия ---------- */
.btn .ar,.card-btn .ar{transition:transform .2s var(--ease-out)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .btn:hover .ar{transform:translateX(3px)}
  .btn:hover .ar-d,.card-btn:hover .ar-d{transform:translateY(2px)}
}

/* ---------- ответы в вопросах и полный прайс раскрываются мягко, а не щелчком ---------- */
@media(prefers-reduced-motion:no-preference){
  .fq2[open]>p,.rt-all[open]>.rt-full{animation:unfold .25s var(--ease-out)}
}
@keyframes unfold{from{opacity:0;transform:translateY(-6px)}}


/* ================= сложные анимации (assets/app.js → initMotion) ================= */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* одометр: цифра — барабан 0–9 дважды, видна одна ячейка. Ширину и высоту держит скрытая цифра на своём месте */
.od{position:relative;display:inline-block;font-variant-numeric:tabular-nums}
.od-w{visibility:hidden}
.od-m{position:absolute;inset:0;overflow:hidden}
.od-s{position:absolute;left:0;top:0;width:100%;height:100%}
.od-s>i{display:block;height:100%;font-style:normal;text-align:center}

/* объекты: две шторки уезжают вправо, фото оседает из приближения, текст поднимается */
.cur{position:absolute;inset:0;z-index:3;pointer-events:none;transform-origin:100% 50%;transition:transform .8s var(--ease-in-out)}
.cur-y{background:var(--accent);transition-delay:.16s}
.cur-d{background:var(--dark)}
.case:not(.cur-pre) .cur{transform:scaleX(0)}
.case-img{transition:scale .25s var(--ease-out),transform 1.3s var(--ease-out)}
.cur-pre .case-img{transform:scale(1.22)}
.case-b{transition:opacity .5s var(--ease-out) .5s,transform .7s var(--ease-out) .5s}
.cur-pre .case-b{opacity:0;transform:translateY(26px)}


/* тёмный блок: фон — отдельный слой, разворачивается из карточки на всю ширину по мере прокрутки */
.sd-js{background:transparent}
.sd-bg{position:absolute;inset:0;z-index:-3;background:var(--dark);border-radius:var(--r-card);transform:scale(.9,.95);pointer-events:none}

/* бегущая строка: движение ведёт скрипт — CSS-анимация выключена */
.tk-js .tk-t{animation:none;will-change:transform}

/* ---------- уведомление о cookie: поверх страницы, вёрстку не сдвигает ---------- */
.ck-bar{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;max-width:min(460px,calc(100% - 32px));display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-2);
  transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}
@starting-style{.ck-bar{opacity:0;transform:translateY(12px)}}
.ck-bar.ck-off{opacity:0;transform:translateY(12px);transition-timing-function:var(--ease-in);transition-duration:.15s;pointer-events:none}
.ck-bar p{margin:0;font-size:var(--fs-cap);line-height:1.45;color:var(--ink-2)}
.ck-bar a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.ck-bar .btn{flex:none;height:40px;padding:0 16px;font-size:var(--fs-cap)}
/* телефон: над кнопкой связи не встаём — оставляем ей правый угол */
@media(max-width:960px){.ck-bar{left:12px;right:84px;max-width:none;gap:10px;padding:10px 12px}.ck-bar .btn{height:36px;padding:0 12px}}

@media(prefers-reduced-motion:reduce){.ck-bar,.ck-bar.ck-off{transition:none}}
