:root{
--green: #198754;
--green-dark: #0f5f3b;
--mint: #e9f7ef;
--ink: #18211c;
--muted: #647067;
--line: #dde7df;
--paper: #ffffff;
--soft: #f5f8f6;
--warm: #fff8ec;
--blue: #1e6b93;
--shadow: 0 18px 45px rgba(24, 33, 28, .11);
--radius: 8px;
--container: 1180px;
}*,*::before,*::after{
box-sizing: border-box;
}html{
scroll-behavior: smooth;
}body{
margin: 0;
color: var(--ink);
background: var(--soft);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
line-height: 1.5;
text-rendering: optimizeLegibility;
}body.menu-open,body.modal-open{
overflow: hidden;
}img{
max-width: 100%;
display: block;
}a{
color: inherit;
text-decoration: none;
}button,input{
font: inherit;
}button{
cursor: pointer;
}.icon{
width: 1.15em;
height: 1.15em;
fill: none;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
flex: 0 0 auto;
}.site-header{
position: sticky;
top: 0;
z-index: 50;
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 22px;
min-height: 74px;
padding: 12px clamp(16px, 4vw, 44px);
background: rgba(255, 255, 255, .92);
border-bottom: 1px solid rgba(221, 231, 223, .86);
backdrop-filter: blur(14px);
}.brand{
display: inline-flex;
align-items: baseline;
gap: 2px;
font-size: clamp(20px, 2.1vw, 30px);
font-weight: 900;
letter-spacing: .02em;
text-transform: uppercase;
white-space: nowrap;
}.brand b{
color: var(--green-dark);
}.brand-footer{
margin-bottom: 12px;
}.brand-footer b{
color: #8fe6ad;
}.desktop-nav{
display: flex;
justify-content: center;
gap: clamp(12px, 2vw, 26px);
}.desktop-nav a{
color: #334039;
font-size: 14px;
font-weight: 750;
}.desktop-nav a:hover,.desktop-nav a:focus-visible{
color: var(--green);
}.header-actions{
display: flex;
align-items: center;
gap: 10px;
}.contact-pill,.phone-link{
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
min-height: 42px;
padding: 0 14px;
border-radius: var(--radius);
font-weight: 800;
white-space: nowrap;
}.contact-pill{
color: #fff;
background: var(--green);
}.phone-link{
color: var(--green-dark);
background: var(--mint);
}.menu-button,.mobile-close{
display: none;
width: 44px;
height: 44px;
align-items: center;
justify-content: center;
border: 1px solid var(--line);
border-radius: var(--radius);
background: #fff;
color: var(--ink);
}.mobile-panel{
display: none;
}.hero{
position: relative;
min-height: min(720px, calc(100svh - 74px));
display: grid;
align-items: center;
overflow: hidden;
background: #dfe9e4;
}.hero::after{
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(90deg, rgba(247, 250, 247, .98) 0%, rgba(247, 250, 247, .87) 33%, rgba(247, 250, 247, .22) 65%, rgba(247, 250, 247, .08) 100%),
linear-gradient(0deg, rgba(24, 33, 28, .26), rgba(24, 33, 28, 0) 42%);
pointer-events: none;
}.hero-media,.hero-picture,.hero-picture img{
position: absolute;
inset: 0;
width: 100%;
height: 100%;
}.hero-picture img{
object-fit: cover;
object-position: center;
}.hero-content{
position: relative;
z-index: 2;
width: min(var(--container), calc(100% - 32px));
margin: 0 auto;
padding: 78px 0 64px;
}.eyebrow{
margin: 0 0 12px;
color: var(--green-dark);
font-size: 13px;
font-weight: 900;
letter-spacing: .12em;
text-transform: uppercase;
}h1,h2,h3,p{
margin-top: 0;
}h1,h2,h3{
overflow-wrap: anywhere;
}h1{
max-width: 760px;
margin-bottom: 20px;
font-size: clamp(42px, 7vw, 82px);
line-height: .95;
letter-spacing: 0;
}h2{
margin-bottom: 16px;
font-size: clamp(30px, 4vw, 52px);
line-height: 1.04;
letter-spacing: 0;
}h3{
font-size: 22px;
line-height: 1.12;
}.hero-lead{
max-width: 660px;
color: #334039;
font-size: clamp(18px, 2vw, 22px);
}.hero-badges{
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 26px 0 0;
}.hero-badges span{
display: inline-flex;
align-items: center;
min-height: 38px;
padding: 0 14px;
color: var(--green-dark);
background: rgba(255, 255, 255, .84);
border: 1px solid rgba(25, 135, 84, .28);
border-radius: var(--radius);
font-size: 13px;
font-weight: 900;
text-transform: uppercase;
}.hero-actions,.card-actions{
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 30px;
}.btn{
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
min-height: 52px;
padding: 0 22px;
border: 1px solid transparent;
border-radius: var(--radius);
font-weight: 900;
text-align: center;
}.btn-primary{
color: #fff;
background: var(--green);
box-shadow: 0 10px 24px rgba(25, 135, 84, .24);
}.btn-primary:hover,.btn-primary:focus-visible{
background: var(--green-dark);
}.btn-soft{
color: var(--green-dark);
background: #fff;
border-color: var(--line);
}.section{
width: min(var(--container), calc(100% - 32px));
margin: 0 auto;
padding: clamp(58px, 9vw, 104px) 0;
}.section-head{
max-width: 780px;
margin-bottom: 34px;
}.section-head p:last-child{
color: var(--muted);
font-size: 18px;
}.service-grid{
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
}.service-card{
overflow: hidden;
background: var(--paper);
border: 1px solid var(--line);
border-radius: var(--radius);
box-shadow: 0 16px 34px rgba(24, 33, 28, .06);
}.card-picture{
display: block;
aspect-ratio: 3 / 2;
overflow: hidden;
}.card-picture img{
width: 100%;
height: 100%;
object-fit: cover;
}.service-card-body{
padding: 24px;
}.service-icon{
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
margin-bottom: 18px;
color: var(--green-dark);
background: var(--mint);
border-radius: var(--radius);
}.service-card p,.service-detail p,.trust-copy p,.lead-panel p,.contacts p,.legal-content p{
color: var(--muted);
}.card-meta{
display: grid;
gap: 2px;
margin-top: 18px;
padding-top: 18px;
border-top: 1px solid var(--line);
}.card-meta b,.detail-card b{
color: var(--green-dark);
font-size: 18px;
}.card-meta span,.detail-card span{
color: var(--muted);
font-size: 14px;
}.mini-link,.mini-icon{
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 42px;
border-radius: var(--radius);
font-weight: 900;
}.mini-link{
flex: 1 1 auto;
padding: 0 14px;
color: #fff;
background: var(--ink);
}.mini-icon{
width: 42px;
color: var(--green-dark);
background: var(--mint);
}.prices{
width: 100%;
max-width: none;
background: #fff;
}.prices > *{
width: min(var(--container), calc(100% - 32px));
margin-left: auto;
margin-right: auto;
}.price-table{
display: grid;
gap: 8px;
}.price-row{
display: grid;
grid-template-columns: 1.25fr .8fr 1fr;
gap: 16px;
align-items: center;
min-height: 66px;
padding: 14px 18px;
background: var(--soft);
border: 1px solid var(--line);
border-radius: var(--radius);
}.price-row b{
color: var(--green-dark);
}.price-row span{
color: var(--muted);
}.task-notes{
padding-top: 0;
}.note-grid{
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 14px;
}.note-grid article{
min-height: 236px;
padding: 24px;
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
box-shadow: 0 14px 30px rgba(24, 33, 28, .05);
}.note-grid span{
display: inline-flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
margin-bottom: 22px;
color: var(--green-dark);
background: var(--mint);
border-radius: var(--radius);
}.note-grid p{
color: var(--muted);
}.trust{
display: block;
}.trust-copy{
max-width: 980px;
}.trust-list{
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}.trust-list div{
display: flex;
gap: 14px;
padding: 18px;
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
}.trust-list .icon{
color: var(--green);
margin-top: 3px;
}.process{
width: 100%;
max-width: none;
background: var(--warm);
}.process > *{
width: min(var(--container), calc(100% - 32px));
margin-left: auto;
margin-right: auto;
}.process-grid{
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 14px;
}.process-grid article{
min-height: 236px;
padding: 24px;
background: #fff;
border: 1px solid #f0dfbe;
border-radius: var(--radius);
}.process-grid span{
display: block;
margin-bottom: 40px;
color: var(--green);
font-weight: 900;
}.process-grid p{
color: var(--muted);
}.lead-section{
width: 100%;
max-width: none;
background: linear-gradient(135deg, #133923, #1f7a4a);
}.lead-panel{
width: min(var(--container), calc(100% - 32px));
margin: 0 auto;
display: grid;
grid-template-columns: .9fr 1fr;
gap: clamp(24px, 5vw, 68px);
align-items: center;
color: #fff;
}.lead-panel p,.lead-panel .eyebrow{
color: rgba(255, 255, 255, .82);
}.phone-big{
display: inline-flex;
align-items: center;
gap: 10px;
margin-top: 18px;
font-size: 22px;
font-weight: 900;
}.lead-form{
display: grid;
gap: 14px;
padding: 26px;
color: var(--ink);
background: #fff;
border-radius: var(--radius);
box-shadow: var(--shadow);
}.lead-form label{
display: grid;
gap: 7px;
font-size: 14px;
font-weight: 800;
}.lead-form input[type="text"],.lead-form input[type="tel"]{
width: 100%;
min-height: 52px;
padding: 0 14px;
color: var(--ink);
background: var(--soft);
border: 1px solid var(--line);
border-radius: var(--radius);
}.lead-form input:focus{
outline: 3px solid rgba(25, 135, 84, .18);
border-color: var(--green);
}.lead-form .hp{
position: absolute;
left: -9999px;
opacity: 0;
}.consent{
display: grid !important;
grid-template-columns: 18px 1fr;
gap: 10px !important;
align-items: start;
color: var(--muted);
font-size: 12px !important;
font-weight: 500 !important;
}.consent input{
width: 18px;
height: 18px;
margin-top: 2px;
accent-color: var(--green);
}.consent a{
color: var(--green-dark);
text-decoration: underline;
text-underline-offset: 3px;
}.lead-msg{
min-height: 20px;
margin: 0;
font-size: 14px;
font-weight: 750;
}.lead-msg.ok{
color: var(--green-dark);
}.lead-msg.err{
color: #b42318;
}.faq-list{
display: grid;
gap: 10px;
}details{
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
}summary{
padding: 18px 20px;
font-size: 18px;
font-weight: 900;
cursor: pointer;
}details p{
margin: 0;
padding: 0 20px 20px;
color: var(--muted);
}.links-section{
padding-top: 0;
}.link-grid{
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 10px;
}.link-grid a{
min-height: 50px;
display: flex;
align-items: center;
padding: 12px 14px;
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
color: #304038;
font-weight: 750;
}.link-grid a:hover,.link-grid a:focus-visible{
color: var(--green-dark);
border-color: rgba(25, 135, 84, .35);
}.contacts{
display: grid;
grid-template-columns: .8fr 1.2fr;
gap: 28px;
align-items: start;
}.contact-cards{
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}.contact-cards a{
display: flex;
align-items: center;
gap: 12px;
min-height: 76px;
padding: 18px;
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
font-weight: 900;
min-width: 0;
}.contact-cards span{
overflow-wrap: anywhere;
}.contact-cards .icon{
color: var(--green);
}.service-detail{
display: grid;
grid-template-columns: 1fr .72fr;
gap: clamp(24px, 5vw, 62px);
align-items: center;
}.check-list{
display: grid;
gap: 12px;
margin: 22px 0 0;
padding: 0;
list-style: none;
}.check-list li{
display: flex;
gap: 10px;
align-items: flex-start;
color: #334039;
font-weight: 750;
}.check-list .icon{
color: var(--green);
margin-top: 3px;
}.detail-card{
display: grid;
gap: 14px;
align-self: stretch;
align-content: center;
}.detail-card > div{
display: grid;
gap: 2px;
padding: 18px;
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
}.service-visuals{
padding-top: 0;
}.service-visual-grid{
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
}.service-visual{
display: grid;
gap: 12px;
min-width: 0;
padding: 22px;
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
box-shadow: 0 14px 35px rgba(24, 33, 28, .07);
}.visual-icon{
display: inline-flex;
width: 46px;
height: 46px;
align-items: center;
justify-content: center;
color: #fff;
background: var(--green);
border-radius: var(--radius);
}.visual-icon .icon{
width: 22px;
height: 22px;
}.service-visual h2{
margin: 0;
font-size: 20px;
line-height: 1.18;
}.service-visual p{
margin: 0;
color: #47524b;
font-size: 15px;
}.related{
padding-top: 0;
}.legal-hero{
width: min(var(--container), calc(100% - 32px));
margin: 0 auto;
padding: clamp(58px, 9vw, 96px) 0 28px;
}.legal-hero h1{
max-width: 900px;
}.legal-content{
padding-top: 28px;
}.legal-content article{
max-width: 920px;
padding: clamp(24px, 4vw, 48px);
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
}.legal-content a{
color: var(--green-dark);
font-weight: 800;
}.site-footer{
display: grid;
grid-template-columns: 1fr 1.2fr;
gap: 28px;
padding: 44px clamp(16px, 4vw, 44px);
color: #dbe8df;
background: #121b16;
}.site-footer p{
color: #aebfb4;
}.site-footer nav{
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}.site-footer nav a{
color: #dbe8df;
font-weight: 750;
}.copyright{
grid-column: 1 / -1;
margin: 0;
padding-top: 20px;
border-top: 1px solid rgba(255, 255, 255, .12);
font-size: 13px;
}.floating-actions{
position: fixed;
right: 18px;
bottom: 18px;
z-index: 45;
display: grid;
gap: 10px;
}.floating-actions a{
display: flex;
align-items: center;
justify-content: center;
width: 54px;
height: 54px;
color: #fff;
background: var(--green);
border-radius: 999px;
box-shadow: 0 12px 28px rgba(24, 33, 28, .25);
}.floating-actions a:first-child{
background: var(--blue);
}.modal{
position: fixed;
inset: 0;
z-index: 80;
display: none;
padding: 18px;
overflow-y: auto;
}.modal[aria-hidden="false"]{
display: grid;
place-items: center;
}.modal-backdrop{
position: fixed;
inset: 0;
background: rgba(18, 27, 22, .72);
backdrop-filter: blur(8px);
}.modal-card{
position: relative;
z-index: 2;
width: min(540px, 100%);
padding: 28px;
background: #fff;
border-radius: var(--radius);
box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
}.modal-card > p{
color: var(--muted);
}.modal-card .lead-form{
padding: 0;
box-shadow: none;
}.modal-close{
position: absolute;
top: 14px;
right: 14px;
display: flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
border: 1px solid var(--line);
border-radius: var(--radius);
background: #fff;
}.cookie-bar{
position: fixed;
left: 50%;
bottom: 16px;
z-index: 70;
display: none;
align-items: center;
gap: 14px;
width: min(460px, calc(100% - 32px));
padding: 12px;
transform: translateX(-50%);
color: #fff;
background: #121b16;
border-radius: var(--radius);
box-shadow: 0 18px 45px rgba(0, 0, 0, .24);
font-size: 13px;
}.cookie-bar.is-visible{
display: flex;
}.cookie-bar a{
color: #b8f3d0;
text-decoration: underline;
}.cookie-bar button{
flex: 0 0 auto;
min-height: 36px;
padding: 0 14px;
border: 0;
border-radius: 6px;
color: #fff;
background: var(--green);
font-weight: 900;
}:focus-visible{
outline: 3px solid rgba(25, 135, 84, .35);
outline-offset: 3px;
}@media (max-width: 1060px) {.desktop-nav,.contact-pill span,.phone-link span{
display: none;
}.site-header{
grid-template-columns: auto 1fr;
}.header-actions{
justify-self: end;
}.menu-button{
display: flex;
}.mobile-panel{
position: fixed;
inset: 0;
z-index: 90;
display: none;
width: 100vw;
min-height: 100vh;
min-height: 100dvh;
align-content: start;
gap: 8px;
padding: 84px 18px 18px;
background: #fff;
}body.menu-open .mobile-panel{
display: grid;
}.mobile-panel a{
display: flex;
align-items: center;
min-height: 54px;
padding: 0 16px;
border: 1px solid var(--line);
border-radius: var(--radius);
font-weight: 900;
}.mobile-close{
position: absolute;
top: 18px;
right: 18px;
display: flex;
}.service-grid,.process-grid,.note-grid,.service-visual-grid{
grid-template-columns: repeat(2, minmax(0, 1fr));
}.link-grid{
grid-template-columns: repeat(3, minmax(0, 1fr));
}}@media (max-width: 820px) {.hero{
min-height: auto;
}.hero::after{
background:
linear-gradient(0deg, rgba(247, 250, 247, .98) 0%, rgba(247, 250, 247, .92) 46%, rgba(247, 250, 247, .25) 100%),
linear-gradient(0deg, rgba(24, 33, 28, .22), rgba(24, 33, 28, 0));
}.hero-media,.hero-picture,.hero-picture img{
position: relative;
display: block;
width: 100%;
min-width: 0;
max-width: 100%;
height: 32svh;
min-height: 230px;
max-height: 300px;
overflow: hidden;
}.hero-content{
display: flex;
flex-direction: column;
width: auto;
min-width: 0;
max-width: none;
margin: 0 16px;
padding: 28px 0 44px;
}.hero-content h1,.hero-lead,.hero-badges{
min-width: 0;
max-width: 100%;
overflow-wrap: anywhere;
}.hero-content .eyebrow{
order: 1;
}.hero-content h1{
order: 2;
}.hero-lead{
order: 3;
}.hero-actions{
order: 4;
margin-top: 20px;
}.hero-badges{
order: 5;
margin-top: 18px;
}.hero-actions .btn,.lead-form .btn{
width: 100%;
}.trust,.lead-panel,.contacts,.service-detail,.site-footer{
grid-template-columns: 1fr;
}.trust-list{
grid-template-columns: 1fr;
}.price-row{
grid-template-columns: 1fr;
gap: 4px;
}.contact-cards{
grid-template-columns: 1fr;
}.site-footer nav{
grid-template-columns: 1fr;
}}@media (max-width: 640px) {.site-header{
min-height: 66px;
padding: 10px 12px;
}.brand{
font-size: 19px;
}.phone-link,.contact-pill{
min-height: 40px;
width: 40px;
padding: 0;
}.menu-button{
width: 40px;
height: 40px;
}h1{
font-size: clamp(34px, 10.5vw, 46px);
}h2{
font-size: clamp(28px, 9vw, 40px);
}.section{
width: min(var(--container), calc(100% - 24px));
padding: 48px 0;
}.hero-content{
margin: 0 12px;
}.hero-badges{
gap: 8px;
}.hero-badges span{
min-height: 34px;
font-size: 11px;
}.service-grid,.process-grid,.note-grid,.service-visual-grid,.link-grid{
grid-template-columns: 1fr;
}.lead-form,.modal-card{
padding: 20px;
}.floating-actions{
display: none;
}.cookie-bar{
left: 10px;
bottom: 10px;
width: calc(100% - 20px);
align-items: flex-start;
transform: none;
font-size: 12px;
}}@media (max-width: 640px) {.site-header{
gap: 6px;
padding-inline: 10px;
}.brand{
font-size: 17px;
letter-spacing: 0;
}.header-actions{
gap: 5px;
}.phone-link,.contact-pill,.menu-button{
width: 38px;
height: 38px;
min-height: 38px;
}}

.swiper,.swiper-container,.slick-slider{overflow:visible!important}
.swiper-wrapper,.slick-track{display:flex!important;flex-wrap:wrap!important;transform:none!important;transition:none!important;width:auto!important;gap:24px}
.swiper-slide,.slick-slide{flex:1 1 320px!important;width:auto!important;max-width:100%!important;transform:none!important;opacity:1!important;visibility:visible!important;margin:0!important}
.swiper-button-next,.swiper-button-prev,.swiper-pagination,.swiper-scrollbar,.slick-arrow,.slick-dots,.inline-arrows-wrap{display:none!important}
