.business-page .business-hero{
    min-height:82vh;
}

.business-page .business-hero .hero-content{
    max-width:820px;
}

.seo-kicker{
    color:var(--green-dark)!important;
    font-size:.85rem!important;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
    margin-bottom:16px!important;
}

.business-intro .container{
    display:grid;
    grid-template-columns:minmax(300px,.8fr) minmax(340px,1fr);
    gap:60px;
    align-items:center;
}

.business-intro .service-image{
    margin:0;
}

.business-copy h2,
.business-section h2{
    font-family:"Playfair Display",serif;
}

.business-copy h2{
    font-size:clamp(2rem,4vw,3rem);
}

.business-section .section-lead{
    max-width:760px;
    margin:-30px auto 40px;
    text-align:center;
}

.business-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    padding:0;
}

.business-grid li{
    list-style:none;
    background:#fff;
    border-radius:18px;
    padding:26px;
    box-shadow:var(--shadow);
}

.business-grid strong,
.business-grid span{
    display:block;
}

.business-grid strong{
    color:var(--green-dark);
    font-size:1.1rem;
    margin-bottom:8px;
}

.business-grid span{
    color:var(--muted);
}

.business-columns{
    display:grid;
    grid-template-columns:1.4fr .6fr;
    gap:55px;
    align-items:start;
}

.business-columns h2{
    text-align:left;
}

.business-text-section .container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
}

.business-text-section h2{
    text-align:left;
    font-size:clamp(1.8rem,3vw,2.5rem);
}

.business-callout{
    background:var(--green);
    color:#fff;
    padding:30px;
    border-radius:20px;
}

.business-callout h3{
    font-family:"Playfair Display",serif;
    font-size:1.8rem;
}

.business-callout ul{
    padding-left:20px;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    padding:0;
    counter-reset:none;
}

.process-grid li{
    list-style:none;
    background:#fff;
    border-radius:18px;
    padding:28px;
    box-shadow:var(--shadow);
}

.process-grid li>span{
    display:flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    font-weight:700;
    margin-bottom:18px;
}

.process-grid strong{
    font-size:1.12rem;
}

.process-grid p{
    color:var(--muted);
    margin-bottom:0;
}

.business-faq{
    max-width:850px;
}

.business-faq details{
    background:#fff;
    border-radius:16px;
    padding:20px 24px;
    margin:14px 0;
    box-shadow:0 8px 24px rgba(0,0,0,.05);
}

.business-faq summary{
    cursor:pointer;
    font-weight:700;
}

.business-faq details p{
    margin:14px 0 0;
}

.business-cta .buttons{
    justify-content:center;
}

.business-white-button{
    background:#fff;
    color:var(--green-dark);
}

.business-outline-button{
    border-color:#fff;
    color:#fff;
    background:transparent;
}

.business-menu-button{
    display:none;
    border:1px solid rgba(85,96,63,.24);
    border-radius:50px;
    background:#fff;
    color:var(--green-dark);
    padding:10px 18px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.business-menu-button:focus-visible{
    outline:3px solid rgba(109,117,80,.35);
    outline-offset:3px;
}

@media(max-width:900px){
    .business-page .header .container{
        position:relative;
    }

    .business-menu-button{
        display:block;
    }

    .business-page .header nav{
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        flex-direction:column;
        gap:0;
        padding:12px 4% 18px;
        background:rgba(248,244,238,.98);
        border-bottom:1px solid rgba(0,0,0,.08);
        box-shadow:0 12px 28px rgba(0,0,0,.08);
    }

    .business-page .header nav.open{
        display:flex;
    }

    .business-page .header nav a{
        padding:12px 0;
    }

    .business-intro .container,
    .business-columns,
    .business-text-section .container{
        grid-template-columns:1fr;
    }

    .business-intro .service-image{
        margin:0 auto;
    }

    .business-grid,
    .process-grid{
        grid-template-columns:1fr;
    }

    .business-section .section-lead{
        margin-top:-15px;
    }
}
