*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family: 'Chiron+GoRound', sans-serif;
    color:#1a1a1a;
    line-height:1.7;
    background:#fff;
    /* offset for the fixed header so content never hides underneath it */
    padding-top:80px;
    overflow-x:hidden;
}

h1,h2,h3{
    font-family:'Manrope',cursive;
    font-weight:600;
}

img{
    width:100%;
    display:block;
}

a{
    text-decoration:none;
}

/* visible keyboard focus everywhere */
a:focus-visible,
button:focus-visible,
.hamburger:focus-visible,
.btn:focus-visible,
.btn-outline:focus-visible{
    outline:3px solid #3E6B7D;
    outline-offset:3px;
}

.container{
    width:min(1200px,90%);
    margin:auto;
}

header{
    position:fixed;
    top:0;
    width:100%;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
    z-index:1000;
   
}

.nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    position: relative;

    margin: 0px;
    width: 100%;
}

.logo-wrapper {
    height: 100%;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding-left:8vw;
}

.header-logo {
    display: block;
    height: 65px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
}

.logo{
    color:#3E6B7D;
    font-size:3rem;
    padding:0 15px;;
    font-weight:800;
}

.site-nav{ 
    padding:0 20px;
}


.nav-cta{
    
    margin:0px;
    text-align:center;
    padding:25px 32px !important;

}

.nav-cta:hover{
    background-color: inherit !important;
}

label{
    padding:0 50px;
}

nav{
    display:flex;
    align-items:center;
    margin:0px;
    height:100%;
}

nav a{
    color:#000;
    font-weight:500;
    transition:.3s;
}

nav a:hover{
    color:#2F6941;
}


.btn{
    background:#3E6B7D;
    color:#fff;
    padding:14px 32px;
    display:inline-block;
    transition:.3s;
    min-height:100%;

}

.btn:hover{
    background:#82BD95;
}

.btn-outline{
    border:2px solid #2F6941;
    color:#2F6941;
    padding:12px 30px;
    min-height:44px;
    display:inline-block;
}

/* mobile menu: hidden checkbox drives the hamburger, no JS needed */
.menu-toggle{
    display:none;
}

.hamburger{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:44px;
    height:44px;
    cursor:pointer;
}

.hamburger span{
    display:block;
    width:26px;
    height:3px;
    background:#2F6941;
    transition:.3s;
    margin:0 auto;
}

.hero{
    min-height:100vh;
    background:url("photos/AdobeStock_1893687216.jpeg") center/cover;
    background-attachment:fixed;
    position:relative;
    display:flex;
    align-items:center;
}

.overlay{
    position:absolute;
    inset:0;
    background:rgba(47,105,65,.65);
}

.hero-content{
    position:relative;
    z-index:5;
    padding:100px 0;
}

.hero-text{
    max-width:700px;
    color:white;
}

.hero-text span{
    display:inline-block;
    background:#3E6B7D;
    color:white;
    padding:10px 18px;
    margin-bottom:25px;
    font-size:.95rem;
}

.hero h1{
    font-size:clamp(2.2rem,5vw + 1rem,4rem);
    line-height:1.15;
    margin-bottom:25px;
}

.hero p{
    margin-bottom:35px;
    font-size:1.1rem;
}

.hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
}

.hero .btn-outline{
    color:white;
    border-color:white;
}

section{
    padding:100px 0;
}

.grid2{
    display:grid;
    grid-template-columns:0.9fr 1fr;
    gap:70px;
    align-items:center;
}

.grid2 img{
 border-radius:8px;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title h2{
    font-size:clamp(2rem,3vw + 1rem,3rem);
    color:#2F6941;
    margin-bottom:15px;
}

.services{
    background:#f8f8f8;
}

.cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.card{
    background:white;
    overflow:hidden;
    transition:.3s;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
}



.card img{
    height:240px;
    object-fit:cover;
}

.card h3{
    padding:25px 25px 10px;
    color:#2F6941;
}

.card p{
    padding:0 25px 30px;
}


.cta{
    position:relative;
    text-align:center;
    background:#2F6941;
    color:#fff;
    padding:120px 0;
}

.cta .container{
    position:relative;
    z-index:2;
}

.fern{
    position: absolute;
    top: 50%;
    right: -73px;
    transform: translateY(-50%);
    width: 420px;
    z-index: 1;
    pointer-events: none;
    user-select: none;
    opacity: 0.4;
}

/* Tablets */
@media (max-width: 992px) {
    .fern {
        width: 320px;
        right: -50px;
        opacity: 0.3;
    }

}

@media (max-width: 600px) {
   

    .cta h2{
   
     font-size: 1.5em!important;

    }
}



.cta h2{
    font-size:clamp(2rem,3vw + 1rem,3rem);
    margin-bottom:20px;
    color:white;

}



   

.cta p{
    max-width:650px;
    margin:auto auto 35px;
    
}

.cta .btn{
    background:#3E6B7D;
  
}

.cta .btn:hover{
    background:#82BD95;
    color:#000;
}



/* respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto;
    }
    .card,
    .btn,
    .btn-outline,
    .hamburger span{
        transition:none;
    }
    .card:hover{
        transform:none;
    }
    .hero{
        background-attachment:scroll;
    }
}

/* tablet */
@media(max-width:700px){

.grid2{
    grid-template-columns:1fr;
    gap:40px;
}

.cards{
    grid-template-columns:1fr;
}

section{
    padding:70px 0;
}

.hamburger{
    display:flex;
}

nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:#fff;
    
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
}

nav a{
    padding:18px 24px;
   
}

.nav-cta{
    display:inline-block;
    margin:16px 24px 20px;
    text-align:center;
    margin: 0px;

}

.menu-toggle:checked ~ nav{
    max-height:400px;
    height:auto;
}

.menu-toggle:checked ~ .hamburger span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
}

.menu-toggle:checked ~ .hamburger span:nth-child(2){
    opacity:0;
}

.menu-toggle:checked ~ .hamburger span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
}

}

/* phones */
@media(max-width:600px){

body{
    padding-top:72px;
}

.nav{
    height:72px;
}

.logo{
    font-size:1.6rem;
}

.hero-text span{
    font-size:.85rem;
    padding:8px 14px;
}

.hero p{
    font-size:1rem;
}

.hero-buttons{
    flex-direction:column;
    align-items:stretch;
}

.hero-buttons .btn,
.hero-buttons .btn-outline{
    text-align:center;
}

.btn,
.btn-outline{
    padding:14px 24px;
}

.card img{
    height:200px;
}

}



footer{
    background:#183323;
    color:#fff;
    padding:55px 0 22px;
}

.footer{
    display:flex;
    flex-direction:column;
    gap:35px;
}

.footer-top{
    display:grid;
    grid-template-columns:1.2fr 1.8fr;
    gap:45px;
    align-items:start;
}

.footer-brand h2{
    color:#fff;
    margin-bottom:12px;
}

.footer-brand p{
    color:rgba(255,255,255,.78);
    line-height:1.7;
    max-width:420px;
}

.footer-contact{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.footer-item{
    background:#214232;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    padding:18px 20px;
}

.footer-item h4{
    color:#82BD95;
    font-size:.9rem;
    margin-bottom:8px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.footer-item p,
.footer-item a{
    color:rgba(255,255,255,.88);
    text-decoration:none;
    line-height:1.6;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:20px;
    text-align:center;
}

.footer-bottom p{
    color:rgba(255,255,255,.6);
    font-size:.9rem;
}

@media(max-width:900px){

    .footer-top{
        grid-template-columns:1fr;
        gap:30px;
    }

    .footer-contact{
        grid-template-columns:1fr;
    }

    footer{
        padding:45px 0 20px;
    }

}





/* WHY MERAKI SECTION */

.why{
    padding:120px 0;
    background:#F8F5F1;
}

.why-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.why-image img{
    width:100%;
    height:650px;
    object-fit:cover;
    border-radius:24px;
}


.why-content h2{
    color:#2F6941;
    margin-bottom:20px;
    font-size:clamp(2rem,3vw,3rem);
    line-height:1.1;
}

.why-content h2 span{
    color:#3E6B7D;
    font-family:'Manrope',sans-serif;
    font-weight:800;
    font-size:clamp(4rem,5vw,6rem);
}

.whyintro{
    max-width:560px;
    margin-bottom:40px;
    color:#555;
    line-height:1.8;
}

.why-cards{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.why-card{
    background:#fff;
    border:1px solid #E7E3DD;
    border-radius:18px;
    padding:28px;
}

.why-card h4{
    color:#2F6941;
    margin-bottom:12px;
}

.why-card p{
    color:#666;
    line-height:1.7;
}

@media(max-width:900px){

    .why{
        padding:80px 0;
    }

    .why-grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .why-image{
        order:2;
    }

    .why-image img{
        height:380px;
    }

    .why-cards{
        grid-template-columns:1fr;
    }

}
