* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Segoe UI", sans-serif;
}


body::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    background: rgba(255,255,255,0.2);
    filter: blur(100px);
    top: 200px;
    right: 100px;
}


body {

    background: linear-gradient(
        90deg,
        rgba(180, 220, 180, 0.7),
        rgba(140, 200, 140, 0.6),
        rgba(120, 190, 150, 0.6)
    );

    background: radial-gradient(circle at 20% 20%, #9bd58f, #59a96a, #3c8f64);
    background-image: url("https://images.unsplash.com/photo-1497211419994-14ae40a3c7a3?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D");
    min-height: 100vh;
    color: #1b4332;

    background-size: cover;
    background-position: center;


    position: relative;
    min-height: 100vh;


}


/* NAVBAR 
.navbar {
    padding: 20px 40px;
}
*/


.navbar {
    position: sticky;
    top: 0;
    z-index: 10;
    transition: transform 0.3s ease;

    padding: 16px 40px;

    background: linear-gradient(
        180deg,
        rgba(200, 230, 200, 0.75),
        rgba(170, 210, 170, 0.55)
    );

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}


.navbar.hide {
    transform: translateY(-100%);
}

.navbar.scrolled {
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}


.nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    font-size: 28px;
    font-weight: 600;
    color: #1b4332;
}

.nav-links a {
    margin: 0 20px;
    text-decoration: none;
    color: #355f4a;
    font-weight: 500;
}


.navbar::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        to right,
        rgba(255,255,255,0.15),
        rgba(255,255,255,0.05),
        rgba(255,255,255,0.15)
    );

    pointer-events: none;
}



.nav-links a:hover {
    text-decoration: underline;
}

/* BUTTONS */
.btn-primary {
    background: #0b6b4c;
    color: white;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
}

.btn-primary:hover {
    background: #095c40;
}

.btn-secondary {
    background: #dfe6e9;
    color: #2d3436;
    border: none;
    padding: 12px 18px;
    border-radius: 8px;
    margin-left: 10px;
    cursor: pointer;
}

/* HERO */
.hero {
    display: flex;
    justify-content: center;
    margin-top: 50px;
    padding: 20px;
}

/* GLASS CARD */
.hero-card {

    display: flex;
    max-width: 1100px;
    width: 100%;


    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(18px);

    border-radius: 20px;
    overflow: hidden;

    align-items: stretch;

    max-height: 500px;

}

.hero-card.reverse {
    flex-direction: row;
}

.hero-image.right-side {
    width: 45%;
    height: 100%;
    overflow: hidden;

    clip-path: ellipse(85% 120% at 90% 50%);
}


.hero-card.reverse .hero-content {
    padding-right: 60px;
}


/* IMAGE SIDE */
.hero-image {
    width: 45%;
    overflow: hidden;
    position: relative;
    clip-path: ellipse(85% 120% at 10% 50%);

    min-width: 200px;
    display: block;

    align-self: stretch


}

.hero-image img {
    width: 100%;
    object-fit: cover;



    /* curved edge 
    border-top-right-radius: 120px;
    border-bottom-right-radius: 120px;
    */
}



/* CONTENT */
.hero-content {
    width: 55%;
    padding: 50px;
    min-width: 280px;
    flex: none;
}

.hero-content h2 {

    font-size: clamp(24px, 4vw, 36px); /* 👈 responsive scaling */
    line-height: 1.2;

}

.hero-content h4 {
    font-size: 18px;
    margin-bottom: 15px;
    font-weight: 600;
}

.hero-content p {
    line-height: 1.6;
    color: #344e41;
    margin-bottom: 30px;
    font-size: clamp(14px, 1.5vw, 16px)
}

.hero-actions {
    display: flex;
    align-items: center;
}

.services {
    display: flex;
    justify-content: center;
    padding: 60px 20px;
}

.services-card {
    width: 100%;
    max-width: 1100px;

    padding: 40px;

    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(18px);

    border-radius: 20px;
    border: 0px solid rgba(255,255,255,0.4);
}

.services-card h2 {
    font-size: 42px;
    margin-bottom: 30px;
    color: #0f5132;
}

/* accordion item */
.service-item {
    margin-bottom: 20px;

    background: rgba(255, 255, 255, 0.4);
    border-radius: 14px;

    border: 1px solid rgba(255,255,255,0.4);
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);

    overflow: hidden;
}

/* header */
.service-item summary {
    list-style: none;
    cursor: pointer;

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

    padding: 20px 25px;

    font-size: 20px;
    font-weight: 600;
    color: #155d46;
}

.service-item summary::-webkit-details-marker {
    display: none;
}

/* expand icon */
.service-item .icon {
    background: rgba(255,255,255,0.6);
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 14px;
}

/* content hidden initially */
.service-item .content {
    padding: 0 25px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.3s ease;
    color: #355f4a;
}

/* expanded state */
.service-item[open] .content {
    padding: 15px 25px 25px;
    max-height: 400px;

}

/* rotate icon on open */
.service-item[open] .icon {
    transform: rotate(90deg);
}

.service-item:hover {
    transform: translateY(-2px);
}

.service-item {
    transition: all 0.25s ease;
}


.service-item .preview {
    margin: 10px 0 15px;
    opacity: 0.85;
}

/*
.service-item .full {
    opacity: 0;
    transform: translateY(-5px);
    transition: all 0.3s ease;
}
*/

.service-item[open] .full {
    opacity: 1;
    transform: translateY(0);
}

.service-item[open] .preview {
    opacity: 0.6;
}

.collapse-label {
    text-align: right;
    font-size: 14px;
    margin-top: 10px;
    opacity: 0.7;
}

.service-item {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.service-item[open] {
    transform: scale(1.01);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}

.engagement {
    display: flex;
    justify-content: center;
    padding: 60px 20px;
}

.engagement-card {
    width: 100%;
    max-width: 1100px;
    padding: 50px 40px;

    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(18px);

    border-radius: 20px;
    border: 0px solid rgba(255,255,255,0.4);
}

.engagement-card h2 {
    text-align: center;
    font-size: 44px;
    color: #0f5132;
    margin-bottom: 40px;
}

/* GRID */
.engagement-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* INDIVIDUAL CARD */
.engagement-item {
    padding: 30px 25px;

    border-radius: 16px;

    background: rgba(255, 255, 255, 0.35);
    border: 1px solid rgba(255,255,255,0.4);

    box-shadow: 0 6px 20px rgba(0,0,0,0.1);

    text-align: center;

    transition: all 0.25s ease;
}

/* TITLE */
.engagement-item h3 {
    font-size: 26px;
    margin-bottom: 15px;
    color: #155d46;
}

/* TEXT */
.engagement-item p {
    font-size: 15px;
    line-height: 1.6;
    color: #355f4a;
    margin-bottom: 15px;
}

/* HIGHLIGHT */
.engagement-item strong {
    color: #0b6b4c;
}

/* HOVER EFFECT (matches polished UI feel) */
.engagement-item:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

.expertise {
    display: flex;
    justify-content: center;
    padding: 60px 20px;
}

.expertise-card {
    width: 100%;
    max-width: 1100px;

    padding: 50px 40px;

    background: rgba(255,255,255,0.25);
    backdrop-filter: blur(18px);

    border-radius: 20px;
    border: 0px solid rgba(255,255,255,0.4);
}

.expertise-card h2 {
    text-align: center;
    font-size: 42px;
    color: #0f5132;
    margin-bottom: 40px;
}

.platform-logos {
    display: flex;
    justify-content: space-between;
    align-items: center;

    margin-bottom: 40px;
    gap: 20px;
    flex-wrap: wrap;
}

.logo-slot {
    flex: 1;
    min-width: 140px;

    text-align: center;
    padding: 15px;

    border-radius: 10px;

    /*background: rgba(255,255,255,0.2);*/
    background: transparent;
    /*border: 1px solid rgba(255,255,255,0.3);*/

    color: #355f4a;
    font-weight: 500;
}

.cert-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 20px;
}


.cert-item {
    height: 140px;               /* slightly bigger for badges */
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 10px;
    overflow: hidden;           /* 👈 prevents overflow */

    border-radius: 12px;
    background: transparent;
    /*
    background: rgba(255,255,255,0.35);
    border: 1px solid rgba(255,255,255,0.4);
    */
}


.cert-item img {
    max-width: 100%;
    max-height: 100%;           /* 👈 KEY FIX */
    object-fit: contain;        /* keeps proportions */
}


/* hover pop like your other sections */
.cert-item:hover {
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.logo-slot img {
    max-height: 40px;
    opacity: 0.9;
}

.cert-grid {
    justify-items: center;
}

.contact {
    display: flex;
    justify-content: center;
    padding: 60px 20px;
}

.contact-card {
    display: flex;
    max-width: 1100px;
    width: 100%;
    min-height: 300px;

    background: rgba(255,255,255,0.25);
    backdrop-filter: blur(18px);

    border-radius: 20px;
    border: 0px solid rgba(255,255,255,0.4);

    overflow: hidden;
}

.contact-content {
    width: 55%;
    padding: 60px 50px;
}

.contact-content h2 {
    font-size: 40px;
    margin-bottom: 15px;
    color: #0f5132;
}

.contact-content h4 {
    margin-bottom: 15px;
}

.contact-content p {
    margin-bottom: 15px;
    color: #355f4a;
}

.contact-info a {
    color: #0b6b4c;
    font-weight: 600;
    text-decoration: none;
}

.form-container {
    margin-top: 25px;
}

.mock-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.mock-form input,
.mock-form textarea {
    padding: 12px;
    border-radius: 8px;
    border: 1px solid rgba(0,0,0,0.1);
}

.mock-form textarea {
    min-height: 120px;
}

.mock-form button {
    grid-column: span 2;

    padding: 12px;
    border: none;
    border-radius: 8px;

    background: #0b6b4c;
    color: white;
    font-weight: 600;

    cursor: pointer;
}

.contact-image {
    width: 45%;
    height: auto;
    min-height: 100%;
    overflow: hidden;

    clip-path: ellipse(85% 120% at 90% 50%);
}

.contact-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 25px;
}

.menu-toggle {
    display: none;
    font-size: 26px;
    background: none;
    border: none;
    cursor: pointer;
}

.nav-links {
    transition: all 0.25s ease;
}

.nav-links {
    background: transparent;
}



@media (max-width: 900px) {

    .menu-toggle {
        display: block;
        z-index: 20;
    }

    .nav-links {
        position: absolute;
        top: 70px;
        right: 20px;

        flex-direction: column;
        align-items: flex-start;

        background: rgba(255,255,255,0.9);
        backdrop-filter: blur(18px);

        padding: 20px;
        border-radius: 12px;
        border: 1px solid rgba(255,255,255,0.4);

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

        display: none; /* 👈 hidden by default */
    }

    .nav-links a,
    .nav-links button {
        margin: 10px 0;
        width: 100%;
    }

    .nav-links.active {
        display: flex; /* 👈 shown when toggled */
    }
}



@media (max-width: 1000px) {
    .cert-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .cert-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 900px) {
    .engagement-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {

    .contact-card {
        flex-direction: column;     /* 👈 stack instead of side-by-side */
        min-height: unset;          /* let it grow naturally */
    }

    /* IMAGE goes on TOP like your other cards */
    .contact-image {
        width: 100%;
        height: 250px;              /* 👈 control mobile height */

        clip-path: none;            /* 👈 remove ellipse on mobile */
        border-radius: 20px 20px 0 0;
    }

    .contact-image img {
        width: 100%;
        height: 0%;
        object-fit: none;
    }

    /* CONTENT BELOW */
    .contact-content {
        width: 100%;
        padding: 30px 20px;
    }

    /* Typography scaling */
    .contact-content h2 {
        font-size: 28px;
        line-height: 1.2;
    }

    .contact-content h4 {
        font-size: 16px;
    }

    .contact-content p {
        font-size: 14px;
    }

    /* FORM becomes single column */
    .mock-form {
        grid-template-columns: 1fr;
    }

    .mock-form textarea,
    .mock-form button {
        grid-column: span 1;
    }
}

@media (max-width: 900px) {
    .contact {
        padding: 60px 15px;
    }
}

@media (max-width: 900px) {

    .hero-card {
        flex-direction: column;
        max-height: 600px;
    }

    /* image on top */
    .hero-image {
        width: 100%;
        height: 320px;
        position: bottom;

        clip-path: none; /* remove curve to avoid layout break */
    }

    /* restore rounded corners */
    .hero-image img {
        border-radius: 20px 20px 0 0;
    }

    /* content below */
    .hero-content {
        width: 100%;
        padding: 25px 20px;
    }
}


@media (max-width: 1100px) {
    .hero-content {
        padding: 30px;
    }
}


