/* ── Solution section banner ───────────────────────── */
@media (max-width: 768px) {
    .omnidian-solution-banner {
        flex-direction: column !important;
        padding: 28px 24px !important;
        gap: 28px !important;
        align-items: flex-start !important;
    }

    .omnidian-solution-banner > div:last-child {
        width: 100px !important;
        height: 100px !important;
        align-self: center;
    }
}

/* ── Solution module grids ─────────────────────────── */
@media (max-width: 860px) {
    .omnidian-modules-3col {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 600px) {
    .omnidian-modules-2col,
    .omnidian-modules-3col {
        grid-template-columns: 1fr !important;
    }
}

/* ── Solution footer note ──────────────────────────── */
@media (max-width: 600px) {
    .omnidian-solution-footer-note {
        flex-direction: column !important;
        gap: 12px !important;
        padding: 18px 20px !important;
        align-items: flex-start !important;
    }
}

/* ── Project overview highlights strip ─────────────── */
@media (max-width: 768px) {
    .omnidian-overview-highlights {
        padding: 18px 20px !important;
        gap: 14px !important;
    }
}

/* ── Why Closeloop bottom CTA strip ───────────────── */
@media (max-width: 768px) {
    .omnidian-why-bottom {
        padding: 20px 24px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 14px !important;
    }
}

/* ── Solutions grid overflow fix ───────────────────── */
.solutions-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

@media (max-width: 600px) {
    .solutions-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ── Quote box mobile padding ──────────────────────── */
@media (max-width: 768px) {
    .quote-box {
        padding: 48px 24px 36px !important;
    }
}

/* ── Hero paragraph max-width ──────────────────────── */
.hero p {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
}

/* ── Project overview top strip padding ────────────── */
@media (max-width: 768px) {
    .omnidian-overview-top {
        padding: 24px 16px 20px !important;
    }
}

/* Images */
.acg-img-box img {
    max-height: 500px;
    width: auto;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .acg-img-box img {
        max-height: 320px;
    }
}

/* Hero */
@media (max-width: 768px) {
    .hero {
        padding: 110px 0 80px;
    }

    .hero h1 {
        font-size: 2rem;
    }

    .hero p {
        font-size: 1.05rem;
    }
}

/* Grids */
@media (max-width: 1024px) {
    .summary-grid,
    .intro-grid,
    .strategy-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* Sections */
@media (max-width: 768px) {
    .section {
        padding: 50px 0;
    }

    .section-desc {
        font-size: 1rem;
        text-align: left;
    }
}

/* Slider safety */
@media (max-width: 768px) {
    .review-slider {
        margin: 0 -10px;
    }
}

@media (max-width: 768px) {

    section {
        padding: 60px 0 !important;
    }

    .section-title {
        font-size: 2.0rem;
    }

    .overlap-section {
        margin-top: -60px !important;
    }

    .stat-val {
        font-size: 1.5rem;
    }

}

/* ── New section grids ─────────────────────────────── */
@media (max-width: 900px) {
    .omnidian-ingestion-grid,
    .omnidian-phase-grid,
    .omnidian-solution-footer {
        grid-template-columns: 1fr !important;
    }

    .omnidian-overview-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .omnidian-overview-grid > div {
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    }

    .omnidian-overview-grid > div:nth-child(even) {
        border-right: none !important;
    }
}

@media (max-width: 576px) {
    .omnidian-overview-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ── Achievements grids ────────────────────────────── */
@media (max-width: 900px) {
    .omnidian-stats-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .omnidian-stats-grid > div:nth-child(2) {
        border-right: none !important;
    }

    .omnidian-stats-grid > div:nth-child(1),
    .omnidian-stats-grid > div:nth-child(2) {
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }

    .omnidian-achieve-bottom {
        grid-template-columns: 1fr !important;
    }

    .omnidian-achieve-bottom > div:first-child {
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }
}

@media (max-width: 576px) {
    .omnidian-stats-grid {
        grid-template-columns: 1fr !important;
    }

    .omnidian-stats-grid > div {
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }
}

/* ── Why Closeloop grid ────────────────────────────── */
@media (max-width: 900px) {
    .omnidian-why-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .omnidian-why-grid > div:nth-child(2) {
        border-right: none !important;
    }

    .omnidian-why-grid > div:nth-child(1),
    .omnidian-why-grid > div:nth-child(2) {
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }
}

@media (max-width: 600px) {
    .omnidian-why-grid {
        grid-template-columns: 1fr !important;
    }

    .omnidian-why-grid > div {
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }
}

/* ── Introduction grid ─────────────────────────────── */
@media (max-width: 860px) {
    .omnidian-intro-grid {
        grid-template-columns: 1fr !important;
    }

    .omnidian-intro-grid > div:first-child {
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }
}

/* ── Solution split cards ──────────────────────────── */
@media (max-width: 860px) {
    .omnidian-split-card {
        grid-template-columns: 1fr !important;
    }

    .omnidian-split-card > div:first-child {
        padding: 28px 24px !important;
        flex-direction: row !important;
        align-items: center;
        gap: 16px;
    }

    .omnidian-split-card > div:first-child > div:first-child {
        display: none !important; /* hide the big bg number on mobile */
    }
}
