@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&display=swap');

/* Reset y configuración base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
  min-height: 100vh;
  line-height: 1.6;
}

.hero-section {
            position: relative;
            height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            overflow: hidden;
        }

        /* Video de fondo */
        .video-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -2;
            object-fit: cover;
        }

        /* Overlay para oscurecer el video */
        .video-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, rgba(33, 0, 85, 0.658), rgba(46, 0, 120, 0.658));
            z-index: -1;
        }

        /* Menú de navegación */
        .navbar {
            position: absolute;
            top: 30px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 100;
        }

        .nav-menu {
            display: flex;
            list-style: none;
            gap: 20px;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            padding: 15px 30px;
            border-radius: 50px;
            border: 1px solid rgba(255, 255, 255, 0.2);
            margin: 0;
        }

        .nav-link {
            color: white;
            text-decoration: none;
            padding: 10px 20px;
            border-radius: 25px;
            transition: all 0.3s ease;
            font-weight: 500;
            text-transform: uppercase;
            font-size: 0.9rem;
            letter-spacing: 1px;
            display: block;
            cursor: pointer;
        }

        .nav-link:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: translateY(-2px);
        }

        /* Estilos para el desplegable */
        .dropdown {
            position: relative;
            display: inline-block;
        }

        .dropdown-content {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            min-width: 200px;
            background: rgba(4, 36, 104, 0.884);
            backdrop-filter: blur(15px);
            border-radius: 15px;
            border: 1px solid rgb(255, 255, 255);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
            z-index: 1000;
            margin-top: 10px;
            overflow: hidden;
        }

        .dropdown-content a {
            color: white;
            padding: 12px 20px;
            text-decoration: none;
            display: block;
            transition: all 0.3s ease;
            font-weight: 400;
            text-transform: none;
            font-size: 0.85rem;
            letter-spacing: 0.5px;
            border-radius: 0;
        }

        .dropdown-content a:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: translateX(5px);
        }

        .dropdown.active .dropdown-content {
            display: block;
            animation: fadeInDown 0.3s ease;
        }

        .dropdown-arrow {
            display: inline-block;
            margin-left: 5px;
            transition: transform 0.3s ease;
        }

        .dropdown.active .dropdown-arrow {
            transform: rotate(180deg);
        }

        @keyframes fadeInDown {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Responsive */
        @media (max-width: 768px) {
            .nav-menu {
                flex-direction: column;
                gap: 10px;
                padding: 20px;
            }
            
            .dropdown-content {
                position: static;
                display: none;
                margin-top: 5px;
                min-width: auto;
            }
            
            .dropdown:hover .dropdown-content {
                display: block;
            }
        }

        /* Logo imagen - Reducido margen izquierdo */
        .logo-shield {
            position: absolute;
            top: 55%;
            left: 25%; /* Reducido de 35% a 25% */
            transform: translate(-50%, -50%);
            width: 300px;
            height: 300px;
            z-index: 50;
        }

        .logo-shield img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            border-radius: 15px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            border: 3px solid rgba(255, 255, 255, 0.3);
        }

        /* Contenido principal - Separado más de la imagen */
        .hero-content {
            position: absolute;
            left: 62%; /* Aumentado de 55% a 62% para separar más del logo */
            top: 55%;
            transform: translate(-50%, -50%);
            text-align: left;
            color: white;
            max-width: 750px; /* Aumentado de 600px a 750px */
            padding: 0 10px;
        }

        .main-title {
            font-family: "Oswald", sans-serif;
            font-size: 4rem;
            font-weight: 700;
            margin-bottom: 20px;
            text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
            line-height: 1.1;
        }

        .main-title i {
            color: #FFD700;
            margin-right: 15px;
        }

        .subtitle {
            font-family: "Oswald", sans-serif;
            font-size: 1.3rem;
            font-weight: 300;
            line-height: 1.6;
            text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.7);
            margin-bottom: 40px;
        }

        /* Botones de acción */
        .action-buttons {
            display: flex;
            gap: 20px;
            justify-content: flex-start;
            flex-wrap: wrap;
        }

        .action-btn {
            background: rgba(255, 255, 255, 0.15);
            backdrop-filter: blur(10px);
            color: white;
            padding: 15px 30px;
            border: 2px solid rgba(255, 255, 255, 0.3);
            border-radius: 50px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: 0.9rem;
            min-width: 150px;
        }

        

        .action-btn .line {
        display: block;
        white-space: normal;
        }


        .action-btn:hover {
            background: rgba(255, 255, 255, 0.25);
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
        }

        .action-btn.primary {
            /* background: linear-gradient(135deg, #a80000, #d4ae00); */
            background: #850000;
            border-color: #ecc900;
        }

        .action-btn.primary:hover {
            background: linear-gradient(135deg, #FF5722, #E68900);
        }

        /* Decoraciones flotantes */
        .hero-decoration {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 10;
        }

        .floating-feather {
            position: absolute;
            font-size: 2rem;
            opacity: 0.6;
            animation: float 6s ease-in-out infinite;
        }

        .feather-1 {
            top: 20%;
            right: 15%;
            animation-delay: -2s;
        }

        .feather-2 {
            top: 60%;
            right: 10%;
            animation-delay: -4s;
        }

        .feather-3 {
            top: 80%;
            left: 10%;
            animation-delay: -1s;
        }

        /* Partículas flotantes */
        .particles {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: 5;
        }

        .particle {
            position: absolute;
            background: rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            animation: particleFloat 8s linear infinite;
        }

        .particle:nth-child(1) { width: 4px; height: 4px; left: 10%; animation-delay: 0s; }
        .particle:nth-child(2) { width: 6px; height: 6px; left: 20%; animation-delay: -2s; }
        .particle:nth-child(3) { width: 3px; height: 3px; left: 30%; animation-delay: -4s; }
        .particle:nth-child(4) { width: 5px; height: 5px; left: 40%; animation-delay: -6s; }
        .particle:nth-child(5) { width: 4px; height: 4px; left: 50%; animation-delay: -1s; }
        .particle:nth-child(6) { width: 6px; height: 6px; left: 60%; animation-delay: -3s; }
        .particle:nth-child(7) { width: 3px; height: 3px; left: 70%; animation-delay: -5s; }
        .particle:nth-child(8) { width: 5px; height: 5px; left: 80%; animation-delay: -7s; }

        /* Ondas decorativas */
        .wave-decoration {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 150px;
            background: linear-gradient(180deg, transparent, rgba(0, 40, 85, 0.3));
            z-index: 20;
        }

        .wave-decoration::before {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 60px;
            background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120'%3E%3Cpath d='M985.66,92.83C906.67,72,823.78,31,743.84,14.19c-82.26-17.34-168.06-16.33-250.45.39-57.84,11.73-114,31.07-172,41.86A600.21,600.21,0,0,1,0,27.35V120H1200V95.8C1132.19,118.92,1055.71,111.31,985.66,92.83Z' fill='rgba(255,255,255,0.1)'/%3E%3C/svg%3E") repeat-x;
            background-size: 1200px 60px;
            animation: waveMove 10s linear infinite;
        }

        /* Animaciones */
        @keyframes float {
            0%, 100% { transform: translateY(0px) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(180deg); }
        }

        @keyframes particleFloat {
            0% { transform: translateY(100vh) rotate(0deg); opacity: 0; }
            10% { opacity: 0.3; }
            90% { opacity: 0.3; }
            100% { transform: translateY(-100px) rotate(360deg); opacity: 0; }
        }

        @keyframes waveMove {
            0% { background-position-x: 0; }
            100% { background-position-x: 1200px; }
        }

        /* Portada de aves (mantenida para compatibilidad) */
        .bird-cover {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, rgba(0, 40, 85, 0.3), rgba(0, 80, 120, 0.2));
            z-index: -1;
        }

        /* Responsive */
        @media (max-width: 1024px) {
            .hero-section {
                flex-direction: column;
                justify-content: flex-start; /* Cambiado de center a flex-start */
                align-items: center;
                text-align: center;
                padding: 120px 20px 20px; /* Añadido padding-top para espacio debajo del menú */
            }

            .logo-shield {
                position: relative;
                top: auto;
                left: auto;
                transform: none;
                width: 300px;
                height: 300px;
                margin-bottom: 30px;
                margin-top: 130px; /* Espacio adicional desde el menú */
            }

            .hero-content {
                position: relative;
                left: auto;
                top: auto;
                transform: none;
                text-align: center;
                max-width: 100%;
                margin-top: 25px;
            }

            .main-title {
                font-size: 2.5rem;
            }

            .subtitle {
                font-size: 1.1rem;
            }

            .navbar {
                position: absolute;
                top: 20px;
                left: 50%;
                transform: translateX(-50%);
                width: 90%;
                padding: 10px;
            }

            .nav-menu {
                flex-direction: column;
                gap: 10px;
                padding: 10px;
            }

            .action-buttons {
                flex-direction: column;
                align-items: center;
            }
        }

        @media (max-width: 768px) {
            .hero-section {
                flex-direction: column;
                justify-content: flex-start; /* Cambiado de center a flex-start */
                align-items: center;
                text-align: center;
                padding: 120px 20px 20px; /* Añadido padding-top para espacio debajo del menú */
            }

            .logo-shield {
                position: relative;
                top: auto;
                left: auto;
                transform: none;
                width: 150px;
                height: 150px;
                margin-bottom: 30px;
                margin-top: 130px; /* Espacio adicional desde el menú */
            }

            .hero-content {
                position: relative;
                left: auto;
                top: auto;
                transform: none;
                text-align: center;
                max-width: 100%;
                margin-top: 25px;
            }

            .main-title {
                font-size: 2.5rem;
            }

            .subtitle {
                font-size: 1.1rem;
            }

            .navbar {
                position: absolute;
                top: 20px;
                left: 50%;
                transform: translateX(-50%);
                width: 90%;
                padding: 10px;
            }

            .nav-menu {
                flex-direction: column;
                gap: 10px;
                padding: 10px;
            }

            .action-buttons {
                flex-direction: column;
                align-items: center;
            }
        }





/* Contenido principal */
.main-content {
    background: white;
    min-height: 100vh;
    padding: 60px 0;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.collection-header {
    text-align: center;
    margin-bottom: 60px;
}


.collection-header h2 {
    color: #2c3e50;
    font-size: 2.5rem;
    margin-bottom: 15px;
    font-weight: 300;
}

.collection-header p {
    color: #7f8c8d;
    font-size: 1.1rem;
    max-width: 600px;
    margin: 0 auto;
}







/* Grid de aves */
.birds-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  padding: 20px 50px;
}

/* Tarjetas de aves */
.bird-card {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: pointer;
  position: relative;
}

.bird-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 50px rgba(0,0,0,0.2);
}

/* Contenedor de imagen - ALTURA AUMENTADA */
.card-image-container {
  position: relative;
  height: 280px; /* Aumentado de 250px a 320px */
  overflow: hidden;
}

.bird-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.bird-card:hover .bird-image {
  transform: scale(1.1);
}

/* Overlay de información */
.card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.9), rgba(118, 75, 162, 0.9));
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  color: white;
  font-size: 1.1rem;
}

.bird-card:hover .card-overlay {
  opacity: 1;
}

.card-overlay i {
  font-size: 2rem;
  margin-bottom: 10px;
}

/* Contenido de la tarjeta */
.card-content {
  padding: 25px;
}

.bird-name {
  color: #2c3e50;
  font-size: 1.5rem;
  margin-bottom: 8px;
  font-weight: 600;
}

.bird-scientific {
  color: #7f8c8d;
  font-size: 1rem;
  font-style: italic;
  margin-bottom: 15px;
}

/* Tags/Etiquetas */
.card-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tag {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 500;
}

/* Contenedor QR */
.qr-container {
  margin: 20px;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 10px;
  border-top: 3px solid #667eea;
}

/* Responsive Design */
@media (max-width: 768px) {
  .birds-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    padding: 20px;
    gap: 20px;
  }
  
  .collection-header h2 {
    font-size: 2rem;
  }
  
  .card-image-container {
    height: 400px; /* Altura reducida para móviles */
  }
}

@media (max-width: 480px) {
  .birds-grid {
    grid-template-columns: 1fr;
    padding: 15px;
  }
  
  .card-image-container {
    height: 250px; /* Altura aún más reducida para pantallas pequeñas */
  }
}




/* Footer */
.museum-footer {
  background: #271c46;
  color: white;
  padding: 30px 0;
  text-align: center;
}

.footer-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}


/* Responsive Design */
@media (max-width: 768px) {
  .main-title {
    font-size: 2.5rem;
  }
  
  .subtitle {
    font-size: 1.1rem;
  }
  
  .birds-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .collection-header h2 {
    font-size: 2rem;
  }
  
  .hero-section {
    padding: 60px 20px;
  }
  
  
}

@media (max-width: 480px) {
  .main-title {
    font-size: 2rem;
  }
  
  .card-content {
    padding: 20px;
  }
  
  .floating-feather {
    display: none; /* Ocultar en móviles para mejor rendimiento */
  }
}







/* Carrusel Infinito Minimalista */
.aves-puno {
    background: #fdfdfd;
    padding: 80px 0;
    overflow: hidden;
    position: relative;
}

.carousel-container {
    width: 100%;
    max-width: 100vw;
    position: relative;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    width: calc(320px * 16); /* 8 slides x 2 para loop infinito */
    animation: scroll 40s linear infinite;
    gap: 20px;
}

.carousel-slide {
    flex: 0 0 300px;
    height: 300px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    background: #ffffff;
    box-shadow: 
        0 8px 32px rgba(255, 255, 255, 0.4),
        0 0 0 1px rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease, filter 0.3s ease;
}

.carousel-slide:hover {
    transform: translateY(-8px) scale(1.02);
    filter: brightness(1.1);
}

.carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.carousel-slide:hover img {
    transform: scale(1.05);
}

/* Animación infinita */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-320px * 8));
    }
}

/* Pausar en hover */
.carousel-container:hover .carousel-track {
    animation-play-state: paused;
}

/* Gradiente de desvanecimiento en los bordes */
.carousel-container::before,
.carousel-container::after {
    content: '';
    position: absolute;
    top: 0;
    width: 100px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.carousel-container::before {
    left: 0;
    background: linear-gradient(to right, #1a1a1a, transparent);
}

.carousel-container::after {
    right: 0;
    background: linear-gradient(to left, #1a1a1a, transparent);
}

/* Responsive */
@media (max-width: 768px) {
    .aves-puno {
        padding: 40px 0;
    }
    
    .carousel-track {
        width: calc(280px * 16);
        animation: scroll-mobile 35s linear infinite;
        gap: 15px;
    }
    
    .carousel-slide {
        flex: 0 0 250px;
        height: 380px;
        border-radius: 12px;
    }
    
    @keyframes scroll-mobile {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(calc(-265px * 8));
        }
    }
    
    .carousel-container::before,
    .carousel-container::after {
        width: 60px;
    }
}

@media (max-width: 480px) {
    .carousel-track {
        width: calc(240px * 16);
        animation: scroll-small 30s linear infinite;
        gap: 12px;
    }
    
    .carousel-slide {
        flex: 0 0 200px;
        height: 320px;
        border-radius: 10px;
    }

    .carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
    
    @keyframes scroll-small {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(calc(-212px * 8));
        }
    }
    
    .carousel-container::before,
    .carousel-container::after {
        width: 40px;
    }
}

/* Mejoras visuales */
.carousel-slide {
    position: relative;
}

.carousel-slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        45deg,
        rgba(0,0,0,0.1) 0%,
        transparent 50%,
        rgba(255,255,255,0.05) 100%
    );
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.carousel-slide:hover::before {
    opacity: 1;
}



.banner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 40px;
            border-radius: 25px;
            background: linear-gradient(135deg, 
                rgba(255, 255, 255, 0.95) 0%, 
                rgba(240, 248, 255, 0.9) 50%, 
                rgba(225, 245, 254, 0.85) 100%);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.3);
            box-shadow: 
                0 20px 40px rgba(0, 77, 64, 0.15),
                0 10px 20px rgba(0, 77, 64, 0.1),
                inset 0 1px 0 rgba(255, 255, 255, 0.8);
            max-width: 1200px;
            margin: 40px auto;
            margin-bottom: 100px;
            position: relative;
            overflow: hidden;
            transition: all 0.3s ease;
        }

        .banner::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -30%;
            width: 200px;
            height: 200px;
            background: radial-gradient(circle, rgba(77, 182, 172, 0.1) 0%, transparent 70%);
            border-radius: 50%;
            animation: float 6s ease-in-out infinite;
        }

        .banner::after {
            content: '';
            position: absolute;
            bottom: -30%;
            left: -20%;
            width: 150px;
            height: 150px;
            background: radial-gradient(circle, rgba(0, 150, 136, 0.08) 0%, transparent 70%);
            border-radius: 50%;
            animation: float 8s ease-in-out infinite reverse;
        }

        .banner:hover {
            transform: translateY(-5px);
            box-shadow: 
                0 30px 60px rgba(0, 77, 64, 0.2),
                0 15px 30px rgba(0, 77, 64, 0.15),
                inset 0 1px 0 rgba(255, 255, 255, 0.9);
        }

        .banner-texto {
            flex: 1;
            padding-right: 40px;
            z-index: 2;
            position: relative;
        }

        .banner-texto h2 {
            font-size: clamp(24px, 4vw, 36px);
            background: linear-gradient(135deg, #004d40 0%, #00695c 50%, #4db6ac 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 20px;
            font-weight: 700;
            letter-spacing: -0.5px;
            line-height: 1.2;
            position: relative;
        }

        .banner-texto h2::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 60px;
            height: 3px;
            background: linear-gradient(90deg, #4db6ac, #80cbc4);
            border-radius: 2px;
            animation: expand 2s ease-out forwards;
        }

        .banner-texto p {
            font-size: clamp(14px, 2vw, 18px);
            line-height: 1.8;
            color: #37474f;
            text-align: justify;
            position: relative;
            opacity: 0;
            animation: fadeInUp 1s ease-out 0.3s forwards;
        }

        .banner-imagen {
            flex-shrink: 0;
            position: relative;
            z-index: 2;
        }

        .banner-imagen img {
            max-width: 400px;
            width: 100%;
            height: auto;
            border-radius: 20px;
            box-shadow: 
                0 20px 40px rgba(0, 0, 0, 0.2),
                0 10px 20px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
            position: relative;
        }

        .banner-imagen::before {
            content: '';
            position: absolute;
            top: -10px;
            left: -10px;
            right: -10px;
            bottom: -10px;
            background: linear-gradient(135deg, #4db6ac, #80cbc4, #b2dfdb);
            border-radius: 25px;
            z-index: -1;
            opacity: 0.7;
            filter: blur(15px);
            transition: all 0.3s ease;
        }

        .banner-imagen:hover img {
            transform: scale(1.05) rotate(1deg);
            box-shadow: 
                0 30px 60px rgba(0, 0, 0, 0.25),
                0 15px 30px rgba(0, 0, 0, 0.15);
        }

        .banner-imagen:hover::before {
            opacity: 1;
            filter: blur(20px);
        }

        /* Decorative elements */
        .bird-icon {
            position: absolute;
            font-size: 24px;
            opacity: 0.1;
            animation: fly 10s linear infinite;
        }

        .bird-icon:nth-child(1) {
            top: 20%;
            left: 10%;
            animation-delay: 0s;
        }

        .bird-icon:nth-child(2) {
            top: 70%;
            right: 15%;
            animation-delay: -3s;
        }

        /* Animations */
        @keyframes float {
            0%, 100% { transform: translateY(0px) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(10deg); }
        }

        @keyframes expand {
            0% { width: 0; }
            100% { width: 60px; }
        }

        @keyframes fadeInUp {
            0% {
                opacity: 0;
                transform: translateY(30px);
            }
            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes fly {
            0% { transform: translateX(-100px) translateY(0px); }
            25% { transform: translateX(25vw) translateY(-10px); }
            50% { transform: translateX(50vw) translateY(5px); }
            75% { transform: translateX(75vw) translateY(-5px); }
            100% { transform: translateX(100vw) translateY(0px); }
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .banner {
                flex-direction: column;
                text-align: center;
                padding: 30px 20px;
            }

            .banner-texto {
                padding-right: 0;
                margin-bottom: 30px;
            }

            .banner-imagen img {
                max-width: 300px;
            }
        }

        @media (max-width: 480px) {
            .banner {
                padding: 20px 15px;
                margin: 5px 25px 60px 25px;
            }

            .banner-imagen img {
                max-width: 250px;
            }
        }





/* ESTILO DE BOTONES DE ACCIÓN */

.quiz-button {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 16px 32px;
            font-size: 18px;
            font-weight: bold;
            text-decoration: none;
            color: white;
            background: linear-gradient(45deg, #550101, #b90000);
            border: none;
            border-radius: 50px;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 8px 25px rgba(255, 107, 107, 0.3);
            overflow: hidden;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-top: 25px;
        }

        .quiz-button::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
            transition: left 0.6s ease;
        }

        .quiz-button:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 35px rgba(255, 107, 107, 0.4);
            background: linear-gradient(45deg, #320061, #590074);
        }

        .quiz-button:hover::before {
            left: 100%;
        }

        .quiz-button:active {
            transform: translateY(-1px);
            box-shadow: 0 6px 20px rgba(255, 107, 107, 0.3);
        }

        .quiz-button .icon {
            display: inline-block;
            margin-right: 8px;
            font-size: 20px;
            transition: transform 0.3s ease;
        }

        .quiz-button:hover .icon {
            transform: rotate(360deg);
        }

        /* Efecto de pulso */
        @keyframes pulse {
            0% {
                box-shadow: 0 8px 25px rgba(255, 107, 107, 0.3);
            }
            50% {
                box-shadow: 0 8px 25px rgba(255, 107, 107, 0.6);
            }
            100% {
                box-shadow: 0 8px 25px rgba(255, 107, 107, 0.3);
            }
        }

        .quiz-button {
            animation: pulse 2s infinite;
        }

        .quiz-button:hover {
            animation: none;
        }

        /* Responsive */
        @media (max-width: 480px) {
            .quiz-button {
                padding: 14px 28px;
                font-size: 16px;
            }
        }



.student-container {
            max-width: 800px;
            width: 100%;
            background: linear-gradient(135deg, #d0ccff 0%, #ebebeb 100%);
            border-radius: 20px;
            box-shadow: 0 20px 40px rgba(0,0,0,0.15);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.2);
            overflow: hidden;
            display: flex;
            align-items: center;
            position: relative;
            transition: all 0.3s ease;
            margin: auto;
            margin-top: 80px;
            padding: 10px 10px 10px 10px;
        }

        .student-container:hover {
            transform: translateY(-5px);
            box-shadow: 0 25px 50px rgba(0,0,0,0.2);
        }

        .student-container::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, #3e00b1, #764ba2, #667eea);
            background-size: 200% 100%;
            animation: shimmer 3s ease-in-out infinite;
        }

        @keyframes shimmer {
            0%, 100% { background-position: 0% 0%; }
            50% { background-position: 100% 0%; }
        }

        .student-photo {
            width: 280px;
            height: 280px;
            flex-shrink: 0;
            position: relative;
            overflow: hidden;
            border-radius: 20px;
            margin: 15px;
            margin-left: 40px;
        }

        .student-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease;
        }

        .student-container:hover .student-photo img {
            transform: scale(1.05);
        }

        .placeholder-photo {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #667eea, #764ba2);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 4rem;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .student-info {
            padding: 40px;
            flex: 1;
            position: relative;
        }

        .student-name {
            font-size: 2rem;
            font-weight: 700;
            color: #333;
            margin-bottom: 20px;
            position: relative;
            background: linear-gradient(135deg, #667eea, #764ba2);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .student-name::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 60px;
            height: 3px;
            background: linear-gradient(90deg, #667eea, #764ba2);
            border-radius: 2px;
        }

        .student-details {
            font-size: 1.1rem;
            line-height: 1.8;
        }

        .student-career {
            font-weight: 600;
            color: #444;
            margin-bottom: 12px;
            padding: 8px 0;
            position: relative;
            padding-left: 20px;
            transition: all 0.3s ease;
        }

        .student-career::before {
            content: '👨‍🎓';
            position: absolute;
            left: 0;
            top: 8px;
            font-size: 1rem;
        }

        .student-career:hover {
            color: #667eea;
            transform: translateX(5px);
        }

        .team-badge {
            position: absolute;
            top: 20px;
            right: 20px;
            background: linear-gradient(135deg, #667eea, #764ba2);
            color: white;
            padding: 8px 16px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            box-shadow: 0 4px 10px rgba(102, 126, 234, 0.3);
        }

        /* Versión responsiva */
        @media (max-width: 768px) {
                    
            .student-container {
                flex-direction: column;
                text-align: center;
                max-width: 390px;
            }
            
            .student-photo {
                width: 100%;
                height: 280px;
                margin: auto;
            }
            
            .student-info {
                padding: 30px 25px;
            }
            
            .student-name {
                font-size: 1.6rem;
                margin-bottom: 15px;
            }
            
            .student-name::after {
                left: 50%;
                transform: translateX(-50%);
            }
            
            .student-career {
                font-size: 1rem;
                padding-left: 0;
                text-align: center;
            }
            
            .student-career::before {
                display: none;
            }
            
            .team-badge {
                position: static;
                display: inline-block;
                margin-bottom: 15px;
            }
        }

        @media (max-width: 480px) {
            .student-container {
                margin: 10px;
            }
            
            .student-info {
                padding: 25px 20px;
            }
            
            .student-name {
                font-size: 1.4rem;
            }
            
            .student-career {
                font-size: 0.95rem;
            }
        }
        #contador-visitas {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background: linear-gradient(135deg, rgba(0, 0, 0, 0.8), rgba(40, 40, 40, 0.9));
            color: #ffffff;
            padding: 10px 16px;
            border-radius: 12px;
            font-size: 18px;
            font-weight: 500;
            z-index: 9999;
            box-shadow: 
                0 4px 15px rgba(0, 0, 0, 0.3),
                0 2px 5px rgba(0, 0, 0, 0.2);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            user-select: none;
            cursor: default;
            min-width: 60px;
            text-align: center;
            letter-spacing: 0.5px;
        }
        
        #contador-visitas:hover {
            transform: translateY(-2px);
            box-shadow: 
                0 6px 20px rgba(0, 0, 0, 0.4),
                0 4px 10px rgba(0, 0, 0, 0.3);
            background: linear-gradient(135deg, rgba(20, 20, 20, 0.9), rgba(60, 60, 60, 0.95));
            border-color: rgba(255, 255, 255, 0.2);
        }
        
        #contador-visitas::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), transparent);
            border-radius: 12px;
            pointer-events: none;
        }
        
        /* Animación de entrada */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        #contador-visitas {
            animation: fadeInUp 0.8s ease-out;
        }
        
        /* Responsive design */
        @media (max-width: 768px) {
            #contador-visitas {
                bottom: 15px;
                right: 15px;
                font-size: 12px;
                padding: 8px 12px;
                border-radius: 10px;
            }
        }
        
        @media (max-width: 480px) {
            #contador-visitas {
                bottom: 10px;
                right: 10px;
                font-size: 11px;
                padding: 6px 10px;
                border-radius: 8px;
            }
        }
        
        /* Tema claro alternativo */
        .light-theme #contador-visitas {
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95));
            color: #333333;
            border: 1px solid rgba(0, 0, 0, 0.1);
            box-shadow: 
                0 4px 15px rgba(0, 0, 0, 0.1),
                0 2px 5px rgba(0, 0, 0, 0.05);
        }
        
        .light-theme #contador-visitas:hover {
            background: linear-gradient(135deg, rgba(250, 250, 250, 0.95), rgba(235, 235, 235, 0.98));
            border-color: rgba(0, 0, 0, 0.15);
            box-shadow: 
                0 6px 20px rgba(0, 0, 0, 0.15),
                0 4px 10px rgba(0, 0, 0, 0.08);
        }
        
        .light-theme #contador-visitas::before {
            background: linear-gradient(135deg, rgba(0, 0, 0, 0.05), transparent);
        }
        
        /* Efecto de pulso opcional para destacar */
        .pulse-effect #contador-visitas {
            animation: fadeInUp 0.8s ease-out, pulse 2s infinite;
        }
        
        @keyframes pulse {
            0% {
                box-shadow: 
                    0 4px 15px rgba(0, 0, 0, 0.3),
                    0 2px 5px rgba(0, 0, 0, 0.2);
            }
            50% {
                box-shadow: 
                    0 4px 15px rgba(0, 0, 0, 0.4),
                    0 2px 5px rgba(0, 0, 0, 0.3),
                    0 0 0 4px rgba(255, 255, 255, 0.1);
            }
            100% {
                box-shadow: 
                    0 4px 15px rgba(0, 0, 0, 0.3),
                    0 2px 5px rgba(0, 0, 0, 0.2);
            }
        }