:root{
    --bg:#f5f5e9;
    --green:#18763a;
    --green-dark:#115c2c;
    --text:#122019;
    --muted:#5d6a63;
    --border:#d8ddd5;
    --white:#ffffff;
    --max:1240px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:var(--bg);
    color:var(--text);
}




/* =========================================================
   CONTACT PAGE
========================================================= */

.contact-page{
    min-height:calc(100vh - 108px);

    display:flex;
    align-items:center;

    padding:70px 25px;
}

.contact-wrap{
    max-width:var(--max);
    width:100%;
    margin:auto;

    display:grid;
    grid-template-columns:1.15fr .85fr;

    gap:75px;

    align-items:center;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.contact-intro{
    padding-left:5px;
}

.eyebrow{
    color:#168447;
    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
    margin-bottom:25px;
}

.contact-intro h1{
    font-size:62px;
    line-height:.98;
    letter-spacing:-2.5px;

    max-width:650px;

    margin-bottom:24px;
}

.contact-intro h1 em{
    display:block;

    color:#358f51;

    font-family:Georgia,"Times New Roman",serif;

    font-weight:400;
    font-style:italic;

    font-size:62px;
    letter-spacing:-3px;
}

.contact-intro > p{
    color:#52615a;

    font-size:16px;

    line-height:1.65;

    max-width:650px;

    margin-bottom:25px;
}


/* PHONE NUMBERS */

.phone-list{
    display:flex;
    flex-wrap:wrap;

    gap:9px;

    margin-bottom:28px;
}

.phone-pill{
    background:#fff;
    color:#087538;

    text-decoration:none;

    padding:12px 17px;

    border-radius:25px;

    font-size:13px;
    font-weight:bold;

    box-shadow:0 2px 8px rgba(0,0,0,.03);

    transition:.2s;
}

.phone-pill:hover{
    background:#eaf5eb;
}


/* ADDRESS */

.address{
    margin-top:5px;
}

.address strong{
    display:block;

    font-size:15px;

    margin-bottom:7px;
}

.address p{
    color:#52615a;
    font-size:15px;
}


/* =========================================================
   FORM
========================================================= */

.form-card{
    background:#fff;

    border-radius:28px;

    padding:30px;

    box-shadow:0 12px 35px rgba(0,0,0,.06);
}

.form-card h2{
    font-size:22px;
    margin-bottom:12px;
}

.form-subtitle{
    color:#78827d;

    font-size:13px;

    margin-bottom:20px;
}

.form-group{
    margin-bottom:12px;
}

.form-group input,
.form-group textarea,
.form-group select{
    width:100%;

    border:1px solid var(--border);

    background:#fff;

    border-radius:14px;

    padding:15px;

    outline:none;

    color:#28352e;

    font-size:14px;

    transition:.2s;
}

.form-group textarea{
    min-height:100px;
    resize:vertical;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus{
    border-color:#6ca47b;

    box-shadow:
        0 0 0 3px rgba(24,118,58,.08);
}

.submit-btn{
    width:100%;

    border:0;

    border-radius:30px;

    background:var(--green);

    color:#fff;

    padding:15px;

    font-weight:bold;

    font-size:14px;

    cursor:pointer;

    margin-top:1px;

    transition:.2s;
}

.submit-btn:hover{
    background:var(--green-dark);
}

.form-note{
    text-align:center;

    color:#8a938e;

    font-size:11px;

    margin-top:12px;
}


/* =========================================================
   QUICK INFO
========================================================= */

.info-strip{
    max-width:var(--max);

    margin:0 auto 60px;

    padding:0 25px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:18px;
}

.info-card{
    background:#fff;

    border-radius:18px;

    padding:22px;
}

.info-card .icon{
    width:38px;
    height:38px;

    border-radius:50%;

    background:#eaf5eb;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:13px;
}

.info-card h3{
    font-size:16px;

    margin-bottom:6px;
}

.info-card p{
    color:#66736c;

    font-size:13px;

    line-height:1.6;
}

.info-card a{
    color:var(--green);

    text-decoration:none;
}


/* =========================================================
   FOOTER
========================================================= */
jyoti-footer{
    background:#10391c;
    color:#fff;
    margin-top:0;
}


/* MAIN FOOTER */

.footer-container{
    max-width:1240px;
    margin:auto;

    padding:48px 25px 40px;

    display:grid;

    grid-template-columns:
        2fr
        1fr
        1.1fr
        1.25fr;

    gap:55px;
}


/* =========================================================
   FOOTER BRAND
========================================================= */

.footer-column h2{
    margin:0 0 17px;

    font-family:Georgia,
        "Times New Roman",
        serif;

    font-size:22px;

    color:#fff;

    display:flex;
    align-items:center;

    gap:10px;
}

.footer-logo-icon{
    font-family:Arial,
        Helvetica,
        sans-serif;

    font-size:24px;
}

.footer-brand p{
    max-width:590px;

    color:#d0ddd3;

    font-size:15px;

    line-height:1.9;

    margin:0;
}


/* =========================================================
   HEADINGS
========================================================= */

.footer-column h3{
    margin:0 0 18px;

    font-family:Georgia,
        "Times New Roman",
        serif;

    font-size:21px;

    color:#fff;
}


/* =========================================================
   LISTS
========================================================= */

.footer-column ul{
    list-style:none;

    padding:0;
    margin:0;
}

.footer-column li{
    margin-bottom:8px;
}

.footer-column a{
    color:#d0ddd3;

    text-decoration:none;

    font-size:15px;

    transition:.2s;
}

.footer-column a:hover{
    color:#c6e852;
}


/* =========================================================
   CONTACT
========================================================= */

.contact-item{
    display:flex;

    align-items:flex-start;

    gap:10px;

    margin-bottom:7px;
}

.contact-item span{
    width:18px;

    flex-shrink:0;

    font-size:16px;
}

.contact-item p{
    margin:0;

    color:#d0ddd3;

    font-size:15px;

    line-height:1.9;
}

.contact-item a{
    color:#d0ddd3;

    font-size:15px;
}


/* =========================================================
   BOTTOM COPYRIGHT
========================================================= */

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.14);

    text-align:center;

    padding:20px 20px 18px;
}

.footer-bottom p{
    margin:0;

    color:#d0ddd3;

    font-size:15px;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:950px){

    .footer-container{
        grid-template-columns:
            1.5fr
            1fr
            1fr;

        gap:40px;
    }

    .footer-brand{
        grid-column:1 / -1;
    }
}


/* =========================================================
   MOBILE
========================================================= */
@media(max-width:600px){

    .footer-container{
        grid-template-columns:1fr;

        gap:30px;

        padding:40px 20px 30px;
    }

    .footer-brand{
        grid-column:auto;
    }

    .footer-column h2{
        font-size:21px;
    }

    .footer-column h3{
        font-size:19px;
    }

    .footer-brand p,
    .footer-column a,
    .contact-item p,
    .contact-item a{
        font-size:14px;
    }

    .footer-bottom{
        padding:18px 15px;
    }

    .footer-bottom p{
        font-size:13px;
    }
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:700px){
    .info-strip
    {grid-template-columns: repeat(1, 1fr);
    }
.contact-wrap{
    max-width:var(--max);
    width:100%;
    margin:auto;

    display:block;
    grid-template-columns:1.15fr .85fr;

    gap:75px;

    align-items:center;
}
.form-card{
    margin-top:25px ;
}
}
@media(max-width:950px){

    .about-hero h1{
        font-size:52px;
    }

    .intro-grid,
    .why-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .values-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .why-image{
        min-height:380px;
    }
}

@media(max-width:700px){

    

    .about-hero{
        min-height:430px;
    }

    .about-hero-inner{
        padding:55px 20px;
    }

    .about-hero h1{
        font-size:42px;
        letter-spacing:-1.5px;
    }

    .about-hero p{
        font-size:14px;
    }

    .about-intro{
        padding:60px 20px;
    }

    .intro-text h2,
    .why-text h2{
        font-size:32px;
    }

    .intro-image{
        min-height:300px;
    }

    .values-section{
        padding:60px 20px;
    }

    .section-heading h2{
        font-size:31px;
    }

    .values-grid{
        grid-template-columns:1fr;
    }

    .why-section{
        padding:60px 20px;
    }

    .why-image{
        min-height:300px;
    }

    .check-list{
        grid-template-columns:1fr;
    }

    .stats{
        grid-template-columns:1fr;
        padding:0 20px;
        margin-bottom:60px;
    }

    .about-cta{
        margin:0 15px 50px;
        padding:45px 20px;
    }

    .about-cta h2{
        font-size:30px;
    }


}


/* ================= RESPONSIVE ================= */

@media(max-width:1050px){


    .category-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .featured-box{
        grid-template-columns:1fr;
    }

    .featured-image{
        min-height:300px;
    }
}

@media(max-width:700px){


    .category-hero{
        padding:60px 20px 70px;
        background:
            linear-gradient(100deg,rgba(245,245,233,.96),rgba(245,245,233,.82)),
            url("https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=1200&q=80");
        background-size:cover;
    }

    .category-hero h1{
        font-size:45px;
        letter-spacing:-2px;
    }

    .category-hero h1 em{
        font-size:45px;
        letter-spacing:-2px;
    }

    .category-hero p{
        font-size:14px;
    }

    .hero-buttons{
        flex-direction:column;
        align-items:flex-start;
    }

    .categories-section,
    .how-section{
        padding:55px 18px;
    }

    .section-heading h2{
        font-size:31px;
    }

    .category-grid{
        grid-template-columns:1fr;
    }

    .featured{
        padding:0 18px 55px;
    }

    .featured-box{
        padding:28px;
    }

    .featured-box h2{
        font-size:30px;
    }

    .featured-image{
        min-height:220px;
    }

    .steps{
        grid-template-columns:1fr;
    }

    .cta{
        margin:40px 18px;
        padding:45px 22px;
    }

    .cta h2{
        font-size:30px;
    }

    .footer-inner{
        flex-direction:column;
    }
}

@media(max-width:430px){

    .logo h2{
        font-size:19px;
    }

    .category-card{
        padding:22px;
    }

    .category-icon{
        width:68px;
        height:68px;
        font-size:34px;
    }
}
