
        .glass-nav {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.5);
        }
        .text-glow {
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
        }
        .slide-fade {
            transition: opacity 1s ease-in-out;
        }
        /* Color original del hero; el azul lo da el degradado único */
        .hero-banner-bg {
            background-color: #0052b4;
        }
        /* Un solo degradado a todo el ancho: azul sólido → foto, sin bloque aparte */
        .hero-fade-desktop {
            background: linear-gradient(
                to right,
                #0052b4 0%,
                #0052b4 34%,
                rgba(0, 82, 180, 0.82) 48%,
                rgba(0, 82, 180, 0.42) 68%,
                transparent 100%
            );
        }
        .hero-fade-mobile {
            background: linear-gradient(
                to bottom,
                rgba(0, 82, 180, 0.92) 0%,
                rgba(0, 82, 180, 0.78) 45%,
                rgba(0, 82, 180, 0.88) 100%
            );
        }
        /* Eliminar scrollbars predeterminados manteniendo la funcionalidad */
        .scrollbar-hide::-webkit-scrollbar {
            display: none;
        }
        .scrollbar-hide {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        /* Carrusel entes: evita recortes laterales y deja espacio a las pastillas */
        .entes-carousel {
            scroll-padding-inline: 0.25rem;
            overscroll-behavior-x: contain;
            -webkit-overflow-scrolling: touch;
        }
        .entes-carousel-card {
            box-sizing: border-box;
        }
        /* Estilos específicos replicados */
        .news-card-glow {
            box-shadow: 0 10px 30px rgba(0, 40, 86, 0.15);
            border: 2px solid rgba(255, 255, 255, 0.95);
        }
        .news-card-glow:hover {
            box-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
            border: 2px solid rgba(255, 255, 255, 0.4);
        }
        .title-capsule-glow {
            background-color: #0052b4;
            border: 3px solid #002856;
            box-shadow: 0 4px 20px rgba(0, 110, 230, 0.25);
        }
        
        /* Tipografía de encabezado Plus Jakarta Sans */
        .heading-font {
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        /* Fondo unificado continuo para evitar cortes */
        .radial-bg-unified {
            background: linear-gradient(to bottom, #041029 0%, #010612 100%);
        }

        /* ===== Mapa de Cobertura Nacional (estilo glass) ===== */
        #cobertura-map-wrap svg {
            width: 100%;
            height: auto;
            display: block;
            max-height: 74vh;
        }
        #cobertura-map-wrap svg path {
            cursor: pointer;
            transition: fill 0.25s ease, filter 0.25s ease, stroke 0.25s ease;
        }
        #cobertura-map-wrap .st0 {
            fill: rgba(0, 123, 255, 0.10) !important;
            stroke: rgba(0, 102, 204, 0.9);
            stroke-width: 1.2;
        }
        #cobertura-map-wrap .st1 {
            fill: rgba(91, 197, 255, 0.16) !important;
        }
        #cobertura-map-wrap .st0:hover {
            fill: rgba(0, 123, 255, 0.22) !important;
            stroke: rgba(0, 86, 179, 1);
            filter: drop-shadow(0 0 8px rgba(0, 123, 255, 0.22));
        }
        #cobertura-map-wrap .st0.activo {
            fill: #1a8cff !important;
            stroke: rgba(9, 76, 171, 1);
            filter: drop-shadow(0 0 12px rgba(26, 140, 255, 0.4));
        }
        .cob-info-panel {
            position: relative;
            background: rgba(255, 255, 255, 0.92);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            border: 1px solid rgba(15, 76, 189, 0.18);
            border-radius: 28px;
            box-shadow: 0 12px 34px rgba(0, 8, 30, 0.14);
            color: #0d4ea8;
            overflow: hidden;
        }
        .cob-info-panel::after {
            content: "»";
            position: absolute;
            right: 18px;
            bottom: 8px;
            font-size: 2.8rem;
            line-height: 1;
            color: rgba(13, 78, 168, 0.16);
            font-weight: 700;
            pointer-events: none;
        }
        .cob-info-guille {
            display: block;
            width: 170px;
            max-width: 100%;
            height: auto;
            margin: -4px auto 0;
            opacity: 0.95;
            filter: drop-shadow(0 6px 12px rgba(4, 24, 61, 0.12));
            pointer-events: none;
        }
        .cob-boletin-cta {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            gap: 1rem;
            margin-top: 1.5rem;
            margin-bottom: 0.5rem;
            width: 100%;
        }
        .cob-boletin-btn {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 1rem;
            padding: 0.85rem 0.9rem 0.85rem 0.9rem;
            border: 1px solid rgba(255, 255, 255, 0.35);
            border-radius: 9999px;
            background: linear-gradient(135deg, #006ee6 0%, #0052b4 55%, #002856 100%);
            color: #ffffff;
            text-decoration: none;
            cursor: pointer;
            box-shadow:
                0 10px 28px rgba(0, 82, 180, 0.35),
                0 2px 0 rgba(255, 255, 255, 0.2) inset;
            overflow: hidden;
            transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
        }
        .cob-boletin-btn::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(
                120deg,
                transparent 0%,
                rgba(255, 255, 255, 0.18) 40%,
                transparent 70%
            );
            transform: translateX(-120%);
            transition: transform 0.55s ease;
            pointer-events: none;
        }
        .cob-boletin-btn:hover {
            transform: translateY(-3px) scale(1.01);
            box-shadow:
                0 16px 36px rgba(0, 82, 180, 0.42),
                0 2px 0 rgba(255, 255, 255, 0.25) inset;
            filter: saturate(1.05);
        }
        .cob-boletin-btn:hover::before {
            transform: translateX(120%);
        }
        .cob-boletin-btn:active {
            transform: translateY(-1px) scale(0.99);
        }
        .cob-boletin-btn__icon,
        .cob-boletin-btn__arrow {
            position: relative;
            z-index: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.75rem;
            height: 2.75rem;
            border-radius: 9999px;
            flex-shrink: 0;
        }
        .cob-boletin-btn__icon {
            background: rgba(255, 255, 255, 0.18);
            border: 1px solid rgba(255, 255, 255, 0.35);
            font-size: 1.15rem;
            box-shadow: 0 4px 12px rgba(0, 40, 86, 0.2);
        }
        .cob-boletin-btn__arrow {
            background: #ffffff;
            color: #0052b4;
            font-size: 0.95rem;
            box-shadow: 0 4px 14px rgba(0, 40, 86, 0.18);
            transition: transform 0.2s ease, background-color 0.2s ease;
        }
        .cob-boletin-btn:hover .cob-boletin-btn__arrow {
            transform: translateX(3px);
            background: #e6f0fa;
        }
        .cob-boletin-btn__text {
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0.15rem;
            padding-right: 0.35rem;
            text-align: left;
        }
        .cob-boletin-btn__eyebrow {
            font-size: 0.65rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.78);
            line-height: 1;
        }
        .cob-boletin-btn__label {
            font-size: 0.98rem;
            font-weight: 800;
            letter-spacing: 0.03em;
            text-transform: uppercase;
            line-height: 1.15;
            text-shadow: 0 1px 8px rgba(0, 40, 86, 0.25);
        }
        @media (max-width: 480px) {
            .cob-boletin-btn {
                width: min(100%, 22rem);
                gap: 0.75rem;
                padding: 0.75rem;
            }
            .cob-boletin-btn__label {
                font-size: 0.85rem;
            }
            .cob-boletin-btn__icon,
            .cob-boletin-btn__arrow {
                width: 2.4rem;
                height: 2.4rem;
            }
        }
        .cob-info-panel-placeholder {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            gap: 0.9rem;
            padding: 2.5rem 1rem;
            color: #0d4ea8;
        }
        .cob-info-panel-placeholder i {
            font-size: 2.1rem;
            color: #0d4ea8;
        }
        .cob-info-panel li {
            background: rgba(12, 108, 224, 0.06);
            border: 1px solid rgba(13, 78, 168, 0.12);
            color: #0d4ea8;
        }
        .cob-info-panel li i,
        .cob-info-panel li span,
        .cob-info-panel h3,
        .cob-info-panel p,
        .cob-info-panel .cob-info-panel-empty,
        .cob-info-panel .cob-info-panel-placeholder p,
        .cob-info-panel [class*="text-white"] {
            color: #0d4ea8;
        }
        .cob-info-panel [class*="border-white"] {
            border-color: rgba(13, 78, 168, 0.18);
        }
        .cob-info-panel-empty {
            background: rgba(12, 108, 224, 0.04);
            border: 1px dashed rgba(13, 78, 168, 0.25);
            color: #0d4ea8;
        }
        .cob-info-noticias {
            display: block;
            text-align: center;
            text-decoration: none;
            background: #006ee6;
            color: #ffffff;
        }
        .cob-info-noticias:hover {
            background: #0052b4;
            color: #ffffff;
        }
        .cob-info-noticias-status {
            margin: 0;
            padding: 0.55rem 0.75rem;
            border-radius: 0.75rem;
            line-height: 1.35;
            font-weight: 600;
        }
        .cob-info-noticias-status--ok {
            background: rgba(0, 110, 230, 0.12);
            color: #0052b4;
            border: 1px solid rgba(0, 110, 230, 0.28);
        }
        .cob-info-noticias-status--empty {
            background: rgba(12, 108, 224, 0.04);
            color: #5a7aa0;
            border: 1px dashed rgba(13, 78, 168, 0.25);
        }
        #cob-info-close {
            background: #ffffff;
            color: #002856;
        }
        /* ===== PRELOADER DE AGUA (REALISTA) ===== */
        #water-preloader {
            position: fixed;
            inset: 0;
            z-index: 9999;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            background: radial-gradient(ellipse at 50% 30%, #003a7a 0%, #002856 45%, #00122b 100%);
            transition: opacity 0.9s cubic-bezier(.4,0,.2,1), visibility 0.9s;
            overflow: hidden;
        }
        #water-preloader.wp-hide {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }
        #water-preloader.wp-hide .wp-drop-wrap {
            transform: scale(1.12);
            opacity: 0;
            transition: transform 0.8s cubic-bezier(.4,0,.2,1), opacity 0.6s ease;
        }

        /* Halo ambiental detrás de la gota */
        .wp-ambient-glow {
            position: absolute;
            width: 420px;
            height: 420px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(0, 194, 255, 0.22) 0%, rgba(0, 194, 255, 0) 70%);
            filter: blur(4px);
            animation: wp-glow-pulse 3.4s ease-in-out infinite;
        }
        @keyframes wp-glow-pulse {
            0%, 100% { transform: scale(0.92); opacity: 0.7; }
            50% { transform: scale(1.05); opacity: 1; }
        }

        .wp-drop-wrap {
            position: relative;
            width: 148px;
            height: 178px;
            transition: transform 0.4s ease, opacity 0.4s ease;
            filter: drop-shadow(0 18px 22px rgba(0, 10, 30, 0.45));
        }

        /* Contorno preciso de la gota (SVG) */
        .wp-drop-outline {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            z-index: 3;
            pointer-events: none;
        }

        /* Contenedor recortado con la forma exacta de la gota */
        .wp-drop-clip {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            clip-path: url(#wpDropShape);
            background: rgba(255, 255, 255, 0.05);
        }

        .wp-water {
            position: absolute;
            left: 0;
            width: 100%;
            bottom: 0;
            height: 0%;
            background: linear-gradient(to top, #0091d6 0%, #00c2ff 55%, #4fe3ff 100%);
            transition: height 0.5s cubic-bezier(.4,0,.2,1);
        }

        /* Ondas reales tipo seno, en bucle continuo */
        .wp-wave-svg {
            position: absolute;
            top: -14px;
            left: 0;
            width: 200%;
            height: 22px;
            color: #4fe3ff;
        }
        .wp-wave-svg.wp-wave-back {
            animation: wp-wave-scroll 3.6s linear infinite;
            opacity: 0.45;
            color: #00A896;
            top: -10px;
            height: 16px;
        }
        .wp-wave-svg.wp-wave-front {
            animation: wp-wave-scroll 2.1s linear infinite reverse;
            opacity: 0.9;
        }
        @keyframes wp-wave-scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        /* Reflejo/brillo de vidrio sobre la gota */
        .wp-glass-highlight {
            position: absolute;
            top: 18%;
            left: 22%;
            width: 20px;
            height: 46px;
            background: linear-gradient(to bottom, rgba(255,255,255,0.65), rgba(255,255,255,0));
            border-radius: 50%;
            filter: blur(2px);
            transform: rotate(12deg);
            z-index: 4;
            pointer-events: none;
        }

        /* Micro-burbujas ascendiendo dentro del agua */
        .wp-bubble {
            position: absolute;
            bottom: -10px;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.8);
            animation: wp-bubble-rise 2.6s ease-in infinite;
        }
        @keyframes wp-bubble-rise {
            0% { transform: translateY(0) scale(0.5); opacity: 0; }
            12% { opacity: 0.85; }
            100% { transform: translateY(-160px) scale(1); opacity: 0; }
        }

        /* Reflejo elíptico en el "suelo" bajo la gota */
        .wp-ground-reflection {
            width: 92px;
            height: 12px;
            border-radius: 50%;
            background: radial-gradient(ellipse, rgba(0, 194, 255, 0.35) 0%, rgba(0, 194, 255, 0) 75%);
            margin-top: 6px;
            animation: wp-glow-pulse 3.4s ease-in-out infinite;
        }

        .wp-percent {
            font-family: 'Plus Jakarta Sans', sans-serif;
            letter-spacing: 0.04em;
            font-variant-numeric: tabular-nums;
        }
        .wp-loading-text::after {
            content: '';
            display: inline-block;
            width: 1.1em;
            text-align: left;
            animation: wp-dots 1.4s steps(4, end) infinite;
        }
        @keyframes wp-dots {
            0% { content: ''; }
            25% { content: '.'; }
            50% { content: '..'; }
            75% { content: '...'; }
            100% { content: ''; }
        }

        /* ===== Modal informativo del landing (adaptable al contenido) ===== */
        .info-modal-overlay {
            position: fixed;
            inset: 0;
            width: 100vw;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 1.25rem;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
            z-index: 9999;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }
        .info-modal-overlay--light {
            background-color: rgba(0, 40, 86, 0.45);
        }
        .info-modal-overlay--medium {
            background-color: rgba(0, 40, 86, 0.62);
        }
        .info-modal-overlay--dark {
            background-color: rgba(0, 40, 86, 0.78);
        }
        .info-modal-overlay.is-active {
            opacity: 1;
            visibility: visible;
        }
        .info-modal-overlay[hidden] {
            display: none !important;
        }
        .info-modal-overlay.is-active[hidden] {
            display: flex !important;
        }

        .info-modal-container {
            position: relative;
            background: #ffffff;
            border-radius: 1.25rem;
            border: 1px solid rgba(230, 240, 250, 0.95);
            box-shadow:
                0 24px 60px -18px rgba(0, 40, 86, 0.45),
                0 8px 24px rgba(0, 110, 230, 0.12);
            max-width: 90vw;
            max-height: min(90vh, 880px);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            transform: translateY(12px) scale(0.97);
            transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
        }
        .info-modal-overlay.is-active .info-modal-container {
            transform: translateY(0) scale(1);
        }
        .info-modal-container--sm { width: min(400px, 92vw); }
        .info-modal-container--md { width: min(520px, 92vw); }
        .info-modal-container--lg { width: min(640px, 92vw); }
        .info-modal-container--xl { width: min(780px, 94vw); }

        /* Solo imagen: sin franja blanca vacía */
        .info-modal-mode--media_only {
            background: transparent;
            border: none;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
            width: auto !important;
            max-width: min(92vw, 900px);
        }
        .info-modal-mode--media_only .info-modal-media {
            border-radius: 1rem;
            overflow: hidden;
            background: #002856;
            box-shadow: 0 16px 40px rgba(0, 40, 86, 0.35);
        }
        .info-modal-mode--media_only .info-modal-slides {
            aspect-ratio: auto;
            max-height: min(85vh, 720px);
            width: auto;
            min-width: min(280px, 90vw);
        }
        .info-modal-mode--media_only .info-modal-slide.is-active {
            position: relative;
            inset: auto;
        }
        .info-modal-mode--media_only .info-modal-image {
            width: auto;
            max-width: min(90vw, 880px);
            height: auto;
            max-height: min(85vh, 720px);
            object-fit: contain;
            display: block;
        }

        /* Solo texto */
        .info-modal-mode--text_only {
            background: #fff;
            padding: 0;
        }
        .info-modal-mode--text_only .info-modal-body {
            padding: 1.75rem 1.75rem 1.5rem;
        }

        /* Texto destacado con imagen angosta */
        .info-modal-mode--text_focus .info-modal-slides {
            aspect-ratio: 21 / 9;
            max-height: 200px;
        }

        /* Imagen + texto */
        .info-modal-mode--image_text .info-modal-slides {
            aspect-ratio: 16 / 10;
            max-height: min(42vh, 360px);
        }
        .info-modal-mode--image_text .info-modal-body {
            background: #E6F0FA;
        }

        .info-modal-accent {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, #002856 0%, #006ee6 55%, #00A896 100%);
            z-index: 4;
        }

        .info-modal-preview-badge {
            position: absolute;
            top: 0.85rem;
            left: 0.85rem;
            z-index: 12;
            max-width: calc(100% - 4.5rem);
            padding: 0.35rem 0.7rem;
            border-radius: 9999px;
            background: rgba(0, 40, 86, 0.88);
            color: #fff;
            font-size: 0.65rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            box-shadow: 0 4px 12px rgba(0, 40, 86, 0.25);
        }

        .info-modal-close {
            position: absolute;
            top: 0.85rem;
            right: 0.85rem;
            width: 2.25rem;
            height: 2.25rem;
            border: none;
            border-radius: 9999px;
            background: rgba(255, 255, 255, 0.94);
            color: #64748b;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 14px rgba(0, 40, 86, 0.18);
            transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
            z-index: 12;
            font-size: 0.95rem;
        }
        .info-modal-close:hover {
            background: #E6F0FA;
            color: #002856;
            transform: scale(1.05);
        }
        .info-modal-mode--text_only .info-modal-close,
        .info-modal-mode--text_focus:not(.has-media) .info-modal-close {
            background: #E6F0FA;
            border: 1px solid #c5d8ef;
            box-shadow: none;
            color: #002856;
        }

        .info-modal-media {
            position: relative;
            width: 100%;
            flex-shrink: 0;
            background: #002856;
        }
        .info-modal-slides {
            position: relative;
            width: 100%;
            overflow: hidden;
        }
        .info-modal-slide {
            display: none;
            margin: 0;
            position: absolute;
            inset: 0;
        }
        .info-modal-slide.is-active {
            display: block;
            animation: info-modal-fade 0.4s ease;
        }
        @keyframes info-modal-fade {
            from { opacity: 0.2; }
            to { opacity: 1; }
        }
        .info-modal-slide-link {
            display: block;
            width: 100%;
            height: 100%;
        }
        .info-modal-image {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
        .info-modal-caption {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            margin: 0;
            padding: 1.75rem 1.1rem 0.85rem;
            font-size: 0.72rem;
            font-weight: 500;
            color: #fff;
            line-height: 1.4;
            background: linear-gradient(180deg, transparent 0%, rgba(0, 40, 86, 0.78) 100%);
            text-align: left;
        }

        .info-modal-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 2.35rem;
            height: 2.35rem;
            border-radius: 9999px;
            border: 1px solid rgba(255, 255, 255, 0.35);
            background: rgba(0, 40, 86, 0.55);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 5;
            backdrop-filter: blur(6px);
            transition: background 0.2s ease, transform 0.2s ease;
        }
        .info-modal-nav:hover {
            background: #006ee6;
            transform: translateY(-50%) scale(1.06);
        }
        .info-modal-nav--prev { left: 0.75rem; }
        .info-modal-nav--next { right: 0.75rem; }

        .info-modal-dots {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0.7rem;
            display: flex;
            justify-content: center;
            gap: 0.4rem;
            z-index: 6;
            pointer-events: none;
        }
        .info-modal-dots .info-modal-dot {
            pointer-events: auto;
        }
        .info-modal-dot {
            width: 0.45rem;
            height: 0.45rem;
            border-radius: 9999px;
            border: none;
            padding: 0;
            background: rgba(255, 255, 255, 0.45);
            cursor: pointer;
            transition: background 0.2s ease, transform 0.2s ease, width 0.2s ease;
        }
        .info-modal-dot.is-active {
            background: #fff;
            width: 1.15rem;
            border-radius: 9999px;
        }

        .info-modal-body {
            display: flex;
            flex-direction: column;
            gap: 1.15rem;
            padding: 1.35rem 1.5rem 1.4rem;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #c5d8ef transparent;
            background: #fff;
        }
        .info-modal-body--actions-only {
            padding-top: 1rem;
            padding-bottom: 1rem;
        }
        .info-modal-mode--image_text.has-actions:not(.has-copy) .info-modal-body,
        .info-modal-mode--media_only + .info-modal-body {
            background: #E6F0FA;
        }

        .info-modal-copy {
            color: #1f2937;
            padding-right: 1.75rem;
        }
        .info-modal-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-bottom: 0.65rem;
        }
        .info-modal-eyebrow-icon {
            width: 1.55rem;
            height: 1.55rem;
            border-radius: 0.5rem;
            background: rgba(0, 110, 230, 0.12);
            color: #006ee6;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.72rem;
            flex-shrink: 0;
        }
        .info-modal-eyebrow-text {
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #006ee6;
        }
        .info-modal-title {
            font-size: 1.4rem;
            font-weight: 800;
            color: #002856;
            line-height: 1.22;
            margin: 0;
            letter-spacing: -0.01em;
        }
        .info-modal-subtitle {
            margin: 0.55rem 0 0;
            font-size: 0.95rem;
            color: #475569;
            line-height: 1.5;
            font-weight: 500;
        }
        .info-modal-richtext {
            margin-top: 0.75rem;
            font-size: 0.875rem;
            line-height: 1.6;
            color: #64748b;
        }
        .info-modal-richtext p { margin: 0 0 0.65em; }
        .info-modal-richtext p:last-child { margin-bottom: 0; }
        .info-modal-richtext a {
            color: #006ee6;
            font-weight: 600;
            text-decoration: none;
        }
        .info-modal-richtext a:hover { text-decoration: underline; }
        .info-modal-richtext ul,
        .info-modal-richtext ol {
            margin: 0.4em 0 0.7em 1.1em;
            padding: 0;
        }

        .info-modal-actions {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            align-items: center;
            gap: 0.55rem;
            border-top: 1px solid rgba(0, 40, 86, 0.1);
            margin-top: 0.15rem;
            padding-top: 1rem;
        }
        .info-modal-body--actions-only .info-modal-actions {
            border-top: none;
            margin-top: 0;
            padding-top: 0;
        }
        .info-modal-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 2.5rem;
            padding: 0.6rem 1.35rem;
            border-radius: 9999px;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.03em;
            text-transform: uppercase;
            text-decoration: none;
            border: none;
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
        }
        .info-modal-btn--primary {
            background: #006ee6;
            color: #fff;
            box-shadow: 0 8px 18px -8px rgba(0, 110, 230, 0.65);
        }
        .info-modal-btn--primary:hover {
            background: #002856;
        }
        .info-modal-btn--secondary {
            background: #fff;
            color: #002856;
            border: 1px solid #c5d8ef;
        }
        .info-modal-btn--secondary:hover {
            background: #d7e7f7;
        }

        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        @media (max-width: 640px) {
            .info-modal-overlay {
                padding: 0.85rem;
                align-items: flex-end;
            }
            .info-modal-container {
                max-height: 92vh;
                border-radius: 1.25rem 1.25rem 0.85rem 0.85rem;
                width: 100% !important;
            }
            .info-modal-mode--media_only {
                width: 100% !important;
                align-self: center;
            }
            .info-modal-mode--media_only .info-modal-image {
                max-width: 100%;
                width: 100%;
            }
            .info-modal-mode--image_text .info-modal-slides {
                max-height: 36vh;
            }
            .info-modal-body {
                padding: 1.15rem 1.15rem 1.25rem;
            }
            .info-modal-title {
                font-size: 1.2rem;
            }
            .info-modal-copy {
                padding-right: 0.5rem;
            }
            .info-modal-actions {
                justify-content: stretch;
            }
            .info-modal-btn {
                flex: 1 1 auto;
            }
            .info-modal-close {
                top: 0.65rem;
                right: 0.65rem;
            }
        }

        /* ===== Dashboard hídrico (Información de Interés Nacional) ===== */
        .hidrico-dash-shell {
            position: relative;
            border-radius: 1.75rem;
            overflow: hidden;
            background: #f4f7fb;
            border: 1px solid rgba(255, 255, 255, 0.9);
            box-shadow:
                0 24px 60px rgba(0, 40, 86, 0.08),
                0 8px 24px rgba(0, 110, 230, 0.05),
                inset 0 1px 0 rgba(255, 255, 255, 0.95);
        }
        .hidrico-dash-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            padding: 1.1rem 1.25rem;
            background: #fff;
            border-bottom: 1px solid rgba(0, 40, 86, 0.06);
        }
        .hidrico-dash-toolbar-main {
            display: flex;
            align-items: center;
            gap: 0.85rem;
            min-width: 0;
        }
        .hidrico-dash-toolbar-icon {
            width: 2.75rem;
            height: 2.75rem;
            border-radius: 1rem;
            background: linear-gradient(135deg, #006ee6 0%, #00a896 100%);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
            flex-shrink: 0;
            box-shadow: 0 8px 20px rgba(0, 110, 230, 0.28);
        }
        .hidrico-dash-toolbar-eyebrow {
            margin: 0;
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #006ee6;
        }
        .hidrico-dash-toolbar-title {
            margin: 0.15rem 0 0;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 1rem;
            font-weight: 800;
            color: #002856;
            line-height: 1.25;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.45rem;
        }
        .hidrico-dash-period {
            display: inline-flex;
            align-items: center;
            padding: 0.2rem 0.6rem;
            border-radius: 9999px;
            background: rgba(0, 110, 230, 0.1);
            color: #006ee6;
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.04em;
        }
        .hidrico-dash-toolbar-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.35rem 0.7rem;
            border-radius: 9999px;
            background: rgba(0, 168, 150, 0.1);
            color: #008f7f;
            font-size: 0.65rem;
            font-weight: 700;
            flex-shrink: 0;
        }
        .hidrico-dash-body {
            padding: 1.15rem;
        }
        @media (min-width: 768px) {
            .hidrico-dash-body {
                padding: 1.35rem 1.5rem 1.6rem;
            }
        }
        .hidrico-dash-hero {
            display: flex;
            align-items: center;
            gap: 1.1rem;
            padding: 1.1rem 1.2rem;
            margin-bottom: 1rem;
            border-radius: 1.25rem;
            background: #fff;
            box-shadow:
                0 10px 30px rgba(0, 40, 86, 0.06),
                0 2px 8px rgba(0, 110, 230, 0.04);
        }
        .hidrico-dash-hero-ring {
            position: relative;
            width: 4.5rem;
            height: 4.5rem;
            flex-shrink: 0;
        }
        .hidrico-dash-hero-svg {
            width: 100%;
            height: 100%;
            transform: rotate(-90deg);
        }
        .hidrico-dash-hero-ring-bg {
            fill: none;
            stroke: rgba(0, 110, 230, 0.12);
            stroke-width: 3;
        }
        .hidrico-dash-hero-ring-fill {
            fill: none;
            stroke: #006ee6;
            stroke: url(#hidrico-ring-gradient);
            stroke-width: 3;
            stroke-linecap: round;
        }
        .hidrico-dash-hero-ring i {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
            color: #006ee6;
        }
        .hidrico-dash-hero-tag {
            margin: 0;
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #94a3b8;
        }
        .hidrico-dash-hero-label {
            margin: 0.2rem 0 0;
            font-size: 0.78rem;
            font-weight: 600;
            color: #64748b;
        }
        .hidrico-dash-hero-value {
            margin: 0.15rem 0 0;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: clamp(1.45rem, 3vw, 2.1rem);
            font-weight: 800;
            line-height: 1.05;
            letter-spacing: -0.02em;
            color: #002856;
            font-variant-numeric: tabular-nums;
        }
        .hidrico-dash-kpi-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0.85rem;
            margin-bottom: 1rem;
        }
        @media (min-width: 768px) {
            .hidrico-dash-kpi-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }
        .hidrico-dash-panel {
            padding: 1rem 1.05rem 1.1rem;
            border-radius: 1.25rem;
            background: #fff;
            box-shadow:
                0 10px 28px rgba(0, 40, 86, 0.05),
                0 2px 6px rgba(0, 110, 230, 0.04);
        }
        .hidrico-dash-panel-head {
            display: flex;
            align-items: center;
            gap: 0.65rem;
            margin-bottom: 0.8rem;
        }
        .hidrico-dash-panel-thumb {
            width: 2.25rem;
            height: 2.25rem;
            border-radius: 0.65rem;
            object-fit: cover;
            flex-shrink: 0;
            border: 2px solid rgba(0, 110, 230, 0.12);
            box-shadow: 0 4px 10px rgba(0, 40, 86, 0.08);
        }
        .hidrico-dash-panel-thumb--icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, rgba(0, 110, 230, 0.14) 0%, rgba(0, 168, 150, 0.12) 100%);
            color: #006ee6;
            font-size: 0.8rem;
        }
        .hidrico-dash-panel-title {
            margin: 0;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.82rem;
            font-weight: 800;
            letter-spacing: 0.03em;
            text-transform: uppercase;
            color: #002856;
            line-height: 1.2;
        }
        .hidrico-metric-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.5rem;
        }
        .hidrico-metric-grid--preview {
            margin-top: 0.15rem;
        }
        .hidrico-metric-tile {
            display: flex;
            flex-direction: column;
            gap: 0.18rem;
            padding: 0.55rem 0.65rem;
            border-radius: 0.85rem;
            background: #f6f9fc;
            border: 1px solid rgba(0, 40, 86, 0.05);
            min-width: 0;
        }
        .hidrico-metric-value {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 1rem;
            font-weight: 800;
            color: #006ee6;
            line-height: 1.1;
            font-variant-numeric: tabular-nums;
        }
        .hidrico-metric-grid--preview .hidrico-metric-value {
            font-size: 0.92rem;
        }
        .hidrico-metric-label {
            font-size: 0.6rem;
            font-weight: 600;
            line-height: 1.25;
            color: #94a3b8;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .hidrico-dash-section-head {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            justify-content: space-between;
            gap: 0.35rem 0.75rem;
            margin: 0.35rem 0 0.9rem;
            padding-top: 0.5rem;
        }
        .hidrico-dash-section-title {
            margin: 0;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.92rem;
            font-weight: 800;
            color: #002856;
        }
        .hidrico-dash-section-hint {
            margin: 0;
            font-size: 0.68rem;
            font-weight: 600;
            color: #94a3b8;
        }
        .hidrico-dash-widgets-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0.85rem;
        }
        @media (min-width: 768px) {
            .hidrico-dash-widgets-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }
        @media (min-width: 1200px) {
            .hidrico-dash-widgets-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }
        .hidrico-dash-widget {
            position: relative;
            display: flex;
            flex-direction: column;
            width: 100%;
            text-align: left;
            padding: 0.95rem 1rem 1rem;
            border: none;
            border-radius: 1.25rem;
            background: #fff;
            cursor: pointer;
            overflow: hidden;
            box-shadow:
                0 10px 28px rgba(0, 40, 86, 0.06),
                0 2px 8px rgba(0, 110, 230, 0.04);
            transition: transform 0.22s ease, box-shadow 0.22s ease;
        }
        .hidrico-dash-widget-glow {
            position: absolute;
            top: -2rem;
            right: -2rem;
            width: 6rem;
            height: 6rem;
            border-radius: 9999px;
            background: radial-gradient(circle, rgba(0, 110, 230, 0.14) 0%, transparent 70%);
            pointer-events: none;
        }
        .hidrico-dash-widget:hover,
        .hidrico-dash-widget:focus-visible {
            transform: translateY(-3px);
            box-shadow:
                0 16px 36px rgba(0, 110, 230, 0.12),
                0 4px 12px rgba(0, 40, 86, 0.06);
            outline: none;
        }
        .hidrico-dash-widget-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.5rem;
            margin-bottom: 0.75rem;
        }
        .hidrico-dash-widget-meta {
            display: flex;
            align-items: center;
            gap: 0.55rem;
            min-width: 0;
        }
        .hidrico-dash-widget-thumb {
            width: 2rem;
            height: 2rem;
            border-radius: 0.55rem;
            object-fit: cover;
            flex-shrink: 0;
            border: 1px solid rgba(0, 40, 86, 0.08);
            box-shadow: 0 3px 8px rgba(0, 40, 86, 0.08);
        }
        .hidrico-dash-widget-thumb--icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(0, 110, 230, 0.1);
            color: #006ee6;
            font-size: 0.72rem;
        }
        .hidrico-dash-widget-title {
            margin: 0;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.76rem;
            font-weight: 800;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #002856;
            line-height: 1.25;
        }
        .hidrico-dash-widget-expand {
            width: 1.75rem;
            height: 1.75rem;
            border-radius: 0.55rem;
            background: #f0f6fc;
            color: #006ee6;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.62rem;
            flex-shrink: 0;
            transition: background 0.2s ease, color 0.2s ease;
        }
        .hidrico-dash-widget:hover .hidrico-dash-widget-expand,
        .hidrico-dash-widget:focus-visible .hidrico-dash-widget-expand {
            background: #006ee6;
            color: #fff;
        }
        .hidrico-dash-widget-more {
            margin-top: 0.55rem;
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #94a3b8;
        }

        /* Modal detalle hídrico */
        .hidrico-modal-overlay {
            position: fixed;
            inset: 0;
            z-index: 9998;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.25rem;
            background: rgba(0, 40, 86, 0.55);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.28s ease, visibility 0.28s ease;
        }
        .hidrico-modal-overlay.is-active {
            opacity: 1;
            visibility: visible;
        }
        .hidrico-modal-overlay[hidden] {
            display: none !important;
        }
        .hidrico-modal-overlay.is-active[hidden] {
            display: flex !important;
        }
        .hidrico-modal-panel {
            position: relative;
            width: min(520px, 94vw);
            max-height: min(90vh, 720px);
            overflow: hidden;
            border-radius: 1.5rem;
            background: #fff;
            box-shadow:
                0 28px 70px rgba(0, 40, 86, 0.28),
                0 10px 30px rgba(0, 110, 230, 0.12);
            transform: translateY(16px) scale(0.96);
            transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
            display: flex;
            flex-direction: column;
        }
        .hidrico-modal-overlay.is-active .hidrico-modal-panel {
            transform: translateY(0) scale(1);
        }
        .hidrico-modal-close {
            position: absolute;
            top: 0.85rem;
            right: 0.85rem;
            z-index: 5;
            width: 2.25rem;
            height: 2.25rem;
            border: none;
            border-radius: 9999px;
            background: rgba(255, 255, 255, 0.92);
            color: #64748b;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 14px rgba(0, 40, 86, 0.15);
            transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
        }
        .hidrico-modal-close:hover {
            background: #fff;
            color: #002856;
            transform: scale(1.05);
        }
        .hidrico-modal-hero {
            position: relative;
            flex-shrink: 0;
            background: #002856;
            min-height: 0;
        }
        .hidrico-modal-hero-img {
            width: 100%;
            height: auto;
            max-height: min(42vh, 280px);
            object-fit: cover;
            display: block;
        }
        .hidrico-modal-hero-shade {
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, transparent 45%, rgba(0, 40, 86, 0.35) 100%);
            pointer-events: none;
        }
        .hidrico-modal-content {
            padding: 1.25rem 1.35rem 1.4rem;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #c5d8ef transparent;
        }
        .hidrico-modal-eyebrow {
            margin: 0;
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.65rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #006ee6;
        }
        .hidrico-modal-title {
            margin: 0.5rem 0 0;
            font-size: 1.35rem;
            font-weight: 800;
            color: #002856;
            line-height: 1.2;
            letter-spacing: -0.01em;
        }
        .hidrico-modal-stats {
            margin: 1rem 0 0;
            padding: 0;
            list-style: none;
            display: grid;
            gap: 0.5rem;
        }
        .hidrico-modal-stats li {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            padding: 0.7rem 0.85rem;
            border-radius: 0.9rem;
            background: #f6f9fc;
            border: 1px solid rgba(0, 40, 86, 0.06);
            font-size: 0.78rem;
            font-weight: 600;
            color: #64748b;
        }
        .hidrico-modal-stats li strong {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 1.05rem;
            font-weight: 800;
            color: #006ee6;
            white-space: nowrap;
            font-variant-numeric: tabular-nums;
        }
        @media (max-width: 640px) {
            .hidrico-dash-toolbar {
                flex-direction: column;
                align-items: flex-start;
            }
            .hidrico-dash-toolbar-badge {
                align-self: flex-start;
            }
            .hidrico-modal-content {
                padding: 1.1rem 1.1rem 1.25rem;
            }
            .hidrico-modal-title {
                font-size: 1.15rem;
            }
        }

        .hidrico-empty-icon {
            box-shadow: 0 10px 24px rgba(0, 110, 230, 0.12);
        }
        .hidrico-empty-copy {
            font-weight: 500;
        }

        .back-to-top {
            position: fixed;
            right: 1.15rem;
            bottom: 1.4rem;
            z-index: 45;
            width: 3rem;
            height: 3rem;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: #006ee6;
            color: #ffffff;
            box-shadow: 0 8px 24px rgba(0, 40, 86, 0.28);
            opacity: 0;
            visibility: hidden;
            transform: translateY(12px);
            pointer-events: none;
            text-decoration: none;
            transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease, background 0.2s ease;
        }
        .back-to-top.is-visible {
            opacity: 1;
            visibility: visible;
            transform: none;
            pointer-events: auto;
        }
        .back-to-top:hover {
            background: #002856;
            color: #ffffff;
        }
        .back-to-top:focus-visible {
            outline: 2px solid #00A896;
            outline-offset: 3px;
        }
        @media (max-width: 640px) {
            .back-to-top {
                width: 2.7rem;
                height: 2.7rem;
                right: 0.85rem;
                bottom: 1.1rem;
            }
        }
    
