@charset "utf-8";
/* CSS Document */

a, a:hover, a:focus, a:active {
      text-decoration: none;
      color: inherit;
}

/* 
Dark Green #17371b
Light Green #3d5d3a
Beige #fef9ee
Light beige #fffefb
*/

/* HEADER.............................................................................HEADER....MOB */	

.site-header{
    font-family:'Montserrat',sans-serif;
}

.mobile-header-wrap{
    width:100%;
    margin:0 auto;
    background:#fffefb;
    border-bottom:1px solid #d8d2c4;
    position:fixed;
    top:0;
    left:0;
    z-index:1200;
    display:block;
    transition:padding .3s ease,box-shadow .3s ease,background .3s ease;
}

.mobile-header-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 14px;
    gap:10px;
    transition:padding .3s ease;
}

.mobile-burger{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:34px;
    height:34px;
    background:none;
    border:0;
    padding:0;
    cursor:pointer;
    flex:0 0 34px;
    position:relative;
    z-index:1302;
}

.mobile-burger span{
    display:block;
    width:28px;
    height:3px;
    background:#1f4d36;
    border-radius:2px;
    transition:transform .3s ease,opacity .3s ease,background .3s ease,top .3s ease;
    transform-origin:center;
    position:absolute;
    left:3px;
}

.mobile-burger span:nth-child(1){
    top:8px;
}

.mobile-burger span:nth-child(2){
    top:15px;
}

.mobile-burger span:nth-child(3){
    top:22px;
}

.mobile-burger.active span:nth-child(1){
    transform:rotate(45deg);
    top:15px;
    background:#17371b;
}

.mobile-burger.active span:nth-child(2){
    opacity:0;
}

.mobile-burger.active span:nth-child(3){
    transform:rotate(-45deg);
    top:15px;
    background:#17371b;
}

.mobile-header-logo{
    flex:1 1 auto;
    display:flex;
    justify-content:center;
    align-items:center;
    min-width:0;
}

.mobile-header-logo img{
    display:block;
    width:100px;
    height:auto;
    transition:width .3s ease;
}

.mobile-phone-link{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:2px solid #1f4d36;
    border-radius:50%;
    color:#1f4d36;
    text-decoration:none;
    flex:0 0 42px;
    transition:all .35s ease;
    transform:scale(1);
}

.mobile-phone-link svg{
    width:20px;
    height:20px;
    fill:currentColor;
    transition:transform .35s ease;
}

.mobile-phone-link:hover{
    background:#17371b;
    color:#fef9ee;
    transform:scale(1.08);
}

.mobile-phone-link:hover svg{
    transform:scale(1.08);
}

.mobile-header-cta{
    padding:0 14px 14px 14px;
    max-height:80px;
    opacity:1;
    overflow:hidden;
    transition:max-height .3s ease,opacity .25s ease,padding .3s ease,transform .3s ease;
}

.mobile-header-cta a{
    display:block;
    width:100%;
    background:#1f4d36;
    color:#ffffff;
    text-decoration:none;
    text-align:center;
    font-size:18px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    padding:10px 16px;
    border-radius:18px;
    box-sizing:border-box;
    transition:background .25s ease,color .25s ease,transform .25s ease;
}

.mobile-header-cta a:hover{
    background:#17371b;
    color:#fef9ee;
    transform:translateY(-1px);
}

.mobile-header-wrap.scrolled{
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.mobile-header-wrap.scrolled .mobile-header-top{
    padding:8px 14px;
}

.mobile-header-wrap.scrolled .mobile-header-logo img{
    width:72px;
}

.mobile-header-wrap.scrolled .mobile-header-cta{
    max-height:0;
    opacity:0;
    padding:0 14px;
    transform:translateY(-8px);
}

.mobile-quote-float{
    position:fixed;
    right:14px;
    bottom:14px;
    z-index:1250;
    opacity:0;
    visibility:hidden;
    transform:translateY(16px);
    transition:opacity .3s ease,visibility .3s ease,transform .3s ease;
	font-family:'Montserrat',sans-serif;
}

.mobile-quote-float a{
    display:inline-block;
    background:#1f4d36;
    color:#ffffff;
    text-decoration:none;
    text-align:center;
    font-size:16px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    padding:14px 18px;
    border-radius:24px;
    box-shadow:0 10px 24px rgba(0,0,0,.22);
    transition:background .25s ease,transform .25s ease;
}

.mobile-quote-float a:hover{
    background:#17371b;
    transform:translateY(-2px);
}

.mobile-quote-float.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.mobile-nav-overlay{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
    background:rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    transition:opacity .35s ease,visibility .35s ease;
    z-index:1098;
}

.mobile-nav-overlay.active{
    opacity:1;
    visibility:visible;
}

.mobile-nav{
position:fixed;
top:180px;
left:0;
width:100%;
height:calc(100vh - 180px);
background:#17371b;
transform:translateY(-120%);
transition:transform .35s ease,top .3s ease,height .3s ease;
z-index:1100;
padding:20px 20px 30px 20px;
box-sizing:border-box;
box-shadow:0 10px 30px rgba(0,0,0,.25);
overflow-y:auto;
-webkit-overflow-scrolling:touch;
}

.mobile-header-wrap.scrolled ~ .mobile-nav{
top:104px;
height:calc(100vh - 104px);
}

.mobile-nav.active{
transform:translateY(0);
}

.mobile-nav ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
}

.mobile-nav li{
    margin:0;
    padding:0;
    text-align:center;
    border-bottom:1px solid rgba(254,249,238,.18);
}

.mobile-nav li:first-child{
    border-top:1px solid rgba(254,249,238,.18);
}

.mobile-nav a{
    color:#ffffff;
    text-decoration:none;
    font-size:15px;
    font-weight:700;
    line-height:1.2;
    display:block;
    padding:10px 0;
    transition:color .25s ease,background .25s ease;
    font-family:'Montserrat',sans-serif;
    text-transform:uppercase;
    letter-spacing:2px;
}

.mobile-nav a:hover{
    color:#fef9ee;
    background:rgba(254,249,238,.06);
}

.phone-popup-overlay{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:1400;
}

.phone-popup-overlay.active{
    opacity:1;
    visibility:visible;
}

.phone-popup{
    position:fixed;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) scale(.92);
    width:90%;
    max-width:320px;
    background:#ffffff;
    border-radius:12px;
    padding:24px 20px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.3);
    opacity:0;
    visibility:hidden;
    transition:.3s ease;
    z-index:1401;
    font-family:'Montserrat',sans-serif;
}

.phone-popup.active{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,-50%) scale(1);
}

.phone-popup-title{
    font-size:18px;
    font-weight:700;
    margin-bottom:12px;
    color:#444;
}

.phone-popup-number{
    display:inline-block;
    font-size:26px;
    font-weight:700;
    color:#17371b;
    padding:10px 14px;
    border-radius:6px;
    transition:.25s;
    letter-spacing:2px;
    text-decoration:underline!important;
}

.phone-popup-number:hover{
    background:#fef9ee;
}

.desktop-header-wrap{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#fffefb;
    border-bottom:1px solid #d8d2c4;
    z-index:1200;
}

.desktop-header-inner{
    max-width:1400px;
    margin:0 auto;
    padding:16px 24px 14px 24px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:30px;
}

.desktop-header-logo{
    flex:0 0 auto;
    display:flex;
    align-items:flex-start;
}

.desktop-header-logo img{
    display:block;
    width:100px;
    height:auto;
}

.desktop-header-right{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
}

.desktop-header-phone{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    color:#1f4d36;
    text-decoration:none;
    font-size:22px;
    font-weight:700;
    line-height:1;
    margin-bottom:20px;
    transition:opacity .25s ease;
}

.desktop-header-phone:hover{
    opacity:.8;
}

.desktop-header-phone svg{
    width:22px;
    height:22px;
    fill:currentColor;
    flex:0 0 22px;
    padding:5px;
    border:2px solid #1f4d36;
    border-radius:50%;
}

.desktop-header-bottom{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:26px;
    width:100%;
}

.desktop-nav{
    position:relative;
}

.desktop-nav ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:26px;
}

.desktop-nav li{
    margin:0;
    padding:0;
    position:relative;
}

.desktop-nav a{
    display:block;
    color:#17371b;
    text-decoration:none;
    font-size:16px;
    font-weight:700;
    line-height:1.2;
    transition:opacity .25s ease,color .25s ease,background .25s ease;
}

.desktop-nav a:hover{
    opacity:.8;
}

.desktop-nav .menu-item-has-children > a{
    padding-right:18px;
    position:relative;
}

.desktop-nav .menu-item-has-children > a:after{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:7px;
    height:7px;
    border-right:2px solid #17371b;
    border-bottom:2px solid #17371b;
    transform:translateY(-65%) rotate(45deg);
    transition:transform .25s ease;
}

.desktop-nav .menu-item-has-children.open > a:after{
    transform:translateY(-30%) rotate(-135deg);
}

.desktop-nav .sub-menu{
    position:absolute;
    top:100%;
    left:0;
    min-width:230px;
    background:#17371b;
    border-radius:10px;
    padding:8px 0;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
    display:block;
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:opacity .25s ease,visibility .25s ease,transform .25s ease;
    z-index:1300;
    margin-top:20px;
}

.desktop-nav .sub-menu li{
    display:block;
    width:100%;
}

.desktop-nav .sub-menu a{
    color:#fffefb;
    padding:12px 18px;
    font-size:14px;
    white-space:nowrap;
}

.desktop-nav .sub-menu a:hover{
    background:rgba(254,249,238,.08);
    color:#fef9ee;
    opacity:1;
}

.desktop-nav .menu-item-has-children.open > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.desktop-quote-btn{
    display:inline-block;
    background:#1f4d36;
    color:#ffffff;
    text-decoration:none;
    text-align:center;
    font-size:16px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    padding:12px 22px;
    border-radius:22px;
    white-space:nowrap;
    transition:background .25s ease,color .25s ease,transform .25s ease;
}

.desktop-quote-btn:hover{
    background:#17371b;
    color:#fef9ee;
    transform:translateY(-1px);
}

.hero{
    position:relative;
    width:100%;
    min-height:650px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Montserrat',sans-serif;
    text-align:center;
    padding-top:200px;
    box-sizing:border-box;
    transition:padding-top .3s ease,min-height .3s ease;
}

.hero.hero-scrolled{
    padding-top:120px;
}

body.menu-open{
    overflow:hidden;
}

@media (min-width:1000px){
    .mobile-header-wrap{
        display:none;
    }
    .mobile-nav{
        display:none;
    }
    .mobile-nav-overlay{
        display:none;
    }
    .mobile-quote-float{
        display:none;
    }
    .desktop-header-wrap{
        display:block;
    }
    .phone-popup-overlay{
        display:none;
    }
    .phone-popup{
        display:none;
    }
}


/* HERO.................................................MOB */	

.hero{
position:relative;
width:100%;
min-height:650px;
display:flex;
align-items:center;
justify-content:center;
font-family:'Montserrat',sans-serif;
text-align:center;
padding-top:200px;
box-sizing:border-box;
}

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
}

.hero-content{
position:relative;
z-index:2;
max-width:700px;
width:100%;
margin:0 auto;
padding:40px 24px;
box-sizing:border-box;
color:#ffffff;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
}

.hero h1{
font-size:28px;
font-weight:700;
margin:0 0 16px 0;
line-height:1.2;
text-transform: uppercase;
letter-spacing: 2px;
}

.hero-sub{
font-size:16px;
margin:0 0 24px 0;
max-width:520px;
}

.hero-buttons{
display:flex;
gap:14px;
margin:0 0 20px 0;
flex-wrap:wrap;
justify-content:center;
}

.btn-primary{
background:#3d5d3a;
color:#ffffff;
padding:13px 32px;
font-size:17px;
border-radius:28px;
font-weight:700;
text-decoration:none;
display:inline-block;
box-shadow:0 6px 18px rgba(0,0,0,0.2);
transition:all .25s ease;
}

.btn-primary:hover{
background:#17371b;
color: #fff;
transform:translateY(-2px);
box-shadow:0 10px 24px rgba(0,0,0,0.3);
}

/* Secondary */
.btn-secondary{
background:rgba(255,255,255,0.9);
border:2px solid #ffffff;
color:#17371b;
padding:13px 32px;
font-size:17px;
border-radius:28px;
font-weight:700;
text-decoration:none;
display:inline-block;
backdrop-filter:blur(2px);
transition:all .25s ease;
}

.btn-secondary:hover{
background:#ffffff;
color:#17371b;
transform:translateY(-2px);
box-shadow:0 8px 20px rgba(0,0,0,0.25);
}

.hero-trust{
display:flex;
align-items:center;
justify-content:center;
flex-wrap:wrap;
gap:10px;
font-size:14px;
color:#ffffff;
margin-top:10px;
}

.hero-trust img{
height:16px;
width:auto;
display:block;
}

.hero-trust .dot{
opacity:.8;
}

@media (min-width:1000px){
.hero{
padding-top:170px;
}
}


@media (min-width:500px){
.hero h1{
font-size:34px;
}
.hero-sub{
font-size:17px;
}
}

@media (min-width:750px){
.hero h1{
font-size:42px;
}
.hero-sub{
font-size:18px;
}
}

.hero-eyebrow{
margin:0 0 12px;
font-size:12px;
line-height:1.4;
letter-spacing:3px;
font-weight:700;
text-transform:uppercase;
color:#cfe3c7;
position:relative;
display:inline-block;
padding:0 22px;
}

/* subtle lines either side */
.hero-eyebrow:before,
.hero-eyebrow:after{
content:"";
position:absolute;
top:50%;
width:16px;
height:1px;
background:rgba(255,255,255,0.5);
transform:translateY(-50%);
}

.hero-eyebrow:before{
left:0;
}

.hero-eyebrow:after{
right:0;
}

@media (min-width:750px){
.hero-eyebrow{
font-size:13px;
letter-spacing:4px;
padding:0 28px;
}

.hero-eyebrow:before,
.hero-eyebrow:after{
width:22px;
}
}
/* TRUST BAR.................................................MOB */	

.trust-bar{
width:100%;
box-sizing:border-box;
background:#fffdf7;
padding:18px 12px;
display:grid;
grid-template-columns:1fr; /* mobile */
gap:20px;
border-top:1px solid #e6e0d2;
font-family:'Montserrat',sans-serif;
justify-content:center;     /* centre the grid */
justify-items:center;       /* centre items inside cells */
}

/* Tablet = 2 x 2 */
@media(min-width:600px){
.trust-bar{
grid-template-columns:repeat(2, auto); /* auto stops stretching */
gap:50px;
}
}

/* Desktop = 4 x 1 */
@media(min-width:1000px){
.trust-bar{
grid-template-columns:repeat(4, auto);
}
}

.trust-item{
display:flex;
align-items:center;
gap:10px;
font-size:14px;
font-weight:600;
color:#17371b;

/* THIS centres each block nicely */
justify-content:center;
}

.trust-item img{
width:60px;
height:60px;
object-fit:contain;
flex:0 0 60px;
}

.trust-text{
display:flex;
flex-direction:column;
line-height:1.2;
text-align:left; /* keeps text readable */
}


/* BODY.................................................BODY */	

.body-section{
    width:100%;
    background:#fff;
    padding:60px 20px;
    box-sizing:border-box;
    font-family:'Montserrat',sans-serif;
}

.body-section-inner{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr;
    gap:40px;
    align-items:center;
}

.body-text{
    order:1;
}

.body-image{
    order:2
}
.body-image img{
margin-bottom: 15px;
}
.body-text h2{
    font-size:34px;
    line-height:1.2;
    font-weight:700;
    color:#17371b;
    margin:0 0 20px 0;
}

.body-text p{
    font-size:17px;
    line-height:1.7;
    color:#333333;
    margin:0 0 18px 0;
}

.body-points{
    margin:0 0 28px 0;
    padding:0;
    list-style:none;
}

.body-points li{
    position:relative;
    padding-left:28px;
    margin-bottom:14px;
    font-size:16px;
    line-height:1.6;
    color:#17371b;
    font-weight:600;
}

.body-points li:before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#3d5d3a;
}

.body-buttons{
    display:flex;
    gap:14px;
    margin:0;
    flex-wrap:wrap;
    justify-content:flex-start;
}

.body-buttons .btn-primary{
    background:#3d5d3a;
    color:#ffffff;
    padding:13px 32px;
    font-size:17px;
    border-radius:28px;
    font-weight:700;
    text-decoration:none;
    display:inline-block;
    box-shadow:0 6px 18px rgba(0,0,0,0.2);
    transition:all .25s ease;
}

.body-buttons .btn-primary:hover{
    background:#17371b;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(0,0,0,0.3);
}

.body-buttons .btn-secondary{
    background:#fef9ee;
    border:2px solid #d8d2c4;
    color:#17371b;
    padding:13px 32px;
    font-size:17px;
    border-radius:28px;
    font-weight:700;
    text-decoration:none;
    display:inline-block;
    transition:all .25s ease;
}

.body-buttons .btn-secondary:hover{
    background:#ffffff;
    color:#17371b;
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,0,0,0.12);
}

.body-image img{
display:block;
width:100%;
height:auto;

border-radius:20px;
border:1px solid #17371b;

box-shadow:
0 10px 24px rgba(0,0,0,0.08),
0 4px 10px rgba(0,0,0,0.05);

transition:transform .25s ease, box-shadow .25s ease;
}

@media only screen and (min-width:1000px){
    .body-section{
        padding:80px 30px;
    }
    .body-section-inner{
        grid-template-columns:1.2fr .8fr;
        gap:60px;
    }
}

@media only screen and (max-width:999px){
    .body-section{
        padding:50px 20px;
    }
    .body-text h2{
        font-size:30px;
    }
    .body-buttons{
        justify-content:center;
    }
    .body-text{
        text-align:center;
    }
    .body-points{
        display:inline-block;
        text-align:left;
    }
}

@media only screen and (max-width:700px){
    .body-text h2{
        font-size:26px;
    }
    .body-text p{
        font-size:16px;
    }
    .body-buttons{
        flex-direction:column;
        align-items:center;
    }
    .body-buttons .btn-primary,
    .body-buttons .btn-secondary{
        width:100%;
        max-width:320px;
        text-align:center;
        box-sizing:border-box;
    }
}

/* BODY WIDTH.................................................BODY WIDTH */	
.body-section-simple{
width:100%;
background:#fff;
padding:60px 20px;
box-sizing:border-box;
font-family:'Montserrat',sans-serif;
}

.body-section-simple-inner{
max-width:900px;
margin:0 auto;
display:block;
}

.body-text-simple{
text-align:center;
}

.body-text-simple h2{
font-size:34px;
line-height:1.2;
font-weight:700;
color:#17371b;
margin:0 0 20px 0;
}

.body-text-simple p{
font-size:17px;
line-height:1.7;
color:#333333;
margin:0 0 18px 0;
}

.body-points-simple{
margin:0 0 28px 0;
padding:0;
list-style:none;
display:inline-block;
text-align:left;
}

.body-points-simple li{
position:relative;
padding-left:28px;
margin-bottom:14px;
font-size:16px;
line-height:1.6;
color:#17371b;
font-weight:600;
}

.body-points-simple li:before{
content:"";
position:absolute;
left:0;
top:9px;
width:10px;
height:10px;
border-radius:50%;
background:#3d5d3a;
}

.body-buttons-simple{
display:flex;
gap:14px;
margin:0;
flex-wrap:wrap;
justify-content:center;
}

.body-buttons-simple .btn-primary{
background:#3d5d3a;
color:#ffffff;
padding:13px 32px;
font-size:17px;
border-radius:28px;
font-weight:700;
text-decoration:none;
display:inline-block;
box-shadow:0 6px 18px rgba(0,0,0,0.2);
transition:all .25s ease;
}

.body-buttons-simple .btn-primary:hover{
background:#17371b;
transform:translateY(-2px);
box-shadow:0 10px 24px rgba(0,0,0,0.3);
}

.body-buttons-simple .btn-secondary{
background:#fef9ee;
border:2px solid #d8d2c4;
color:#17371b;
padding:13px 32px;
font-size:17px;
border-radius:28px;
font-weight:700;
text-decoration:none;
display:inline-block;
transition:all .25s ease;
}

.body-buttons-simple .btn-secondary:hover{
background:#ffffff;
color:#17371b;
transform:translateY(-2px);
box-shadow:0 8px 20px rgba(0,0,0,0.12);
}

@media only screen and (min-width:1000px){
.body-section-simple{
padding:80px 30px;
}
}

@media only screen and (max-width:999px){
.body-section-simple{
padding:50px 20px;
}

.body-text-simple h2{
font-size:30px;
}
}

@media only screen and (max-width:700px){
.body-text-simple h2{
font-size:26px;
}

.body-text-simple p{
font-size:16px;
}

.body-buttons-simple{
flex-direction:column;
align-items:center;
}

.body-buttons-simple .btn-primary,
.body-buttons-simple .btn-secondary{
width:100%;
max-width:320px;
text-align:center;
box-sizing:border-box;
}
}

/* BODY TESTIMONIALS.................................................BODY TESTIMONIALS */	
.body-testimonials{
width:100%;
padding:80px 20px;
background:#f5f4ef;
font-family:'Montserrat',sans-serif;
text-align:center;
}

.body-testimonials-inner{
max-width:1200px;
margin:0 auto;
}

.body-testimonials-eyebrow{
font-size:12px;
letter-spacing:3px;
font-weight:700;
color:#6d8c69;
margin-bottom:10px;
}

.body-testimonials h2{
font-size:36px;
font-weight:800;
color:#17371b;
margin:0;
}

.body-testimonials-intro{
max-width:700px;
margin:18px auto 40px;
font-size:17px;
line-height:1.7;
color:#555;
}

/* GRID */
.body-testimonials-grid{
display:grid;
grid-template-columns:1fr;
gap:24px;
}

/* CARD */
.body-testimonial-card{
background:#fff;
padding:26px;
border-radius:16px;
text-align:left;
box-shadow:0 8px 24px rgba(0,0,0,0.06);
display:flex;
flex-direction:column;
justify-content:space-between;
}

.body-testimonial-text{
font-size:16px;
line-height:1.7;
color:#444;
margin-bottom:20px;
}

.body-testimonial-stars img{
width:120px;
margin-bottom:16px;
}

/* CLIENT */
.body-testimonial-client{
display:flex;
align-items:center;
gap:12px;
}

.body-testimonial-client img{
width:48px;
height:48px;
border-radius:50%;
object-fit:cover;
}

.body-testimonial-client .name{
font-weight:700;
color:#17371b;
margin:0;
}

.body-testimonial-client .location{
font-size:14px;
color:#777;
margin:0;
}

/* TRUST BAR */
.body-testimonials-bar{
margin-top:50px;
display:grid;
grid-template-columns:1fr;
gap:16px;
background:#efeee7;
padding:20px;
border-radius:16px;
}

.body-testimonials-bar-item{
display:flex;
align-items:center;
gap:12px;
justify-content:center;
font-size:16px;
color:#444;
}

.body-testimonials-bar-item img{
width:26px;
}

/* CTA */
.body-testimonials-cta{
margin-top:30px;
display:flex;
gap:14px;
justify-content:center;
flex-wrap:wrap;
}

/* TABLET */
@media (min-width:700px){

.body-testimonials-grid{
grid-template-columns:repeat(2,1fr);
}

.body-testimonials-bar{
grid-template-columns:repeat(3,1fr);
}
}

/* DESKTOP */
@media (min-width:1000px){

.body-testimonials-grid{
grid-template-columns:repeat(3,1fr);
}

.body-testimonials h2{
font-size:48px;
}
}
/* TESTIMONIALS.................................................TESTIMONIALS */	

.testimonials{
width:100%;
box-sizing:border-box;
padding:90px 20px 70px;
background:#f5f4ef;
overflow:hidden;
font-family:'Montserrat',sans-serif;
}

.testimonials-inner{
max-width:1400px;
margin:0 auto;
text-align:center;
}

.testimonials-eyebrow{
margin:0 0 16px;
font-size:14px;
line-height:1.4;
letter-spacing:4px;
font-weight:700;
color:#3f6c47;
text-transform:uppercase;
}

.testimonials h2{
margin:0;
font-size:clamp(34px,5vw,64px);
line-height:1.1;
font-weight:800;
color:#123822;
}

.testimonials-intro{
max-width:820px;
margin:26px auto 0;
font-size:clamp(18px,2vw,22px);
line-height:1.7;
color:#49534b;
}

.testimonials-carousel-wrap{
position:relative;
margin-top:56px;
padding:0 78px;
}

.testimonials-carousel{
--testimonial-gap:32px;
--testimonial-columns:3;
display:flex;
gap:var(--testimonial-gap);
overflow:hidden;
scroll-behaviour:smooth;
scroll-behavior:smooth;
padding:8px 0 12px;
}

.testimonial-card{
flex:0 0 calc((100% - (var(--testimonial-gap) * (var(--testimonial-columns) - 1))) / var(--testimonial-columns));
width:calc((100% - (var(--testimonial-gap) * (var(--testimonial-columns) - 1))) / var(--testimonial-columns));
min-width:0;
max-width:none;
background:#ffffff;
border-radius:28px;
padding:40px 32px 30px;
box-shadow:0 10px 30px rgba(0,0,0,0.06);
text-align:left;
display:flex;
flex-direction:column;
justify-content:space-between;
box-sizing:border-box;
}

.testimonial-quote-mark{
font-size:64px;
line-height:1;
font-weight:700;
color:#3f6c47;
margin-bottom:10px;
}

.testimonial-text{
margin:0;
font-size:18px;
line-height:1.8;
color:#49534b;
min-height:230px;
}

.testimonial-stars{
margin:26px 0 28px;
}

.testimonial-stars img{
display:block;
width:150px;
height:auto;
}

.testimonial-client{
display:flex;
align-items:center;
gap:18px;
}

.testimonial-client-image{
width:72px;
height:72px;
border-radius:50%;
overflow:hidden;
flex:0 0 72px;
}

.testimonial-client-image img{
display:block;
width:100%;
height:100%;
object-fit:cover;
}

.testimonial-client-details p{
margin:0;
}

.testimonial-client-name{
font-size:18px;
line-height:1.4;
font-weight:800;
color:#123822;
}

.testimonial-client-location{
margin-top:4px;
font-size:16px;
line-height:1.5;
color:#6a726c;
}

.testimonials-arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
width:62px;
height:62px;
border:0;
border-radius:50%;
background:#ffffff;
box-shadow:0 8px 24px rgba(0,0,0,0.08);
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
z-index:3;
transition:transform 0.25s ease, box-shadow 0.25s ease;
}

.testimonials-arrow:hover{
transform:translateY(-50%) scale(1.06);
box-shadow:0 12px 28px rgba(0,0,0,0.12);
}

.testimonials-arrow span{
font-size:34px;
line-height:1;
color:#3f6c47;
}

.testimonials-arrow-prev{
left:0;
}

.testimonials-arrow-next{
right:0;
}

.testimonials-dots{
display:flex;
justify-content:center;
align-items:center;
gap:14px;
margin-top:26px;
}

.testimonials-dot{
width:14px;
height:14px;
border-radius:50%;
background:#d3d3ce;
border:0;
padding:0;
cursor:pointer;
transition:transform 0.25s ease, background 0.25s ease;
}

.testimonials-dot.is-active{
background:#3f6c47;
transform:scale(1.1);
}

.testimonials-bar{
max-width:1220px;
margin:54px auto 0;
background:#efeee7;
border-radius:24px;
padding:26px 30px;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:0;
align-items:center;
}

.testimonials-bar-item{
display:flex;
align-items:center;
justify-content:center;
gap:16px;
padding:0 20px;
}

.testimonials-bar-icon img{
width:32px;
height:32px;
display:block;
}

.testimonials-bar-item + .testimonials-bar-item{
border-left:1px solid #d6d4ca;
}

.testimonials-bar-icon{
font-size:30px;
line-height:1;
color:#3f6c47;
flex:0 0 auto;
}

.testimonials-bar-item p{
margin:0;
font-size:18px;
line-height:1.6;
color:#49534b;
}

.testimonials-bar-item strong{
color:#3f6c47;
font-weight:800;
}

@media (max-width:1200px){
.testimonials-carousel{
--testimonial-columns:2;
}
}

@media (max-width:767px){
.testimonials{
padding:70px 16px 55px;
}

.testimonials h2{
font-size:36px;
}

.testimonials-intro{
font-size:17px;
margin-top:20px;
}

.testimonials-carousel-wrap{
padding:0 56px;
margin-top:40px;
}

.testimonials-carousel{
--testimonial-gap:0px;
--testimonial-columns:1;
}

.testimonial-card{
padding:30px 22px 24px;
border-radius:22px;
}

.testimonial-text{
min-height:auto;
font-size:17px;
line-height:1.75;
}

.testimonial-stars{
margin:22px 0 24px;
}

.testimonial-stars img{
width:132px;
}

.testimonial-client-image{
width:64px;
height:64px;
flex:0 0 64px;
}

.testimonials-dots{
margin-top:20px;
}

.testimonials-arrow{
width:48px;
height:48px;
}

.testimonials-arrow span{
font-size:28px;
}

.testimonials-bar{
margin-top:38px;
padding:18px 18px;
grid-template-columns:1fr;
gap:18px;
text-align:left;
}

.testimonials-bar-item{
justify-content:flex-start;
padding:0;
}

.testimonials-bar-item + .testimonials-bar-item{
border-left:0;
border-top:1px solid #d6d4ca;
padding-top:18px;
}
}


/* CONTACT BAR.................................................CONTACT BAR */	

.contact-bar {
	width:100%;
	box-sizing:border-box;
	height:auto;
	background-image:
    linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)),  /* overlay */
    url("../images/contact.webp");  
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	padding: 70px 0px;
  text-align: center;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-bar-content {
	max-width:700px;
}
.contact-bar h4 {
  font-family:'Montserrat',sans-serif;
  font-size: 2rem;
  margin-bottom: 20px;
  color: #fff;
  letter-spacing: 6px;
  text-transform: uppercase;
}
.contact-bar p {
  font-family:'Montserrat',sans-serif;
  font-size: 19px;
  margin-bottom: 40px;
  color: #fff;
  letter-spacing: 1px;
}
.contact-bar-button {
  display: inline-block;
  padding: 15px 30px;
  background-color: #3d5d3a;
  color: white;
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
  border-radius: 5px;
  transition: background-color 0.3s ease;
	letter-spacing: 1px;
font-family:'Montserrat',sans-serif;
text-transform: uppercase;
}

.contact-bar-button:hover {
  background-color: #17371b;
}



/* SERVICES...............................................................................SERVICES */	

.services{
width:100%;
box-sizing:border-box;
padding:65px 16px;
background:#fffefb;
font-family:'Montserrat',sans-serif;
}

.services-inner{
max-width:1320px;
margin:0 auto;
text-align:center;
}

.services-eyebrow{
margin:0 0 14px;
font-size:12px;
line-height:1.4;
letter-spacing:3px;
font-weight:700;
color:#6d8c69;
text-transform:uppercase;
position:relative;
display:inline-block;
padding:0 24px;
}

.services-eyebrow:before,
.services-eyebrow:after{
content:"";
position:absolute;
top:50%;
width:16px;
height:1px;
background:#d7ddd0;
transform:translateY(-50%);
}

.services-eyebrow:before{
left:0;
}

.services-eyebrow:after{
right:0;
}

.services h2{
margin:0;
font-size:36px;
line-height:1.08;
font-weight:800;
color:#123822;
}

.services-intro{
max-width:860px;
margin:14px auto 0;
font-size:16px;
line-height:1.7;
color:#5a635d;
}

.services-grid{
display:grid;
grid-template-columns:1fr;
gap:18px;
margin-top:34px;
}

.service-card{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
text-decoration:none;
background:#f8f8f4;
border:1px solid #ecece4;
border-radius:16px;
padding:28px 20px 22px;
box-shadow:0 6px 18px rgba(0,0,0,0.04);
transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
height:100%;
box-sizing:border-box;
}

.service-card:hover{
transform:translateY(-4px);
box-shadow:0 12px 24px rgba(0,0,0,0.07);
border-color:#dfe5d7;
}

.service-icon{
width:96px;
height:96px;
margin:0 auto 16px;
display:flex;
align-items:center;
justify-content:center;
}

.service-icon img{
display:block;
width:100%;
height:100%;
object-fit:contain;
}

.service-card h3{
margin:0 0 10px;
font-size:24px;
line-height:1.2;
font-weight:800;
color:#123822;
}

.service-card p{
margin:0;
font-size:15px;
line-height:1.65;
color:#5a635d;
max-width:320px;
}

.service-arrow{
display:flex;
align-items:center;
justify-content:center;
width:34px;
height:34px;
margin-top:18px;
border:1px solid #90a18a;
border-radius:50%;
font-size:18px;
line-height:1;
color:#3f6c47;
transition:background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.service-card:hover .service-arrow{
background:#3f6c47;
color:#ffffff;
border-color:#3f6c47;
}

/* TABLET */
@media (min-width:600px){

.services{
padding:80px 18px;
}

.services-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:22px;
margin-top:46px;
}

.service-icon{
width:110px;
height:110px;
margin-bottom:18px;
}

.service-card h3{
font-size:26px;
}

.service-card p{
font-size:16px;
}

.services h2{
font-size:clamp(30px,4vw,48px);
}

.services-intro{
font-size:18px;
margin-top:16px;
}
}

/* DESKTOP */
@media (min-width:1024px){

.services{
padding:90px 20px;
}

.services-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
gap:28px;
margin-top:54px;
}

.service-card{
padding:34px 24px 26px;
border-radius:18px;
}

.service-icon{
width:120px;
height:120px;
margin-bottom:20px;
}

.service-card h3{
font-size:clamp(22px,2vw,30px);
}

.service-card p{
font-size:16px;
}

.services h2{
font-size:clamp(34px,4.4vw,68px);
}

.services-eyebrow{
font-size:14px;
letter-spacing:4px;
padding:0 34px;
}

.services-eyebrow:before,
.services-eyebrow:after{
width:22px;
}
}


/* BEFORE / AFTER.................................................MOB */	
.before-after{
width:100%;
box-sizing:border-box;
padding:65px 16px;
background:#f5f4ef;
font-family:'Montserrat',sans-serif;
}

.before-after-inner{
max-width:1320px;
margin:0 auto;
text-align:center;
}

.before-after-eyebrow{
margin:0 0 14px;
font-size:12px;
line-height:1.4;
letter-spacing:3px;
font-weight:700;
color:#6d8c69;
text-transform:uppercase;
position:relative;
display:inline-block;
padding:0 24px!important;
}

.before-after-eyebrow:before,
.before-after-eyebrow:after{
content:"";
position:absolute;
top:50%;
width:16px;
height:1px;
background:#d7ddd0;
transform:translateY(-50%);
}

.before-after-eyebrow:before{
left:0;
}

.before-after-eyebrow:after{
right:0;
}

.before-after h2{
margin:0;
font-size:36px;
line-height:1.08;
font-weight:800;
color:#123822;
text-align:center;
text-transform:none;
letter-spacing:0;
}

.before-after-intro{
max-width:860px;
margin:14px auto 0;
font-size:16px;
line-height:1.7;
color:#5a635d;
text-align:center;
padding-bottom:34px;
font-family:'Montserrat',sans-serif;
}

.before-after-wrapper{
display:grid;
grid-template-columns:1fr;
gap:18px;
max-width:1320px;
margin:0 auto;
box-sizing:border-box;
padding-top:0;
}

.before-after-container{
position:relative;
width:100%;
height:auto;
aspect-ratio:1 / 1;
overflow:hidden;
margin-bottom:0;
box-sizing:border-box;
border-radius:16px;
background:#f8f8f4;
border:1px solid #ecece4;
box-shadow:0 6px 18px rgba(0,0,0,0.04);
}

/* Show only first 2 on mobile */
.before-after-container:nth-child(n+3){
display:none;
}

/* .before-after-2 shows all images */
.before-after-container-2:nth-child(n+3){
display:block;
}

.before-after-wrapper h3{
margin:0 0 15px;
font-size:24px;
line-height:1.2;
font-weight:800;
color:#123822;
}

.before-after-slider{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}

.before-image,
.after-image{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-size:cover;
background-position:center;
}

.after-image{
clip-path:inset(0 0 0 50%);
}

.slider{
position:absolute;
top:0;
left:50%;
width:4px;
height:100%;
background-color:#ffffff;
cursor:ew-resize;
}

.handle{
position:absolute;
top:50%;
left:-18px;
width:40px;
height:40px;
background-color:rgba(18,56,34,0.15);
border-radius:50%;
border:4px solid #ffffff;
transform:translateY(-50%);
display:flex;
align-items:center;
justify-content:center;
cursor:ew-resize;
box-sizing:border-box;
backdrop-filter:blur(2px);
}

.left-arrow,
.right-arrow{
position:absolute;
width:6px;
height:6px;
border-top:3px solid #ffffff;
border-right:3px solid #ffffff;
}

.left-arrow{
transform:rotate(-135deg);
left:6px;
}

.right-arrow{
transform:rotate(45deg);
right:6px;
}

.hover-label{
position:absolute;
color:#ffffff;
font-size:14px;
line-height:1.4;
font-weight:700;
padding:8px 12px;
display:none;
z-index:2;
font-family:'Montserrat',sans-serif;
}

.before-label{
top:50%;
left:15px;
background:rgba(18,56,34,0.85);
border-radius:6px;
transform:translateY(-50%);
}

.after-label{
top:50%;
right:15px;
background:rgba(18,56,34,0.85);
border-radius:6px;
transform:translateY(-50%);
}

.before-after-container:hover .before-label,
.before-after-container:hover .after-label{
display:block;
}

@media (min-width:600px){

.before-after{
padding:80px 18px;
}

.before-after h2{
font-size:clamp(30px,4vw,48px);
}

.before-after-intro,
.before-after p{
font-size:18px;
margin-top:16px;
padding-bottom:46px;
}

.before-after-wrapper{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:22px;
}

.before-after-container{
border-radius:18px;
}

.before-after-container:nth-child(3),
.before-after-container:nth-child(4){
display:block;
}

.before-after-container-2:nth-child(3),
.before-after-container-2:nth-child(4){
display:block;
}

.hover-label{
font-size:15px;
}
}

@media (min-width:1024px){

.before-after{
padding:90px 20px;
}

.before-after-eyebrow{
font-size:14px;
letter-spacing:4px;
padding:0 34px;
}

.before-after-eyebrow:before,
.before-after-eyebrow:after{
width:22px;
}

.before-after h2{
font-size:clamp(34px,4.4vw,68px);
}

.before-after-intro,
.before-after p{
padding-bottom:54px;
}

.before-after-wrapper{
grid-template-columns:repeat(3,minmax(1,1fr));
gap:28px;
}

.before-after-container{
aspect-ratio:2 / 2;
}

.before-after-container:nth-child(n+5){
display:none;
}

.before-after-container-2:nth-child(n+5){
display:block;
}
}

/* WHY CHOOSE.......................................................................WHY CHOOSE */	

.choose{
width:100%;
box-sizing:border-box;
padding:65px 16px;
background:#fffefb;
font-family:'Montserrat',sans-serif;
}

.choose-inner{
max-width:1320px;
margin:0 auto;
text-align:center;
}

.choose-eyebrow{
margin:0 0 14px;
font-size:12px;
line-height:1.4;
letter-spacing:3px;
font-weight:700;
color:#6d8c69;
text-transform:uppercase;
position:relative;
display:inline-block;
padding:0 24px;
}

.choose-eyebrow:before,
.choose-eyebrow:after{
content:"";
position:absolute;
top:50%;
width:16px;
height:1px;
background:#d7ddd0;
transform:translateY(-50%);
}

.choose-eyebrow:before{
left:0;
}

.choose-eyebrow:after{
right:0;
}

.choose h2{
margin:0;
font-size:36px;
line-height:1.08;
font-weight:800;
color:#123822;
}

.choose-intro{
max-width:860px;
margin:14px auto 0;
font-size:16px;
line-height:1.7;
color:#5a635d;
}

.choose-grid{
display:grid;
grid-template-columns:1fr;
gap:0;
margin-top:34px;
border-top:1px solid #dddccd;
}

.choose-item{
display:grid;
grid-template-columns:92px 1fr;
gap:18px;
align-items:start;
text-align:left;
padding:24px 0;
border-bottom:1px solid #dddccd;
}

.choose-item-icon{
width:92px;
height:92px;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto;
}

.choose-item-icon img{
display:block;
width:100%;
height:100%;
object-fit:contain;
}

.choose-item-content h3{
margin:0 0 12px;
font-size:28px;
line-height:1.12;
font-weight:800;
color:#123822;
}

.choose-item-content p{
margin:0;
font-size:18px;
line-height:1.7;
color:#4f5852;
}

.choose-bottom{
margin-top:26px;
border:1px solid #dddccd;
border-radius:20px;
background:#f8f8f2;
overflow:hidden;
}

.choose-quote{
display:flex;
align-items:center;
gap:18px;
padding:24px 20px;
border-bottom:1px solid #dddccd;
text-align:left;
}

.choose-quote-icon{
width:84px;
height:84px;
flex:0 0 84px;
display:flex;
align-items:center;
justify-content:center;
}

.choose-quote-icon img{
display:block;
width:100%;
height:100%;
object-fit:contain;
}

.choose-quote-content p{
margin:0;
font-size:28px;
line-height:1.22;
font-weight:700;
font-style:italic;
color:#111;
}

.choose-quote-content span{
color:#3f6c47;
}

.choose-mini-grid{
display:grid;
grid-template-columns:1fr;
}

.choose-mini-item{
padding:24px 20px;
text-align:center;
border-top:1px solid #dddccd;
}

.choose-mini-grid .choose-mini-item:first-child{
border-top:0;
}

.choose-mini-icon{
width:42px;
height:42px;
margin:0 auto 14px;
display:flex;
align-items:center;
justify-content:center;
}

.choose-mini-icon img{
display:block;
width:100%;
height:100%;
object-fit:contain;
}

.choose-mini-item h4{
margin:0 0 8px;
font-size:24px;
line-height:1.2;
font-weight:800;
color:#123822;
}

.choose-mini-item p{
margin:0;
font-size:16px;
line-height:1.6;
color:#4f5852;
}

@media (min-width:750px){

.choose{
padding:80px 18px;
}

.choose h2{
font-size:clamp(30px,4vw,48px);
}

.choose-intro{
font-size:18px;
margin-top:16px;
}

.choose-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.choose-item{
grid-template-columns:88px 1fr;
padding:28px 18px;
border-right:1px solid #dddccd;
}

.choose-item:nth-child(2n){
border-right:0;
}

.choose-bottom{
margin-top:34px;
}

.choose-quote{
padding:28px 24px;
}

.choose-mini-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
}

.choose-mini-item{
padding:26px 18px;
border-top:0;
border-left:1px solid #dddccd;
}

.choose-mini-grid .choose-mini-item:first-child{
border-left:0;
}
}

@media (min-width:1200px){

.choose{
padding:90px 20px;
}

.choose-eyebrow{
font-size:14px;
letter-spacing:4px;
padding:0 34px;
}

.choose-eyebrow:before,
.choose-eyebrow:after{
width:22px;
}

.choose h2{
font-size:clamp(34px,4.4vw,68px);
}

.choose-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
margin-top:54px;
}

.choose-item{
grid-template-columns:112px 1fr;
gap:22px;
padding:34px 22px;
}

.choose-item:nth-child(2n){
border-right:1px solid #dddccd;
}

.choose-item:nth-child(3n){
border-right:0;
}

.choose-item-icon{
width:112px;
height:112px;
}

.choose-item-content h3{
font-size:28px;
}

.choose-item-content p{
font-size:18px;
}

.choose-bottom{
display:grid;
grid-template-columns:minmax(320px,1.2fr) 2fr;
align-items:stretch;
margin-top:40px;
}

.choose-quote{
padding:32px 28px;
border-bottom:0;
border-right:1px solid #dddccd;
}

.choose-quote-content p{
font-size:30px;
}

.choose-mini-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
}
}


/* PROCESS.................................................PROCESS */	

.process{
width:100%;
box-sizing: border-box;
padding:65px 16px;
background:#f5f4ef;
font-family:'Montserrat',sans-serif;
}

.process-inner{
max-width:1320px;
margin:0 auto;
text-align:center;
}

.process-eyebrow{
margin:0 0 14px;
font-size:12px;
line-height:1.4;
letter-spacing:3px;
font-weight:700;
color:#6d8c69;
text-transform:uppercase;
position:relative;
display:inline-block;
padding:0 24px;
}

.process-eyebrow:before,
.process-eyebrow:after{
content:"";
position:absolute;
top:50%;
width:16px;
height:1px;
background:#d7ddd0;
transform:translateY(-50%);
}

.process-eyebrow:before{
left:0;
}

.process-eyebrow:after{
right:0;
}

.process h2{
margin:0;
font-size:36px;
line-height:1.08;
font-weight:800;
color:#123822;
}

.process-intro{
max-width:860px;
margin:14px auto 0;
font-size:16px;
line-height:1.7;
color:#5a635d;
}

.process-grid{
display:grid;
grid-template-columns:1fr;
gap:20px;
margin-top:34px;
}

.process-card{
background:#ffffff;
border-radius:18px;
padding:30px 22px;
box-shadow:0 8px 24px rgba(0,0,0,0.05);
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
}

.process-icon{
width:90px;
height:90px;
margin-bottom:14px;
display:flex;
align-items:center;
justify-content:center;
}

.process-icon img{
width:100%;
height:100%;
object-fit:contain;
}

.process-step{
margin:10px 0 6px;
font-size:28px;
font-weight:800;
color:#3f6c47;
}

.process-card h3{
margin:0 0 10px;
font-size:22px;
font-weight:800;
color:#123822;
}

.process-card p{
margin:0;
font-size:15px;
line-height:1.7;
color:#5a635d;
}

.process-cta{
margin-top:28px;
display:flex;
flex-direction:column;
gap:12px;
align-items:center;
}

.process-cta p{
margin:0;
font-size:18px;
font-weight:700;
color:#123822;
}

.btn-primary,
.btn-secondary{
display:inline-block;
padding:12px 22px;
border-radius:30px;
text-decoration:none;
font-size:15px;
font-weight:700;
}

.btn-primary{
background:#3f6c47;
color:#fff;
}

.btn-secondary{
border:1px solid #3f6c47;
color:#3f6c47;
}

@media (min-width:600px){

.process{
padding:80px 18px;
}

.process h2{
font-size:clamp(30px,4vw,48px);
}

.process-intro{
font-size:18px;
margin-top:16px;
}

.process-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px;
margin-top:46px;
}

.process-card{
padding:34px 24px;
}

.process-card h3{
font-size:24px;
}

.process-card p{
font-size:16px;
}

.process-cta{
flex-direction:row;
justify-content:center;
gap:14px;
margin-top:34px;
}
}

@media (min-width:1024px){

.process{
padding:90px 20px;
}

.process-eyebrow{
font-size:14px;
letter-spacing:4px;
padding:0 34px;
}

.process-eyebrow:before,
.process-eyebrow:after{
width:22px;
}

.process h2{
font-size:clamp(34px,4.4vw,68px);
}
}


/* FOOTER.................................................FOOTER */	
.site-footer{
background:linear-gradient(180deg,#082a18 0%,#0b321d 100%);
padding:65px 16px 0;
font-family:'Montserrat',sans-serif;
color:#ffffff;
position:relative;
overflow:hidden;
}

.site-footer:before,
.site-footer:after{
content:"";
position:absolute;
bottom:0;
width:180px;
height:220px;
opacity:0.14;
pointer-events:none;
background:radial-gradient(circle at bottom, #7ea16b 0%, rgba(126,161,107,0) 70%);
}

.site-footer:before{
left:-40px;
}

.site-footer:after{
right:-40px;
}

.site-footer-inner{
max-width:1320px;
margin:0 auto;
position:relative;
z-index:1;
}

.site-footer-main{
display:grid;
grid-template-columns:1fr;
gap:30px;
padding-bottom:34px;
}

.site-footer-left{
text-align:left;
}

.site-footer-logo{
display:inline-block;
margin-bottom:22px;
}

.site-footer-logo img{
display:block;
width:170px;
max-width:100%;
height:auto;
}

.site-footer-text{
margin:0 0 28px;
font-size:18px;
line-height:1.7;
color:rgba(255,255,255,0.9);
max-width:500px;
}

.site-footer-contact-list{
display:flex;
flex-direction:column;
gap:18px;
}

.site-footer-contact-item{
display:flex;
align-items:flex-start;
gap:16px;
padding-bottom:18px;
border-bottom:1px solid rgba(255,255,255,0.12);
}

.site-footer-contact-icon{
width:50px;
height:50px;
border-radius:50%;
background:rgba(160,189,127,0.24);
display:flex;
align-items:center;
justify-content:center;
flex:0 0 50px;
}

.site-footer-contact-icon span{
font-size:22px;
line-height:1;
color:#d5e1b7;
}

.site-footer-contact-content a,
.site-footer-contact-content p{
margin:0;
font-size:16px;
line-height:1.6;
color:#ffffff;
text-decoration:none;
}

.site-footer-contact-content a{
font-weight:700;
display:inline-block;
margin-bottom:2px;
}

.site-footer-social{
display:flex;
gap:14px;
margin-top:24px;
}

.site-footer-social a{
width:46px;
height:46px;
border-radius:50%;
background:rgba(160,189,127,0.24);
display:flex;
align-items:center;
justify-content:center;
text-decoration:none;
color:#ffffff;
font-size:22px;
font-weight:700;
}

.site-footer-form-wrap{
width:100%;
}

.site-footer-form-box{
background:#f6f5ef;
border-radius:20px;
padding:28px 20px;
box-shadow:0 12px 34px rgba(0,0,0,0.18);
}

.site-footer-form-box h2{
margin:0;
font-size:34px;
line-height:1.1;
font-weight:800;
color:#123822;
}

.site-footer-form-box > p{
margin:16px 0 0;
font-size:17px;
line-height:1.7;
color:#536058;
}

.site-footer-form{
margin-top:24px;
}

.site-footer-form-row{
display:grid;
grid-template-columns:1fr;
gap:14px;
}

.site-footer-field{
margin-bottom:14px;
}

.site-footer-field input,
.site-footer-field select,
.site-footer-field textarea{
width:100%;
height:58px;
padding:0 16px;
border:1px solid #d9ddd5;
border-radius:8px;
background:#ffffff;
font-family:'Montserrat',sans-serif;
font-size:16px;
color:#123822;
box-sizing:border-box;
}

.site-footer-field textarea{
height:130px;
padding:16px;
resize:vertical;
}

.site-footer-submit{
width:100%;
height:58px;
border:0;
border-radius:8px;
background:#587a43;
color:#ffffff;
font-family:'Montserrat',sans-serif;
font-size:18px;
font-weight:700;
cursor:pointer;
text-transform:uppercase;
letter-spacing:1px;
}

.site-footer-form-note{
margin:16px 0 0;
font-size:15px;
line-height:1.6;
color:#5d685f;
text-align:center;
}

.site-footer-trust{
display:grid;
grid-template-columns:1fr;
border-top:1px solid rgba(255,255,255,0.12);
border-bottom:1px solid rgba(255,255,255,0.12);
margin-top:10px;
}

.site-footer-trust-item{
padding:20px 0;
text-align:center;
border-top:1px solid rgba(255,255,255,0.12);
}

.site-footer-trust-item:first-child{
border-top:0;
}

.site-footer-trust-item h3{
margin:0 0 6px;
font-size:20px;
line-height:1.2;
font-weight:800;
color:#d5e1b7;
}

.site-footer-trust-item p{
margin:0;
font-size:15px;
line-height:1.6;
color:rgba(255,255,255,0.85);
}

.site-footer-bottom{
display:flex;
flex-direction:column;

gap:12px;
align-items:center;
justify-content:space-between;
padding:22px 0 26px;
text-align:center;
}

.site-footer-bottom p{
margin:0;
font-size:15px;
line-height:1.6;
color:rgba(255,255,255,0.85);
}

.site-footer-bottom-links{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:16px;
}

.site-footer-bottom-links a{
font-size:15px;
line-height:1.6;
color:#ffffff;
text-decoration:none;
}

@media (min-width:700px){

.site-footer{
padding:80px 18px 0;
}

.site-footer-form-row{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.site-footer-trust{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.site-footer-trust-item{
border-top:0;
padding:22px 16px;
}

.site-footer-trust-item:nth-child(odd){
border-right:1px solid rgba(255,255,255,0.12);
}
}

@media (min-width:1024px){

.site-footer{
padding:90px 20px 0;
}

.site-footer-main{
grid-template-columns:minmax(320px,1fr) minmax(420px,580px);
gap:44px;
align-items:start;
padding-bottom:44px;
}

.site-footer-form-box{
padding:40px 36px;
border-radius:22px;
}

.site-footer-form-box h2{
font-size:clamp(34px,3vw,56px);
}

.site-footer-trust{
grid-template-columns:repeat(4,minmax(0,1fr));
}

.site-footer-trust-item{
padding:24px 18px;
border-right:1px solid rgba(255,255,255,0.12);
}

.site-footer-trust-item:nth-child(odd){
border-right:1px solid rgba(255,255,255,0.12);
}

.site-footer-trust-item:last-child{
border-right:0;
}

.site-footer-bottom{
flex-direction:row;
text-align:left;
}
}
/* FAQ.................................................................................................FAQ */
.faq-section{
width:100%;
padding:60px 20px;
background:#f5f4ef;
font-family:'Montserrat',sans-serif;
box-sizing:border-box;
}

.faq-section-inner{
max-width:1200px;
margin:0 auto;
}

.faq-list{
display:flex;
flex-direction:column;
gap:14px;
}

.faq-item{
background:#fbfbf8;
border:1px solid #e4e3da;
border-radius:14px;
overflow:hidden;
transition:border-color .25s ease, box-shadow .25s ease;
}

.faq-item.active{
box-shadow:0 10px 24px rgba(0,0,0,0.05);
}

.faq-question{
width:100%;
display:flex;
align-items:center;
gap:14px;
background:none;
border:0;
padding:18px 18px;
text-align:left;
cursor:pointer;
font-family:'Montserrat',sans-serif;
box-sizing:border-box;
}

.faq-icon{
width:24px;
height:24px;
border-radius:50%;
background:#2f5f38;
color:#ffffff;
display:flex;
align-items:center;
justify-content:center;
font-size:16px;
font-weight:700;
flex:0 0 24px;
line-height:1;
}

.faq-icon-open{
display:none;
}

.faq-item.active .faq-icon-open{
display:flex;
}

.faq-item.active .faq-icon-closed{
display:none;
}

.faq-question-text{
flex:1;
font-size:17px;
line-height:1.4;
font-weight:700;
color:#17371b;

}

.faq-arrow{
font-size:18px;
line-height:1;
color:#2f5f38;
transition:transform .25s ease;
flex:0 0 auto;
}

.faq-item.active .faq-arrow{
transform:rotate(180deg);
}

.faq-answer{
display:none;
padding:0 18px 18px 56px;
box-sizing:border-box;
text-align: left;
}

.faq-item.active .faq-answer{
display:block;
}

.faq-answer p{
margin:0;
font-size:15px;
line-height:1.8;
color:#444444;
}

.faq-cta-box{
margin-top:24px;
background:#efeee7;
border-radius:16px;
overflow:hidden;
display:grid;
grid-template-columns:1fr;
}

.faq-cta-image{
min-height:180px;
}

.faq-cta-image img{
display:block;
width:100%;
height:100%;
object-fit:cover;
}

.faq-cta-content{
padding:24px 20px;
}

.faq-cta-content h3{
margin:0 0 10px 0;
font-size:30px;
line-height:1.2;
font-weight:700;
color:#17371b;
}

.faq-cta-content p{
margin:0 0 20px 0;
font-size:16px;
line-height:1.7;
color:#444444;
}

.faq-cta-buttons{
display:flex;
gap:14px;
flex-wrap:wrap;
justify-content:center;
}

.faq-cta-buttons .btn-primary{
background:#3d5d3a;
color:#ffffff;
padding:13px 32px;
font-size:17px;
border-radius:28px;
font-weight:700;
text-decoration:none;
display:inline-block;
box-shadow:0 6px 18px rgba(0,0,0,0.2);
transition:all .25s ease;
}

.faq-cta-buttons .btn-primary:hover{
background:#17371b;
transform:translateY(-2px);
box-shadow:0 10px 24px rgba(0,0,0,0.3);
}

.faq-cta-buttons .btn-secondary{
background:#fef9ee;
border:2px solid #d8d2c4;
color:#17371b;
padding:13px 32px;
font-size:17px;
border-radius:28px;
font-weight:700;
text-decoration:none;
display:inline-block;
transition:all .25s ease;
}

.faq-cta-buttons .btn-secondary:hover{
background:#ffffff;
color:#17371b;
transform:translateY(-2px);
box-shadow:0 8px 20px rgba(0,0,0,0.12);
}

@media only screen and (min-width:700px){
.faq-section{
padding:70px 24px;
}

.faq-question{
padding:20px 22px;
}

.faq-question-text{
font-size:18px;
}

.faq-answer{
padding:0 22px 22px 60px;
}

.faq-cta-content{
padding:30px 26px;
}
}

@media only screen and (min-width:1000px){
.faq-section{
padding:80px 30px;
}

.faq-cta-box{
grid-template-columns:320px 1fr;
align-items:stretch;
}

.faq-cta-image{
min-height:100%;
}

.faq-cta-content{
padding:34px 34px;
display:flex;
flex-direction:column;
justify-content:center;
}
}

/* GALLERY................................... */
.media-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 15px;
}

.media-item {
cursor: pointer;
overflow: hidden;
border-radius: 8px;
}

.media-item img,
.media-item video {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.media-lightbox {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.9);
display: none;
justify-content: center;
align-items: center;
z-index: 9999;
}

.media-lightbox.active {
display: flex;
}

.media-lightbox-content img,
.media-lightbox-content video {
max-width: 90vw;
max-height: 80vh;
}

.media-close {
position: absolute;
top: 20px;
right: 30px;
font-size: 30px;
background: none;
color: #fff;
border: none;
cursor: pointer;
}

.media-nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
font-size: 40px;
background: none;
color: #fff;
border: none;
cursor: pointer;
}

.media-prev { left: 20px; }
.media-next { right: 20px; }

.media-item {
position: relative;
overflow: hidden;
}

.media-item[data-type="video"]::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 55px;
height: 55px;
background: rgba(0,0,0,0.6);
border-radius: 50%;
z-index: 2;
pointer-events: none;
}

.media-item[data-type="video"]::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-40%, -50%);
width: 0;
height: 0;
border-left: 18px solid #fff;
border-top: 11px solid transparent;
border-bottom: 11px solid transparent;
z-index: 3;
pointer-events: none;
}

.media-item:hover img,
.media-item:hover video {
transform: scale(1.05);
transition: transform 0.3s ease;
}

.media-item[data-type="video"]:hover::before {
background: rgba(0,0,0,0.75);
}



.quote-popup-overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
background:rgba(0,0,0,.45);
opacity:0;
visibility:hidden;
transition:.3s;
z-index:1400;
}

.quote-popup-overlay.active{
opacity:1;
visibility:visible;
}

.quote-popup{
position:fixed;
top:50%;
left:50%;
transform:translate(-50%,-50%) scale(.92);
width:calc(100% - 32px);
max-width:720px;
max-height:calc(100vh - 32px);
overflow-y:auto;
background:transparent;
opacity:0;
visibility:hidden;
transition:.3s ease;
z-index:1401;
font-family:'Montserrat',sans-serif;
}

.quote-popup.active{
opacity:1;
visibility:visible;
transform:translate(-50%,-50%) scale(1);
}

.quote-popup-close{
position:absolute;
top:14px;
right:14px;
width:42px;
height:42px;
border:0;
border-radius:50%;
background:#ffffff;
color:#123822;
font-size:28px;
line-height:1;
cursor:pointer;
z-index:3;
box-shadow:0 8px 20px rgba(0,0,0,.18);
}

.quote-popup-form-wrap{
width:100%;
}

.quote-popup-form-box{
background:#f6f5ef;
border-radius:20px;
padding:28px 20px;
box-shadow:0 12px 34px rgba(0,0,0,0.18);
}

.quote-popup-form-box h2{
margin:0;
font-size:34px;
line-height:1.1;
font-weight:800;
color:#123822;
}

.quote-popup-form-box > p{
margin:16px 0 0;
font-size:17px;
line-height:1.7;
color:#536058;
}

.quote-popup-form{
margin-top:24px;
}

.quote-popup-form-row{
display:grid;
grid-template-columns:1fr;
gap:14px;
}

.quote-popup-field{
margin-bottom:14px;
}

.quote-popup-field input,
.quote-popup-field textarea{
width:100%;
height:58px;
padding:0 16px;
border:1px solid #d9ddd5;
border-radius:8px;
background:#ffffff;
font-family:'Montserrat',sans-serif;
font-size:16px;
color:#123822;
box-sizing:border-box;
}

.quote-popup-field textarea{
height:130px;
padding:16px;
resize:vertical;
}

.quote-popup-submit{
width:100%;
height:58px;
border:0;
border-radius:8px;
background:#587a43;
color:#ffffff;
font-family:'Montserrat',sans-serif;
font-size:18px;
font-weight:700;
cursor:pointer;
text-transform:uppercase;
letter-spacing:1px;
transition:.25s;
}

.quote-popup-submit:hover{
background:#3f6c47;
}

.quote-popup-form-note{
margin:16px 0 0;
font-size:15px;
line-height:1.6;
color:#5d685f;
text-align:center;
}

body.quote-popup-open{
overflow:hidden;
}

@media (min-width:700px){
.quote-popup{
width:calc(100% - 40px);
max-height:calc(100vh - 40px);
}

.quote-popup-form-box{
padding:34px 30px;
}

.quote-popup-form-row{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media (min-width:1024px){
.quote-popup-form-box{
padding:40px 36px;
border-radius:22px;
}

.quote-popup-form-box h2{
font-size:clamp(34px,3vw,56px);
}
}