/* ==========================================================================
   RESPONSIVE — Desktop 1440+ / Laptop 1024 / Tablet 768 / Mobile 480
   Mobile-first overrides layered on top of style.css + pages.css
   ========================================================================== */

/* ---- Laptop (<=1180px) ---- */
@media (max-width:1180px){
    :root{ --container-max:960px; }
    .stats{ grid-template-columns:repeat(4,1fr); gap:var(--space-sm); }
}

/* ---- Tablet (<=1024px) ---- */
@media (max-width:1024px){
    .main-nav{ display:none; }
    .hamburger{ display:flex; }

    .main-nav.mobile-open{
        display:flex;
        position:fixed;
        inset:var(--header-h) 0 0 0;
        background:var(--white);
        flex-direction:column;
        align-items:flex-start;
        padding:var(--space-md) var(--space-sm);
        overflow-y:auto;
        z-index:999;
        animation:fadeIn .3s var(--ease);
    }
    .main-nav.mobile-open .nav-list{
        flex-direction:column;
        align-items:flex-start;
        gap:0;
        width:100%;
    }
    .main-nav.mobile-open .nav-list a{
        display:block;
        width:100%;
        padding:var(--space-xs) 0;
        font-size:var(--fs-md);
        border-bottom:1px solid var(--border);
    }
    .main-nav.mobile-open .header-actions{
        margin-top:var(--space-md);
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .split{ grid-template-columns:1fr; gap:var(--space-lg); }
    .grid-4{ grid-template-columns:repeat(2,1fr); }
    .grid-3{ grid-template-columns:repeat(2,1fr); }
    .footer-grid{ grid-template-columns:1fr 1fr; gap:var(--space-lg) var(--space-md); }
    .stats{ grid-template-columns:repeat(2,1fr); gap:var(--space-md) var(--space-sm); }
}

/* ---- Tablet small / large mobile (<=768px) ---- */
@media (max-width:768px){
    :root{ --header-h:74px; --space-2xl:5rem; --space-xl:3.5rem; }

    .section{ padding-block:var(--space-xl); }
    .grid-4, .grid-3, .grid-2{ grid-template-columns:1fr; }
    .form-row{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:1fr; gap:var(--space-md); }
    .footer-bottom{ flex-direction:column; align-items:flex-start; }
    .newsletter{ flex-direction:column; max-width:100%; }
    .testimonial{ padding:var(--space-md); }
    .brand__text small{ display:none; }
}

/* ---- Mobile (<=480px) ---- */
@media (max-width:480px){
    :root{ --fs-4xl:2.5rem; --fs-3xl:2rem; --fs-2xl:1.5rem; }

    .container{ padding-inline:var(--space-xs); }
    .btn{ padding:.85rem 1.5rem; font-size:var(--fs-sm); }
    .float-stack{ right:var(--space-xs); bottom:var(--space-xs); }
    .float-btn{ width:48px; height:48px; }
    .stats{ grid-template-columns:1fr 1fr; }
    .arch-frame{ border-radius:120px 120px 18px 18px; }
}
