/* Mobile & tablet — CyberHub landing */

html,
body {
    overflow-x: clip;
}

.overflow-clip {
    overflow-x: clip;
}

/* ── Hero copy ── */
@media (max-width: 767px) {
    .site-hero > .relative.z-10 {
        padding-top: 4.5rem;
        padding-bottom: 1.5rem !important;
    }

    .hero-copy h1 {
        margin-top: 1.25rem !important;
        font-size: clamp(1.875rem, 8.5vw, 2.5rem) !important;
        line-height: 1.08;
    }

    .hero-copy p {
        margin-top: 1.25rem !important;
        font-size: 1rem;
        line-height: 1.55;
    }

    .hero-copy .mt-12 {
        margin-top: 1.75rem !important;
    }

    .hero-cta-primary-wrap {
        width: 100%;
    }

    .hero-cta-primary-wrap .hero-cta {
        width: 100%;
        justify-content: center;
    }

    .hero-stage__robot {
        height: min(260px, 40vh);
        bottom: 56%;
        opacity: 0.7;
    }

    .hero-visual {
        margin-top: 1rem;
        padding-bottom: 0.5rem;
    }

    .hero-visual .hero-dashboard {
        margin-top: 2.5rem;
    }

    #tsparticles {
        display: none;
    }
}

/* ── Feature / solution cards ── */
@media (max-width: 767px) {
    #features .grid[class*="grid-cols-6"] > [class*="h-[480px]"],
    #solutions [class*="h-[480px]"] {
        height: auto !important;
        min-height: 20rem;
    }

    #features .grid[class*="grid-cols-6"] > [class*="h-[480px]"] .px-8,
    #solutions [class*="h-[480px]"] .sm\:px-8 {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    #features > .grid.max-w-xl,
    #solutions > .grid.max-w-xl,
    #reviews .reviews-section__intro-grid h2 {
        font-size: clamp(1.75rem, 7.5vw, 2.25rem);
        line-height: 1.07;
    }

    #features > .grid.max-w-xl + .grid,
    #solutions > .grid.max-w-xl {
        gap: 1rem;
    }

    #solutions .min-w-\[1024px\] {
        min-width: 0 !important;
        width: 100% !important;
    }

    #solutions .mt-16 {
        margin-top: 2.5rem;
    }
}

/* ── Reviews ── */
@media (max-width: 767px) {
    .reviews-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .reviews-section__intro {
        padding-bottom: 2.75rem;
    }

    .reviews-section__intro-grid {
        gap: 1rem;
    }

    .reviews-section__desc {
        font-size: 1rem;
        line-height: 1.6;
        padding-inline: 0.25rem;
    }

    .reviews-grid__col {
        width: 100%;
        max-width: 100%;
    }

    .reviews-card {
        width: 100%;
        max-width: 100%;
    }

    .reviews-card--tall,
    .reviews-card--short {
        height: auto;
        min-height: 0;
    }

    .reviews-card--tall {
        min-height: 18rem;
        padding: 1.25rem;
    }

    .reviews-card--short {
        padding: 1.25rem;
    }

    .reviews-card--tall .reviews-card__quote {
        font-size: 1.2rem;
        line-height: 1.65;
    }

    .reviews-card--short .reviews-card__quote {
        font-size: 0.9375rem;
        line-height: 1.5;
    }

    .reviews-card__footer {
        padding-top: 1rem;
    }
}

/* ── Showcase intro ── */
@media (max-width: 767px) {
    .showcase-intro {
        padding-top: 3rem;
        padding-bottom: 3rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .showcase-intro__headline {
        font-size: clamp(1.45rem, 7vw, 1.85rem);
    }

    .showcase-intro__headline .showcase-intro__car {
        width: clamp(4rem, 18vw, 5.5rem);
        left: -0.2rem;
        top: -0.15rem;
        margin-left: -0.1rem;
    }

    .showcase-intro__line + .showcase-intro__line {
        margin-top: -0.3rem;
    }

    .showcase-intro__logo-slot {
        width: clamp(8rem, 42vw, 11rem);
        height: clamp(1.5rem, 5vw, 2rem);
    }

    .showcase-intro__extra {
        display: none;
    }
}

/* ── Contact CTA ── */
@media (max-width: 767px) {
    #contact {
        margin-top: 2.5rem;
        padding-top: 3rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    #contact h2 {
        font-size: clamp(1.625rem, 7vw, 2rem);
    }

    #contact p {
        font-size: 1rem;
    }

    #contact .w-\[69\.25rem\] {
        width: 100%;
        max-width: 100%;
    }
}

/* ── API review stack (se presente) ── */
@media (max-width: 767px) {
    .api-review-stack {
        min-height: 14rem;
        transform: scale(0.92);
        transform-origin: top center;
    }

    .doc-snippet-panel {
        padding-inline: 0.75rem;
    }
}

/* ── Footer ── */
@media (max-width: 767px) {
    footer {
        padding-left: 1rem;
        padding-right: 1rem;
        padding-top: 2.5rem;
    }
}
