:root{
  --green:#0f7a4d;
  --green-dark:#0a5637;
  --green-soft:#eaf7f0;
  --lime:#b8e66b;
  --text:#18342a;
  --muted:#6c7f77;
  --bg:#f6faf8;
  --card:#fff;
  --line:#dce9e2;
  --shadow:0 20px 50px rgba(11,78,50,.12);
  --radius:24px;
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font-family:"Open Sans",sans-serif;color:var(--text);background:var(--bg);line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(calc(100% - 32px),var(--container));margin-inline:auto}
.section{padding:88px 0}
.section--alt{background:#eef7f2}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}
.section-head>div{max-width:760px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.eyebrow--hero{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:#effbf5}
h1,h2,h3,h4{font-family:"Montserrat",sans-serif;line-height:1.15;margin:0}
h2{font-size:clamp(30px,4vw,48px);margin-bottom:12px}
h3{font-size:21px}
p{margin:0}.lead{font-size:18px;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 20px;border-radius:14px;border:1px solid transparent;font-family:"Montserrat",sans-serif;font-weight:800;transition:.25s ease}
.btn--primary{background:var(--green);color:#fff;box-shadow:0 12px 30px rgba(15,122,77,.22)}
.btn--primary:hover{background:var(--green-dark);transform:translateY(-2px)}
.btn--light{background:#fff;color:var(--green)}
.btn--light:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.btn--outline-light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.36);color:#fff}
.btn--outline-light:hover{background:rgba(255,255,255,.16)}

.topbar{background:#092c21;color:#dff4e9;font-size:13px}
.topbar__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar__items{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.topbar i{color:#8ed9b2}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(213,232,222,.9)}
.site-header__inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-branding{display:flex;align-items:center;flex-shrink:0}.custom-logo-link img{max-height:58px;width:auto}
.brand{display:flex;align-items:center;gap:12px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:20px;color:#0a5a39}
.brand__mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#0f7a4d,#70c98b);color:#fff;box-shadow:0 10px 25px rgba(15,122,77,.2)}
.brand--footer{color:#fff;margin-bottom:14px}
.desktop-nav{margin-left:auto}.zg-nav{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700}.zg-nav li{margin:0}.zg-nav a{position:relative}.zg-nav a::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--green);transition:.25s}.zg-nav a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:12px}.burger{display:none;width:46px;height:46px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--text)}
.mobile-menu{display:none;background:#fff;border-top:1px solid var(--line);padding:10px 0 18px}.mobile-menu.open{display:block}.zg-nav--mobile{display:block}.zg-nav--mobile li{border-bottom:1px solid #edf3f0}.zg-nav--mobile a{display:block;padding:14px 4px}.zg-nav--mobile a::after{display:none}

.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,rgba(5,58,36,.93) 0%,rgba(7,84,50,.78) 48%,rgba(7,84,50,.2) 100%),var(--hero-bg) center/cover no-repeat;color:#fff;min-height:720px;display:flex;align-items:center}
.hero::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:-220px;background:rgba(255,255,255,.08)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;padding:68px 0}
.hero-copy{max-width:760px}.hero h1{font-size:clamp(40px,6vw,72px);letter-spacing:-.035em;margin-bottom:20px}.hero-subtitle{font-size:clamp(18px,2.2vw,23px);max-width:700px;color:#e9f5ef;margin-bottom:28px}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:700px}.hero-stat{padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}.hero-stat strong{display:block;font-family:"Montserrat",sans-serif;font-size:27px;margin-bottom:3px}.hero-stat span{font-size:13px;color:#dfeee7}
.promo-card{background:rgba(255,255,255,.96);color:var(--text);border-radius:28px;padding:28px;box-shadow:0 28px 70px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.55)}.promo-card h2{font-size:28px;margin-bottom:10px}.promo-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:#e5f8eb;color:var(--green);font-size:12px;font-weight:800;margin-bottom:12px}.promo-card ul{list-style:none;padding:0;margin:18px 0 22px}.promo-card li{display:flex;gap:10px;align-items:flex-start;margin:10px 0;color:#4d655b}.promo-card li i{color:var(--green);margin-top:5px}.promo-price{border-top:1px solid var(--line);padding-top:18px}.promo-price small{display:block;color:var(--muted)}.promo-price strong{display:block;font-family:"Montserrat",sans-serif;font-size:30px;color:var(--green);margin-top:4px}

.promo-ticker{background:var(--lime);overflow:hidden;border-block:1px solid rgba(20,52,32,.08)}.promo-ticker__track{display:flex;width:max-content;gap:36px;padding:13px 0;font-family:"Montserrat",sans-serif;font-weight:800;animation:zgTicker 28s linear infinite}.promo-ticker__track span{display:flex;align-items:center;gap:12px}.promo-ticker__track b{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(15,122,77,.12)}@keyframes zgTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 10px 35px rgba(15,88,59,.06);transition:.28s ease}.info-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.info-card__icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--green-soft);color:var(--green);font-size:22px;margin-bottom:18px}.info-card h3{margin-bottom:10px}.info-card p{color:var(--muted)}.info-card__price{margin-top:18px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:19px;color:var(--green)}.advantage-card{position:relative;overflow:hidden}.advantage-card::after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:#eff9f3;right:-40px;bottom:-55px}

.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.step-card{position:relative;min-height:220px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.step-number{display:inline-flex;font-family:"Montserrat",sans-serif;font-size:34px;font-weight:800;color:#b5d8c5;margin-bottom:28px}.step-card h3{font-size:18px;margin-bottom:10px}.step-card p{color:var(--muted);font-size:14px}

.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{position:relative;min-height:360px;border-radius:28px;overflow:hidden;isolation:isolate;box-shadow:0 15px 35px rgba(16,65,44,.14)}.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,35,24,.9) 100%);z-index:-1}.project-card:hover img{transform:scale(1.045)}.project-card__overlay{position:absolute;left:24px;right:24px;bottom:24px;color:#fff}.project-card__overlay h3{font-size:24px;margin-bottom:5px}.project-card__overlay span{color:#dcebe4}

.cta-section{padding:0 0 88px}.cta-box{background:linear-gradient(115deg,rgba(8,84,51,.98),rgba(15,122,77,.86));color:#fff;border-radius:32px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 20px 50px rgba(12,81,51,.2)}.cta-box h2{margin-bottom:8px}.cta-box p{color:#dfeee7;max-width:700px}

.contacts-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px}.contact-card,.map-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px}.contact-list{display:grid;gap:14px;margin-top:22px}.contact-item{display:flex;gap:13px;align-items:flex-start;padding:14px;background:#f7fbf9;border-radius:16px}.contact-item i{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;background:#e7f6ee;color:var(--green);border-radius:12px}.contact-item small{display:block;color:var(--muted);margin-bottom:2px}.map-card{padding:0;overflow:hidden}.map-placeholder{min-height:430px;height:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;background:linear-gradient(rgba(246,250,248,.18),rgba(246,250,248,.18)),radial-gradient(circle at 30% 30%,#d8efe2 0 12%,transparent 13%),radial-gradient(circle at 65% 56%,#c7e7d6 0 10%,transparent 11%),linear-gradient(35deg,#e6f3eb 25%,#f8fbf9 25% 50%,#ddefe5 50% 75%,#f8fbf9 75%)}.map-placeholder::before,.map-placeholder::after{content:"";position:absolute;background:#bcdac9;opacity:.75}.map-placeholder::before{width:120%;height:14px;transform:rotate(15deg)}.map-placeholder::after{width:14px;height:120%;transform:rotate(20deg)}.map-placeholder__content{position:relative;z-index:1;background:rgba(255,255,255,.92);border:1px solid #d5e8de;border-radius:18px;padding:20px;max-width:380px;box-shadow:0 12px 30px rgba(25,85,55,.11)}.map-placeholder__content small{display:block;margin-top:10px;color:var(--muted)}.map-pin{width:52px;height:52px;margin:0 auto 12px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:22px}.map-iframe{display:block;width:100%;min-height:430px;height:100%;border:0}

.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.lead-form{display:grid;gap:14px;margin-top:22px}.field{display:grid;gap:7px}.field label{font-weight:700;font-size:14px}.field input,.field textarea{width:100%;border:1px solid #cfe0d7;background:#fbfdfc;border-radius:14px;padding:14px 15px;outline:none;transition:.2s}.field input:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(15,122,77,.09)}.field textarea{min-height:120px;resize:vertical}.form-status{min-height:20px;color:var(--muted);font-size:13px}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.request-photo{min-height:500px;border-radius:26px;overflow:hidden;position:relative;isolation:isolate;background:var(--request-photo) center/cover no-repeat}.request-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(5,50,31,.88) 100%);z-index:-1}.request-photo__content{position:absolute;left:28px;right:28px;bottom:28px;color:#fff}.request-photo__content h3{font-size:30px;margin-bottom:8px}.request-photo__content p{color:#e4f2ea}

.site-footer{background:#082d21;color:#d8ebe2;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr;gap:36px}.site-footer p{color:#a9c7b8}.site-footer h4{font-size:16px;margin-bottom:14px;color:#fff}.footer-links,.footer-contacts{list-style:none;margin:0;padding:0;display:grid;gap:9px}.footer-links a,.footer-contacts a{color:#d8ebe2}.footer-links a:hover,.footer-contacts a:hover{color:#fff}.footer-links .sub-menu{list-style:none;padding-left:12px;margin-top:8px}.social-links{display:flex;gap:10px;margin-top:18px}.social-links a{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);font-size:20px}.footer-widget{margin-bottom:18px}.footer-widget ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-bottom{margin-top:38px;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;color:#8eaa9e;font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.floating-call{position:fixed;z-index:1100;right:22px;bottom:22px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;box-shadow:0 15px 35px rgba(15,122,77,.36);font-size:22px;animation:zgPulse 2.2s infinite}@keyframes zgPulse{0%{box-shadow:0 0 0 0 rgba(15,122,77,.42),0 15px 35px rgba(15,122,77,.28)}65%{box-shadow:0 0 0 16px rgba(15,122,77,0),0 15px 35px rgba(15,122,77,.28)}100%{box-shadow:0 0 0 0 rgba(15,122,77,0),0 15px 35px rgba(15,122,77,.28)}}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);z-index:1200;background:#0a3f2b;color:#fff;padding:14px 18px;border-radius:14px;box-shadow:0 15px 40px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:.25s ease;width:min(92vw,560px);text-align:center;font-weight:700}.toast.show{opacity:1;transform:translate(-50%,0)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}

.content-shell{padding:70px 0}.content-header{margin-bottom:24px}.content-article,.post-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 10px 30px rgba(15,88,59,.05)}.content-article h1{font-size:clamp(34px,5vw,56px);margin-bottom:24px}.content-cover{margin:0 0 24px;border-radius:20px;overflow:hidden}.entry-content>*+*{margin-top:1.2em}.post-list{display:grid;gap:18px}.post-card h2{margin-bottom:10px}.error-page{text-align:center;min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px}.error-code{font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(72px,14vw,160px);color:#b8d8c7;line-height:1}

@media(max-width:1020px){.desktop-nav{display:none}.burger{display:grid;place-items:center}.hero-grid{grid-template-columns:1fr}.promo-card{max-width:640px}.card-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:repeat(2,1fr)}.contacts-grid,.request-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.map-placeholder,.map-iframe{min-height:380px}}
@media(max-width:720px){.topbar__inner{padding:8px 0}.topbar__items{gap:10px 16px}.topbar__items span:nth-child(2){display:none}.site-header__inner{min-height:70px}.header-call{display:none}.section{padding:64px 0}.section-head{display:block}.lead{font-size:16px}.hero{min-height:auto}.hero-grid{padding:52px 0}.hero-stats{grid-template-columns:1fr}.hero-buttons{display:grid}.hero-buttons .btn{width:100%}.promo-card{padding:22px}.card-grid{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr}.projects-grid{grid-template-columns:1fr}.project-card{min-height:300px}.cta-box{padding:30px 22px;display:block}.cta-box .btn{margin-top:22px;width:100%}.footer-grid{grid-template-columns:1fr}.floating-call{width:58px;height:58px;right:16px;bottom:16px}}
@media(max-width:460px){.container{width:min(calc(100% - 22px),var(--container))}.brand{font-size:17px}.brand__mark{width:40px;height:40px}.hero h1{font-size:38px}.section-head h2{font-size:32px}.info-card,.contact-card,.form-card{padding:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}


/* =========================================================
   Версия 1.2 — более яркая визуальная система
   ========================================================= */
:root{
  --aqua:#08b8b2;
  --sky:#2f8fff;
  --sun:#ffc84a;
  --orange:#ff8b3d;
  --violet:#8268f2;
  --coral:#ef6170;
}
body{
  background:
    radial-gradient(circle at 8% 18%,rgba(8,184,178,.055),transparent 25%),
    radial-gradient(circle at 92% 40%,rgba(255,200,74,.06),transparent 26%),
    var(--bg);
}
.topbar{
  background:linear-gradient(90deg,#073b29 0%,#0b6b48 48%,#077a70 100%);
}
.brand__mark{
  background:linear-gradient(135deg,#0f9d65 0%,#0bb7ae 55%,#8ad46f 100%);
  box-shadow:0 10px 30px rgba(7,151,112,.28);
}
.btn--primary{
  background:linear-gradient(135deg,#0e8d59,#08a995);
  box-shadow:0 12px 30px rgba(9,150,111,.24);
}
.btn--primary:hover{background:linear-gradient(135deg,#0a6f47,#078c7d)}
.hero{
  background:
    linear-gradient(110deg,rgba(3,49,32,.95) 0%,rgba(5,103,67,.88) 43%,rgba(0,137,128,.42) 75%,rgba(0,137,128,.12) 100%),
    var(--hero-bg) center/cover no-repeat;
}
.hero::before{
  width:560px;height:560px;right:-180px;top:-260px;
  background:radial-gradient(circle,rgba(124,235,185,.30),rgba(72,218,197,.08) 52%,transparent 70%);
}
.hero::after{
  content:"";position:absolute;width:360px;height:360px;border-radius:50%;left:-180px;bottom:-230px;
  background:radial-gradient(circle,rgba(255,204,77,.20),rgba(255,204,77,0) 70%);pointer-events:none;
}
.hero h1{text-shadow:0 8px 30px rgba(0,0,0,.18)}
.hero-stat{background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.07));border-color:rgba(255,255,255,.26)}
.hero-stat:nth-child(1){box-shadow:inset 0 3px 0 rgba(121,230,169,.85)}
.hero-stat:nth-child(2){box-shadow:inset 0 3px 0 rgba(86,203,255,.85)}
.hero-stat:nth-child(3){box-shadow:inset 0 3px 0 rgba(255,209,87,.9)}
.promo-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.75);box-shadow:0 30px 75px rgba(0,0,0,.24)}
.promo-card::before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(90deg,#10a86b,#08b7b0,#ffd154,#ff8a43)}
.promo-badge{background:linear-gradient(135deg,#fff1b8,#ffe279);color:#795300;border:1px solid #f4d462}
.promo-price strong{background:linear-gradient(90deg,#0f8d59,#06a79a);-webkit-background-clip:text;background-clip:text;color:transparent}
.promo-ticker{background:linear-gradient(90deg,#b8ea6a,#e4ef65,#ffd36a,#c8eb6b)}

.section--alt{background:linear-gradient(180deg,#eff9f4 0%,#f8fcfa 100%)}
.eyebrow{border:1px solid rgba(15,122,77,.1);box-shadow:0 6px 18px rgba(15,122,77,.06)}

/* Яркие карточки услуг */
.services-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fbfefd 0%,#f1faf6 100%)}
.services-section .container{position:relative;z-index:2}
.services-glow{position:absolute;border-radius:50%;filter:blur(3px);pointer-events:none;opacity:.6}
.services-glow--one{width:380px;height:380px;left:-220px;top:120px;background:radial-gradient(circle,rgba(0,184,178,.16),transparent 70%)}
.services-glow--two{width:420px;height:420px;right:-230px;bottom:40px;background:radial-gradient(circle,rgba(255,190,64,.18),transparent 70%)}
.services-head-link{display:inline-flex;align-items:center;gap:10px;color:var(--green);font-family:"Montserrat",sans-serif;font-weight:800;padding:11px 15px;border-radius:14px;background:#fff;border:1px solid #dcefe6;box-shadow:0 8px 24px rgba(22,101,68,.07);transition:.25s}
.services-head-link:hover{transform:translateY(-2px);color:#08785f;box-shadow:0 12px 28px rgba(22,101,68,.13)}
.services-grid{grid-template-columns:repeat(4,1fr)}
.service-card{position:relative;overflow:hidden;min-height:315px;display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--service-accent) 22%,#fff);box-shadow:0 14px 38px rgba(28,87,62,.08)}
.service-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--service-accent),color-mix(in srgb,var(--service-accent) 45%,#fff))}
.service-card::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-72px;background:var(--service-soft);z-index:0}
.service-card>*{position:relative;z-index:1}
.service-card:hover{transform:translateY(-8px);border-color:color-mix(in srgb,var(--service-accent) 40%,#fff);box-shadow:0 22px 50px color-mix(in srgb,var(--service-accent) 16%,transparent)}
.service-card .info-card__icon{width:60px;height:60px;border-radius:19px;background:var(--service-soft);color:var(--service-accent);font-size:24px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--service-accent) 12%,transparent)}
.service-card h3{font-size:20px}
.service-card p{font-size:14px;line-height:1.7}
.service-card__number{position:absolute;right:20px;top:17px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:13px;color:color-mix(in srgb,var(--service-accent) 70%,#5d7268);letter-spacing:.08em}
.service-card__footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:22px}
.service-card .info-card__price{margin-top:0;color:var(--service-accent);font-size:18px}
.service-card__action{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--service-soft);color:var(--service-accent);transition:.25s;flex:0 0 auto}
.service-card__action:hover{background:var(--service-accent);color:#fff;transform:translateX(3px)}
.services-bottom-note{margin-top:24px;padding:20px 22px;border-radius:22px;background:linear-gradient(105deg,#073d2b 0%,#0b7250 55%,#0a8e83 100%);color:#fff;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;box-shadow:0 20px 45px rgba(9,94,69,.17)}
.services-bottom-note__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.13);font-size:21px}
.services-bottom-note strong{display:block;font-family:"Montserrat",sans-serif;font-size:18px;margin-bottom:3px}
.services-bottom-note span{color:#d9eee6;font-size:14px}
.services-bottom-note .btn{background:#fff;color:#0a7158;box-shadow:none}
.services-bottom-note .btn:hover{background:#f2fff8;color:#075942}

/* Дополнительные цветовые акценты остальных блоков */
.advantages .info-card:nth-child(1) .info-card__icon{background:#e8f9ef;color:#12945f}
.advantages .info-card:nth-child(2) .info-card__icon{background:#e9f4ff;color:#287fd4}
.advantages .info-card:nth-child(3) .info-card__icon{background:#fff5dc;color:#c88b00}
.advantages .info-card:nth-child(4) .info-card__icon{background:#eef0ff;color:#7157d8}
.advantages .info-card:nth-child(5) .info-card__icon{background:#ffedf0;color:#df5364}
.advantages .info-card:nth-child(6) .info-card__icon{background:#e7faf8;color:#0d9c94}
.step-card{transition:.28s;background:linear-gradient(180deg,#fff 0%,#fbfefd 100%)}
.step-card:nth-child(1) .step-number{color:#13a56d}.step-card:nth-child(2) .step-number{color:#2f8fff}.step-card:nth-child(3) .step-number{color:#d69a08}.step-card:nth-child(4) .step-number{color:#8268f2}.step-card:nth-child(5) .step-number{color:#ef6170}
.step-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(19,95,64,.10)}
.project-card::before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);border-radius:28px;z-index:2;pointer-events:none}
.cta-box{position:relative;overflow:hidden;background:linear-gradient(115deg,#075a3c 0%,#0b8f68 52%,#08a99e 100%)}
.cta-box::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-120px;background:rgba(255,216,94,.13)}
.cta-box>*{position:relative;z-index:1}
.contact-item:nth-child(1) i{background:#e8f9ef;color:#0d9660}.contact-item:nth-child(2) i{background:#e9f4ff;color:#2c82d8}.contact-item:nth-child(3) i{background:#fff4df;color:#d58c00}.contact-item:nth-child(4) i{background:#f0edff;color:#7056d5}
.form-card{box-shadow:0 18px 45px rgba(20,86,58,.08)}
.site-footer{background:linear-gradient(135deg,#06291f 0%,#073b2b 55%,#064b43 100%)}
.floating-call{background:linear-gradient(135deg,#0f9b61,#08b0a1)}

@media(max-width:1180px){.services-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:920px){.services-grid{grid-template-columns:repeat(2,1fr)}.services-bottom-note{grid-template-columns:auto 1fr}.services-bottom-note .btn{grid-column:1/-1;width:100%}}
@media(max-width:620px){.services-grid{grid-template-columns:1fr}.services-head-link{margin-top:16px}.services-bottom-note{grid-template-columns:1fr;text-align:left}.services-bottom-note__icon{display:none}}

.reveal{
    opacity:1 !important;
    transform:none !important;
}

.reveal.reveal-ready{
    opacity:0 !important;
    transform:translateY(24px) !important;
    transition:opacity .7s ease, transform .7s ease;
}

.reveal.reveal-ready.visible{
    opacity:1 !important;
    transform:none !important;
}

/* Валидация формы */
.required-mark{
    color:#dc3f3f;
    font-weight:800;
}

.field-optional{
    margin-left:6px;
    color:var(--muted);
    font-size:12px;
    font-weight:500;
}

.field-help{
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
}

.field-inline{
    position:relative;
}

.field-inline input{
    padding-right:78px;
}

.field-suffix{
    position:absolute;
    top:50%;
    right:15px;
    transform:translateY(-50%);
    color:var(--muted);
    font-size:13px;
    pointer-events:none;
}

.file-upload{
    position:relative;
}

.file-upload > input[type="file"]{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    clip-path:inset(50%);
}

.file-upload__label{
    display:flex !important;
    align-items:center;
    gap:14px;
    padding:16px;
    border:1px dashed #9bc8ae;
    border-radius:16px;
    background:#f6fbf8;
    cursor:pointer;
    transition:.2s ease;
}

.file-upload__label:hover{
    border-color:var(--green);
    background:#edf8f2;
    transform:translateY(-1px);
}

.file-upload__icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:14px;
    background:#e2f4e9;
    color:var(--green);
    font-size:20px;
}

.file-upload__text{
    display:grid;
    gap:2px;
}

.file-upload__text strong{
    color:var(--text);
}

.file-upload__text small{
    color:var(--muted);
    font-weight:500;
}

.file-upload__name{
    margin-top:8px;
    font-size:13px;
    font-weight:700;
}

.file-upload__name.is-success{
    color:var(--green);
}

.file-upload__name.is-error,
.form-status.is-error{
    color:#b42318;
}

.form-status.is-success{
    color:var(--green);
}

.form-check{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px 15px;
    border:1px solid #d7e7df;
    border-radius:14px;
    background:#fbfdfc;
    cursor:pointer;
    transition:.2s ease;
}

.form-check:hover{
    border-color:#a8cfb8;
    background:#f4faf6;
}

.form-check--human{
    border-color:#9fd0b5;
    background:#eff9f3;
}

.form-check input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.form-check__box{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border:2px solid #94b8a4;
    border-radius:7px;
    background:#fff;
    color:#fff;
    margin-top:1px;
    transition:.2s ease;
}

.form-check input:checked + .form-check__box{
    background:var(--green);
    border-color:var(--green);
}

.form-check__box i{
    opacity:0;
    font-size:12px;
    transform:scale(.6);
    transition:.2s ease;
}

.form-check input:checked + .form-check__box i{
    opacity:1;
    transform:scale(1);
}

.form-check input:focus-visible + .form-check__box{
    outline:3px solid rgba(15,122,77,.18);
    outline-offset:2px;
}

.form-check__text{
    display:grid;
    gap:2px;
    color:var(--text);
    font-size:14px;
    line-height:1.45;
}

.form-check__text small{
    color:var(--muted);
    font-size:12px;
}

.required-note{
    margin:0;
    color:var(--muted);
    font-size:12px;
}

.required-note span{
    color:#dc3f3f;
    font-weight:800;
}

.btn--wide{
    width:100%;
}

.field input.is-invalid,
.field textarea.is-invalid{
    border-color:#d92d20 !important;
    box-shadow:0 0 0 4px rgba(217,45,32,.08) !important;
}

.form-check input.is-invalid + .form-check__box{
    border-color:#d92d20;
    box-shadow:0 0 0 4px rgba(217,45,32,.08);
}

/* =========================================================
   Окно благодарности после отправки заявки
   ========================================================= */

.success-modal{
    position:fixed;
    inset:0;
    z-index:99999;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:20px;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.success-modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.success-modal__backdrop{
    position:absolute;
    inset:0;

    background:rgba(4,35,24,.72);
    backdrop-filter:blur(7px);
}

.success-modal__card{
    position:relative;
    z-index:2;

    width:min(100%,520px);

    padding:42px 34px 32px;

    text-align:center;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(44,200,127,.12),
            transparent 38%
        ),
        #fff;

    border:1px solid rgba(255,255,255,.6);
    border-radius:30px;

    box-shadow:
        0 35px 90px rgba(0,0,0,.28);

    transform:
        translateY(24px)
        scale(.94);

    transition:
        transform .35s
        cubic-bezier(.2,.8,.2,1);
}

.success-modal.is-open .success-modal__card{
    transform:
        translateY(0)
        scale(1);
}

.success-modal__close{
    position:absolute;
    top:16px;
    right:16px;

    width:40px;
    height:40px;

    border:0;
    border-radius:50%;

    display:grid;
    place-items:center;

    background:#f0f7f3;
    color:#49685a;

    cursor:pointer;

    transition:.2s ease;
}

.success-modal__close:hover{
    background:#e1f1e8;
    color:var(--green);
    transform:rotate(8deg);
}

.success-modal__icon{
    width:82px;
    height:82px;

    margin:0 auto 20px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;
    font-size:34px;

    background:
        linear-gradient(
            135deg,
            #0f8f5b,
            #19b98a
        );

    box-shadow:
        0 16px 38px
        rgba(15,143,91,.28);

    animation:
        successCheck .55s
        cubic-bezier(.2,.8,.2,1);
}

@keyframes successCheck{
    0%{
        transform:scale(.5) rotate(-15deg);
        opacity:0;
    }

    100%{
        transform:scale(1) rotate(0);
        opacity:1;
    }
}

.success-modal__eyebrow{
    display:inline-block;

    margin-bottom:10px;

    padding:7px 12px;

    border-radius:999px;

    background:#eaf8f0;
    color:var(--green);

    font-size:12px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.success-modal__card h2{
    margin-bottom:14px;

    font-size:clamp(28px,5vw,38px);
}

.success-modal__card p{
    color:var(--muted);
    font-size:16px;
    line-height:1.7;
}

.success-modal__card p strong{
    color:var(--text);
}

.success-modal__note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    margin:22px 0;

    padding:12px 14px;

    border-radius:14px;

    background:#f5faf7;

    color:#557066;
    font-size:13px;
}

.success-modal__note i{
    color:var(--green);
}

.success-modal__button{
    width:100%;
}

body.success-modal-open{
    overflow:hidden;
}

@media(max-width:520px){

    .success-modal{
        align-items:flex-end;
        padding:12px;
    }

    .success-modal__card{
        padding:
            36px 20px
            24px;

        border-radius:
            26px 26px
            20px 20px;
    }

    .success-modal__icon{
        width:70px;
        height:70px;
        font-size:29px;
    }

}