:root{
    --green:#075B3A;
    --green-dark:#043D29;
    --green-soft:#EAF3EE;
    --orange:#F28C28;
    --orange-dark:#D96F0B;
    --cream:#F7F8F6;
    --text:#17352A;
    --muted:#718078;
    --white:#fff;
    --border:#E4EAE6;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Tahoma,"Segoe UI",Arial,sans-serif;
    color:var(--text);
    background:var(--cream);
    line-height:1.8;
}

a{
    text-decoration:none;
    color:inherit;
}

.container{
    width:min(1160px,92%);
    margin:auto;
}


/* HEADER */

.site-header{
    background:#fff;
    border-bottom:1px solid var(--border);
    position:sticky;
    top:0;
    z-index:20;
}

.header-inner{
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.brand{
    display:grid;
    grid-template-columns:auto auto;
    grid-template-rows:auto auto;
    column-gap:9px;
    align-items:center;
    min-width:190px;
}

.brand-c2{
    grid-row:1 / 3;
    background:var(--green);
    color:#fff;
    font-size:29px;
    font-weight:900;
    line-height:1;
    padding:11px 10px;
    border-radius:12px;
    letter-spacing:-2px;
}

.brand-for{
    font-size:18px;
    font-weight:800;
    color:var(--orange);
    line-height:1.2;
}

.brand-sub{
    font-size:9px;
    letter-spacing:2px;
    color:var(--green);
    font-weight:800;
    line-height:1.2;
}

.main-nav{
    display:flex;
    gap:28px;
    font-size:14px;
    font-weight:700;
}

.main-nav a{
    color:#3E5148;
    transition:.2s;
}

.main-nav a:hover{
    color:var(--orange);
}

.cart-link{
    display:flex;
    align-items:center;
    gap:9px;
    border:1px solid var(--border);
    padding:8px 13px;
    border-radius:12px;
    font-size:13px;
    font-weight:800;
}

.cart-link b{
    background:var(--orange);
    color:#fff;
    min-width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:12px;
}


/* HERO */

.hero{
    background:var(--green);
    color:#fff;
    overflow:hidden;
}

.hero-grid{
    min-height:430px;
    display:grid;
    grid-template-columns:1.35fr .65fr;
    align-items:center;
    gap:50px;
}

.eyebrow{
    display:inline-block;
    color:#DDEBE4;
    font-size:12px;
    margin-bottom:12px;
}

.hero h1{
    font-size:clamp(32px,5vw,55px);
    line-height:1.25;
    margin:0 0 15px;
    letter-spacing:-1.5px;
}

.hero p{
    color:#D8E7E0;
    max-width:570px;
    font-size:17px;
    margin:0 0 27px;
}

.hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:47px;
    padding:9px 23px;
    border-radius:11px;
    font-size:14px;
    font-weight:800;
    transition:.2s;
}

.btn-orange{
    background:var(--orange);
    color:#fff;
}

.btn-orange:hover{
    background:var(--orange-dark);
    transform:translateY(-1px);
}

.btn-light{
    background:#fff;
    color:var(--green);
}

.btn-green{
    background:var(--green);
    color:#fff;
}

.hero-mark{
    justify-self:center;
    width:260px;
    height:260px;
    border:2px solid rgba(255,255,255,.18);
    border-radius:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.mark-c2{
    font-size:84px;
    font-weight:900;
    letter-spacing:-8px;
    line-height:1;
    color:#fff;
}

.mark-for{
    font-size:25px;
    font-weight:900;
    color:var(--orange);
    margin-top:3px;
}

.mark-sub{
    font-size:10px;
    letter-spacing:3px;
    color:#D8E7E0;
    margin-top:3px;
}


/* SECTIONS */

.section{
    padding:68px 0;
}

.section-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:25px;
}

.section-kicker{
    display:block;
    color:var(--orange);
    font-size:11px;
    font-weight:900;
    margin-bottom:3px;
}

h2{
    margin:0;
    font-size:28px;
    color:var(--green-dark);
}

.product-note{
    font-size:11px;
    color:var(--muted);
}


/* CATEGORIES */

.categories{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.category-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    min-height:80px;
    padding:14px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px;
    font-weight:800;
    transition:.2s;
}

.category-card:hover{
    border-color:var(--orange);
    transform:translateY(-2px);
}

.category-number{
    color:var(--orange);
    font-size:11px;
    font-weight:900;
}

.arrow{
    color:var(--green);
    font-size:17px;
}


/* PRODUCTS */

.products-section{
    padding-top:10px;
}

.products{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.product-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden;
}

.product-image{
    height:160px;
    background:var(--green-soft);
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
}

.product-image:before{
    content:"C2";
    font-size:44px;
    font-weight:900;
    color:rgba(7,91,58,.12);
    letter-spacing:-5px;
}

.product-image span{
    position:absolute;
    bottom:10px;
    right:10px;
    background:#fff;
    color:var(--green);
    border-radius:8px;
    padding:2px 8px;
    font-size:10px;
    font-weight:800;
}

.product-info{
    padding:15px;
}

.product-cat{
    font-size:10px;
    color:var(--orange);
    font-weight:900;
}

.product-info h3{
    font-size:16px;
    margin:4px 0 13px;
}

.product-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
}

.unit{
    font-size:11px;
    color:var(--muted);
}

.add-btn{
    background:var(--green);
    color:#fff;
    padding:6px 11px;
    border-radius:8px;
    font-size:11px;
    font-weight:800;
}

.add-btn:hover{
    background:var(--orange);
}


/* CART */

.cart-section{
    padding:0 0 68px;
}

.cart-box{
    background:var(--green-dark);
    color:#fff;
    border-radius:18px;
    padding:28px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}

.cart-box h2{
    color:#fff;
    margin:0;
    font-size:24px;
}

.cart-box p{
    color:#C9D9D1;
    font-size:12px;
    margin:3px 0 0;
}


/* FOOTER */

.footer{
    background:#032C1D;
    color:#BFD1C8;
    padding:22px 0;
}

.footer-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.footer strong{
    font-size:24px;
    color:#fff;
    margin-left:7px;
}

.footer span{
    color:var(--orange);
    font-weight:800;
}

.footer p{
    font-size:11px;
    margin:0;
}


/* MOBILE */

@media(max-width:850px){

    .main-nav{
        display:none;
    }

    .hero-grid{
        grid-template-columns:1fr;
        min-height:auto;
        padding:65px 0;
    }

    .hero-mark{
        display:none;
    }

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

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

@media(max-width:520px){

    .header-inner{
        min-height:70px;
    }

    .brand{
        min-width:auto;
    }

    .brand-c2{
        font-size:23px;
        padding:9px;
    }

    .brand-for{
        font-size:15px;
    }

    .cart-link{
        padding:7px 9px;
        font-size:11px;
    }

    .hero h1{
        font-size:34px;
    }

    .hero p{
        font-size:14px;
    }

    .categories,
    .products{
        grid-template-columns:1fr;
    }

    .section{
        padding:48px 0;
    }

    .section-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .cart-box{
        align-items:flex-start;
        flex-direction:column;
        padding:24px;
    }

    .footer-inner{
        align-items:flex-start;
        flex-direction:column;
    }
}