:root{

    --emerald:#0B5D3B;

    --terracotta:#C96A4A;

    --cream:#FAF6EF;

    --gold:#D4A24C;

    --text:#2D2D2D;

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

html{
    scroll-behavior:smooth;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:var(--cream);

    color:var(--text);

    overflow-x:hidden;

}
nav{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:1000;

    background:white;

    box-shadow:
    0 2px 15px rgba(0,0,0,.08);

}

.nav-container{

    max-width:1400px;

    margin:auto;

    padding:18px 6%;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo img{

    width:140px;

    display:block;

}

.nav-links{

    list-style:none;

    display:flex;

    gap:40px;

}

.nav-links a{

    position:relative;

    text-decoration:none;

    color:#0D6B3D;

    font-weight:600;

    transition:.3s ease;

}

/* Hover */

.nav-links a:hover{

    color:#D17A4A;

}

/* Active link */

.nav-links a.active{

    color:#D17A4A;

}

/* Underline animation */

.nav-links a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:#D17A4A;

    transition:.3s ease;

}

.nav-links a:hover::after,
.nav-links a.active::after{

    width:100%;

}
.nav-actions{
    display:flex;
    align-items:center;
    gap:30px;
}

.account-icon,
.cart-icon{
    display:flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    color:#006838;
    font-weight:600;
    position:relative;
    transition:.3s;
}

.account-icon:hover,
.cart-icon:hover{
    color:#d87c4a;
}

.account-icon i,
.cart-icon i{
    font-size:20px;
}

.cart-count{
    position:absolute;
    top:-8px;
    left:12px;

    width:20px;
    height:20px;

    background:#d87c4a;
    color:#fff;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:11px;
    font-weight:700;
}
.dropdown{
    position:relative;
}

.dropdown-menu{

    position:absolute;

    top:100%;
    left:0;

    min-width:220px;

    background:white;

    list-style:none;

    border-radius:12px;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

    padding:10px 0;

    opacity:0;

    visibility:hidden;

    transform:translateY(10px);

    transition:.3s ease;

}

.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.dropdown-menu li{
    width:100%;
}

.dropdown-menu a{

    display:block;

    padding:14px 20px;

    text-decoration:none;

    color:var(--emerald);

}

.dropdown-menu a:hover{

    background:var(--cream);

    color:var(--terracotta);

}
.menu-toggle{
    display:none;
    font-size:2rem;
    color:var(--emerald);
    cursor:pointer;
}
.account-dropdown{

    position:relative;

}

.account-icon{

    display:flex;
    align-items:center;
    gap:8px;

    text-decoration:none;

    color:var(--emerald);

    font-weight:600;

    transition:.3s;

}

.account-icon:hover{

    color:var(--terracotta);

}

.dropdown-arrow{

    font-size:12px;

    margin-left:2px;

}

.account-menu{

    position:absolute;

    top:calc(100% + 12px);

    right:0;

    width:240px;

    background:#fff;

    border-radius:14px;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

    overflow:hidden;

    opacity:0;

    visibility:hidden;

    transform:translateY(10px);

    transition:.25s ease;

    z-index:9999;

}

.account-dropdown:hover .account-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.account-menu a{

    display:flex;

    align-items:center;

    gap:12px;

    padding:15px 20px;

    text-decoration:none;

    color:#333;

    transition:.25s;

}

.account-menu a:hover{

    background:var(--cream);

    color:var(--emerald);

}

.account-menu hr{

    border:none;

    border-top:1px solid #eee;

}

.logout-link{

    color:#D17A4A !important;

}

.logout-link:hover{

    background:#fff3f3;

    color:#c62828;

}
/* =====================================================
   HERO
===================================================== */

.circularity-hero{

    min-height:90vh;

    padding:120px 8%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:80px;

    background:#f7f3ec;

    overflow:hidden;

    position:relative;

}
.hero-content{

    flex:1;

    max-width:650px;

    z-index:2;

}

.hero-tag{

    display:inline-block;

    padding:10px 22px;

    border-radius:40px;

    background:#dff2e6;

    color:var(--emerald);

    font-weight:600;

    letter-spacing:1px;

    margin-bottom:25px;

}

.hero-content h1{

    font-size:4rem;

    line-height:1.1;

    color:var(--emerald);

    margin-bottom:30px;

}

.hero-content p{

    font-size:1.15rem;

    line-height:1.9;

    color:#555;

    margin-bottom:40px;

}
.hero-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:18px 34px;

    background:var(--emerald);

    color:white;

    text-decoration:none;

    border-radius:50px;

    font-weight:600;

    transition:.35s;

}

.hero-btn:hover{

    background:var(--gold);

    transform:translateY(-4px);

}
.hero-image{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    position:relative;

}
.circle-bg{

    position:absolute;

    width:520px;

    height:520px;

    background:#dff2e6;

    border-radius:50%;

}
/* .hero-image img{

    width:450px;

    position:relative;

    z-index:2;

    animation:float 5s ease-in-out infinite;

} */
 .hero-image img{

    width:420px;
    height:420px;

    object-fit:cover;

    border-radius:50%;

    position:relative;
    z-index:2;

}
.orbit{

    position:absolute;

    width:70px;

    height:70px;

    background:white;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:28px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    z-index:3;

}

.orbit-1{

    top:10%;

    right:20%;

}

.orbit-2{

    bottom:12%;

    left:12%;

}

.orbit-3{

    top:48%;

    left:0;

}
@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0);

    }

}
@media(max-width:900px){

.circularity-hero{

    flex-direction:column;

    text-align:center;

    padding:90px 25px;

}

.hero-content{

    max-width:100%;

}

.hero-content h1{

    font-size:2.8rem;

}

.hero-image{

    margin-top:50px;

}

.hero-image img{

    width:320px;

}

.circle-bg{

    width:360px;

    height:360px;

}

.orbit{

    width:55px;

    height:55px;

    font-size:22px;

}

}
/*=========================================
  CIRCULAR JOURNEY
=========================================*/

.circular-journey{

    background:#fff;

    padding:120px 8%;

}

.journey-heading{

    max-width:760px;

    margin:0 auto 90px;

    text-align:center;

}

.journey-heading span{

    display:inline-block;

    color:var(--gold);

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:15px;

}

.journey-heading h2{

    font-size:3rem;

    color:var(--emerald);

    margin-bottom:25px;

}

.journey-heading p{

    font-size:1.08rem;

    line-height:1.9;

    color:#666;

}
.journey-wrapper{

    max-width:1300px;

    margin:auto;

}
.journey-step{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
    margin-bottom:90px;

}

.journey-step.left .journey-image{

    grid-column:1;

}

.journey-step.left .journey-content{

    grid-column:2;

}

.journey-step.right .journey-content{

    grid-column:1;

}

.journey-step.right .journey-image{

    grid-column:2;

}
.journey-image{

    overflow:hidden;

    border-radius:28px;

    box-shadow:

    0 20px 50px rgba(0,0,0,.08);

}

.journey-image img{

    width:100%;

    height:480px;

    object-fit:cover;

    display:block;

    transition:.45s;

}

.journey-image:hover img{

    transform:scale(1.05);

}
.journey-content{

    padding:20px;

}

.step-number{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:58px;

    height:58px;

    border-radius:50%;

    background:var(--gold);

    color:white;

    font-weight:700;

    margin-bottom:25px;

}

.journey-content h3{

    font-size:2rem;

    color:var(--emerald);

    margin-bottom:20px;

}

.journey-content p{

    font-size:1.05rem;

    line-height:1.9;

    color:#666;

}
.journey-arrow{

    display:flex;

    flex-direction:column;

    align-items:center;

    margin-bottom:60px;

}

.journey-line{

    width:2px;

    height:70px;

    background:#d8d8d8;

}

.journey-circle{

    width:65px;

    height:65px;

    border-radius:50%;

    background:var(--gold);

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:24px;

    margin-top:-3px;

    box-shadow:

    0 15px 30px rgba(0,0,0,.12);

}
.journey-step{

    opacity:0;

    transform:translateY(40px);

    animation:fadeUp .8s ease forwards;

}

.journey-step:nth-child(1){

    animation-delay:.1s;

}

.journey-step:nth-child(3){

    animation-delay:.2s;

}

.journey-step:nth-child(5){

    animation-delay:.3s;

}

.journey-step:nth-child(7){

    animation-delay:.4s;

}

.journey-step:nth-child(9){

    animation-delay:.5s;

}

.journey-step:nth-child(11){

    animation-delay:.6s;

}

@keyframes fadeUp{

    to{

        opacity:1;

        transform:translateY(0);

    }

}
@media(max-width:900px){

    .journey-step{

        grid-template-columns:1fr;

        gap:35px;

    }

    .journey-step.right{

        direction:ltr;

    }

    .journey-image img{

        height:320px;

    }

    .journey-heading h2{

        font-size:2.3rem;

    }

    .journey-content h3{

        font-size:1.6rem;

    }

}
/*=========================================
    WHY IT MATTERS
==========================================*/

.why-matters{

    background:#f7f3ec;

    padding:120px 8%;

}
.section-heading{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.section-heading span{

    color:var(--gold);

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

}

.section-heading h2{

    font-size:3rem;

    color:var(--emerald);

    margin:18px 0;

}

.section-heading p{

    color:#666;

    line-height:1.9;

    font-size:1.05rem;

}
.impact-grid{

    max-width:1400px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}
.impact-card{

    background:white;

    padding:45px 35px;

    border-radius:24px;

    text-align:center;

    transition:.35s;

    box-shadow:

    0 10px 30px rgba(0,0,0,.05);

}

.impact-card:hover{

    transform:translateY(-10px);

    box-shadow:

    0 20px 50px rgba(0,0,0,.10);

}
.impact-icon{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:30px;

    border-radius:50%;

    background:#e8f4eb;

    display:flex;

    justify-content:center;

    align-items:center;

}

.impact-icon i{

    font-size:38px;

    color:var(--emerald);

}
.impact-card h3{

    font-size:1.45rem;

    color:var(--emerald);

    margin-bottom:18px;

}

.impact-card p{

    color:#666;

    line-height:1.9;

}
@media(max-width:1100px){

    .impact-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:700px){

    .impact-grid{

        grid-template-columns:1fr;

    }

    .section-heading h2{

        font-size:2.3rem;

    }

}
.impact-card{

    position:relative;

    overflow:hidden;

}

.impact-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:var(--gold);

}
/*=========================================
    OUR CIRCULAR IMPACT
==========================================*/

.circular-impact{

    background:#fff;

    padding:120px 8%;

}
.impact-heading{

    max-width:760px;

    margin:0 auto 80px;

    text-align:center;

}

.impact-heading span{

    display:inline-block;

    color:var(--gold);

    text-transform:uppercase;

    letter-spacing:2px;

    font-weight:600;

    margin-bottom:15px;

}

.impact-heading h2{

    font-size:3rem;

    color:var(--emerald);

    margin-bottom:20px;

}

.impact-heading p{

    color:#666;

    line-height:1.9;

    font-size:1.05rem;

}
.impact-stats{

    max-width:1400px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}
.impact-stat{

    text-align:center;

    padding:50px 30px;

    border-radius:22px;

    background:#f7f3ec;

    transition:.35s;

    border:1px solid #ececec;

}

.impact-stat:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}
.impact-stat h3{

    font-size:4rem;

    color:var(--emerald);

    margin-bottom:18px;

    font-weight:700;

    line-height:1;

}
.impact-stat p{

    color:#555;

    font-size:1.05rem;

    line-height:1.8;

    margin-bottom:12px;

}

.impact-stat span{

    display:block;

    color:var(--gold);

    font-weight:600;

    margin-top:10px;

}
@media(max-width:1100px){

    .impact-stats{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:700px){

    .impact-stats{

        grid-template-columns:1fr;

    }

    .impact-heading h2{

        font-size:2.3rem;

    }

    .impact-stat h3{

        font-size:3rem;

    }

}
/* .impact-stat::before{

    content:"";

    display:block;

    width:70px;

    height:4px;

    background:var(--gold);

    margin:0 auto 30px;

    border-radius:10px;

} */

/*=====================================
    OUR BELIEF
=====================================*/

.belief-section{

    background:#f7f3ec;

    padding:120px 8%;

    position:relative;

    overflow:hidden;

}

.belief-container{

    max-width:900px;

    margin:auto;

    text-align:center;

    position:relative;

    z-index:2;

}

.belief-tag{

    display:inline-block;

    color:var(--gold);

    font-weight:700;

    letter-spacing:3px;

    font-size:.9rem;

    margin-bottom:20px;

    text-transform:uppercase;

}

.belief-container h2{

    font-size:3rem;

    color:var(--emerald);

    margin-bottom:28px;

    line-height:1.2;

}

.belief-container p{

    font-size:1.15rem;

    color:#555;

    line-height:2;

    max-width:760px;

    margin:auto;

}
.belief-section::before{

    content:"🍃";

    position:absolute;

    top:50px;

    left:80px;

    font-size:120px;

    opacity:.06;

    transform:rotate(-18deg);

}

.belief-section::after{

    content:"🥑";

    position:absolute;

    bottom:40px;

    right:100px;

    font-size:110px;

    opacity:.05;

    transform:rotate(20deg);

}
@media(max-width:768px){

    .belief-section{

        padding:80px 25px;

    }

    .belief-container h2{

        font-size:2.2rem;

    }

    .belief-container p{

        font-size:1rem;

        line-height:1.9;

    }

}
/*=====================================
    CALL TO ACTION
=====================================*/

.circular-cta{

    background:#fff;

    padding:120px 8%;

}

.cta-container{

    max-width:900px;

    margin:auto;

    text-align:center;

}

.cta-tag{

    display:inline-block;

    color:var(--gold);

    font-size:.9rem;

    font-weight:700;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:20px;

}

.cta-container h2{

    font-size:3rem;

    color:var(--emerald);

    margin-bottom:25px;

    line-height:1.2;

}

.cta-container p{

    max-width:720px;

    margin:auto;

    color:#666;

    font-size:1.1rem;

    line-height:1.9;

}
.cta-buttons{

    margin-top:50px;

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.cta-btn{

    text-decoration:none;

    padding:16px 34px;

    border-radius:50px;

    font-weight:600;

    transition:.35s;

}

.cta-btn.primary{

    background:var(--emerald);

    color:#fff;

}

.cta-btn.primary:hover{

    background:#164b37;

    transform:translateY(-4px);

}

.cta-btn.secondary{

    border:2px solid var(--emerald);

    color:var(--emerald);

    background:#fff;

}

.cta-btn.secondary:hover{

    background:var(--emerald);

    color:#fff;

    transform:translateY(-4px);

}
@media(max-width:768px){

    .circular-cta{

        padding:80px 25px;

    }

    .cta-container h2{

        font-size:2.2rem;

    }

    .cta-container p{

        font-size:1rem;

    }

    .cta-buttons{

        flex-direction:column;

        align-items:center;

    }

    .cta-btn{

        width:100%;

        max-width:320px;

        text-align:center;

    }

}

/* FOOTER */

.footer{

    background:var(--emerald);

    color:white;

    width:100vw;

    margin-left:calc(50% - 50vw);
    margin-top: 70px;

}

.footer-container{

    max-width:1400px;

    margin:auto;

    padding:60px 8%;

    display:grid;

    grid-template-columns:
    2fr 1fr 1fr 1fr;

    gap:50px;

}

.footer-brand img{

    width:140px;

    background:white;

    padding:10px;

    border-radius:12px;

    margin-bottom:20px;

}

.footer-brand p{

    line-height:1.9;

    color:rgba(255,255,255,.85);

}

.footer h4{

    margin-bottom:20px;

    color:var(--gold);

    font-size:1.2rem;

}

.footer-links ul{

    list-style:none;

}

.footer-links li{

    margin-bottom:12px;

}

.footer-links a,
.footer-social a{

    text-decoration:none;

    color:white;

    transition:.3s;

}

.footer-links a:hover,
.footer-social a:hover{

    color:var(--gold);

}

.footer-contact p{

    margin-bottom:12px;

}

.footer-social{

    display:flex;

    flex-direction:column;

    gap:12px;

}

.footer-bottom{

    text-align:center;

    padding:25px;

    border-top:
    1px solid rgba(255,255,255,.15);

}

.footer-bottom p{

    color:rgba(255,255,255,.8);

}
.footer-social h4{
    color:#d6a84f;
    font-size:1.2rem;
    margin-bottom:18px;
}
.social-icons{
    display:flex;
    gap:28px;
    align-items:center;
}

.social-icons a{
    color:#fff;
    font-size:28px;
    text-decoration:none;
    transition:0.3s ease;
}

.social-icons a:hover{
    color:#d6a84f;
    transform:translateY(-3px);
}



