/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 1024px) {
    .hero__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .hero__intro {
        margin-inline: auto;
    }

    .hero__actions,
    .hero__socials,
    .hero__status {
        justify-content: center;
        margin-inline: auto;
    }

    .hero__visual {
        order: -1;
    }

    .hero__composition {
        margin-inline: auto;
        min-height: 380px;
    }

    .metrics__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .about-panels {
        grid-template-columns: 1fr;
    }

    .case-study__preview,
    .case-study__preview--reverse {
        grid-template-columns: 1fr;
        direction: ltr;
        gap: var(--space-xl);
    }

    .exp-card__extra {
        padding-left: var(--space-xl);
    }

    .resume-summary__grid,
    .resume-summary__highlights {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Mobile navigation
   ========================================================================== */

@media (max-width: 900px) {
    .nav__toggle {
        display: flex;
    }

    .nav__menu {
        position: fixed;
        top: var(--header-height);
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0.25rem;
        padding: var(--space-md);
        background: rgba(9, 9, 11, 0.95);
        backdrop-filter: blur(16px) saturate(180%);
        -webkit-backdrop-filter: blur(16px) saturate(180%);
        border-bottom: 1px solid var(--border-subtle);
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
        transition: transform var(--transition-base), opacity var(--transition-base), visibility var(--transition-base);
    }

    .nav__menu.open {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }

    .nav__link {
        display: block;
        padding: 0.875rem 1rem;
        text-align: center;
    }

    .nav__link--cta {
        margin-left: 0;
        text-align: center;
    }

    .hero__terminal {
        position: relative;
        margin-bottom: var(--space-lg);
    }

    .hero__image-wrapper {
        position: relative;
        width: min(280px, 70vw);
        margin-inline: auto;
        right: auto;
        bottom: auto;
    }

    .hero__arch,
    .hero__code {
        display: none;
    }

    .hero__composition {
        display: flex;
        flex-direction: column;
        align-items: center;
        min-height: auto;
    }
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 640px) {
    :root {
        --space-4xl: 4rem;
        --space-3xl: 3rem;
    }

    .container {
        padding-inline: var(--space-lg);
    }

    .section-header {
        margin-bottom: var(--space-2xl);
    }

    .metrics__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-sm);
    }

    .metric-card {
        padding: var(--space-md) var(--space-xs);
    }

    .metric-card__value {
        font-size: 1.375rem;
    }

    .metric-card__label {
        font-size: 0.6875rem;
    }

    .exp-card__main {
        flex-wrap: wrap;
        padding: var(--space-lg);
    }

    .exp-card__toggle {
        margin-left: auto;
    }

    .exp-card__extra {
        padding: 0 var(--space-lg) var(--space-lg);
    }

    .skills-category__grid {
        grid-template-columns: 1fr;
    }

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

    .contact-cta {
        padding: var(--space-2xl) var(--space-lg);
    }

    .contact-cta__actions {
        flex-direction: column;
    }

    .contact-cta__actions .btn {
        width: 100%;
    }

    .resume-summary {
        padding: var(--space-xl);
    }

    .resume-summary__cta {
        flex-direction: column;
    }

    .resume-summary__cta .btn {
        width: 100%;
    }

    .case-modal {
        padding: 0;
        align-items: flex-end;
    }

    .case-modal__panel {
        max-height: 92vh;
        border-radius: var(--radius-xl) var(--radius-xl) 0 0;
    }

    .case-modal__content {
        padding: var(--space-xl);
    }

    .hero__scroll {
        display: none;
    }

    .footer__inner {
        flex-direction: column;
        text-align: center;
    }

    .footer__nav {
        flex-wrap: wrap;
        justify-content: center;
    }

    .hero__actions .btn {
        width: auto;
        flex: 1;
        min-width: 140px;
    }

    .about-education {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 380px) {
    .hero__actions {
        flex-direction: column;
    }

    .hero__actions .btn {
        width: 100%;
    }

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

/* ==========================================================================
   Reduced motion overrides for elevated components
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .hero__terminal,
    .hero__arch {
        animation: none;
    }

    .hero__orbit {
        animation: none !important;
    }

    .ring-glow::before {
        animation: none;
    }

    .hero__status-dot,
    .contact-cta__dot {
        animation: none;
    }

    .case-modal__panel {
        transform: none;
        transition: none;
    }
}
