/* Найдем. — статическая сборка. Не редактируйте вручную: пересобирается из исходника. */
[hidden]{display:none !important}
.hv1:hover{color:#c82a42 !important}
.hv2:hover{background:#c82a42 !important}
.hv3:hover{border-color:#c82a42 !important;color:#c82a42 !important}
.hv4:hover{border-color:#141414 !important}
.hv5:hover{background:#141414 !important;border-color:#141414 !important;color:#ffffff !important}
.hv6:hover{background:#c82a42 !important;color:#ffffff !important}
.hv7:hover{border-color:#ffffff !important}
.hv8:hover{border-color:#fff !important}
.hv9:hover{border-color:#c82a42 !important;color:#ffffff !important}
main [data-faq-panel],main [data-case-panel]{animation:ndFade .28s ease both}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#ffffff;color:#141414;font-family:Manrope,system-ui,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:#c82a42;text-underline-offset:3px}
a:hover{color:#9c1f33}
:focus{outline:none}
:focus-visible{outline:1px solid #c82a42;outline-offset:3px}
::selection{background:rgba(200,42,66,.15)}
html{scroll-behavior:smooth}
@keyframes ndFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ndPanel{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

header{transition:box-shadow .25s ease,padding .25s ease}
header a,header button,main a,main button{transition:color .18s ease,background-color .22s ease,border-color .22s ease,opacity .18s ease}
main a[style*="background-color: rgb(245, 245, 245)"],main a[style*="background: rgb(245, 245, 245)"],main a[style*="border: 1px solid rgb(228, 228, 228)"]{transition:background-color .22s ease,border-color .22s ease,transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease}
main a[style*="background-color: rgb(245, 245, 245)"]:hover,main a[style*="background: rgb(245, 245, 245)"]:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(20,20,20,.10)}
main a[style*="border: 1px solid rgb(228, 228, 228)"]:hover{transform:translateY(-4px);border-color:#141414 !important;box-shadow:0 16px 38px rgba(20,20,20,.10)}

/* Смежные услуги — строки с линейкой и стрелкой */
main a[style*="border-top: 1px solid rgb(20, 20, 20)"]{position:relative;transition:border-color .2s ease,color .2s ease}
main a[style*="border-top: 1px solid rgb(20, 20, 20)"]::after{content:"→";position:absolute;top:20px;right:0;font-size:15px;color:#c82a42;opacity:0;transform:translateX(-6px);transition:opacity .22s ease,transform .22s ease}
main a[style*="border-top: 1px solid rgb(20, 20, 20)"]:hover{border-top-color:#c82a42 !important;color:#c82a42}
main a[style*="border-top: 1px solid rgb(20, 20, 20)"]:hover::after{opacity:1;transform:translateX(0)}

main p[style*="max-width: 760px"]{animation:ndFade .3s ease both}
main a[style*="border-radius: 999px"]{transition:color .18s ease,background-color .22s ease,border-color .22s ease,transform .22s ease}
main a[style*="border-radius: 999px"]:hover{transform:translateY(-1px)}
header [data-svcpanel][data-open="true"]{animation:ndPanel .22s ease both}
@keyframes ndSheet{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes ndFade{from{opacity:0}to{opacity:1}}
body[data-lock="true"]{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  main [data-reveal]{opacity:1 !important;transform:none !important}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

header [data-svcpanel]{display:none}
header [data-svcpanel][data-open="true"]{display:grid}
footer a{transition:color .18s ease,border-color .18s ease}
footer a:hover{color:#ffffff !important}
footer > div:last-child a:hover{color:#e63a54 !important}
input,select,textarea,button{font-family:Manrope,system-ui,sans-serif}
html,body{overflow-x:hidden;-webkit-text-size-adjust:100%}
main img,main svg,footer img{max-width:100%}

/* Сетка 1440: контент ограничен 1312px и центрируется, поля текучие */
:root{--pad:clamp(20px,4vw,64px);--edge:max(var(--pad),(100% - 1312px)/2)}

header,footer{padding-left:var(--edge) !important;padding-right:var(--edge) !important}
main > section,main > div{padding-left:var(--edge) !important;padding-right:var(--edge) !important}

/* Единый вертикальный ритм блоков */
main > section,main > div{padding-top:clamp(64px,7.6vw,120px) !important;padding-bottom:clamp(64px,7.6vw,120px) !important}
main > section:first-child{padding-top:clamp(64px,7.2vw,112px) !important;padding-bottom:clamp(56px,6.4vw,100px) !important}
main > section:first-child[style*="min-height"]{padding-top:clamp(40px,3.6vw,56px) !important;padding-bottom:clamp(48px,4.8vw,72px) !important}
main > section:only-child[style*="min-height"]{padding-top:clamp(56px,6vw,96px) !important;padding-bottom:clamp(56px,6vw,96px) !important}

/* Текучая типографика — по фактическому размеру шрифта */
main [style*="font-size: 130px"]{font-size:clamp(76px,10vw,130px) !important}
main [style*="font-size: 66px"]{font-size:clamp(40px,4.6vw,66px) !important}
main [style*="font-size: 62px"]{font-size:clamp(40px,4.4vw,62px) !important}
main [style*="font-size: 58px"]{font-size:clamp(38px,4.2vw,58px) !important}
main [style*="font-size: 54px"]{font-size:clamp(34px,4vw,54px) !important}
main [style*="font-size: 52px"]{font-size:clamp(34px,3.9vw,52px) !important}
main [style*="font-size: 48px"]{font-size:clamp(32px,3.7vw,48px) !important}
main [style*="font-size: 46px"]{font-size:clamp(30px,3.3vw,46px) !important}
main [style*="font-size: 44px"]{font-size:clamp(28px,3.2vw,44px) !important}
main [style*="font-size: 40px"]{font-size:clamp(26px,3vw,40px) !important}
main [style*="font-size: 38px"]{font-size:clamp(25px,2.9vw,38px) !important}
main [style*="font-size: 36px"]{font-size:clamp(24px,2.8vw,36px) !important}
main [style*="font-size: 34px"]{font-size:clamp(22px,2.4vw,34px) !important}
main [style*="font-size: 32px"]{font-size:clamp(21px,2.3vw,32px) !important}
main [style*="font-size: 30px"]{font-size:clamp(20px,2.2vw,30px) !important}
main [style*="font-size: 27px"],main [style*="font-size: 26px"]{font-size:clamp(19px,2vw,26px) !important}
main [style*="font-size: 24px"]{font-size:clamp(18px,1.7vw,24px) !important}

@media (max-width:1320px){
  header [data-right] > a:first-child{display:none}
}

@media (max-width:1180px){
  header{gap:16px !important}
  header nav{gap:22px !important;font-size:14px !important;flex-wrap:nowrap !important;min-width:0}
  header nav a{white-space:nowrap}
  header [data-right] a:last-child{padding:12px 18px !important;font-size:12px !important}
}

@media (max-width:1010px){
  main [style*="grid-template-columns: 300px"]{grid-template-columns:260px 1fr !important;gap:36px !important}
  main [style*="grid-template-columns: 1fr 380px"],main [style*="grid-template-columns: 1fr 400px"],main [style*="grid-template-columns: 1fr 300px"]{gap:36px !important}

  header{display:flex !important;flex-wrap:wrap;justify-content:space-between;padding-top:14px !important;padding-bottom:14px !important;gap:12px !important}
  header [data-burger]{display:inline-flex !important;order:2}
  header [data-right]{display:none !important}
  header nav{position:fixed;left:0;right:0;top:var(--hdr,68px);bottom:0;z-index:60;height:calc(100vh - var(--hdr,68px));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex-wrap:nowrap;gap:0 !important;font-size:15px !important;margin:0;padding:4px var(--edge) 28px;border-top:1px solid #ececec;background:#fff;box-shadow:0 24px 48px rgba(20,20,20,.14)}
  header nav[data-open="false"]{display:none !important}
  header nav[data-open="true"]{animation:ndSheet .2s ease both}
  header nav{align-items:stretch !important;justify-content:flex-start !important;text-align:left}
  header nav > a{padding:14px 0;border-bottom:1px solid #f2f2f2}
  header nav a[data-mcta]{display:flex !important;border-bottom:0}
  header nav [data-svc]{display:block;width:100%;padding-bottom:12px;border-bottom:1px solid #f2f2f2}
  header nav [data-svcbtn]{display:none !important}
  header nav [data-svcpanel]{display:grid !important;position:static !important;min-width:0 !important;grid-template-columns:1fr !important;gap:14px !important;border:0 !important;box-shadow:none !important;padding:10px 0 2px !important;left:auto !important}
  header nav [data-svcpanel] a{font-size:15px !important}
  header nav [data-svcpanel] > div{gap:9px !important}
  header[data-menu="true"]::after{content:"";position:fixed;left:0;right:0;top:var(--hdr,68px);bottom:0;background:rgba(20,20,20,.5);z-index:55;animation:ndFade .2s ease both}

  main > section:first-child{min-height:0 !important}
  main [style*="grid-template-columns"]{grid-template-columns:1fr !important;gap:28px !important}
  main [style*="grid-auto-rows"]{grid-auto-rows:auto !important}
  main [style*="grid-column: span 2"],main [style*="grid-column-start: span"],main [style*="grid-row-start: span"]{grid-column:auto !important;grid-row:auto !important}
  main [style*="border-right: 1px solid"],main [style*="border-right: 2px solid"]{border-right:0 !important}
  main [style*="text-align: right"]{text-align:left !important}
  main [style*="max-width:"]{max-width:100% !important}
  main aside{position:static !important}
  main [style*="position: sticky"]{position:static !important}

  main h1{line-height:1.06 !important;letter-spacing:-.03em !important}
  main h2{line-height:1.18 !important}
  main h3{line-height:1.25 !important}

  main div[style*="repeating-linear-gradient"]{height:220px !important}
  main [style*="border-radius: 50%"][style*="width: 150px"]{justify-self:start !important;width:130px !important;height:130px !important}
  main form button[type="submit"]{width:100%}

  /* Счётчики и «Разово/постоянно» — парами, а не столбиком */
  main [style*="text-align: center"][style*="grid-template-columns: repeat(4"],
  main [style*="text-align: center"][style*="grid-template-columns: repeat(3"]{grid-template-columns:1fr 1fr !important;gap:24px 20px !important;text-align:left !important}

  /* Прайс-строки: заголовок, описание, цена в одну колонку с воздухом */
  main [style*="border-bottom: 1px solid rgb(236, 236, 236)"][style*="align-items: baseline"]{gap:8px !important;padding-top:18px !important;padding-bottom:18px !important}

  /* Оглавления политики и статей — после текста, без залипания */
  main aside[style*="top: 110px"]{margin-top:12px}
  /* Внутристраничное оглавление на мобильном не нужно — прячем, услуги оставляем */
  main aside[style*="top: 110px"] > div:first-child,
  main aside[style*="top: 110px"] > div:nth-child(2){display:none !important}
  main aside[style*="top: 110px"] > div:nth-child(3){margin-top:0 !important}

  footer{padding-top:48px !important;padding-bottom:20px !important}
  footer > div{grid-template-columns:1fr !important;gap:32px !important}
  footer > div:last-child{flex-direction:column;align-items:flex-start !important;gap:14px}
  footer [style*="font-size: 26px"]{font-size:22px !important}
}

@media (max-width:640px){
  header img{height:30px !important}
  header nav{font-size:17px !important;padding:18px var(--edge) 36px !important}
  header nav > a{padding:20px 0}
  header nav [data-svc]{padding-bottom:24px !important}
  header nav [data-svcpanel]{gap:26px !important;padding:16px 0 6px !important}
  header nav [data-svcpanel] > div{gap:16px !important}
  header nav [data-svcpanel] a{font-size:17px !important}
  header nav [data-svcpanel] span{font-size:12px !important;letter-spacing:.16em !important}
  header nav a[data-mcta]{font-size:16px !important;padding:19px 0 !important;margin-top:26px !important}

  main > section,main > div{padding-top:44px !important;padding-bottom:44px !important}
  main > section:first-child{padding-top:36px !important;padding-bottom:36px !important}

  /* Всё в одну колонку, включая парные блоки */
  main [style*="grid-template-columns"]{grid-template-columns:1fr !important;gap:22px !important}
  main [style*="grid-column-start: span"],main [style*="grid-row-start: span"]{grid-column:auto !important;grid-row:auto !important}
  main [style*="text-align: center"][style*="grid-template-columns: repeat(4"],
  main [style*="text-align: center"][style*="grid-template-columns: repeat(3"]{grid-template-columns:1fr 1fr !important;gap:22px 18px !important}

  /* Карточки и плашки — компактнее */
  main [style*="padding: 40px"]{padding:24px !important}
  main [style*="padding: 32px"]{padding:22px !important}
  main [style*="padding: 28px"],main [style*="padding: 26px"]{padding:20px !important}
  main [style*="min-height: 230px"],main [style*="min-height: 210px"],main [style*="min-height: 200px"],main [style*="min-height: 170px"],main [style*="min-height: 150px"]{min-height:0 !important}

  /* Кнопки: во всю ширину и с нормальной зоной нажатия */
  main a[style*="border-radius: 999px"],main button[style*="border-radius: 999px"]{width:100%;justify-content:center;text-align:center;padding-top:17px !important;padding-bottom:17px !important}
  main a[style*="border-radius: 50%"]{width:120px !important;height:120px !important}
  main [style*="border-radius: 999px"][style*="display: inline-flex"]{width:auto}

  main div[style*="repeating-linear-gradient"]{height:200px !important}
  main blockquote p{font-size:20px !important;line-height:1.4 !important}

  /* Длинные слова в заголовках не должны вылезать за экран */
  main h1,main h2,main h3{overflow-wrap:break-word !important}

  /* Заголовки на телефоне: меньше кегль, плотнее строка */
  main h1,main h1[style]{font-size:clamp(28px,7.6vw,32px) !important;letter-spacing:-.02em !important;line-height:1.14 !important}
  main h2,main h2[style]{font-size:24px !important;letter-spacing:-.015em !important;font-weight:400 !important;color:#141414 !important}
  main h3,main h3[style]{font-size:20px !important;letter-spacing:-.005em !important;font-weight:500 !important;line-height:1.3 !important}
  main h4,main h4[style]{font-size:17px !important;font-weight:500 !important}
  main p,main li,main p[style],main li[style]{font-size:16px !important;line-height:1.55 !important}
  main h3 + p,main h3 ~ p{color:#63636a !important}
  main h2 + p{font-size:16px !important;color:#6a6a6a !important}
  /* Мелкий текст: метки, сноски, описания в прайсе */
  main [style*="text-transform: uppercase"]{font-size:12px !important}
  main [style*="font-size: 13px"],main [style*="font-size: 14px"]{font-size:13.5px !important}
  main [style*="font-size: 130px"]{font-size:54px !important}
  main p[style*="font-size: 20px"],main p[style*="font-size: 19px"]{font-size:17px !important;line-height:1.55 !important}
  main > section:first-child p{font-size:17px !important}
  main [style*="font-size: 66px"],main [style*="font-size: 62px"],main [style*="font-size: 58px"]{font-size:34px !important}

  /* iOS не должен зумить при фокусе — ставка на 16px и удобные чекбоксы */
  footer input,main input,main select,main textarea{font-size:16px !important}
  main label input[type="checkbox"]{width:22px !important;height:22px !important}
  main label[style*="font-size: 14px"]{font-size:15px !important;line-height:1.4}
  footer > div form button[type="submit"]{width:44px !important;height:44px !important}

  footer > div{gap:26px !important}
  footer img{height:28px !important}
}

@media (max-width:400px){
  main [style*="text-align: center"][style*="grid-template-columns: repeat(4"],
  main [style*="text-align: center"][style*="grid-template-columns: repeat(3"]{grid-template-columns:1fr !important}
}
