* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Poppins',sans-serif; background:#0f1028; color:#fff; line-height:1.6; }

/* HEADER */
.header { position:sticky; top:0; background:#161736; z-index:1000; box-shadow:0 4px 10px rgba(0,0,0,0.4);}
.nav-container { max-width:1400px; margin:auto; display:flex; justify-content:space-between; align-items:center; padding:15px 20px; }
.logo img { height:60px; }
.nav-menu { display:flex; gap:30px; transition:all 0.4s ease; }
.nav-menu a { color:white; text-decoration:none; font-weight:500; position:relative; }
.nav-menu a::after { content:''; display:block; height:2px; width:0%; background:#b1e200; transition:width 0.3s; position:absolute; bottom:-5px; left:0; }
.nav-menu a:hover::after { width:100%; }
.btn-primary { background:#b1e200; color:#161736; padding:12px 25px; border-radius:30px; text-decoration:none; font-weight:600; transition:0.3s; }
.btn-primary:hover { background:#97c900; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.hamburger span { width:28px; height:3px; background:white; border-radius:2px; }
.mobile-only { display:none; } /* botón móvil */

/* CAROUSEL */
.carousel-container { width:90%; max-width:1100px; margin:40px auto; aspect-ratio:16/7; position:relative; overflow:hidden; border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,0.5); }
.slide { position:absolute; width:100%; height:100%; opacity:0; transition:opacity 0.8s ease-in-out, transform 0.6s ease; }
.slide.active { opacity:1; }
.slide img { width:100%; height:100%; object-fit:cover; filter:brightness(0.5); transition:transform 0.6s ease; }
.slide.active img { transform:scale(1.05); }
.caption { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); text-align:center; color:#fff; max-width:80%; }
.caption h2 { font-size:2.2rem; font-weight:700; margin-bottom:10px; }
.caption p { font-size:1.1rem; color:#ccc; }
.prev, .next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,0.5); border:none; color:white; font-size:30px; padding:12px; border-radius:50%; cursor:pointer; transition:0.3s; }
.prev:hover, .next:hover { background:rgba(0,0,0,0.7); }
.prev { left:15px; } .next { right:15px; }

/* SECTIONS */
.section { padding:80px 20px; text-align:center; }
.section h2 { font-size:2.5rem; font-weight:700; margin-bottom:40px; color:#b1e200; }

/* CARDS */
.cards { display:flex; justify-content:center; gap:30px; flex-wrap:wrap; }
.card { background:#1a1b3a; border-radius:16px; overflow:hidden; width:280px; transition: transform 0.4s ease, box-shadow 0.4s ease; box-shadow:0 10px 25px rgba(0,0,0,0.4); }
.card:hover { transform:translateY(-12px); box-shadow:0 20px 50px rgba(0,0,0,0.6); }
.card img { width:100%; height:180px; object-fit:cover; transition:transform 0.4s; }
.card:hover img { transform:scale(1.05); }
.card-content { padding:20px; text-align:left; }
.card-content h3 { font-size:1.3rem; margin-bottom:8px; color:#fff; }
.card-content p { font-size:0.95rem; color:#ccc; margin-bottom:15px; }
.card-content a { color:#b1e200; font-weight:600; text-decoration:none; }
.card-content a:hover { text-decoration:underline; }

/* FOOTER */
.footer { background:#0b0c22; padding:60px 20px; margin-top:80px; }
.footer-container { max-width:1200px; margin:auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px; }
.footer-col h3, .footer-col h4 { color:#b1e200; margin-bottom:15px; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a { color:#ccc; text-decoration:none; transition:color 0.3s; }
.footer-col ul li a:hover { color:#b1e200; }
.footer-bottom { text-align:center; margin-top:40px; color:#aaa; font-size:0.9rem; }

/* MODAL */
.modal { display:none; position:fixed; z-index:2000; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.85); }
.modal-content { background:#1a1b3a; margin:8% auto; padding:20px 25px; width:90%; max-width:500px; border-radius:12px; text-align:center; position:relative; box-shadow:0 20px 50px rgba(0,0,0,0.5); }
.modal-content img { width:100%; max-height:250px; object-fit:cover; border-radius:10px; margin-bottom:15px; }
.close { position:absolute; right:20px; top:10px; font-size:30px; cursor:pointer; color:#fff; transition:color 0.3s; }
.close:hover { color:#b1e200; }

/* RESPONSIVE */
@media(max-width:768px){
  .nav-menu { position:absolute; top:70px; left:0; width:100%; background:#161736; flex-direction:column; align-items:center; display:none; padding:30px 0; }
  .nav-menu.active { display:flex; }
  .nav-actions { display:none; }
  .mobile-only { display:inline-block; margin-top:15px; }
  .hamburger { display:flex; }
  .card { width:90%; }
  .footer-container { flex-direction:column; text-align:center; }
  .carousel-container { width:95%; height:250px; aspect-ratio:auto; margin:30px auto; }
  .slide img { height:100%; object-fit:cover; }
  .caption h2 { font-size:1.5rem; }
  .caption p { font-size:1rem; }
}