/* ========================================
   MOBILE RESPONSIVENESS
======================================== */

@media (max-width: 768px) {

    /* GLOBAL */

    body {
        overflow-x: hidden;
    }

    .hero h1,
    .about-intro h2,
    .ecosystem-heading h2,
    .community-content h2,
    .jobs-heading h2,
    .events-heading h2,
    .videos-heading h2,
    .contact-left h2 {
        font-size: 28px;
        line-height: 1.25;
    }


    /* NAVBAR */

    .navbar {
        padding: 16px 5%;
    }

    .menu-toggle {
        display: block;
    }

    .navbar-links {
        display: flex;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-20px);
        transition:
            opacity 0.4s ease,
            transform 0.4s ease,
            visibility 0.4s ease;
    }

    .navbar-links.active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .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 {
        grid-template-columns: 1fr;
        padding: 50px 3% 0px;
        gap: px;
    }

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

    .hero-description {
        font-size: 15px;
        margin-bottom: 24px;
    }

    .hero-features {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-top: 32px;
    }

    .feature {
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
        padding-right: 0;
        padding-bottom: 12px;
        width: 100%;
    }

    .feature:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .hero-visual {
        justify-content: center;
        transform: scale();
        padding: 0px;
        align-self: start;
    }

    .hero-visual img {
        width: 100%;
        transform: scale(1.3);
        align-self: start;

    }


    /* ABOUT */

    .about {
        padding: 20px 5%;
    }

    .about-content {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .about-cards {
        grid-template-columns: 1fr;
    }

    .about-card {
        min-height: 150px;
        height: 230px;
        padding: 16px;
        box-sizing: border-box;
    }


    /* ECOSYSTEM */

    .ecosystem {
        padding: 50px 5%;
    }

    .ecosystem-container {
        width: 100%;
    }

    /* Featured projects on top, constant card below */

    .project-grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
        overflow: visible;
    }

    /* Horizontal sliding project area */

    .project-window {
        width: 100%;
        overflow: hidden;
    }

    .project-track {
        display: flex;
        gap: 12px;
        width: max-content;
    }

    /* Small logo-only project cards */

    .project-window .project-card {
        flex: 0 0 90px;
        width: 90px;
        height: 90px;
        min-height: 0;
        padding: 12px;
        box-sizing: border-box;
        border-radius: 14px;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    /* Hide project names, categories, descriptions and buttons */

    .project-window .project-card-top {
        display: block;
    }

    .project-window .project-card h3,
    .project-window .project-card .project-category,
    .project-window .project-card p,
    .project-window .project-card .project-link,
    .project-window .project-mini-logo {
        display: none;
    }

    /* Project logo */

    .project-window .project-icon {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .project-window .project-icon img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    /* Full-width compact constant card */

    .project-grid .coming-soon-card {
        width: 100%;
        height: 70px;
        min-height: 0;
        padding: 20px;
        box-sizing: border-box;
        border-radius: 16px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        align-self: stretch;
        overflow: hidden;
    }

    /* Keep only the icon and headings */

    .project-grid .coming-soon-card p,
    .project-grid .coming-soon-card .coming-soon-button {
        display: none;
    }

    .project-grid .coming-soon-card .coming-soon-icon {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .project-grid .coming-soon-card h3 {
        font-size: 20px;
        line-height: 1.2;
        margin: 4px 0;
    }

    .project-logo-link {
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
    }

    /* Ecosystem statistics */

    .ecosystem-bottom {
        flex-direction: column;
        gap: 24px;
        align-items: flex-start;
    }

    .ecosystem-stats {
        gap: 24px;
        width: 100%;
        justify-content: space-between;
    }


    /* COMMUNITY */

    .community-container {
        display: flex;
        flex-direction: column;
        gap: 24px;
        position: relative;
        width: 100%;
        min-height: auto;
        height: auto;
    }

    .community-content {
        width: 100%;
        position: static;
    }

    .community-cards {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-bottom: 24px;
        min-height: auto;
        height: auto;
    }

    .community-card,
    .community-card-green,
    .community-card-yellow,
    .community-card-blue {
        min-height: auto;
        height: auto;
        padding: 20px;
        width: 100%;
    }

    .community-visual {
        display: flex;
        width: 100%;
        height: auto;
        min-height: 0;
        flex: none;
        overflow: visible;
        transform: none;
    }

    .community-main-image,
    .community-container img {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
        height: auto;
        object-fit: contain;
        display: block;
        margin: 0 auto;
        z-index: 1;
    }

    .community-main-image {
        max-width: 430px;
    }

    .community-content h2 {
        font-size: 26px;
        line-height: 1.25;
    }

    .community-bottom {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .community-button {
        width: 100%;
        justify-content: center;
    }


    /* JOBS & OPPORTUNITIES */

    section.jobs-section {
        padding: 40px 16px;
        width: 100%;
        min-height: auto;
        height: auto;
        box-sizing: border-box;
    }

    section.jobs-section .jobs-container {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 24px;
        padding: 0;
    }

    .jobs-container .jobs-heading {
        text-align: left;
        width: 100%;
    }

    .jobs-container .jobs-heading h2 {
        font-size: 28px;
        line-height: 1.2;
        margin: 12px 0;
    }

    .jobs-container .jobs-heading p {
        font-size: 15px;
        line-height: 1.5;
    }

    .jobs-container .jobs-cards {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
        min-height: auto;
        height: auto;
    }

    .jobs-cards .jobs-card {
        width: 100%;
        min-height: auto;
        height: auto;
        padding: 24px 20px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        position: relative;
        overflow: hidden;
    }

    .jobs-cards .jobs-card h3 {
        font-size: 20px;
        margin: 12px 0 8px;
    }

    .jobs-cards .jobs-card p {
        font-size: 14px;
        margin-bottom: 16px;
    }

    .jobs-card .jobs-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 20px;
    }

    .jobs-card .jobs-tags span {
        font-size: 12px;
        padding: 4px 10px;
    }

    .jobs-card .jobs-button {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 12px 16px;
        box-sizing: border-box;
        text-align: center;
    }

    .jobs-card .jobs-community-buttons {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }

    .jobs-card .jobs-card-decoration {
        opacity: 0.1;
        pointer-events: none;
    }


    /* EVENTS */

    section.events-section {
        padding: 40px 16px;
        width: 100%;
        min-height: auto;
        height: auto;
        box-sizing: border-box;
    }

    section.events-section .events-container {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 24px;
        padding: 0;
    }

    .events-container .events-heading {
        text-align: left;
        width: 100%;
    }

    .events-container .events-heading h2 {
        font-size: 28px;
        line-height: 1.2;
        margin: 12px 0;
    }

    .events-container .events-heading p {
        font-size: 15px;
        line-height: 1.5;
    }

    .events-container .events-cards {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
        min-height: auto;
        height: auto;
    }

    .events-cards .event-card {
        width: 100%;
        min-height: auto;
        height: auto;
        display: flex;
        flex-direction: column;
        border-radius: 16px;
        overflow: hidden;
        box-sizing: border-box;
    }

    .event-card .event-image {
        width: 100%;
        height: 150px;
        position: relative;
        box-sizing: border-box;
    }

    .event-card .event-details {
        padding: 20px 16px;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
    }

    .event-details .event-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        font-size: 12px;
        margin-bottom: 8px;
    }

    .event-details h3 {
        font-size: 20px;
        margin: 4px 0 8px;
    }

    .event-details p {
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 16px;
    }

    .event-details .event-button {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 12px 16px;
        box-sizing: border-box;
        text-align: center;
    }

    .events-container .events-bottom {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 24px 20px;
        border-radius: 16px;
        box-sizing: border-box;
    }

    .events-bottom .events-bottom-text br {
        display: none;
    }

    .events-bottom .events-bottom-text h3 {
        font-size: 18px;
        margin-bottom: 4px;
    }

    .events-bottom .events-bottom-text p {
        font-size: 13px;
        line-height: 1.4;
    }

    .events-bottom .events-bottom-actions {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }

    .events-bottom-actions a {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 12px 16px;
        box-sizing: border-box;
    }


    /* VIDEOS */

    .videos-section {
        padding: 15px;
    }

    .videos-cards {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .video-card {
        width: 100%;
    }


    /* CONTACT */

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

    .contact-container {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .contact-topic-cards {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .contact-topic-card,
    .contact-topic-card.project-card {
        width: 100%;
    }

    .contact-form-card {
        padding: 24px;
    }

    .form-row {
        grid-template-columns: 1fr;
    }


    /* FOOTER */

    footer.site-footer {
        padding: 40px 20px 24px;
        width: 100%;
        min-height: auto;
        height: auto;
        background-color: #0d0f11;
        color: #ffffff;
        box-sizing: border-box;
    }

    footer.site-footer .footer-container {
        display: flex;
        flex-direction: column;
        gap: 32px;
        width: 100%;
        padding: 0;
    }

    .footer-container .footer-brand {
        width: 100%;
    }

    .footer-container .footer-brand h2 {
        font-size: 24px;
        line-height: 1.2;
        color: #ffffff;
        margin: 0 0 12px;
    }

    .footer-container .footer-brand h2 br {
        display: none;
    }

    .footer-container .footer-brand p {
        font-size: 14px;
        line-height: 1.5;
        color: #94a3b8;
        margin: 0;
    }

    .footer-container .footer-column {
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    .footer-container .footer-column h3 {
        font-size: 16px;
        color: #ffffff;
        margin: 0 0 8px;
    }

    .footer-column .footer-heading-line {
        width: 32px;
        height: 2px;
        background-color: #008c5a;
        margin-bottom: 16px;
    }

    .footer-column a {
        color: #94a3b8;
        text-decoration: none;
        font-size: 14px;
        margin-bottom: 10px;
        transition: color 0.2s ease;
    }

    .footer-column .footer-social-link {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 12px;
    }

    .footer-social-link .footer-social-icon {
        width: 32px;
        height: 32px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        color: #ffffff;
        flex-shrink: 0;
    }

    .footer-social-icon.social-x {
        background-color: #1e293b;
    }

    .footer-social-icon.social-whatsapp {
        background-color: #25d366;
    }

    .footer-social-icon.social-youtube {
        background-color: #ff0000;
    }

    .footer-social-icon.social-linkedin {
        background-color: #0a66c2;
    }

    footer.site-footer .footer-divider {
        width: 100%;
        height: 1px;
        background-color: #1e293b;
        margin: 32px 0 20px;
    }

    footer.site-footer .footer-bottom {
        text-align: left;
        width: 100%;
    }

    footer.site-footer .footer-bottom p {
        font-size: 12px;
        color: #64748b;
        margin: 0;
    }

}


@media (max-width: 768px) {
    .ecosystem .project-grid .coming-soon-card {
        width: 100%;
        height: 100px;
        min-height: 120px;
        max-height: 120px;
        padding: 16px 20px;
        box-sizing: border-box;
        overflow: hidden;
    }
}


/* ========================================
   EXTRA SMALL MOBILE
======================================== */

@media (max-width: 480px) {

    .hero h1,
    .about-intro h2,
    .ecosystem-heading h2,
    .community-content h2,
    .jobs-heading h2,
    .events-heading h2,
    .videos-heading h2,
    .contact-left h2 {
        font-size: 24px;
    }

    .primary-button,
    .community-button,
    .videos-button {
        width: 100%;
        justify-content: center;
    }

}