:root{
--green:#71885f;
--green-action:#647952;
--green-dark:#4f6543;
--green-light:#edf1e9;
--green-pale:#f7f8f4;
--orange:#dfa128;
--ink:#242a27;
--text:#454b47;
--muted:#686f68;
--line:#dce2d8;
--focus:#243f2f;
--cream:#faf9f5;
--warm:#f9f5ee;
--white:#fff;
--radius:16px;
--shadow:0 12px 32px rgba(45,56,44,.055);
}
*{
box-sizing:border-box;
}
html{
scroll-behavior:smooth;
}
body{
margin:0;
font-family:"Segoe UI",Arial,Helvetica,sans-serif;
font-size:16px;
line-height:1.65;
color:var(--text);
background:var(--white);
-webkit-font-smoothing:antialiased;
}
a{
color:inherit;
text-decoration:none;
}
a,
button,
.btn,
.navbar-toggler{
touch-action:manipulation;
}
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.navbar-toggler:focus-visible,
.dropdown-item:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
outline:3px solid var(--focus);
outline-offset:3px;
box-shadow:none!important;
}
img{
max-width:100%;
height:auto;
}
svg{
display:block;
}
.row>*{
min-width:0;
}
.container{
width:100%;
max-width:1240px;
}
.site-header{
background:rgba(255,255,255,.97);
border-bottom:1px solid rgba(36,42,39,.08);
backdrop-filter:blur(12px);
}
.navbar{
min-height:88px;
padding:0;
}
.navbar-brand{
min-width:0;
margin-right:2rem;
padding:.6rem 0;
}
.navbar-brand img{
width:auto;
height:64px;
}
.nav-link{
position:relative;
padding:.8rem .9rem!important;
font-size:.92rem;
font-weight:650;
color:var(--ink);
}
.nav-link:hover,
.nav-link.active{
color:var(--green-dark);
}
.nav-link.active::after{
content:"";
position:absolute;
bottom:.42rem;
left:.9rem;
width:20px;
height:2px;
background:var(--orange);
border-radius:10px;
}
.dropdown-menu{
padding:.5rem;
border:1px solid var(--line);
border-radius:12px;
box-shadow:var(--shadow);
}
.dropdown-item{
padding:.65rem .8rem;
border-radius:8px;
font-size:.9rem;
}
.dropdown-item:hover{
background:var(--green-light);
color:var(--green-dark);
}
.navbar-toggler{
min-width:44px;
min-height:44px;
display:inline-flex;
align-items:center;
justify-content:center;
border:0;
box-shadow:none!important;
}
.btn{
border-radius:9px;
font-weight:650;
padding:.72rem 1.2rem;
}
.btn-lg{
padding:.88rem 1.4rem;
font-size:.96rem;
}
.btn-brand{
background:var(--green-action);
border-color:var(--green-action);
color:var(--white);
}
.btn-brand:hover,
.btn-brand:focus{
background:var(--green-dark);
border-color:var(--green-dark);
color:var(--white);
}
.btn-outline-brand{
background:transparent;
border:1px solid var(--green);
color:var(--green-dark);
}
.btn-outline-brand:hover,
.btn-outline-brand:focus{
background:var(--green-light);
border-color:var(--green-dark);
color:var(--green-dark);
}
.offcanvas{
max-width:360px;
}
.offcanvas-header{
border-bottom:1px solid var(--line);
}
.offcanvas-logo{
width:220px;
height:auto;
}
.offcanvas-body{
display:flex;
flex-direction:column;
}
.mobile-nav{
display:flex;
flex-direction:column;
}
.mobile-nav a{
padding:.85rem 0;
border-bottom:1px solid var(--line);
font-weight:650;
}
.offcanvas-contact{
margin-top:auto;
padding-top:1.5rem;
}
.offcanvas-contact p{
margin-bottom:.35rem;
color:var(--muted);
}
.offcanvas-contact>a:not(.btn){
min-height:44px;
display:inline-flex;
align-items:center;
font-weight:650;
color:var(--green-dark);
word-break:break-word;
}
.hero{
padding:3.6rem 0 2.4rem;
background:linear-gradient(180deg,#fff 0%,#fcfcfa 100%);
}
.hero h1{
max-width:620px;
margin:0 0 1.2rem;
font-size:clamp(2.65rem,4.7vw,4.65rem);
line-height:1.03;
letter-spacing:-.047em;
font-weight:760;
color:var(--ink);
}
.hero-heading-secondary{
max-width:620px;
margin:0 0 1.15rem;
font-size:clamp(1.55rem,2.5vw,2.15rem);
line-height:1.28;
font-weight:650;
letter-spacing:-.025em;
color:var(--text);
}
.hero-subtitle{
margin:0 0 1rem;
font-size:1.48rem;
line-height:1.3;
font-weight:650;
color:var(--green-action);
}
.hero-copy{
max-width:610px;

margin:0 0 1.7rem;
font-size:1.03rem;
line-height:1.72;
}
.hero-buttons{
display:flex;
gap:.8rem;
flex-wrap:wrap;
margin-bottom:1.8rem;
}
.hero-buttons .btn-outline-brand span{
margin-left:.5rem;
}
.trust-row{
width:100%;
max-width:700px;
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.9rem;
}
.trust-point{
min-width:0;
display:flex;
align-items:center;
gap:.6rem;
font-size:.8rem;
line-height:1.3;
font-weight:600;
color:var(--ink);
}
.icon-circle{
width:38px;
height:38px;
min-width:38px;
display:grid;
place-items:center;
border:1px solid rgba(113,136,95,.45);
border-radius:50%;
color:var(--green-dark);
}
.icon-circle svg{
width:20px;
height:20px;
fill:none;
stroke:currentColor;
stroke-width:1.35;
stroke-linecap:round;
stroke-linejoin:round;
}
.hero-system{
position:relative;
width:100%;
min-height:430px;
}
.system-orbit{
position:absolute;
width:330px;
height:330px;
left:50%;
top:50%;
transform:translate(-50%,-50%);
border:1px dashed rgba(79,101,67,.38);
border-radius:50%;
}
.system-ring{
position:absolute;
width:235px;
height:235px;
left:50%;
top:50%;
transform:translate(-50%,-50%);
border:1px solid rgba(113,136,95,.34);
border-radius:50%;
}
.system-center{
position:absolute;
width:190px;
height:190px;
left:50%;
top:50%;
transform:translate(-50%,-50%);
display:grid;
place-items:center;
border-radius:50%;
background:rgba(255,255,255,.97);
box-shadow:0 10px 35px rgba(50,65,47,.06);
z-index:2;
}
.system-center img{
width:145px;
height:145px;
object-fit:contain;
}
.system-item{
position:absolute;
width:120px;
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
gap:.45rem;
z-index:3;
}
.system-item strong{
font-size:.79rem;
line-height:1.3;
font-weight:650;
color:var(--ink);
}
.system-icon{
width:58px;
height:58px;
display:grid;
place-items:center;
border:1px solid rgba(113,136,95,.52);
border-radius:50%;
background:rgba(255,255,255,.96);
color:var(--green-dark);
}
.system-icon svg{
width:27px;
height:27px;
fill:none;
stroke:currentColor;
stroke-width:1.35;
stroke-linecap:round;
stroke-linejoin:round;
}
.system-item-1{
top:5%;
left:6%;
}
.system-item-2{
top:5%;
right:6%;
}
.system-item-3{
bottom:4%;
left:6%;
}
.system-item-4{
bottom:4%;
right:6%;
}
.situations{
padding:0 0 1rem;
}
.situations-panel{
padding:1.8rem 2.4rem 1.5rem;
border:1px solid #eceee9;
border-radius:18px;
background:linear-gradient(120deg,#fdfcf9,#faf9f5);
}
.section-title-line{
display:grid;
grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
align-items:center;
gap:1.4rem;
margin-bottom:1rem;
}
.section-title-line span{
height:1px;
background:rgba(113,136,95,.45);
}
.section-title-line h2{
margin:0;
font-size:1.45rem;
font-weight:550;
letter-spacing:-.02em;
color:var(--ink);
}
.situation{
height:100%;
padding:1rem 1.3rem;
text-align:center;
}
.situation-icon{
width:55px;
height:55px;
margin:0 auto .8rem;
display:grid;
place-items:center;
border:1px solid rgba(113,136,95,.38);
border-radius:50%;
color:var(--green-dark);
background:rgba(255,255,255,.68);
}
.situation-icon svg{
width:27px;
height:27px;
fill:none;
stroke:currentColor;
stroke-width:1.25;
stroke-linecap:round;
stroke-linejoin:round;
}
.situation p{
max-width:190px;
margin:0 auto;
font-size:.9rem;
line-height:1.45;
color:var(--ink);
}
.services-intro{
padding:2.7rem 0 1.8rem;
text-align:center;
background:linear-gradient(180deg,#f6f8f3,#f8f9f6);
border-top:1px solid var(--line);
}
.services-intro h2{
margin:0;
font-size:clamp(2rem,3.4vw,3rem);
line-height:1.15;
font-weight:700;
letter-spacing:-.035em;
color:var(--ink);
}
.heading-accent{
display:block;
width:28px;
height:2px;
margin:.75rem auto .8rem;
background:var(--orange);
}
.services-intro p{
max-width:760px;
margin:0 auto;
font-size:.98rem;
color:var(--muted);
}
.services{
padding:0 0 1.5rem;
background:#f8f9f6;
}
.service-card{
height:100%;
padding:1.55rem 1.45rem;
border:1px solid var(--line);
border-radius:13px;
background:rgba(255,255,255,.9);
transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.service-card:hover{
transform:translateY(-3px);
border-color:rgba(113,136,95,.45);
box-shadow:var(--shadow);
}
.service-icon{
width:46px;
height:46px;
display:grid;
place-items:center;
margin-bottom:.9rem;
color:var(--green-dark);
}
.service-icon svg{
width:33px;
height:33px;
fill:none;
stroke:currentColor;
stroke-width:1.35;
stroke-linecap:round;
stroke-linejoin:round;
}
.service-card h2{
margin:0 0 .65rem;
font-size:1.12rem;
line-height:1.25;
font-weight:700;
color:var(--ink);
}
.service-card p{
min-height:72px;
margin:0 0 .7rem;
font-size:.88rem;
line-height:1.55;
}
.service-card ul,
.special-card ul{
list-style:none;
padding:0;
margin:0 0 .9rem;
}
.service-card li,
.special-card li{
position:relative;
padding-left:.95rem;
margin-bottom:.22rem;
font-size:.82rem;
line-height:1.5;
}
.service-card li::before{
content:"";
position:absolute;
left:0;
top:.65em;
width:4px;
height:4px;
border-radius:50%;
background:var(--green);
}
.more-link{
min-height:44px;
display:inline-flex;
align-items:center;
gap:.35rem;
padding:.35rem 0;
font-size:.86rem;
font-weight:650;
color:var(--green-dark);
}
.more-link span{
transition:transform .2s ease;
}
.more-link:hover span{
transform:translateX(4px);
}
.special-services{
padding:0 0 2rem;
background:#f8f9f6;
}
.special-card{
height:100%;
display:flex;
gap:1rem;
padding:1.5rem;
border:1px solid var(--line);
border-radius:13px;
background:#fff;
}
.special-card>div{
min-width:0;
}
.special-card-warm{
background:linear-gradient(135deg,#fff,#fbf5ed);
}
.special-icon{
width:52px;
height:52px;
min-width:52px;
display:grid;
place-items:center;
border:1px solid rgba(113,136,95,.35);
border-radius:50%;
color:var(--green-dark);
}
.special-icon svg{
width:26px;
height:26px;
fill:none;
stroke:currentColor;
stroke-width:1.3;
stroke-linecap:round;
stroke-linejoin:round;
}
.special-card h2{
margin:0 0 .35rem;
font-size:1.05rem;
font-weight:700;
color:var(--ink);
}
.special-card p{
margin:0 0 .6rem;
font-size:.85rem;
line-height:1.5;
}
.special-card li::before{
content:"✓";
position:absolute;
left:0;
top:0;
color:var(--green-dark);
font-weight:700;
font-size:.78rem;
}
.about-home{
padding:2.6rem 0;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
background:linear-gradient(90deg,#fff,#fbfaf6,#fff);
}
.about-logo{
width:190px;
height:190px;
margin:auto;
display:grid;
place-items:center;
border:1px solid rgba(113,136,95,.2);
border-radius:50%;
background:radial-gradient(circle,#fff 0%,#f6f8f3 100%);
}
.about-logo img{
width:140px;
height:140px;
object-fit:contain;
}
.about-home h2{
margin:0 0 .65rem;
font-size:1.8rem;
font-weight:650;
letter-spacing:-.025em;
color:var(--ink);
}
.about-home p{
margin-bottom:.7rem;
font-size:.94rem;
}
.about-home blockquote{
margin:1rem 0;
padding-left:1rem;
border-left:2px solid var(--green);
font-size:.95rem;
line-height:1.65;
font-weight:600;
font-style:italic;
color:var(--green-dark);
}
.about-values{
padding-left:1.6rem;
border-left:1px solid var(--line);
}
.about-values>div{
display:flex;
align-items:flex-start;
gap:.7rem;
margin-bottom:1rem;
}
.about-values>div:last-child{
margin-bottom:0;
}
.about-values span{
width:35px;
height:35px;
min-width:35px;
display:grid;
place-items:center;
color:var(--green-dark);
}
.about-values svg{
width:23px;
height:23px;
fill:none;
stroke:currentColor;
stroke-width:1.3;
stroke-linecap:round;
stroke-linejoin:round;
}
.about-values p{
margin:0;
font-size:.84rem;
line-height:1.4;
}
.process{
padding:2.5rem 0;
background:#fff;
}
.process-title{
margin-bottom:1.7rem;
}
.process-step{
height:100%;
padding:1rem 1.2rem;
}
.step-head{
display:flex;
align-items:center;
gap:.8rem;
margin-bottom:.7rem;
}
.step-number{
width:34px;
height:34px;
display:grid;
place-items:center;
border-radius:50%;
background:var(--green-action);
color:#fff;
font-weight:700;
}
.step-icon{
width:40px;
height:40px;
display:grid;
place-items:center;
color:var(--green-dark);
}
.step-icon svg{
width:28px;
height:28px;
fill:none;
stroke:currentColor;
stroke-width:1.3;
stroke-linecap:round;
stroke-linejoin:round;
}
.process-step h3{
margin:0 0 .4rem;
font-size:1rem;
font-weight:700;
color:var(--ink);
}
.process-step p{
margin:0;
font-size:.85rem;
line-height:1.55;
}
.appointment-note{
margin:1.2rem 0 0;
text-align:center;
font-size:.86rem;
font-weight:650;
color:var(--green-dark);
}
.quick-info{
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
background:#f7f8f5;
}
.quick-item{
height:100%;
display:flex;
gap:.9rem;
padding:1.4rem 1.2rem;
border-right:1px solid var(--line);
}
.quick-item>div{
min-width:0;
}
.quick-info .col-xl-3:last-child .quick-item{
border-right:0;
}
.quick-icon{
width:44px;
height:44px;
min-width:44px;
display:grid;
place-items:center;
border:1px solid rgba(113,136,95,.38);
border-radius:50%;
color:var(--green-dark);
}
.quick-icon svg{
width:23px;
height:23px;
fill:none;
stroke:currentColor;
stroke-width:1.3;
stroke-linecap:round;
stroke-linejoin:round;
}
.quick-item h2{
margin:0 0 .3rem;
font-size:.95rem;
font-weight:700;
color:var(--ink);
}
.quick-item p{
margin:0 0 .45rem;
font-size:.8rem;
line-height:1.5;
}
.quick-item a{
min-height:44px;
display:inline-flex;
align-items:center;
font-size:.8rem;
font-weight:650;
color:var(--green-dark);
}
.contact-band{
padding:1.5rem 0;
background:linear-gradient(90deg,#5a724d,var(--green-action));
color:#fff;
}
.contact-band-title{
display:flex;
align-items:center;
gap:1rem;
}
.contact-band-title>div{
min-width:0;
}
.contact-main-icon{
width:58px;
height:58px;
min-width:58px;
display:grid;
place-items:center;
border:1px solid rgba(255,255,255,.5);
border-radius:50%;
}
.contact-main-icon svg{
width:28px;
height:28px;
fill:none;
stroke:currentColor;
stroke-width:1.3;
stroke-linecap:round;
stroke-linejoin:round;
}
.contact-band h2{
margin:0 0 .2rem;
font-size:1.55rem;
font-weight:650;
}
.contact-band p{
margin:0;
font-size:.86rem;
line-height:1.5;
color:#fff;
}
.contact-actions{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.8rem;
}
.contact-action{
min-width:0;
display:flex;
align-items:center;
gap:.75rem;
min-height:67px;
padding:.75rem 1rem;
border:1px solid rgba(255,255,255,.42);
border-radius:9px;
background:rgba(0,0,0,.06);
color:#fff;
}
.contact-action>div{
min-width:0;
}
.contact-action-light{
background:#fff;
color:var(--green-dark);
}
.contact-action>span{
width:29px;
height:29px;
min-width:29px;
display:grid;
place-items:center;
}
.contact-action svg{
width:25px;
height:25px;
fill:none;
stroke:currentColor;
stroke-width:1.3;
stroke-linecap:round;
stroke-linejoin:round;
}
.contact-action strong,
.contact-action small{
display:block;
}
.contact-action strong{
font-size:.86rem;
}
.contact-action small{
font-size:.72rem;
opacity:1;
overflow-wrap:anywhere;
}
.site-footer{
padding:2.4rem 0 1rem;
background:#fafbf8;
}
.footer-logo{
width:245px;
height:auto;
}
.footer-claim{
margin:.75rem 0 0;
font-size:.82rem;
font-weight:650;
color:var(--green-dark);
}
.site-footer h2{
margin:0 0 .6rem;
font-size:.78rem;
font-weight:750;
text-transform:uppercase;
letter-spacing:.06em;
color:var(--ink);
}
.site-footer a,
.site-footer p{
display:block;
margin:0 0 .32rem;
font-size:.78rem;
line-height:1.45;
}
.site-footer a{
min-height:30px;
display:flex;
align-items:center;
overflow-wrap:anywhere;
}
.site-footer a:hover{
color:var(--green-dark);
}
.footer-availability{
margin-top:.55rem!important;
color:var(--green-dark);
font-weight:600;
}
.footer-bottom{
display:flex;
align-items:center;
justify-content:space-between;
gap:1rem;
margin-top:1.7rem;
padding-top:.9rem;
border-top:1px solid var(--line);
font-size:.7rem;
color:var(--muted);
}
.footer-bottom div{
display:flex;
gap:1rem;
}
.footer-bottom a{
margin:0;
font-size:.7rem;
}
.mobile-contact-bar{
position:fixed;
left:0;
right:0;
bottom:0;
z-index:1040;
display:grid;
grid-template-columns:1fr 1.2fr;
height:58px;
box-shadow:0 -5px 20px rgba(36,42,39,.1);
}
.mobile-contact-bar a{
display:flex;
align-items:center;
justify-content:center;
font-size:.86rem;
font-weight:700;
}
.mobile-contact-bar a:first-child{
background:#fff;
color:var(--green-dark);
}
.mobile-contact-bar a:last-child{
background:var(--green-action);
color:#fff;
}
.btn-brand:focus-visible,
.contact-band a:focus-visible,
.mobile-contact-bar a:last-child:focus-visible{
outline-color:#fff;
box-shadow:0 0 0 2px var(--focus)!important;
}
.form-control::placeholder,
.form-select::placeholder{
color:var(--muted);
opacity:1;
}
.form-control:focus,
.form-select:focus,
.form-check-input:focus{
border-color:var(--green-dark);
box-shadow:0 0 0 .2rem rgba(79,101,67,.18);
}
@media(max-width:1263.98px){
.container>.row.g-5{
--bs-gutter-x:1.5rem;
}
}
@media(min-width:1200px) and (max-width:1399.98px){
.trust-row{
grid-template-columns:repeat(2,minmax(0,1fr));
max-width:100%;
}
}
@media(max-width:1399.98px){
body{
padding-bottom:58px;
}
.navbar{
min-height:78px;
}
.navbar-brand img{
height:57px;
}
.hero-system{
max-width:600px;
margin:0 auto;
}
}
@media(max-width:991.98px){
.trust-row{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.about-values{
padding-left:0;
padding-top:1.2rem;
border-left:0;
border-top:1px solid var(--line);
}
.quick-item{
border-right:0;
border-bottom:1px solid var(--line);
}
.contact-actions{
grid-template-columns:1fr;
}
}
@media(max-width:767.98px){
.site-footer a{
min-height:44px;
display:flex;
align-items:center;
}
.footer-bottom a{
min-height:44px;
}
.hero{
padding:2.8rem 0 1.8rem;
}
.hero h1{
font-size:2.6rem;
}
.hero-heading-secondary{
font-size:1.7rem;
}
.hero-subtitle{
font-size:1.25rem;
}
.hero-buttons{
flex-direction:column;
}
.hero-buttons .btn{
width:100%;
}
.hero-buttons .btn-brand{
display:none;
}
.hero-system{
min-height:480px;
}
.system-orbit{
width:285px;
height:285px;
}
.system-ring{
width:205px;
height:205px;
}
.system-center{
width:165px;
height:165px;
}
.system-center img{
width:125px;
height:125px;
}
.system-item{
width:105px;
}
.system-item-1{
top:1%;
left:0;
}
.system-item-2{
top:1%;
right:0;
}
.system-item-3{
bottom:1%;
left:0;
}
.system-item-4{
bottom:1%;
right:0;
}
.situations-panel{
padding:1.5rem 1rem;
}
.section-title-line{
grid-template-columns:35px auto 35px;
gap:.7rem;
}
.section-title-line h2{
font-size:1.2rem;
text-align:center;
}
.situation{
padding:1.2rem .6rem;
border-bottom:1px solid rgba(113,136,95,.16);
}
.services-intro h2{
font-size:2rem;
}
.service-card p{
min-height:auto;
}
.special-card{
flex-direction:column;
}
.about-logo{
width:150px;
height:150px;
}
.about-logo img{
width:110px;
height:110px;
}
.contact-band-title{
align-items:flex-start;
}
.footer-bottom{
align-items:flex-start;
flex-direction:column;
}
}
@media(max-width:575.98px){
.container{
padding-left:1rem;
padding-right:1rem;
}
.navbar-brand{
max-width:190px;
}
.navbar-brand img{
width:100%;
height:auto;
}
.hero h1{
font-size:2.25rem;
}
.hero-heading-secondary{
font-size:1.55rem;
}
.hero-copy{
font-size:.95rem;
}
.trust-row{
grid-template-columns:1fr 1fr;
gap:.8rem;
}
.trust-point{
font-size:.72rem;
}
.icon-circle{
width:34px;
height:34px;
min-width:34px;
}
.hero-system{
min-height:430px;
}
.system-orbit{
width:245px;
height:245px;
}
.system-ring{
width:180px;
height:180px;
}
.system-center{
width:145px;
height:145px;
}
.system-center img{
width:105px;
height:105px;
}
.system-icon{
width:50px;
height:50px;
}
.system-item strong{
font-size:.7rem;
}
.section-title-line{
grid-template-columns:25px auto 25px;
}
.quick-item{
padding:1.2rem .8rem;
}
.contact-band h2{
font-size:1.3rem;
}
}
@media(prefers-reduced-motion:reduce){
html{
scroll-behavior:auto;
}
*{
transition:none!important;
animation:none!important;
}
}