@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');


:root {
    --heading-font: "Poppins", sans-serif;
    --text-font: "Roboto", sans-serif;
    --text-color: white;
    --button-color: #60cd6f;
    --para-text: #4A4A4A;
    --box-shaow: 0px 0px 1px rgba(3, 7, 18, 0.15),
        0px 0px 4px rgba(3, 7, 18, 0.12),
        1px 1px 9px rgba(3, 7, 18, 0.09),
        2px 2px 15px rgba(3, 7, 18, 0.06),
        3px 3px 24px rgba(3, 7, 18, 0.03);

}

* {
    margin: 0;
    padding: 0;
    font-family: var(--text-font);
}

html,
body {
    /* Hide scrollbars in Firefox, Edge & IE */
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE and old Edge */
    /* overflow-y: scroll; */
    /* Ensures scroll area always present */
    scroll-behavior: smooth;
    /* Smooth scrolling */

    height: auto;
}



html::-webkit-scrollbar,
body::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari, new Edge */
}

body.hidden{
    overflow: hidden;
}



h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--heading-font);
}

.center {
    display: flex;
    justify-content: center;

}

.line {
    width: 100%;
    height: 2px;
    margin-top: 1.5rem;
    background: rgb(206, 206, 206);

}

header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: white;
    
}

/* Navbar */

nav {
    font-family: var(--heading-font);
    margin: 0 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 56px;
}

.nav-left {
    font-size: 1rem;
}

.nav-right {
    display: flex;
    gap: 1rem;
    font-weight: 600;
}



.hamberger {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.hamberger div {
    display: block;
    height: 3px;
    width: 1.8rem;
    background: black;
    transition: 0.3s;

}

.hamberger.active  :nth-child(2){
    opacity: 0;
}

.hamberger.active  :nth-child(1){
    transform: translateY(8px) rotate(45deg);
}

.hamberger.active  :nth-child(3){
    transform: translateY(-8px) rotate(-45deg);
}



.navitem{
    display: none;
}

/* Mobile Overlay  */

.mobile-overlay.active {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    background: rgba(0, 0, 0, 0.479);
    z-index: 750;
}

.navitems-mb{
    position: fixed;
    right: -100%;
    background: white;
    width: 60%;
    display: flex;
    justify-content: flex-start;
    height: 100vh;
    transition: 0.3s;
    z-index: 800;
    padding-left: 1rem;
}

.navitems-mb.active {
    right: 0;
}

.navitem-mb{
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
    margin-top: 1rem;
}

.navitem-mb li a {
    text-decoration: none;
    font-size: 1.2rem;
    font-family: var(--heading-font);
    font-weight: 600;
    color: black;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    cursor: pointer;
}


/* Aside  */

.green{
    color: #60cd6f;
    filter:drop-shadow(var(--box-shaow));
    padding: 0.5rem;
    border-radius: 50%;
}


/* Wave Pattern */
.wavy-underline {
  position: relative;          /* This positions the line relative to the text */
  display: inline-block;       /* This makes the element only as wide as the text */
  padding-bottom: 10px;      /* Add some space for the line */
}

.wavy-underline::after {
  content: '';
  position: absolute;
  bottom: 0;                   /* Position the line at the bottom */
  left: 0;
  width: 100%;
  height: 20px;                 /* Adjust the thickness of the wave */
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 8"><path d="M0 5 C 5 0, 15 10, 20 5" stroke="%23212121" fill="none" stroke-width="1.5" stroke-linecap="round"/></svg>');
  background-size: 36px 25px;   /* Control the size of the wave pattern */
  background-repeat: repeat-x;

}

/* Margin Top  */

.mt{
    margin-top: 2rem;
}

/* New container to handle centering */
.section-heading-container {
  display: flex;
  justify-content: center;
  
}


/* Hero Section  */

.hero {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('https://media.istockphoto.com/id/2183289506/photo/design-of-landscaping-in-the-garden-park-square-recreation-area.webp?a=1&b=1&s=612x612&w=0&k=20&c=yXZviGsGhPX0N7__THif8OH7Bxc1IxQ4wlrIF_9zp5M=') no-repeat center center/cover;
    min-height: 60vh;
    color: var(--text-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 1rem 20px;
    gap: 1.5rem;

}

.hero h1 {
    font-family: var(--heading-font);
    
     font-size: clamp(1.5rem, 3vw + 1rem, 3.5rem);


}

.hero p {
    font-family: var(--text-font);
    
    font-size: clamp(1.2rem, 2vw + 0.5rem, 1.5rem);
    font-weight: 300;

}

.btn {
    text-decoration: none;
    color: var(--text-color);
    background: var(--button-color);
    
    padding: 0.7rem 1rem;
    border-radius: 0.5rem;
    font-size: clamp(1rem, 2vw + 0.5rem, 1.5rem);
    font-family: var(--heading-font);
    font-weight: 600;
    cursor: pointer;
   -webkit-box-shadow: 8px 8px 24px -16px rgba(66, 68, 90, 1);
-moz-box-shadow: 8px 8px 24px -16px rgba(66, 68, 90, 1);
box-shadow: 8px 8px 24px -16px rgba(66, 68, 90, 1);

}


/* Our Services */
.our-services {
    padding: 1rem 0;
    width: 100%;
    scroll-margin-top: 90px;
}

.our-services-heading {
    text-align: center;
    font-size: clamp(1.5rem, 3vw + 1rem, 3.5rem);
    margin-bottom: 1rem;
   
  
}

.our-services-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    justify-content: center;
    gap: 1.5rem;
    max-width: 1600px;
    margin: 0 auto;
    padding: 1rem 1rem 3rem;
}

.our-services-card {

    border-radius: 12px;
    padding: 1rem;
    box-shadow: var(--box-shaow);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.our-services-card:hover {
    transform: translateY(-10px);
}

.our-services-card-img {
    width: 100%;
    max-height: 200px;
    border-radius: 12px;
    object-fit: cover;
}

.our-services-card h3 {
    font-size: 1.2rem;
    padding: 0 0.5rem;
}

.our-services-card p {
    font-size: 1rem;
    font-weight: 400;
    padding: 0 0.5rem;
    color: #4A4A4A;
    line-height: 1.5;
}

.our-services-btn {
    display: flex;
    justify-content: center;

}

.our-services-btn a {
    transition: transform 0.2s ease;
}

.our-services-btn a:hover {
    transform: scale(1.1);
}

/* Portfolio  */
.portfolio{
    scroll-margin-top: 90px;
}
.po-heading {
    display: flex;
    width: 100%;

}

.po-heading h2 {
    
    text-align: center;
   font-size: clamp(1.5rem, 3vw + 1rem, 3.5rem);
    margin-bottom: 1rem;
    
}


.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    justify-content: center;
    gap: 1.5rem;
    max-width: 1600px;
    margin: 0 auto;
    padding: 1rem 1rem 3rem;
}

.photo {
    border-radius: 12px;

    box-shadow: var(--box-shaow);
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.2rem;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.photo-img {
    width: 100%;
    max-height: 220px;
    border-radius: 12px;
}

.photo-info {
    padding: 0.5rem 0.8rem;

}

.photo-info h3 {
    font-size: 1.2rem;
    padding: 0 0.5rem;
}

.photo-info p {
    font-size: 1rem;
    font-weight: 400;
    padding: 0 0.5rem;
    color: #4A4A4A;
    line-height: 1.5;
}

.photo:hover {
    transform: translateY(-10px);
}

/* About Us  */
.aboutus {
    padding: 1rem;
    max-width: 1500px;
    scroll-margin-top: 90px;

}

.aboutus-heading {
    text-align: center;
     font-size: clamp(1.5rem, 3vw + 1rem, 3.5rem);
    margin-bottom: 1rem;
    

}


.about-main {
    width: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;

}

.aboutus-main-left {

    padding: 1rem;



}


.aboutus-main-left img {
    width: 100%;
    max-width: 700px;
    border-radius: 12px;
    box-shadow: var(--box-shaow);

}

.aboutus-main-right {
    padding: 0.5rem 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    max-width: 650px;
    font-size: 1.2rem;


}

.aboutus-main-right {
    color: var(--para-text);
    line-height: 1.5;
}

.aboutus-main-right ul {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;

}

/* Contact Us  */

.contact{
scroll-margin-top: 90px;

}


.contact-head {
    text-align: center;
    font-size: clamp(1.5rem, 3vw + 1rem, 3.5rem);
    margin-bottom: 1rem;
   
}

.con-connection {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 2rem;
    padding: 0 1.5rem;
}

.contact-us {
    display: grid;
    grid-template-columns: repeat(auto-fit, 300px);
    justify-content: center;
    gap: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
    padding: 1rem 1rem 3rem;
}

.contact-us-card {

    box-shadow: var(--box-shaow);
    padding: 1.5rem 1rem;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 10px;
    gap: 0.4rem;
    line-height: 1.5;

    transition: all 0.3s ease;

}

.contact-us-card:hover {
    transform: translateY(6px);
    scale: 1.1;

}

.card-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    gap: 0.3rem;

}

.icon {
    color: var(--button-color);

}

.card-last {
    opacity: 54%;
}


/* Footer  */

footer {

    padding: 1rem 0;
    background: var(--button-color);
    text-align: center;
    color: white;
}


@media (min-width: 768px) {

    
    nav {

        height: 64;
        margin: 0 2.5rem;

    }

    .nav-left {
        font-size: 2rem;
    }

    .nav-right {
        display: flex;
        gap: 1rem;
        font-weight: 600;
    }

    .hamberger {
        display: none;
    }

    .navitem {
        display: flex;
        list-style: none;
        gap: 1rem;
    }

   

    .navitem li a {
        text-decoration: none;
        color: black;
        font-family: var(--heading-font);
        font-size: 1.2rem;
    }

    /* Hero Section  */
    /* .hero {
    
    height: 93vh;
    
    gap: 3rem;

} */


    .hero h1 {
        font-family: var(--heading-font);
        font-size: 4rem;


    }

    .hero p {
        font-family: var(--text-font);
        font-size: 1.5rem;
        font-weight: 300;

    }

    .btn {
             padding: 1rem 1.2rem;
    }

    /* protfolio and our services card  */

    .po-heading h2, .our-services-heading , .aboutus-heading , .contact-head{
   
    font-size: 3rem;
    margin-bottom: 2rem;
  
}



    /* About Us  */

    .aboutus {
        margin: auto;
    }

    .about-main {
        flex-direction: row;
        align-items: center;
        
        align-items: center;
    }

    .aboutus-main-left {
        width: 50%;
        padding: 1rem;
    }

    .aboutus-main-right {
        width: 50%;
        max-width: 650px;
    }

    .aboutus-main-left img {

        height: 300px;
        object-fit: cover;




    }

    /* contacts  */

    .con-connection h4 {
        font-size: 1.4rem;
    }

    .con-connection p {
        font-size: 1.3rem;
    }
  
}


@media (orientation: landscape) and (max-height: 500px) {
    .hero {
        min-height: auto;
        padding: 3rem 1rem;
    }
}

