/* ==========================================================================
   Responsive adjustments — mobile-first overrides by breakpoint
   Targets: 360 · 430 · 768 · 1024 · 1440 · 1920
   ========================================================================== */

/* ≥1440 — wide desktop */
@media (min-width: 1440px) {
    .container { max-width: 1280px; }
}

/* ≥1920 — very wide: keep line lengths sane, add breathing room */
@media (min-width: 1880px) {
    .container { max-width: 1360px; }
    body { font-size: 1.09rem; }
}

/* <1200 — laptops */
@media (max-width: 1199.98px) {
    .article-layout { grid-template-columns: 220px minmax(0, 1fr); }
    .article-layout > .article-aside-spacer { display: none; }
    .capability-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* <992 — tablets & mobile nav */
@media (max-width: 991.98px) {
    :root { --nav-h: 64px; }
    .site-nav .navbar-collapse {
        margin-top: 0.5rem; padding: 0.75rem; border-radius: var(--radius-lg);
        background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: var(--shadow-md);
        max-height: calc(100vh - var(--nav-h) - 1rem); overflow-y: auto;
    }
    .site-nav .nav-link { padding: 0.75rem 1rem !important; border-radius: 12px; }
    .site-nav .navbar-nav { gap: 0.15rem; }
    .nav-cta-mobile { display: block; margin-top: 0.75rem; }

    .hero-visual { max-width: 620px; margin: 2.5rem auto 0; }
    .expertise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .expertise-card--feature { grid-row: auto; grid-column: 1 / -1; }
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .course-feature { grid-template-columns: 1fr; }
    .course-feature .media img { min-height: 0; aspect-ratio: 16 / 9; height: auto; }
    .service-row { grid-template-columns: 1fr; }
    .process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .article-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .toc { position: static; margin-bottom: 2rem; padding: 1.25rem; border-radius: var(--radius-lg); background: var(--color-bg-soft); border: 1px solid var(--color-border); }
    .toc ol { border-left: 0; }
    .toc a { padding-left: 0; border-left: 0; }
    .sticky-aside { position: static; }
    .facts-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .inquiry-options { grid-template-columns: 1fr; }
}
@media (min-width: 992px) {
    .nav-cta-mobile { display: none; }
}

/* <768 — large phones */
@media (max-width: 767.98px) {
    body { font-size: 1rem; }
    .expertise-grid { grid-template-columns: 1fr; }
    .feature-grid { grid-template-columns: 1fr; }
    .outcome-grid { grid-template-columns: 1fr; }
    .insight-row { grid-template-columns: 112px 1fr; gap: 1rem; padding: 0.75rem; }
    .insight-row p { display: none; }
    .float-chip { font-size: 0.75rem; padding: 0.5rem 0.7rem; }
    .float-chip .chip-icon { width: 28px; height: 28px; font-size: 0.85rem; }
    .float-chip.pos-a { left: 0; bottom: 1.25rem; }
    .float-chip.pos-b { right: 0; top: -0.5rem; }
    .hero-visual { padding: 1rem 0.5rem 1.5rem 0.5rem; }
    .hero-visual::before { transform: translate(8px, 8px); }
    .catalog-controls { flex-direction: column; align-items: stretch; }
    .search-field { max-width: none; }
    .instructor-card { grid-template-columns: 1fr; text-align: left; }
    .prose { font-size: 1.02rem; }
    .code-block pre { font-size: 0.8rem; padding: 1rem; }
    .section-head-row { align-items: flex-start; }
    .footer-bottom { flex-direction: column; }
    .article-cover img { aspect-ratio: 16 / 9; }
}

/* <576 — phones (430 / 360) */
@media (max-width: 575.98px) {
    .container { padding-inline: 1.15rem; }
    .hero-actions .btn { flex: 1 1 100%; }
    .hero-proof { gap: 1.25rem 1.75rem; }
    .hero-proof .num { font-size: 1.3rem; }
    .stats-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
    .stat-card { padding: 1.25rem 1rem; }
    .stat-num { font-size: 1.85rem; }
    .stat-source { font-size: 0.75rem; }
    .process { grid-template-columns: 1fr; }
    .facts-bar { grid-template-columns: 1fr; }
    .capability-grid { grid-template-columns: 1fr; }
    .cta-band .btn { flex: 1 1 100%; }
    .newsletter form .btn { flex: 1 1 100%; }
    .brand-tag { display: none; }
    .card-x .body { padding: 1.2rem; }
    .pathway-card .media { margin-inline: 1rem; }
    .curriculum-item { grid-template-columns: 1fr; gap: 0.25rem; }
}

/* ≤380 — small phones (360) */
@media (max-width: 380px) {
    .brand-name { font-size: 0.98rem; }
    .brand-mark { width: 36px; height: 36px; font-size: 0.85rem; }
    .stats-grid { grid-template-columns: 1fr; }
    .float-chip.pos-b { display: none; }
    .insight-row { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) { .pill-note { border-radius: 14px; } }

/* Courses roadmap */
@media (max-width: 991.98px) {
    .rm-toolbar { grid-template-columns: 1fr; position: static; }
    .rm-card-grid { grid-template-columns: 1fr; }
    .rm-teaser { grid-template-columns: 1fr; }
    .rm-marker { position: static; }
}
@media (max-width: 767.98px) {
    .rm-timeline::before { left: 19px; }
    .rm-stage { grid-template-columns: 40px minmax(0, 1fr); gap: 0.85rem; scroll-margin-top: calc(var(--nav-h) + 1rem); }
    .rm-marker { width: 40px; height: 40px; font-size: 0.85rem; box-shadow: 0 0 0 4px var(--color-bg); }
    .rm-card-head { flex-direction: column; gap: 1rem; }
    .rm-stage-progress { display: flex; gap: 0.4rem; align-items: baseline; font-size: 1.05rem; padding: 0.4rem 0.75rem; }
    .rm-stage-progress small { margin: 0; }
    .rm-course { grid-template-columns: 96px minmax(0, 1fr); }
    .rm-course-actions { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
    .rm-finish { grid-template-columns: 1fr; margin-left: 0; }
    .rm-steps-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
    .rm-course { grid-template-columns: 1fr; }
    .rm-pill { font-size: 0.8rem; }
}
@media (max-width: 575.98px) {
    .rm-timeline::before { display: none; }
    .rm-stage { grid-template-columns: minmax(0, 1fr); }
    .rm-marker { display: none; }
    .rm-card-head, .rm-card-grid { padding: 1.15rem; }
    .rm-card-foot { padding: 0.9rem 1.15rem; }
    .rm-course { grid-template-columns: 72px minmax(0, 1fr); gap: 0.75rem; padding: 0.75rem; }
    .rm-course-thumb img { border-radius: 8px; }
}

/* Products — coming soon + conversation */
@media (max-width: 991.98px) {
    .notify-strip { grid-template-columns: auto minmax(0, 1fr); }
    .notify-form { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
    .notify-strip { grid-template-columns: 1fr; padding: 1.25rem; }
    .notify-form .btn { flex: 1 1 100%; }
    .inquiry-options { grid-template-columns: 1fr; }
}
