   * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
   }

   body {
     font-family: var(--fuente-principal);
     font-size: var(--tamano-global);
     overflow-x: hidden;
   }


   /* ===== VIDEO SLIDER ===== */
   .video-slider {
     position: relative;
     width: 100%;
     height: 100vh;
     overflow: hidden;
     margin-top: 0px;
   }

   .video-slide {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     opacity: 0;
     transition: opacity 1s ease-in-out;
   }

   .video-slide.active {
     opacity: 1;
     z-index: 1;
   }

   .video-slide video {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }

   .video-overlay {
     position: absolute;
     left: 0;
     width: 100%;
     height: 100%;
     background: linear-gradient(135deg, rgb(10 22 77 / 40%) 0%, rgb(55 22 7 / 40%) 100%);
     z-index: 2;
   }

   .video-content {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     text-align: center;
     color: white;
     z-index: 3;
     width: 90%;
     max-width: 800px;
   }

   .video-content h1 {
     font-size: 3.5rem;
     font-weight: 800;
     margin-bottom: 1rem;
     text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
     animation: fadeInUp 1s ease;
   }

   .video-content p {
     font-size: 1.3rem;
     margin-bottom: 2rem;
     animation: fadeInUp 1s ease 0.2s backwards;
   }

   .video-content .btn-explore {
     padding: 15px 40px;
     font-size: 1.1rem;
     font-weight: 600;
     border-radius: 50px;
     border: 2px solid white;
     background: transparent;
     color: white;
     transition: all 0.3s ease;
     animation: fadeInUp 1s ease 0.4s backwards;
   }

   .video-content .btn-explore:hover {
     background: white;
     color: var(--primary-color);
     transform: translateY(-3px);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
   }

   .slider-indicators {
     position: absolute;
     bottom: 30px;
     left: 50%;
     transform: translateX(-50%);
     z-index: 4;
     display: flex;
     gap: 10px;
   }

   .slider-indicator {
     width: 12px;
     height: 12px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.5);
     border: 2px solid white;
     cursor: pointer;
     transition: all 0.3s ease;
   }

   .slider-indicator.active {
     background: white;
     width: 30px;
     border-radius: 10px;
   }

   @keyframes fadeInUp {
     from {
       opacity: 0;
       transform: translateY(30px);
     }

     to {
       opacity: 1;
       transform: translateY(0);
     }
   }

   /* ===== ACCESOS RÁPIDOS ===== */
   .accesos-rapidos {
     padding: 80px 0;
     background: var(--light-color);
   }

   .section-title {
     text-align: center;
     margin-bottom: 50px;
   }

   .section-title h2 {
     font-size: 2.5rem;
     font-weight: 700;
     color: var(--dark-color);
     margin-bottom: 10px;
   }

   .section-title p {
     color: #666;
     font-size: 1.1rem;
   }

   .access-card {
     background: white;
     border-radius: 20px;
     padding: 40px 30px;
     text-align: center;
     transition: all 0.3s ease;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
     height: 100%;
     cursor: pointer;
     position: relative;
     overflow: hidden;
   }

   .access-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 5px;
     background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
     transform: scaleX(0);
     transition: transform 0.3s ease;
   }

   .access-card:hover::before {
     transform: scaleX(1);
   }

   .access-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 15px 40px rgba(102, 126, 234, 0.2);
   }

   .access-card .icon {
     font-size: 4rem;
     background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     margin-bottom: 20px;
   }

   .access-card h3 {
     font-size: 1.5rem;
     font-weight: 600;
     margin-bottom: 15px;
     color: var(--dark-color);
   }

   .access-card p {
     color: #666;
     margin-bottom: 0;
   }

   /* ===== RUTAS POPULARES ===== */
   .rutas-populares {
     padding: 80px 0;
     background: white;
   }

   .ruta-card {
     background: white;
     border-radius: 15px;
     overflow: hidden;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
     transition: all 0.3s ease;
     cursor: pointer;
     height: 100%;
   }

   .ruta-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
   }

   .ruta-image {
     height: 200px;
     background-size: cover;
     background-position: center;
     position: relative;
   }

   .ruta-badge {
     position: absolute;
     top: 15px;
     right: 15px;
     background: rgba(255, 255, 255, 0.95);
     padding: 5px 15px;
     border-radius: 20px;
     font-size: 0.85rem;
     font-weight: 600;
     color: var(--primary-color);
   }

   .ruta-content {
     padding: 25px;
   }

   .ruta-content h4 {
     font-size: 1.3rem;
     font-weight: 600;
     margin-bottom: 10px;
     color: var(--dark-color);
   }

   .ruta-content p {
     color: #666;
     margin-bottom: 15px;
     font-size: 0.95rem;
   }

   .ruta-info {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding-top: 15px;
     border-top: 1px solid #eee;
   }

   .ruta-info span {
     font-size: 0.9rem;
     color: #888;
   }

   .ruta-info i {
     margin-right: 5px;
   }

   /* ===== MAPA PREVIEW ===== */
   .mapa-preview {
     padding: 80px 0;
     background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
     color: white;
   }

   .mapa-preview .section-title h2,
   .mapa-preview .section-title p {
     color: white;
   }

   .map-container {
     background: white;
     border-radius: 20px;
     overflow: hidden;
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
     height: 500px;
   }

   /* ===== EVENTOS ===== */
   .eventos-section {
     padding: 80px 0;
     background: var(--light-color);
   }

   .evento-card {
     background: white;
     border-radius: 15px;
     padding: 25px;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
     transition: all 0.3s ease;
     display: flex;
     gap: 20px;
     cursor: pointer;
     margin-bottom: 20px;
   }

   .evento-card:hover {
     transform: translateX(10px);
     box-shadow: 0 10px 25px rgba(102, 126, 234, 0.15);
   }

   .evento-fecha {
     background: linear-gradient(135deg, var(--azul-primario), var(--azul-secundario));
     color: white;
     border-radius: 10px;
     padding: 15px;
     text-align: center;
     min-width: 80px;
   }

   .evento-fecha .dia {
     font-size: 2rem;
     font-weight: 700;
     line-height: 1;
   }

   .evento-fecha .mes {
     font-size: 0.9rem;
     text-transform: uppercase;
   }

   .evento-info h5 {
     font-weight: 600;
     margin-bottom: 5px;
     color: var(--dark-color);
   }

   .evento-info p {
     color: #666;
     margin: 0;
     font-size: 0.95rem;
   }



   /* ===== RESPONSIVE ===== */
   @media (max-width: 768px) {
     .video-content h1 {
       font-size: 2rem;
     }

     .video-content p {
       font-size: 1rem;
     }

     .section-title h2 {
       font-size: 1.8rem;
     }

     .video-slider {
       height: 70vh;
     }
   }