/* Tablets grandes (1200px) */
@media (max-width: 1280px) {
    .institucional-desktop-nav { gap: 12px; }
    .institucional-nav-link { font-size: 0.75rem; }
    .institucional-header-inner { gap: 20px; }
    .institucional-services-grid { grid-template-columns: repeat(2, 1fr); }
    .institucional-benefits-grid { grid-template-columns: repeat(4, 1fr); }
}

/* Tablets (1080px) */
@media (max-width: 1080px) {
    :root { --unyvision-header-height: 76px; }

    /* Header y navegación */
    .institucional-desktop-nav { display: none; }
    .institucional-header-actions { margin-left: auto; }
    .institucional-menu-button { display: grid; place-items: center; }
    .institucional-mobile-menu {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: block;
        overflow: hidden;
        max-height: 0;
        border-top: 1px solid transparent;
        background: rgba(255, 255, 255, 0.99);
        box-shadow: 0 20px 40px rgba(3, 29, 54, 0.1);
        opacity: 0;
        visibility: hidden;
        transition: max-height 0.3s ease, opacity 0.22s ease, visibility 0.22s ease;
    }
    .institucional-mobile-menu.is-open {
        max-height: calc(100vh - var(--unyvision-header-height));
        border-color: var(--unyvision-border);
        opacity: 1;
        visibility: visible;
    }
    .institucional-mobile-nav {
        display: grid;
        padding-block: var(--unyvision-space-md);
        grid-template-columns: repeat(2, 1fr);
        gap: 0 var(--unyvision-space-2xl);
        padding-inline: var(--unyvision-space-lg);
    }
    .institucional-mobile-nav > a {
        display: flex;
        min-height: 48px;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid var(--unyvision-border-light);
        color: var(--unyvision-dark);
        font-size: 0.85rem;
        font-weight: 700;
        padding: var(--unyvision-space-md) 0;
    }
    .institucional-mobile-nav > a > span {
        display: flex;
        align-items: center;
        gap: var(--unyvision-space-sm);
    }
    .institucional-mobile-login { color: var(--unyvision-primary) !important; }

    /* Hero */
    .institucional-hero { min-height: 680px; grid-template-columns: 1fr 1fr; }
    .institucional-hero-copy { padding-inline: var(--unyvision-space-xl); }
    .institucional-hero h1 { font-size: clamp(2.5rem, 5.5vw, 4.4rem); }
    .institucional-hero-accent { font-size: clamp(1.8rem, 3vw, 4rem); }
    .institucional-hero-values { display: none; }

    /* Beneficios */
    .institucional-benefits-grid { grid-template-columns: repeat(3, 1fr); row-gap: var(--unyvision-space-2xl); }
    .institucional-benefit:nth-child(3) { border-right: 0; }
    .institucional-benefit:nth-child(4) { padding-left: 0; }
    .institucional-benefit:nth-child(5) { display: none; }

    /* About */
    .institucional-about-grid { gap: 50px; }
    .institucional-about-media > img { min-height: 500px; }
    .institucional-about-detail { right: -10px; bottom: 30px; }

    /* Logo grid */
    .institucional-logo-grid { grid-template-columns: repeat(4, 1fr); }

    /* Sucursales */
    .institucional-branches-grid { grid-template-columns: repeat(3, 1fr); }

    /* Indicadores */
    .institucional-indicators-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Tablets pequeños (820px) */
@media (max-width: 820px) {
    .institucional-container { width: min(100% - 2.5rem, var(--unyvision-container-max)); }
    .institucional-section { padding: clamp(50px, 10vw, 80px) 0; }

    /* Hero */
    .institucional-hero { min-height: auto; grid-template-columns: 1fr; }
    .institucional-hero-copy { order: 1; padding: clamp(50px, 10vw, 80px) clamp(20px, 6vw, 40px); }
    .institucional-hero-copy-inner { width: 100%; margin: 0; }
    .institucional-hero h1 { font-size: clamp(2.5rem, 9vw, 4.5rem); }
    .institucional-hero-media { order: 2; min-height: clamp(350px, 70vw, 600px); }
    .institucional-hero-media img { object-position: 60% center; }

    /* Beneficios */
    .institucional-benefits-grid { grid-template-columns: repeat(2, 1fr); }
    .institucional-benefit, .institucional-benefit:nth-child(3) { border-right: 1px solid rgba(255, 255, 255, 0.1); }
    .institucional-benefit:nth-child(even) { border-right: 0; }
    .institucional-benefit:nth-child(odd) { padding-left: 0; }

    /* Servicios */
    .institucional-services-grid { grid-template-columns: repeat(2, 1fr); gap: var(--unyvision-space-lg); }

    /* About */
    .institucional-about-grid { grid-template-columns: 1fr; gap: clamp(40px, 8vw, 80px); }
    .institucional-about-copy { max-width: 100%; }
    .institucional-about-media > img { min-height: clamp(350px, 60vw, 480px); }
    .institucional-about-detail { right: -15px; }

    /* Logo grid */
    .institucional-logo-grid { grid-template-columns: repeat(3, 1fr); gap: var(--unyvision-space-md); }

    /* Sucursales */
    .institucional-branches-grid { grid-template-columns: repeat(2, 1fr); }

    /* Indicadores */
    .institucional-indicators-grid { grid-template-columns: repeat(2, 1fr); row-gap: var(--unyvision-space-xl); }
    .institucional-indicator:nth-child(2) { border-right: 0; }
    .institucional-indicator:nth-child(3) { border-right: 1px solid var(--unyvision-border-light); }
    .institucional-indicator:nth-child(4) { border-right: 0; }

    /* Contacto */
    .institucional-contact-grid { grid-template-columns: 1fr; gap: clamp(36px, 6vw, 60px); }
    .institucional-contact::before { display: none; }

    /* Footer */
    .institucional-footer-grid { grid-template-columns: 1.2fr 1fr 1fr; gap: clamp(30px, 5vw, 50px); }
    .institucional-footer-grid > :last-child { grid-column: 2; }
}

/* Móviles (576px) */
@media (max-width: 576px) {
    :root { --unyvision-header-height: 70px; }

    .institucional-container { width: min(100% - 2rem, var(--unyvision-container-max)); }

    /* Header */
    .institucional-header { height: var(--unyvision-header-height); }
    .institucional-header.is-scrolled { height: 66px; }
    .institucional-header-inner { gap: 12px; padding: 0 var(--unyvision-space-md); }
    .institucional-brand { gap: var(--unyvision-space-sm); }
    .institucional-brand-mark { width: 44px; height: 44px; border-radius: var(--unyvision-radius-md); font-size: 1.35rem; }
    .institucional-brand-copy strong { font-size: 1rem; }
    .institucional-brand-copy small { font-size: 0.6rem; }
    .institucional-brand-image { width: 54px; height: 54px; }
    .institucional-brand-image-footer { width: 140px; height: 140px; }
    .institucional-header-actions > .institucional-login-button { display: none; }
    .institucional-menu-button { width: 44px; height: 44px; }

    /* Navegación móvil */
    .institucional-mobile-nav {
        grid-template-columns: 1fr;
        padding-inline: var(--unyvision-space-md);
        gap: 0;
    }
    .institucional-mobile-nav > a { font-size: 0.9rem; }

    /* Secciones */
    .institucional-section { padding: clamp(50px, 10vw, 70px) 0; }

    /* Eyebrow */
    .institucional-eyebrow { font-size: 0.7rem; }

    /* Hero */
    .institucional-hero-copy { padding: clamp(45px, 8vw, 60px) var(--unyvision-space-lg); }
    .institucional-hero h1 { font-size: clamp(2.2rem, 12vw, 3.8rem); }
    .institucional-hero-accent { font-size: clamp(1.6rem, 8vw, 3rem); }
    .institucional-hero-description { font-size: 0.95rem; }
    .institucional-hero-media { min-height: clamp(300px, 60vw, 430px); }
    .institucional-button { width: 100%; min-height: 48px; font-size: 0.75rem; }
    .institucional-button-row { gap: var(--unyvision-space-sm); }

    /* Beneficios */
    .institucional-benefits { padding: clamp(25px, 5vw, 35px) 0; }
    .institucional-benefits-grid { grid-template-columns: 1fr; }
    .institucional-benefit, .institucional-benefit:nth-child(3), .institucional-benefit:nth-child(4) {
        padding: var(--unyvision-space-md) 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .institucional-benefit:last-child { border-bottom: 0; }
    .institucional-benefit > i { font-size: 1.4rem; }

    /* Encabezados de sección */
    .institucional-section-heading { margin-bottom: clamp(24px, 6vw, 40px); }
    .institucional-section-heading h2 { font-size: clamp(1.8rem, 6vw, 3rem); }
    .institucional-section-heading p { font-size: 0.95rem; }

    /* Servicios */
    .institucional-services-grid { grid-template-columns: 1fr; gap: var(--unyvision-space-md); }
    .institucional-service-card { height: clamp(350px, 70vw, 450px); }
    .institucional-service-card:hover { transform: translateY(-4px); }
    .institucional-service-overlay { padding: clamp(20px, 4vw, 28px); }

    /* About */
    .institucional-about-media > img { min-height: clamp(300px, 60vw, 400px); }
    .institucional-about-detail { right: 12px; bottom: 12px; left: 12px; padding: clamp(12px, 2vw, 20px); gap: var(--unyvision-space-md); }
    .institucional-about-detail i { font-size: 1.8rem; }
    .institucional-about-lead { font-size: clamp(1rem, 1.1vw, 1.2rem); }

    /* Logo grid */
    .institucional-logo-grid { grid-template-columns: repeat(2, 1fr); gap: var(--unyvision-space-sm); }

    /* Panel configurable */
    .institucional-configurable-panel { flex-direction: column; align-items: center; text-align: center; padding: clamp(20px, 4vw, 28px); gap: var(--unyvision-space-lg); }
    .institucional-configurable-panel > i { font-size: 2rem; }

    /* Sucursales */
    .institucional-branches-grid { grid-template-columns: 1fr; gap: var(--unyvision-space-md); }
    .institucional-branch-card { padding: clamp(20px, 4vw, 28px); }
    .institucional-branch-map { height: 160px; }

    /* Indicadores */
    .institucional-indicators { padding: clamp(50px, 10vw, 70px) 0; }
    .institucional-indicators-grid { grid-template-columns: 1fr; }
    .institucional-indicator { padding: var(--unyvision-space-lg) var(--unyvision-space-md); border-right: 0; border-bottom: 1px solid var(--unyvision-border-light); }
    .institucional-indicator:last-child { border-bottom: 0; }

    /* Contacto */
    .institucional-contact-grid { gap: var(--unyvision-space-xl); }
    .institucional-contact-card { padding-inline: clamp(16px, 4vw, 24px); }

    /* Footer */
    .institucional-footer { padding: clamp(50px, 8vw, 70px) 0 clamp(30px, 5vw, 50px); }
    .institucional-footer-grid { grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 40px); }
    .institucional-footer-brand { grid-column: 1 / -1; }
    .institucional-footer-grid > :last-child { grid-column: auto; }
    .institucional-footer-bottom { flex-direction: column; align-items: flex-start; gap: var(--unyvision-space-md); }

    /* WhatsApp flotante */
    .institucional-whatsapp-floating {
        width: 56px;
        height: 56px;
        min-height: 0;
        justify-content: center;
        padding: 0;
        right: max(12px, env(safe-area-inset-right));
        bottom: max(12px, env(safe-area-inset-bottom));
    }
    .institucional-whatsapp-floating span { display: none; }
}

/* Móviles muy pequeños (390px) */
@media (max-width: 390px) {
    .institucional-container { width: min(100% - 1.5rem, var(--unyvision-container-max)); }

    .institucional-header-inner { gap: 8px; padding: 0 var(--unyvision-space-sm); }
    .institucional-brand { gap: var(--unyvision-space-xs); }
    .institucional-brand-mark { width: 40px; height: 40px; font-size: 1.2rem; }
    .institucional-menu-button { width: 40px; height: 40px; }

    /* Hero */
    .institucional-hero-copy { padding: clamp(40px, 8vw, 50px) var(--unyvision-space-md); }
    .institucional-hero h1 { font-size: clamp(2rem, 10vw, 3.2rem); }
    .institucional-hero-accent { font-size: clamp(1.4rem, 6vw, 2.5rem); }
    .institucional-hero-media { min-height: clamp(280px, 55vw, 380px); }

    /* Servicios */
    .institucional-services-grid { gap: var(--unyvision-space-sm); }
    .institucional-service-card { height: clamp(300px, 65vw, 400px); }
    .institucional-service-overlay { padding: clamp(16px, 3vw, 20px); }
    .institucional-service-overlay > i { width: 40px; height: 40px; font-size: 1.1rem; }

    /* Indicadores */
    .institucional-indicators-grid { grid-template-columns: 1fr; }
    .institucional-indicator { padding: var(--unyvision-space-md); border-right: 0 !important; border-bottom: 1px solid var(--unyvision-border-light); }

    /* Footer */
    .institucional-footer-grid { grid-template-columns: 1fr; gap: clamp(20px, 4vw, 30px); }
    .institucional-footer-brand { grid-column: auto; }
}
