  /* --- ESTILOS MODERNOS PARA PNO --- */

  
        /* Fija el contenedor padre para que el pie de página calcule su 100% desde el final del contenido real */
        #body-pno {
            position: relative;
            min-height: 100vh;
            padding-bottom: 200px; /* Espacio exacto para el footer en PC */
        }
      
        #body-pno {
            background-color: #f4f7f6;
            background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2314522c' fill-opacity='0.06'%3E%3Cpath d='M50 50c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10-10-4.477-10-10zM10 10c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10-10-4.477-10-10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            background-attachment: fixed;
            margin: 0;
            font-family: 'Segoe UI', system-ui, sans-serif;
        }
        
        .cont-pno {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px; 
            padding-bottom: 80px;
        }

        /* Banner Principal (Hero) */
        .hero-pno {
            position: relative;
            height: 60vh;
            min-height: 400px;
            border-radius: 25px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            margin-bottom: 40px;
            box-shadow: 0 15px 35px rgba(0,0,0,0.2);
        }
        .hero-video {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1;
        }
        .hero-overlay {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(rgba(20, 82, 44, 0.7), rgba(3, 166, 74, 0.4)); z-index: 2;
        }
        .hero-content {
            position: relative; z-index: 3; color: white; padding: 20px; max-width: 800px;
        }
        .hero-content h1 {
            font-size: 3.5rem; font-weight: 800; margin-bottom: 15px; text-shadow: 2px 2px 8px rgba(0,0,0,0.5);
        }
        .hero-content p {
            font-size: 1.2rem; font-weight: 500; text-shadow: 1px 1px 5px rgba(0,0,0,0.5); line-height: 1.6;
        }

        /* Tarjeta de Información */
        .info-pno {
            display: flex; flex-wrap: wrap; gap: 30px; align-items: center; padding: 30px; margin-bottom: 50px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); border-radius: 25px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); border: 1px solid rgba(255,255,255,0.5);
        }
        .info-texto {
            flex: 1; min-width: 300px;
        }
        .info-texto h2 {
            color: #14522c; font-size: 2.2rem; margin-top: 0; display: flex; align-items: center; gap: 10px;
        }
        .info-texto p {
            color: #555; line-height: 1.8; font-size: 1.1rem;
        }
        .info-video {
            flex: 1; min-width: 300px; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 25px rgba(0,0,0,0.15); height: 350px;
        }
        .info-video video { width: 100%; height: 100%; object-fit: cover; display: block; }

        /* Sección del Mapa */
        .mapa-pno {
            text-align: center;
        }
        .mapa-pno h2 {
            color: #14522c; font-size: 2.2rem; margin-bottom: 25px; display: inline-flex; align-items: center; gap: 10px;
        }
        .mapa-wrapper {
            background: white; padding: 15px; border-radius: 25px; box-shadow: 0 15px 35px rgba(0,0,0,0.1); height: 600px; overflow: hidden; border: 1px solid #eee;
        }
        .mapa-wrapper iframe { width: 100%; height: 100%; border: none; border-radius: 15px; }

       
        
        .flashlight-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23007ba7' fill-opacity='0.15'%3E%3Cpath d='M50 50c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10-10-4.477-10-10zM10 10c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10-10-4.477-10-10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            background-attachment: fixed; z-index: -1; pointer-events: none;
            -webkit-mask-image: radial-gradient(circle 180px at var(--mouse-x, -500px) var(--mouse-y, -500px), black 0%, transparent 100%);
            mask-image: radial-gradient(circle 180px at var(--mouse-x, -500px) var(--mouse-y, -500px), black 0%, transparent 100%);
        }

         /* Responsividad */
        @media (max-width: 768px) {
            .hero-content h1 { font-size: 2.2rem; }
            .hero-pno { height: 40vh; min-height: 300px; border-radius: 0 0 20px 20px; }
            .info-pno { flex-direction: column; padding: 20px; }
            .info-video { height: 250px; width: 100%; }
            .mapa-wrapper { height: 400px; padding: 10px; }
        }

          @media screen and (max-width: 700px) {
            #body-pno {
                padding-bottom: 380px; /* Espacio extra para el footer apilado en móviles */
            }
        }
    