/* ============================================================
   Responsive / media queries (loaded last so it can override)
   ============================================================ */
@media (max-width: 1100px) {
    .hero__stage { grid-template-columns: 1fr; }
    .hero-board { min-height: 380px; }
    .hero-float--left, .hero-float--right { width: min(100%, 520px); justify-self: center; }
    .hero-float--right { flex-direction: row; flex-wrap: wrap; justify-content: center; }
    .hero-float--right .hero-float__tabs { width: 100%; justify-content: center; }
    .hero-chart__tooltip--main { left: 48%; }
}
@media (max-width: 960px) {
    .about, .partner, .stats__shell { grid-template-columns: 1fr; }
    .cards, .cert-grid, .contact-grid { grid-template-columns: repeat(2, 1fr); }
    .site-footer__top { grid-template-columns: 1fr; }
    .hero { min-height: auto; padding: 100px 0 34px; }
    .stats__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
    .nav {
        position: fixed; top: 72px; right: 0; height: calc(100vh - 72px); width: 75%;
        background: var(--bg-alt); border-left: 1px solid var(--line);
        flex-direction: column; align-items: flex-start; gap: 0; padding: 20px 26px;
        transform: translateX(100%); transition: transform .3s ease;
    }
    .nav.open { transform: none; }
    .nav__link { width: 100%; padding: 14px 0; border-bottom: 1px solid var(--line); }
    .nav__cta { margin-top: 14px; }
    .nav-toggle { display: flex; }
    .nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-toggle.open span:nth-child(2) { opacity: 0; }
    .nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .hero__title { font-size: clamp(2.4rem, 11vw, 3.6rem); }
    .cards, .cert-grid, .contact-grid, .partner__pillars, .stats__grid { grid-template-columns: 1fr; }
    .hero { padding: 104px 0 30px; }
    .hero-board { min-height: 320px; }
    .hero-chart { top: 72px; }
    .about__frame { min-height: 340px; }
    .hero-chart__tooltip--main,
    .hero-chart__tooltip--left { transform: scale(.92); transform-origin: left bottom; }
}
