:root{
  --brand-primary:#38a93b;
  --brand-primary-rgb:56,169,59;
  --brand-primary-dark:#247b2a;
  --brand-primary-soft:#eff8f0;
  --brand-dark:#17231b;
  --brand-text:#223027;
  --brand-muted:#68756c;
  --brand-surface:#f6f8f6;
  --brand-border:#dfe7e1;
  --service-radius:.9rem;
  --service-radius-lg:1.25rem;
  --service-shadow:0 .8rem 2rem rgba(23,35,27,.08);
  --service-shadow-hover:0 1.1rem 2.4rem rgba(23,35,27,.11);
}

html{scroll-behavior:smooth}
body.service-page{
  color:var(--brand-text);
  background:#fff;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1030;
  background:#fff;
  box-shadow:0 .35rem 1.2rem rgba(23,35,27,.07);
}
.site-topbar{
  color:#fff;
  background:var(--brand-dark);
  font-size:.78rem;
}
.site-topbar a{color:#fff;text-decoration:none}
.site-topbar a:hover{text-decoration:underline}
.site-topbar .d-none.d-lg-flex .site-topbar__link{
  font-size:.88rem;
}
.site-header .navbar{box-shadow:0 1px 0 rgba(23,35,27,.04)}
.site-header .navbar > .container{
  transition:padding .2s ease;
}
.navbar-brand{color:var(--brand-dark)}
.site-header .navbar .btn-brand{
  font-weight:600;
}
.navbar .nav-link{
  padding:.55rem .75rem;
  font-size:.92rem;
  font-weight:700;
  border-radius:.55rem;
}
.navbar .nav-link.active,
.navbar-nav .active > .nav-link,
.navbar .nav-link:hover{
  color:var(--brand-primary-dark);
  background:var(--brand-primary-soft);
}

.btn{
  border-radius:.62rem;
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease;
}
.btn-brand{
  --bs-btn-color:#fff;
  --bs-btn-bg:var(--brand-primary);
  --bs-btn-border-color:var(--brand-primary);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:var(--brand-primary-dark);
  --bs-btn-hover-border-color:var(--brand-primary-dark);
  font-weight:800;
}
.btn-outline-brand{
  --bs-btn-color:var(--brand-primary-dark);
  --bs-btn-border-color:var(--brand-primary);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:var(--brand-primary);
  --bs-btn-hover-border-color:var(--brand-primary);
  font-weight:800;
}

.service-hero-shell{
  background:
    radial-gradient(
      ellipse 78% 115% at 100% 0%,
      rgba(var(--brand-primary-rgb),.13) 0%,
      rgba(var(--brand-primary-rgb),.085) 38%,
      rgba(var(--brand-primary-rgb),.035) 66%,
      transparent 88%
    ),
    linear-gradient(
      180deg,
      rgba(var(--brand-primary-rgb),.055) 0%,
      rgba(var(--brand-primary-rgb),.025) 58%,
      transparent 88%
    );
}
.service-breadcrumbs{
  padding:.75rem 0 .15rem;
  background:transparent;
}
.service-breadcrumbs .breadcrumb{
  --bs-breadcrumb-divider-color:#a5afa8;
  --bs-breadcrumb-item-active-color:#7b877f;
  font-size:.82rem;
}
.service-hero-shell .service-hero{
  padding-top:1.2rem!important;
}
.breadcrumb a{color:var(--brand-primary-dark);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

.service-section{padding:4.75rem 0}
.service-section--compact{padding:1.6rem 0 3.2rem}
.service-section--surface{background:var(--brand-surface)}
.service-section--dark{
  color:#fff;
  background:linear-gradient(135deg,#173522 0%,var(--brand-dark) 62%,#102017 100%);
}
.service-section__head{
  max-width:48rem;
  margin:0 auto 2.25rem;
  text-align:center;
}
.service-section__head h2,
.service-section h2{
  color:var(--brand-dark);
  font-weight:850;
  letter-spacing:-.035em;
}
.service-section__head h2{
  margin:.45rem 0 .75rem;
  font-size:clamp(1.85rem,3.5vw,2.65rem);
  line-height:1.08;
}
.service-section__head--light h2{color:#fff}
.service-section__head p,
.service-section__head .text-secondary{color:var(--brand-muted)!important}
.service-kicker{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--brand-primary-dark);
  font-size:.7rem;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.service-hero{
  padding-top:clamp(1.5rem,3vh,2.15rem)!important;
  padding-bottom:clamp(2rem,4vh,2.8rem);
  background:transparent;
}
.service-hero h1{
  max-width:15.5ch;
  margin-bottom:0;
  color:var(--brand-dark);
  font-size:clamp(2.45rem,4.4vw,3.75rem);
  line-height:1.02;
  letter-spacing:-.05em;
}
.service-hero .lead{
  max-width:42rem;
  color:#5f6d63!important;
  font-size:clamp(1rem,1.35vw,1.12rem);
  line-height:1.6;
}
.service-hero .d-grid .btn-lg{
  font-size:1rem;
}
.service-hero__media{
  position:relative;
  height:clamp(390px,54vh,540px);
  overflow:hidden;
  border:1px solid rgba(23,35,27,.06);
  border-radius:1.35rem;
  background:#dce5df;
  box-shadow:var(--service-shadow);
}
.service-hero__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center;
}
.service-checks{
  display:grid;
  gap:.55rem;
}
.service-checks span{
  display:flex;
  align-items:flex-start;
  font-size:.92rem;
  font-weight:750;
}
.service-checks i{
  flex:0 0 auto;
  margin:.16rem .55rem 0 0;
  color:var(--brand-primary);
}

.service-stat,
.service-card,
.service-step,
.service-equipment,
.service-related{
  border:1px solid var(--brand-border);
  border-radius:var(--service-radius-lg);
  background:#fff;
  box-shadow:var(--service-shadow);
}
.service-stat{
  display:flex;
  min-height:7.15rem;
  flex-direction:column;
  justify-content:center;
  gap:.18rem;
  padding:1.05rem 1.15rem;
}
.service-stat i{
  margin-bottom:.15rem;
  color:var(--brand-primary);
  font-size:1.18rem;
}
.service-stat strong{
  color:var(--brand-dark);
  font-size:.95rem;
  line-height:1.25;
}
.service-stat span{
  color:var(--brand-muted);
  font-size:.76rem;
  line-height:1.35;
}

.service-card{
  padding:1.45rem;
}
.service-card>i{
  display:grid;
  width:2.7rem;
  height:2.7rem;
  place-items:center;
  margin-bottom:1rem;
  border-radius:.75rem;
  color:var(--brand-primary-dark);
  background:var(--brand-primary-soft);
  font-size:1.2rem;
}
.service-card h3,
.service-step h3,
.service-equipment h3,
.service-related h3,
.service-price h3,
.service-proof h3{
  color:var(--brand-dark);
  font-size:1.02rem;
  font-weight:850;
  line-height:1.25;
  letter-spacing:-.015em;
}
.service-card p,
.service-step p,
.service-related p{
  margin-bottom:0;
  color:var(--brand-muted);
  font-size:.9rem;
}

.service-list{
  display:grid;
  gap:.55rem;
  padding:0;
  margin:0;
  list-style:none;
}
.service-list li{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  padding:.78rem .95rem;
  border:1px solid #e4ebe5;
  border-radius:.65rem;
  color:#334238;
  background:#fff;
  box-shadow:0 .25rem .8rem rgba(23,35,27,.035);
  font-size:.9rem;
  font-weight:650;
}
.service-list i{
  flex:0 0 auto;
  margin:.13rem 0 0;
  color:var(--brand-primary);
  font-size:1rem;
}

.service-factor{
  display:flex;
  align-items:center;
  gap:.7rem;
  min-height:3.4rem;
  height:100%;
  padding:.8rem .9rem;
  border:1px solid var(--brand-border);
  border-radius:.7rem;
  color:#344238;
  background:#fff;
  font-size:.86rem;
  font-weight:800;
}
.service-factor i{
  flex:0 0 auto;
  color:var(--brand-primary);
  font-size:1.05rem;
}
.service-price{
  display:flex;
  min-height:100%;
  flex-direction:column;
  justify-content:center;
  padding:2rem;
  border-radius:var(--service-radius-lg);
  color:#fff;
  background:linear-gradient(145deg,var(--brand-primary-dark),var(--brand-primary));
  box-shadow:var(--service-shadow);
}
.service-price h3{
  color:#fff;
  font-size:clamp(1.45rem,3vw,1.85rem);
}
.service-price p{color:rgba(255,255,255,.86)}

.service-step{
  position:relative;
  min-height:100%;
  padding:1.35rem;
}
.service-step>span{
  display:block;
  margin-bottom:1rem;
  color:var(--brand-primary);
  font-size:1rem;
  font-weight:950;
  letter-spacing:.03em;
}

.service-equipment{
  overflow:hidden;
}
.service-equipment__img,
.service-equipment__placeholder{
  width:100%;
  aspect-ratio:16/9;
}
.service-equipment__img{
  display:block;
  object-fit:cover;
}
.service-equipment__placeholder{
  display:grid;
  min-height:0;
  place-items:center;
  align-content:center;
  gap:.55rem;
  padding:1.5rem;
  text-align:center;
  color:#65726a;
  background:
    radial-gradient(circle at 50% 35%,rgba(var(--brand-primary-rgb),.14),transparent 8rem),
    linear-gradient(135deg,#edf6ee,#dfece1);
}
.service-equipment__placeholder i{
  color:var(--brand-primary);
  font-size:2.7rem;
}
.service-equipment__placeholder span{
  max-width:20rem;
  font-size:.84rem;
  font-weight:750;
}
.service-equipment .p-4{padding:1.35rem!important}
.service-badge{
  display:inline-block;
  margin-bottom:.6rem;
  padding:.25rem .6rem;
  border-radius:999px;
  color:var(--brand-primary-dark);
  background:var(--brand-primary-soft);
  font-size:.72rem;
  font-weight:900;
}
.service-link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:var(--brand-primary-dark);
  font-size:.87rem;
  font-weight:850;
  text-decoration:none;
}
.service-link i{transition:transform .18s ease}

.service-proof{
  height:100%;
  padding:1.3rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:.85rem;
  background:rgba(255,255,255,.055);
}
.service-proof i{
  color:#8fe293;
  font-size:1.25rem;
}
.service-proof h3{
  margin:.7rem 0 .35rem;
  color:#fff;
}
.service-proof p{
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:.82rem;
}

.service-areas{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  padding:1rem;
  border:1px solid var(--brand-border);
  border-radius:1rem;
  background:#f3f7f4;
}
.service-area{
  padding:.48rem .72rem;
  border:1px solid var(--brand-border);
  border-radius:999px;
  color:var(--brand-primary-dark);
  background:#fff;
  font-size:.8rem;
  font-weight:800;
  text-decoration:none;
}
.service-area--primary{
  color:#fff;
  border-color:var(--brand-primary);
  background:var(--brand-primary);
}
.service-area--muted{
  color:var(--brand-muted);
  border-style:dashed;
  background:transparent;
}
.service-area--all{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border-color:rgba(var(--brand-primary-rgb),.35);
  background:var(--brand-primary-soft);
}
.service-area--all i{
  font-size:.95em;
}

.service-faq{
  max-width:52rem;
  overflow:hidden;
  border:1px solid var(--brand-border);
  border-radius:.85rem;
  background:#fff;
  --bs-accordion-border-color:var(--brand-border);
  --bs-accordion-active-color:var(--brand-dark);
  --bs-accordion-active-bg:var(--brand-primary-soft);
}
.service-faq .accordion-item{border-left:0;border-right:0}
.service-faq .accordion-item:first-child{border-top:0}
.service-faq .accordion-item:last-child{border-bottom:0}
.service-faq .accordion-button{
  padding:.95rem 1.1rem;
  color:var(--brand-dark);
  font-size:.9rem;
  font-weight:800;
  box-shadow:none!important;
}
.service-faq .accordion-body{
  color:#5d6a61;
  font-size:.88rem;
  line-height:1.6;
}

.service-related-nav{
  display:flex;
  justify-content:flex-end;
  gap:.6rem;
  margin:-.7rem 0 1rem;
}
.service-related-nav__btn{
  display:grid;
  width:2.8rem;
  height:2.8rem;
  place-items:center;
  border:1px solid var(--brand-border);
  border-radius:999px;
  color:var(--brand-primary-dark);
  background:#fff;
  box-shadow:0 .35rem 1rem rgba(23,35,27,.07);
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease,opacity .18s ease;
}
.service-related-nav__btn:hover:not(:disabled){
  transform:translateY(-1px);
  color:#fff;
  border-color:var(--brand-primary);
  background:var(--brand-primary);
}
.service-related-nav__btn:focus-visible{
  outline:3px solid rgba(var(--brand-primary-rgb),.22);
  outline-offset:2px;
}
.service-related-nav__btn:disabled{
  cursor:default;
  opacity:.32;
}
.service-related-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 3rem)/4);
  gap:1rem;
  overflow-x:auto;
  overflow-y:hidden;
  padding:.25rem .15rem 1rem;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:.15rem;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.service-related-track::-webkit-scrollbar{
  display:none;
}
.service-related-slide{
  min-width:0;
  scroll-snap-align:start;
}
.service-related-slide .service-related{
  height:100%;
}

@media (max-width:1199.98px){
  .service-related-track{
    grid-auto-columns:calc((100% - 1rem)/2);
  }
}

@media (max-width:767.98px){
  .service-related-nav{
    margin-top:-.9rem;
  }
  .service-related-track{
    grid-auto-columns:84%;
    gap:.8rem;
    padding-right:1.25rem;
    scroll-snap-type:x proximity;
  }
}

.service-related{
  position:relative;
  display:flex;
  min-height:100%;
  flex-direction:column;
  padding:1.35rem;
  color:inherit;
  text-decoration:none;
}
.service-related>i{
  display:grid;
  width:2.5rem;
  height:2.5rem;
  place-items:center;
  margin-bottom:.9rem;
  border-radius:.7rem;
  color:var(--brand-primary-dark);
  background:var(--brand-primary-soft);
  font-size:1.12rem;
}
.service-related::after{
  content:"Подробнее →";
  margin-top:auto;
  padding-top:1rem;
  color:var(--brand-primary-dark);
  font-size:.8rem;
  font-weight:850;
}

.service-cta{
  position:relative;
  overflow:hidden;
  padding:clamp(1.75rem,4vw,2.7rem);
  border-radius:1.25rem;
  color:#fff;
  background:linear-gradient(115deg,var(--brand-primary-dark) 0%,var(--brand-primary) 58%,#55c95c 100%);
  box-shadow:var(--service-shadow);
}
.service-cta::after{
  position:absolute;
  top:-45%;
  right:-8%;
  width:15rem;
  height:15rem;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  content:"";
  pointer-events:none;
}
.service-cta h2{
  position:relative;
  z-index:1;
  color:#fff;
  font-size:clamp(1.8rem,4vw,2.75rem);
}
.service-cta p{
  position:relative;
  z-index:1;
  margin-bottom:0;
  color:rgba(255,255,255,.84);
}

.site-footer{
  color:rgba(255,255,255,.72);
  background:#0d1710;
}
.site-footer strong,
.site-footer h2{color:#fff}
.site-footer a{
  color:rgba(255,255,255,.8);
  text-decoration:none;
}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer li+li{margin-top:.35rem}

/* Motion: zero dependency, compositor-friendly, no hero/LCP animation. */
@media (hover:hover) and (pointer:fine){
  .service-card,
  .service-stat,
  .service-step,
  .service-equipment,
  .service-related,
  .service-area,
  .service-factor{
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  }

  .service-card:hover,
  .service-stat:hover,
  .service-step:hover,
  .service-equipment:hover,
  .service-related:hover{
    transform:translateY(-3px);
    border-color:rgba(var(--brand-primary-rgb),.36);
    box-shadow:var(--service-shadow-hover);
  }

  .service-area:hover,
  .service-factor:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--brand-primary-rgb),.42);
  }

  .service-related:hover{color:inherit}
  .service-link:hover i{transform:translateX(3px)}
  .btn:hover{transform:translateY(-1px)}
}

/* Progressive enhancement: scroll reveal below the first screen.
   Unsupported browsers simply render the static page. */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .service-section:not(.service-hero):not(.service-section--compact) > .container{
      animation-name:service-reveal;
      animation-duration:1ms;
      animation-fill-mode:both;
      animation-timing-function:linear;
      animation-timeline:view();
      animation-range:entry 0% entry 26%;
    }

    @keyframes service-reveal{
      from{
        opacity:.01;
        transform:translateY(14px);
      }
      to{
        opacity:1;
        transform:none;
      }
    }
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

@media(max-width:991.98px){
  .service-section{padding:3.8rem 0}
  .service-hero{padding-top:1.75rem!important;padding-bottom:2.5rem}
  .navbar-collapse{padding-top:1rem}
  .service-hero h1{max-width:15ch}
  .service-hero__media{height:auto}
  .service-hero__media img{
    height:auto;
    aspect-ratio:4/3;
  }
}

@media(max-width:575.98px){
  .service-section{padding:3.1rem 0}
  .service-section--compact{padding:1.15rem 0 2.6rem}
  .service-hero h1{font-size:clamp(2.05rem,10.5vw,3rem)}
  .service-hero__media{border-radius:1rem}
  .service-stat{min-height:6.5rem;padding:.9rem}
  .service-card,
  .service-step,
  .service-related{padding:1.15rem}
  .service-price{padding:1.5rem}
  .service-cta{border-radius:1rem}
}


.site-logo{
  display:block;
  width:auto;
  max-width:190px;
  height:auto;
  max-height:52px;
  transition:max-width .2s ease,max-height .2s ease;
}
.site-logo--light{
  max-width:210px;
}


/* Desktop sticky header: keep the dark topbar unchanged and compact only
   the white navigation row while scrolling down. */
@media(min-width:992px){
  .site-header--compact .navbar > .container{
    padding-top:.3rem!important;
    padding-bottom:.3rem!important;
  }
  .site-header--compact .site-logo{
    max-width:172px;
    max-height:44px;
  }
  .site-header--compact .navbar .nav-link{
    padding-top:.42rem;
    padding-bottom:.42rem;
  }
  .site-header--compact .navbar .btn-brand{
    padding-top:.3rem;
    padding-bottom:.3rem;
  }
}