/* GEN-STAB — стили страниц услуг. Часть 1 — CSS главной (index.php, блок <style>) без изменений,
   чтобы оформление совпадало; часть 2 — правила страниц услуг. Подключать с ?v=… (nginx кэширует статику на год). */
@font-face{font-family:'Open Sans';font-weight:400;font-display:swap;src:url('/fonts/opensans-latin-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Open Sans';font-weight:400;font-display:swap;src:url('/fonts/opensans-cyrillic-400.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Open Sans';font-weight:600;font-display:swap;src:url('/fonts/opensans-latin-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Open Sans';font-weight:600;font-display:swap;src:url('/fonts/opensans-cyrillic-600.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Open Sans';font-weight:700;font-display:swap;src:url('/fonts/opensans-latin-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Open Sans';font-weight:700;font-display:swap;src:url('/fonts/opensans-cyrillic-700.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{
  --bg:#ffffff; --soft:#f2f6fb; --navy:#041120;
  --ink:#0e161e; --ink2:#33425c; --muted:#5a6370; --line:#e0e4e8;
  --acc:#176cc9; --acc-deep:#005fba; --acc-br:#4da2ff; --acc-soft:#eaf2fc;
  --ok:#1a9d54; --warn:#d0342c;
  --r:14px; --r-btn:9px; --r-pill:999px; --maxw:1160px;
  --font:'Open Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{line-height:1.13;letter-spacing:-.02em;font-weight:700}
/* Единый контейнер — герой и секции на ОДНОЙ сетке (без обнуления отступов у героя) */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,2vw,20px)}
.sec{padding:clamp(38px,5vw,64px) 0;background:var(--bg);margin-top:-1px}
.sec--soft{background:var(--soft)}
.h2{font-size:clamp(26px,3.4vw,40px)}
.lead{font-size:clamp(15px,1.4vw,17px);color:var(--muted);max-width:64ch}
.sec__head{max-width:720px;margin-bottom:clamp(20px,3vw,32px)}
.sec__head .h2{margin:12px 0 0}.sec__head p{margin-top:10px}

.stage{display:inline-flex;align-items:center;gap:10px}
.stage__n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--acc);color:#fff;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;flex:none}
.stage__name{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--acc)}
.hero .stage__name{color:#a9cdf5}

/* Кнопки: флэт — только обводка/цвет */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent;padding:13px 24px;border-radius:var(--r-btn);transition:background .18s,border-color .18s,color .18s}
.btn--primary{background:var(--acc);color:#fff;border-color:var(--acc)}
.btn--primary:hover{background:var(--acc-deep);border-color:var(--acc-deep)}
.btn--ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--acc);color:var(--acc)}
.btn--lg{padding:15px 30px;font-size:16px}

/* Полноэкранный герой: высота фиксируется JS при загрузке (в px), поэтому не скачет при скролле (адресная строка мобилы) */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;contain:paint;min-height:100vh;display:flex;align-items:center}
.hero>.wrap{width:100%}
.hero__net{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg);z-index:0;pointer-events:none}
/* Подсветка у фото (радиальный градиент) + серое зерно-дизеринг ПОВЕРХ неё — свечение есть, а ступенек-бандинга нет */
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 340px at calc(50% + min(50%, 580px) - 20px) 23%,rgba(77,162,255,.22),rgba(4,17,32,0))}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}.hero__in{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,52px);align-items:center;padding-top:clamp(30px,4.5vw,56px);padding-bottom:clamp(30px,4.5vw,56px)}
.hero h1{font-size:clamp(30px,4.8vw,54px);margin:14px 0 14px;letter-spacing:-.025em}
.hero__sub{font-size:clamp(15px,1.4vw,18px);color:rgba(255,255,255,.82);max-width:52ch}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
/* Кнопка телефона на всю ширину строки подписей: обёртка по ширине подписей, кнопка на 100% */
.hero__actions{width:fit-content;max-width:100%}
.hero__cta .btn{width:100%}
.hero__mini{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px}
.hero__mini .m{display:flex;align-items:center;gap:8px;font-size:13.5px;color:rgba(255,255,255,.8)}
.hero__mini svg{width:18px;height:18px;color:var(--acc-br);flex:none}
.hero__art{position:relative;border-radius:var(--r);aspect-ratio:1/1;--gx:50%;--gy:50%;--fx:50%;--fy:50%;--gon:0;--flash-r:224px;--flash-blur:16px;--rim-w:4px;--glow-border:200px;--dither:.35;touch-action:none}
.hero__art>*{transition:opacity .25s ease}
.hero__art img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:var(--r);border:1px solid rgba(255,255,255,.14)}
.art__flash{position:absolute;inset:calc(-1*var(--flash-r));z-index:2;pointer-events:none;opacity:var(--gon);mix-blend-mode:screen;filter:blur(var(--flash-blur));background:radial-gradient(circle var(--flash-r) at calc(var(--fx) + var(--flash-r)) calc(var(--fy) + var(--flash-r)),rgba(77,162,255,.15) 0%,rgba(77,162,255,.1489) 5%,rgba(77,162,255,.1458) 10%,rgba(77,162,255,.1407) 15%,rgba(77,162,255,.1339) 20%,rgba(77,162,255,.1256) 25%,rgba(77,162,255,.1162) 30%,rgba(77,162,255,.106) 35%,rgba(77,162,255,.0953) 40%,rgba(77,162,255,.0845) 45%,rgba(77,162,255,.0738) 50%,rgba(77,162,255,.0636) 55%,rgba(77,162,255,.0541) 60%,rgba(77,162,255,.0453) 65%,rgba(77,162,255,.0374) 70%,rgba(77,162,255,.0305) 75%,rgba(77,162,255,.0244) 80%,rgba(77,162,255,.0194) 85%,rgba(77,162,255,.0151) 90%,rgba(77,162,255,.0116) 95%,rgba(77,162,255,0) 100%)}
.art__dither{position:absolute;inset:calc(-1*var(--flash-r));z-index:3;pointer-events:none;opacity:calc(var(--gon) * var(--dither));background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27160%27%20height%3D%27160%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.9%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27/%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27/%3E%3C/filter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23n%29%27/%3E%3C/svg%3E");background-size:160px 160px;background-repeat:repeat;mix-blend-mode:overlay;-webkit-mask:radial-gradient(circle var(--flash-r) at calc(var(--fx) + var(--flash-r)) calc(var(--fy) + var(--flash-r)),#000 0%,#000 55%,transparent 92%);mask:radial-gradient(circle var(--flash-r) at calc(var(--fx) + var(--flash-r)) calc(var(--fy) + var(--flash-r)),#000 0%,#000 55%,transparent 92%)}
.art__rim{position:absolute;inset:0;z-index:4;border-radius:var(--r);pointer-events:none;opacity:var(--gon);padding:var(--rim-w);background:radial-gradient(var(--glow-border) var(--glow-border) at var(--gx) var(--gy),#a9d0ff 0%,#4da2ff 32%,rgba(77,162,255,.4) 56%,rgba(77,162,255,.1) 72%,transparent 82%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 5px rgba(77,162,255,.6)) drop-shadow(0 0 11px rgba(77,162,255,.3))}
.art__flash,.art__dither{display:none} /* фонарик ВРЕМЕННО выключен (убрать эту строку, чтобы вернуть); бордюр .art__rim работает */

/* 02 — Выяснение потребностей: запросы услуг (что ищут) */
/* На всю ширину контента — одна колонка; gap между блоками чуть больше, чем запрос↔ответ внутри */
.queries{display:grid;grid-template-columns:1fr;gap:14px}
/* Каждый запрос: заголовок — «поисковая строка» (серые лупа/обводка, светло-серая заливка), ответ — ниже, вне строки. Ховера нет */
.query{display:flex;flex-direction:column;gap:7px;color:var(--ink)}
.query__bar{display:flex;align-items:center;gap:11px;background:#f3f4f6;border:1px solid var(--line);border-radius:12px;padding:8px 16px}
.query__ic{flex:none;width:22px;height:22px;color:var(--muted);display:flex;align-items:center;justify-content:center}
.query__ic svg{width:22px;height:22px}
.query b{font-size:15px;font-weight:700}
.query__ans{display:block;font-size:15px;color:var(--muted);padding-left:2px}

/* Услуги */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:border-color .2s;display:flex;flex-direction:column}
/* Ховер карточек-«пузырей» — сам бордер становится пунктирным (1px, без outline поверх) */
.card:hover{border-style:dashed;border-color:var(--acc)}
.card__ic{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--acc-soft);color:var(--acc);margin-bottom:14px}
.card__ic svg{width:23px;height:23px}
.card h3{font-size:19px;margin-bottom:7px}.card p{color:var(--muted);font-size:14px;flex:1}
.card__link{margin-top:14px;font-size:14px;font-weight:600;color:var(--acc);display:inline-flex;align-items:center;gap:6px}
.card__link svg{width:15px;height:15px}
.card--lead{grid-column:1/-1;flex-direction:row;padding:0;overflow:hidden}
.card--lead__body{padding:clamp(22px,3.2vw,34px);display:flex;flex-direction:column;justify-content:center;flex:1.05}
.card--lead__media{flex:.95;min-height:210px;background-size:cover;background-position:center}
.card--lead h3{font-size:clamp(21px,2.4vw,26px)}.card--lead p{flex:none;max-width:54ch;font-size:15px}

/* Галерея объектов — высота плиток в ритм с услугами */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(155px,19vw,205px);gap:14px;margin-top:14px}
.gallery figure{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);margin:0;cursor:pointer;transition:border-color .2s}
.gallery figure:hover{border-style:dashed;border-color:var(--acc)}
.gallery figure:first-child{grid-column:span 2}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 11px;color:#fff;font-size:13.5px;font-weight:600;background:linear-gradient(rgba(4,17,32,0),rgba(4,17,32,.82))}
.gallery figcaption span{display:block;font-size:11.5px;font-weight:400;color:rgba(255,255,255,.75)}

/* Лайтбокс объектов: клик по фото → полноэкранный просмотр с листанием */
.lb{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;background:rgba(4,17,32,.93)}
.lb.lb--open{display:flex}
/* Рамка-«сцена»: размер задаёт JS по САМОЙ КРУПНОЙ фотке галереи → кнопки стоят на месте при листании любых размеров */
.lb__frame{position:relative;display:flex;align-items:center;justify-content:center;line-height:0;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px)}
.lb__img{display:block;max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.55);user-select:none}
.lb__btn{position:absolute;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .18s;line-height:1}
.lb__btn:hover{background:rgba(255,255,255,.26)}
.lb__btn:focus-visible{outline:3px solid var(--acc-br);outline-offset:2px}
.lb__close{top:33px;right:12px;width:42px;height:42px;font-size:23px}
.lb__count{position:absolute;top:40px;left:16px;z-index:1;color:#fff;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;background:rgba(4,17,32,.42);padding:8px 12px;border-radius:12px}
.lb__nav{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:28px;padding-bottom:3px}
.lb__prev{left:12px}.lb__next{right:12px}
/* Подпись — по центру ЭКРАНА, крупнее (+30%) */
.lb__cap{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;line-height:0;pointer-events:none}
.lb__cap>span{display:inline-block;line-height:1.35;background:rgba(4,17,32,.42);padding:9px 19px;border-radius:14px;color:#fff;font-size:18px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.lb__cap>span>span{display:block;font-weight:400;font-size:16px;color:rgba(255,255,255,.82)}
@media(max-width:560px){.lb__nav{width:42px;height:42px;font-size:24px}.lb__cap>span{font-size:17px}.lb__cap>span>span{font-size:15px}}

.stats{background:var(--navy);color:#fff;border-radius:var(--r);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;position:relative;margin-top:14px}
.stats::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 12% 0,rgba(77,162,255,.16),rgba(4,17,32,0) 60%);pointer-events:none}
.stats .s{position:relative;padding:clamp(20px,2.6vw,30px) 24px;border-right:1px solid rgba(255,255,255,.12)}.stats .s:last-child{border-right:0}
.stats .s b{display:block;font-size:clamp(30px,4vw,46px);font-weight:700;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.stats .s span{color:rgba(255,255,255,.72);font-size:13.5px}

/* 04 — FAQ + доверие единым списком (во всю ширину, полосы) */
.qa{border-top:1px solid var(--line)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;padding:17px 44px 17px 0;position:relative;font-size:16.5px;font-weight:600}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:25px;font-weight:400;color:var(--acc)}
.qa details[open] summary::after{content:"\2212"}
.qa__a{padding:0 0 18px;color:var(--muted);font-size:14.5px;max-width:72ch}
/* высота строки зафиксирована — крупные лого центрируются и НЕ растягивают её */
.qa__trust{display:flex;align-items:center;gap:clamp(16px,3vw,40px);flex-wrap:nowrap;height:60px;border-bottom:1px solid var(--line)}
.qa__trust .lbl{font-size:14px;color:var(--ink2);font-weight:600}
/* лого тянутся равномерно по всей строке (от края до края), а не жмутся влево */
.qa__trust .logos{display:flex;align-items:center;gap:clamp(8px,1.4vw,20px);flex-wrap:wrap;flex:1;justify-content:space-between}
.qa__trust img{height:26px;width:auto;opacity:.6;filter:grayscale(1);transition:.2s}.qa__trust img:hover{opacity:1;filter:grayscale(0)}
/* индивидуальные размеры лого — по классам (не зависит от порядка) */
.qa__trust .logos img.l-lg{height:42px}
.qa__trust .logos img.l-bl{height:45px} /* Билайн: +50%, затем ещё +15% (26→39→45px) */
.qa__trust .logos img.l-xl{height:84px}
/* у Фармкомплекта марка в файле смещена вниз на ~7% — поднимаем к центру строки (transform не двигает вёрстку) */
.qa__trust .logos img.l-nudge{transform:translateY(-7%)}

.offer{background:var(--acc-soft);border:1px solid #cfe2f7;border-radius:var(--r);padding:clamp(22px,3vw,38px);display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:stretch;margin-top:26px}
.offer h2{font-size:clamp(21px,2.6vw,30px)}.offer p{color:var(--ink2);margin-top:10px;font-size:15.5px}
/* кнопка — по центру пузыря по вертикали; гарантия — подписью снизу */
.offer__side{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:96px}.offer__side .btn{width:100%}
.offer__guar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:11px;font-size:14px;color:var(--ink2)}.offer__guar svg{width:22px;height:22px;color:var(--ok);flex:none}

/* 05 — закрытие: слева текст+контакты, справа квадратная форма (как герой) */
.close{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,48px);align-items:center}
.contact__info{margin-top:18px}
.contact__info p{margin-bottom:9px;color:var(--ink2);font-size:15.5px}.contact__info a{color:var(--acc);font-weight:600}
.contact__msg{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 16px}
.contact__msg a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding:8px 14px;border:1px solid var(--line);border-radius:var(--r-pill);color:var(--ink2);transition:.2s}.contact__msg a:hover{border-color:var(--acc);color:var(--acc)}
.contact__hours{font-size:14px;color:var(--muted)}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.8vw,30px);display:flex;flex-direction:column}
.form label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin:0 0 6px}
.form input,.form textarea,.form select{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:var(--r-btn);padding:11px 14px;margin-bottom:12px;outline:none;transition:border-color .18s,background .18s}
.form input:focus,.form textarea:focus{border-color:var(--acc);background:#fff}
.form textarea{resize:vertical;min-height:70px}.form .btn{width:100%;margin-top:2px}
.form select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:40px;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6370' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E") no-repeat right 14px center/16px}
.form select:focus{border-color:var(--acc);background-color:#fff}.form select:has(option[value=""]:checked){color:var(--muted)}.form select option{color:var(--ink)}
.form select.is-err{border-color:var(--warn)}.form__err{font-size:13px;color:var(--warn);margin:-6px 0 12px}
.form__note{font-size:12px;color:var(--muted);margin-top:9px;text-align:center}.form__note a{color:var(--acc)}
.form .form__consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;color:var(--ink2);margin:2px 0 14px;cursor:pointer;line-height:1.45}
.form .form__consent input{flex:none;width:18px;height:18px;margin:0;padding:0;accent-color:var(--acc);cursor:pointer}.form .form__consent a{color:var(--acc)}
.form .form__consent.is-err{color:var(--warn)}.form .form__consent + .form__err{margin:-8px 0 12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.foot{background:var(--navy);color:rgba(255,255,255,.72);padding:40px 0 28px;margin-top:-1px}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:28px}
.foot__brand img{height:58px;width:auto;margin-bottom:18px}
.foot__brand p{font-size:13.5px;color:rgba(255,255,255,.5);max-width:34ch}
.foot h5{color:#fff;font-size:14px;margin-bottom:12px}
.foot a{display:block;font-size:14px;color:rgba(255,255,255,.72);padding:4px 0;transition:.2s}.foot a:hover{color:#fff}
.foot__legal{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:13px;color:rgba(255,255,255,.45);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

.up{position:fixed;right:22px;bottom:22px;z-index:40;width:44px;height:44px;border-radius:50%;border:1px solid var(--acc-deep);cursor:pointer;background:var(--acc);color:#fff;display:none;align-items:center;justify-content:center}.up.show{display:flex}
.up:hover{background:var(--acc-deep)}
/* Фокус — сплошная обводка (универсально: все фокусируемые элементы, включая ссылки в услугах/галерее) */
:focus-visible{outline:3px solid var(--acc);outline-offset:4px;border-radius:6px}

@media(max-width:900px){
  .hero__in,.svc,.stats,.offer,.close,.queries{grid-template-columns:1fr}
  .hero__art{aspect-ratio:4/3;max-width:560px}
  .stats .s{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.stats .s:last-child{border-bottom:0}
  .card--lead{flex-direction:column}.foot__grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .form{aspect-ratio:auto}
  .offer__side{min-height:auto}.offer__guar{position:static;margin-top:14px}
  /* мобилка: лого в аккуратную сетку 3×3, выровнены и капнуты по высоте */
  .qa__trust{height:auto;padding:14px 0;flex-wrap:wrap}
  .qa__trust .lbl{width:100%;margin-bottom:12px}
  .qa__trust .logos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 12px;place-items:center;width:100%}
  .qa__trust .logos img,.qa__trust .logos img.l-lg,.qa__trust .logos img.l-bl,.qa__trust .logos img.l-xl{height:auto;max-height:30px;max-width:100%;width:auto}
  .qa__trust .logos img.l-nudge{transform:none}
}
@media(max-width:560px){.foot__grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery figure:first-child{grid-column:auto}.queries{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* ===== Часть 2: страницы услуг ===== */
:root{--fpad:clamp(16px,2vw,20px)}
.home-fab{position:fixed;top:clamp(16px,2.2vw,26px);left:max(var(--fpad),calc(50% - 580px + var(--fpad)));z-index:50;width:52px;height:52px;border-radius:50%;background:var(--acc);border:1px solid var(--acc-deep);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .18s}
.home-fab:hover{background:var(--acc-deep)}
.home-fab svg{width:24px;height:24px}
.hero.sp-hero{min-height:0;padding:clamp(96px,11vw,128px) 0 clamp(44px,6vw,72px)}
.sp-hero h1{max-width:22ch}
.sp-hero .hero__sub{max-width:62ch}
.crumbs{font-size:13px;color:rgba(255,255,255,.6);margin-bottom:14px}
.crumbs a{color:rgba(255,255,255,.85)}.crumbs a:hover{color:#fff}
.crumbs span{margin:0 8px;opacity:.6}
.works{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.works .card h3{font-size:18px;margin-bottom:12px}
.works ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.works li{position:relative;padding-left:26px;font-size:14.5px;color:var(--ink2);line-height:1.45}
.works li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--acc-soft,#eaf2fc);box-shadow:inset 0 0 0 1.5px var(--acc)}
.works li::after{content:"";position:absolute;left:5px;top:7px;width:6px;height:4px;border-left:1.6px solid var(--acc);border-bottom:1.6px solid var(--acc);transform:rotate(-45deg)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;counter-reset:st}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;counter-increment:st}
.step::before{content:counter(st,decimal-leading-zero);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;margin-bottom:12px}
.step h3{font-size:16.5px;margin-bottom:6px}.step p{font-size:14px;color:var(--muted)}
.adv{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.adv .card h3{font-size:17px}
.others{display:flex;flex-wrap:wrap;gap:10px}
.others a{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid var(--line);border-radius:var(--r-btn);background:#fff;color:var(--ink);font-weight:600;font-size:14.5px;transition:border-color .15s,color .15s}
.others a:hover{border-color:var(--acc);color:var(--acc)}
.sp-hero .hero__actions{width:auto}.sp-hero .hero__cta .btn{width:auto}
.sp-hero .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}.sp-hero .btn--ghost:hover{border-color:#fff;color:#fff}
