/* ============================================================
   RESPONSIVE + REDUCED MOTION
   ============================================================ */

@media (max-width: 1100px) {
    .services__grid { grid-template-columns: repeat(2, 1fr); }
    .projects__grid { grid-template-columns: repeat(2, 1fr); }
    .timeline__track { grid-template-columns: repeat(2, 1fr); gap: 2.2rem; }
}

@media (max-width: 992px) {
    .nav__links { display: none; }
    .nav__burger { display: flex; }
    .nav__actions .btn--ghost { display: none; }

    .about__grid { grid-template-columns: 1fr; }
    .about__visual { max-width: 440px; margin-inline: auto; }
    .about__floating--1 { right: 0; }
    .about__floating--2 { left: 0; }

    .skills__layout { grid-template-columns: 1fr; }
    .skills__tabs { flex-direction: row; flex-wrap: wrap; }
    .skills__tab { flex: 1; min-width: 140px; justify-content: center; }

    .contact__grid { grid-template-columns: 1fr; }

    .hero__hud { display: none; }
    .float-code { font-size: 0.56rem; }

    .hero__content { grid-template-columns: 1fr 0.9fr; gap: 2.5rem; }
    .hero__portrait { width: min(300px, 100%); }
}

@media (max-width: 768px) {
    .section { padding: 4.5rem 0; }

    .services__grid { grid-template-columns: 1fr; }
    .projects__grid { grid-template-columns: 1fr; }
    .timeline__track { grid-template-columns: 1fr; gap: 1.8rem; }

    .about__counters { grid-template-columns: repeat(2, 1fr); }
    .skills__group.active { grid-template-columns: 1fr; }

    .hero__content { padding: 8rem 0 7rem; }
    .hero__cta { gap: 0.8rem; }
    .hero__cta .btn { padding-inline: 1.2rem; }

    .hero__content { grid-template-columns: 1fr; text-align: center; }
    .hero__main { display: flex; flex-direction: column; align-items: center; }
    .hero__socials { justify-content: center; }
    .hero__portrait { order: -1; width: min(270px, 82vw); margin-bottom: 3.4rem; }
    .hero__portrait-chip { bottom: -22px; }
    .hero__portrait-orbit { inset: -18px; }

    .hero__footer { bottom: 18px; }
    .hero__coords { display: none; }

    .projects__controls { flex-direction: column; align-items: stretch; }
    .projects__search { width: 100%; }

    .t-card { padding: 1.8rem 1.4rem; }
    .t-card__stars { position: static; margin-top: 1rem; }

    .footer__top { flex-direction: column; align-items: flex-start; }

    .float-code { display: none; }
}

@media (max-width: 480px) {
    .nav__brand-text small { display: none; }
    .hero__role { flex-wrap: wrap; }
    .about__floating--1 { top: 4%; }
    .about__floating--2 { bottom: 4%; }
    .back-to-top { bottom: 18px; right: 18px; width: 46px; height: 46px; }
}

@media (max-width: 1920px) and (min-width: 1600px) {
    .hero__name { font-size: clamp(4rem, 8vw, 7rem); }
    .container { width: min(1320px, 92%); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .js .reveal-up, .js .reveal-left, .js .reveal-right { opacity: 1; transform: none !important; }
    .cursor, .noise, .spotlight, .matrix-rain { display: none !important; }
    body { cursor: auto; }
}
