/* =============================================================
   Responsive Design
   ============================================================= */

@media (max-width: 1024px) {
    .grid--4 { grid-template-columns: repeat(2, 1fr); }
    .footer__grid { grid-template-columns: 1fr 1fr; }
    .hero__inner { grid-template-columns: 1fr; gap: 4rem; }
    .hero__visual { height: 460px; }
    .about-grid { grid-template-columns: 1fr; gap: 3rem; }
    .contact-grid { grid-template-columns: 1fr; }
    .process__grid { grid-template-columns: repeat(2, 1fr); gap: 2.5rem; }
    .values { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .top-bar { display: none; }
    .d-none-md { display: none; }

    .nav__toggle { display: flex; }

    .nav {
        position: fixed; top: 78px; right: 0;
        width: 100%; max-width: 360px;
        height: calc(100vh - 78px);
        background: rgba(7, 20, 46, 0.98);
        backdrop-filter: blur(20px);
        border-left: 1px solid var(--c-border);
        flex-direction: column;
        align-items: flex-start;
        padding: 2rem;
        gap: 1rem;
        transform: translateX(100%);
        transition: transform var(--t-med);
        overflow-y: auto;
        z-index: 99;
    }
    .nav.open { transform: translateX(0); }
    .nav__list { flex-direction: column; width: 100%; gap: 0.2rem; }
    .nav__list a { display: block; padding: 1rem; font-size: 1.05rem; }
    .nav__cta { width: 100%; justify-content: center; }

    .grid--3, .grid--2 { grid-template-columns: 1fr; }
    .stats { grid-template-columns: repeat(2, 1fr); }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .about-features { grid-template-columns: 1fr; }
    .contact-cards { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }
    .footer__grid { grid-template-columns: 1fr; gap: 2rem; }
    .footer__bottom { flex-direction: column; text-align: center; }

    .section { padding: 4rem 0; }
    .hero { min-height: auto; padding: 3rem 0 2rem; }
    .hero__visual { height: 380px; transform: scale(0.8); }
    .hero-cube { width: 240px; height: 240px; }
    .hero-cube__face--front { transform: translateZ(120px); }
    .hero-cube__face--back  { transform: rotateY(180deg) translateZ(120px); }
    .hero-cube__face--right { transform: rotateY(90deg)  translateZ(120px); }
    .hero-cube__face--left  { transform: rotateY(-90deg) translateZ(120px); }
    .hero-cube__face--top   { transform: rotateX(90deg)  translateZ(120px); }
    .hero-cube__face--bottom{ transform: rotateX(-90deg) translateZ(120px); }
    .hero-orbit__ring--1 { width: 300px; height: 300px; }
    .hero-orbit__ring--2 { width: 380px; height: 380px; }
    .hero-orbit__ring--3 { width: 460px; height: 460px; }

    .hero-img-wrap { width: 280px; height: 360px; }

    .license-table th, .license-table td { padding: 0.8rem; font-size: 0.88rem; }
    .license-table th { width: 45%; }
}

@media (max-width: 480px) {
    .grid--3, .grid--4 { grid-template-columns: 1fr; }
    .hero__meta { grid-template-columns: 1fr; gap: 1rem; }
    .hero__ctas { flex-direction: column; align-items: stretch; }
    .btn { justify-content: center; }
    .stats { grid-template-columns: 1fr; }
    .gallery-grid { grid-template-columns: 1fr; }
    .marquee__item { font-size: 1.1rem; }
    .section__head { margin-bottom: 2.5rem; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .hero::before { animation: none; }
    .hero-cube { animation: none; }
}
