/* =========================
   GLOBAL RESPONSIVE FOUNDATION
========================= */

html {
    overflow-x: hidden;
}

body {
    margin: 0;
    overflow-x: hidden;
}

img {
    max-width: 100%;
}

section {
    width: 100%;
    box-sizing: border-box;
}






/* ========================================
   TABLET RESPONSIVENESS
======================================== */

@media (max-width: 1100px) {

    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* NAVBAR */
    .navbar {
        padding: 18px 4%;
    }

    .navbar .navbar-links {
        display: none;
    }

    .menu-toggle {
        display: block;
        font-size: 24px;
        cursor: pointer;
    }

    .navbar-links.active {
        display: flex;
    }

    .navbar-links {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: #ffffff;
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 5%;
        gap: 16px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    }

    .navbar-links a {
        width: 80%;
        padding: 13px;
        border: solid #f9f9f9;
        border-radius: 30px;
        display: flex;
        justify-content: center;
        box-shadow: 6px 10px 400px #1e293b;
        background-color: #ffffff;
    }

    /* HERO */
    .hero {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        gap: 0;
        padding: 80px 4% 50px;
        overflow: hidden;
    }

    .hero-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

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

    .hero-description {
        font-size: 15px;
        line-height: 1.6;
    }

    .hero-features {
        gap: 12px;
        margin-top: 38px;
    }

    .feature {
        gap: 7px;
        padding-right: 12px;
    }

    .feature h3 {
        font-size: 13px;
    }

    .feature p {
        font-size: 10px;
    }

    /* HERO IMAGE */
    .hero-visual {
        display: flex;
        justify-content: center;
        align-items: center;
        min-width: 0;
        max-width: 100%;
        overflow: visible;
    }

    .hero-visual img {
        width: 560px;
        max-width: none;
        height: auto;
        flex-shrink: 0;
        padding-bottom: 40px;
        transform: scale(1.5) translateX(-8%);
    }


    /* ABOUT SECTION */

    .about {
        padding: 70px 4% 10px;
    }

    .about-content {
        grid-template-columns: 0.85fr 1.5fr;
        gap: 35px;
    }

    .about-label {
        font-size: 16px;
        letter-spacing: 0.8px;
    }

    .about-line {
        width: 65px;
        height: 4px;
        margin-bottom: 18px;
    }

    .about-intro h2 {
        font-size: 42px;
        line-height: 1.1;
        margin-bottom: 20px;
    }

    .about-description {
        font-size: 15px;
        line-height: 1.55;
        margin-bottom: 20px;
    }

    .about-description.secondary {
        font-size: 14px;
        line-height: 1.55;
    }

    .about-right {
        gap: 20px;
    }

    .about-cards {
        gap: 12px;
    }

    .about-card {
        min-height: 360px;
        padding: 22px 18px;
        border-radius: 12px;
    }

    .about-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 18px;
    }

    .about-icon i {
        font-size: 30px;
    }

    .about-card h3 {
        font-size: 23px;
        margin-bottom: 12px;
    }

    .card-line {
        width: 45px;
        height: 3px;
        margin-bottom: 18px;
    }

    .about-card p {
        font-size: 14px;
        line-height: 1.5;
    }

    .mission-box {
        min-height: 135px;
        padding: 22px;
        gap: 20px;
        border-radius: 12px;
    }

    .mission-icon {
        width: 75px;
        height: 75px;
        padding-right: 20px;
    }

    .mission-icon i {
        font-size: 42px;
    }

    .mission-label {
        font-size: 15px;
        margin-bottom: 10px;
    }

    .mission-content h3 {
        font-size: 19px;
        line-height: 1.35;
    }


    /* ECOSYSTEM SECTION */

    .ecosystem {
        padding: 80px 4%;
    }

    .ecosystem-heading {
        margin-bottom: 30px;
    }

    .section-label {
        font-size: 16px;
        letter-spacing: 0.8px;
        margin-bottom: 14px;
    }

    .ecosystem-heading h2 {
        font-size: 42px;
        line-height: 1.1;
        margin-bottom: 18px;
    }

    .ecosystem-description {
        font-size: 16px;
        line-height: 1.55;
        max-width: 700px;
    }

    /* PROJECT GRID */

    .project-grid {
        gap: 15px;
    }

    .project-track {
        gap: 15px;
    }

    .project-card {
        flex: 0 0 240px;
        min-height: 340px;
        padding: 24px;
    }

    .coming-soon-card {
        flex: 0 0 250px;
        min-height: 340px;
        padding: 24px;
    }

    .project-card-top {
        margin-bottom: 20px;
    }

    .project-icon {
        width: 58px;
        height: 58px;
    }

    .project-mini-logo {
        font-size: 12px;
    }

    .project-card h3 {
        font-size: 23px;
        margin-bottom: 13px;
    }

    .project-category {
        padding: 6px 12px;
        font-size: 13px;
        margin-bottom: 20px;
    }

    .project-card p {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .project-link {
        font-size: 14px;
    }

    /* COMING SOON CARD */

    .coming-soon-icon {
        width: 58px;
        height: 58px;
        font-size: 27px;
        margin-bottom: 20px;
    }

    .coming-soon-card h3 {
        font-size: 23px;
    }

    .coming-soon-card h3:nth-of-type(2) {
        margin-bottom: 20px;
    }

    .coming-soon-card p {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .coming-soon-button {
        padding: 11px 17px;
        font-size: 14px;
    }

    /* ECOSYSTEM BOTTOM */

    .ecosystem-bottom {
        margin-top: 32px;
        gap: 25px;
    }

    .ecosystem-stats {
        gap: 30px;
    }

    .ecosystem-stat strong {
        font-size: 26px;
    }

    .ecosystem-stat span {
        font-size: 13px;
    }

    .ecosystem-bottom-text {
        font-size: 14px;
        max-width: 280px;
    }


    /* COMMUNITY SECTION */

    .community {
        padding: 10px 4% 80px;
    }

    .community-container {
        max-width: 1100px;
        gap: 25px;
    }

    .community-content {
        min-width: 0;
    }

    .community .section-label {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .community .section-label::after {
        width: 70px;
        height: 5px;
        margin-top: 8px;
    }

    .community h2 {
        font-size: 38px;
        line-height: 1.1;
        letter-spacing: -1px;
    }

    .community-description {
        margin: 20px 0 25px;
        font-size: 15px;
        line-height: 1.55;
    }

    /* COMMUNITY FEATURE CARDS */

    .community-cards {
        gap: 12px;
    }

    .community-card {
        min-height: 300px;
        padding: 20px 16px;
        border-radius: 14px;
    }

    .community-card-icon {
        width: 58px;
        height: 58px;
        margin-bottom: 16px;
        border-radius: 13px;
        font-size: 27px;
    }

    .community-card h3 {
        font-size: 18px;
    }

    .community-card-line {
        width: 34px;
        height: 4px;
        margin: 11px 0 14px;
    }

    .community-card p {
        font-size: 13px;
        line-height: 1.5;
    }

    .community-card-arrow {
        width: 36px;
        height: 36px;
        margin-top: 16px;
        font-size: 15px;
    }

    /* COMMUNITY BOTTOM AREA */

    .community-bottom {
        gap: 20px;
        margin-top: 28px;
    }

    .community-button {
        gap: 12px;
        padding: 15px 22px;
        font-size: 14px;
    }

    .community-divider {
        height: 45px;
    }

    .community-values {
        gap: 9px;
        font-size: 13px;
    }

    .community-values i {
        font-size: 24px;
    }

    .community-values b {
        font-size: 15px;
    }

    /* COMMUNITY IMAGE */

    .community-visual {
        flex: 0 0 390px;
        min-height: 560px;
        transform: translateX(-20);
    }

    .community-main-image {
        top: 125px;
        right: -30px;
        width: 520px;
        height: 520px;
        border-radius: 40px 48% 45px 28px;
    }


    /* JOBS & OPPORTUNITIES SECTION */

    .jobs-section {
        padding: 80px 4%;
    }

    .jobs-container {
        max-width: 1100px;
    }

    .jobs-heading {
        margin-bottom: 32px;
    }

    .jobs-heading h2 {
        font-size: 42px;
        line-height: 1.1;
    }

    .jobs-heading p {
        max-width: 680px;
        font-size: 15px;
        line-height: 1.55;
    }

    .jobs-cards {
        gap: 15px;
    }

    .jobs-card {
        min-width: 0;
        min-height: 390px;
        padding: 22px 18px;
        border-radius: 15px;
    }

    .jobs-card-top {
        gap: 10px;
    }

    .jobs-card-icon {
        width: 60px;
        height: 60px;
        border-radius: 14px;
        font-size: 27px;
    }

    .jobs-card-tag {
        padding: 10px 13px;
        font-size: 12px;
    }

    .jobs-card h3 {
        margin: 20px 0 10px;
        font-size: 22px;
        line-height: 1.2;
    }

    .jobs-card>p {
        font-size: 14px;
        line-height: 1.5;
    }

    .jobs-tags {
        gap: 8px;
        margin-top: 20px;
    }

    .jobs-tags span {
        padding: 8px 11px;
        font-size: 12px;
    }

    .jobs-button {
        gap: 9px;
        margin-top: 22px;
        padding: 13px 16px;
        font-size: 13px;
    }

    .jobs-community-buttons .jobs-button {
        margin-top: 15px;
    }

    .jobs-card-decoration {
        right: 16px;
        bottom: 15px;
    }

    .jobs-card-decoration i:first-child {
        font-size: 70px;
    }

    .jobs-card-decoration i:last-child {
        right: -5px;
        bottom: 5px;
        font-size: 40px;
    }

    .jobs-card-yellow .jobs-card-decoration i {
        font-size: 75px;
    }

    .jobs-card:nth-child(3) .jobs-card-decoration i {
        font-size: 80px;
    }



    /* EVENTS SECTION */

    .events-section {
        padding: 70px 4% 50px;
    }

    .events-container {
        max-width: 1100px;
    }

    .events-heading {
        margin-bottom: 32px;
    }

    .events-heading .section-label {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .events-heading .section-label::after {
        width: 70px;
        height: 5px;
        margin-top: 8px;
    }

    .events-heading h2 {
        font-size: 42px;
        line-height: 1.1;
        letter-spacing: -1px;
    }

    .events-heading p {
        max-width: 680px;
        font-size: 15px;
        line-height: 1.55;
    }

    /* EVENT CARDS */

    .events-cards {
        gap: 15px;
    }

    .event-card {
        min-width: 0;
        border-radius: 14px;
    }

    .event-image {
        height: 160px;
        padding: 18px;
    }

    .event-status {
        padding: 7px 12px;
        font-size: 12px;
    }

    .event-image-content {
        left: 18px;
        bottom: 18px;
    }

    .event-image-content strong {
        font-size: 23px;
    }

    .event-image-content small {
        margin-top: 7px;
        font-size: 11px;
    }

    .event-image-icon {
        right: 20px;
        bottom: 20px;
        font-size: 58px;
    }

    .event-details {
        padding: 20px 18px 22px;
    }

    .event-meta {
        gap: 8px;
        margin-bottom: 13px;
        font-size: 12px;
    }

    .event-meta span {
        gap: 8px;
    }

    .event-meta i {
        width: 16px;
        font-size: 14px;
    }

    .event-details h3 {
        margin-bottom: 10px;
        font-size: 21px;
        line-height: 1.2;
    }

    .event-details p {
        min-height: 90px;
        font-size: 13px;
        line-height: 1.5;
    }

    .event-button {
        gap: 9px;
        margin-top: 18px;
        padding: 11px 16px;
        font-size: 12px;
    }

    /* EVENTS BOTTOM BANNER */

    .events-bottom {
        gap: 18px;
        margin-top: 25px;
        padding: 20px 22px;
        border-radius: 14px;
    }

    .events-bottom-icon {
        font-size: 38px;
    }

    .events-bottom-text h3 {
        font-size: 19px;
    }

    .events-bottom-text p {
        font-size: 12px;
        line-height: 1.45;
    }

    .events-bottom-actions {
        gap: 10px;
    }

    .events-follow-button,
    .events-whatsapp-button {
        gap: 8px;
        padding: 13px 15px;
        font-size: 12px;
        white-space: nowrap;
    }



    /* VIDEOS SECTION */

    .videos-section {
        padding: 80px 20px;
    }

    .videos-container {
        width: 100%;
        max-width: 1100px;
    }

    .videos-heading {
        max-width: 680px;
        margin-bottom: 32px;
    }

    .videos-heading h2 {
        margin: 14px 0 18px;
        font-size: 42px;
        line-height: 1.1;
        letter-spacing: -1px;
    }

    .videos-heading p {
        max-width: 650px;
        font-size: 15px;
        line-height: 1.6;
    }

    /* VIDEO CARDS */

    .videos-cards {
        gap: 15px;
    }

    .video-card {
        min-width: 0;
        border-radius: 14px;
    }

    .video-thumbnail {
        height: 175px;
    }

    .video-category {
        top: 13px;
        left: 13px;
        padding: 6px 10px;
        font-size: 10px;
    }

    .video-play-button {
        width: 50px;
        height: 50px;
        font-size: 16px;
    }

    .video-details {
        padding: 20px 18px;
    }

    .video-details h3 {
        margin-bottom: 10px;
        font-size: 19px;
        line-height: 1.3;
    }

    .video-details p {
        min-height: 75px;
        margin-bottom: 20px;
        font-size: 13px;
        line-height: 1.55;
    }

    .video-watch-link {
        gap: 8px;
        font-size: 13px;
    }

    .video-watch-link i {
        font-size: 11px;
    }

    /* BOTTOM ACTION */

    .videos-bottom {
        gap: 20px;
        margin-top: 32px;
        padding-top: 24px;
    }

    .videos-bottom p {
        font-size: 13px;
    }

    .videos-button {
        padding: 12px 19px;
        font-size: 13px;
    }



    /* CONTACT SECTION */

    .contact-section {
        padding: 70px 4% 50px;
    }

    .contact-container {
        width: 100%;
        max-width: 1100px;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .contact-left .section-label {
        font-size: 16px;
        margin-bottom: 18px;
    }

    .contact-left h2 {
        font-size: 42px;
        line-height: 1.1;
        letter-spacing: -1px;
    }

    .contact-intro {
        max-width: 100%;
        margin-bottom: 25px;
        font-size: 15px;
        line-height: 1.55;
    }

    /* CONTACT TOPIC CARDS */

    .contact-topic-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .contact-topic-card,
    .contact-topic-card.project-card {
        min-height: 190px;
        padding: 16px;
        border-radius: 13px;
    }

    .topic-icon {
        width: 43px;
        height: 43px;
        margin-bottom: 13px;
        border-radius: 11px;
        font-size: 18px;
    }

    .contact-topic-card h3 {
        margin-bottom: 9px;
        font-size: 15px;
    }

    .contact-topic-card p {
        font-size: 12px;
        line-height: 1.55;
    }

    /* DECORATIVE SKYLINE */

    .contact-cityline {
        width: 100%;
        max-width: 520px;
        height: 100px;
        margin-top: 40px;
    }

    .contact-cityline::after {
        width: 360px;
        height: 75px;
        bottom: 26px;
        background:
            linear-gradient(to top, #65d99c 0 100%) 0 30px / 25px 45px no-repeat,
            linear-gradient(to top, #65d99c 0 100%) 35px 12px / 38px 63px no-repeat,
            linear-gradient(to top, #65d99c 0 100%) 82px 0 / 30px 75px no-repeat,
            linear-gradient(to top, #65d99c 0 100%) 122px 21px / 52px 54px no-repeat,
            linear-gradient(to top, #65d99c 0 100%) 182px 7px / 43px 68px no-repeat,
            linear-gradient(to top, #65d99c 0 100%) 238px 25px / 32px 50px no-repeat,
            linear-gradient(to top, #65d99c 0 100%) 280px 4px / 38px 71px no-repeat,
            linear-gradient(to top, #65d99c 0 100%) 328px 23px / 30px 52px no-repeat;
    }

    /* CONTACT FORM */

    .contact-form-card {
        padding: 25px;
        border-radius: 16px;
    }

    .contact-form-card h3 {
        margin-bottom: 12px;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -0.7px;
    }

    .form-intro {
        margin-bottom: 25px;
        font-size: 14px;
        line-height: 1.55;
    }

    .contact-form {
        gap: 15px;
    }

    .contact-form .form-row {
        gap: 12px;
    }

    .form-input-wrapper {
        min-height: 54px;
        border-radius: 11px;
    }

    .form-input-wrapper i {
        width: 48px;
        font-size: 16px;
    }

    .form-input-wrapper input,
    .form-input-wrapper select,
    .form-input-wrapper textarea {
        font-size: 14px;
    }

    .form-input-wrapper input,
    .form-input-wrapper select {
        height: 50px;
    }

    .form-input-wrapper textarea {
        min-height: 135px;
        padding-top: 15px;
    }

    .message-wrapper i {
        padding-top: 17px;
    }

    .contact-submit {
        min-height: 53px;
        gap: 14px;
        margin-top: 3px;
        font-size: 15px;
    }

    .contact-submit i {
        font-size: 17px;
    }




}