@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Inter:wght@300;400;600;700&display=swap');

html{
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}

.section-marker{
  scroll-margin-top:110px;
}

/* ================= LOGIN ================= */

body{

    opacity:1;

    transition:opacity .5s ease;

}

body.fade-out{

    opacity:0;

}


/* ================= DESIGN SYSTEM ================= */
:root{
  --bg-1:#030817;
  --bg-2:#071B4B;
  --primary:#0066FF;
  --primary-light:#33B1FF;

  --text:#E8F7FF;
  --muted:#9EDFFF;

  --glass:rgba(255,255,255,.06);
  --border:rgba(51,177,255,.25);
}

/* ================= RESET ================= */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html,body{
  height:100%;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,var(--bg-1),var(--bg-2));
  overflow-x:hidden;
}

html, body{
    background:#030817;
    overflow-x:hidden;
}

#mainPage{
    background:linear-gradient(
    180deg,
    #031B2E,
    #04395E,
    #065A82
    );

    min-height:100vh;
}

/* ================= HERO LOADER ================= */
#heroGate{
  position:fixed;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  background:radial-gradient(circle,var(--bg-2),var(--bg-1));
  z-index:9999;
  transition:opacity 1.2s ease, visibility 1.2s ease;
}

.brazo{
  width:340px;
  margin-bottom:40px;
  filter:drop-shadow(0 0 25px var(--primary-light));
  animation:sway 6s ease-in-out infinite;
}

@keyframes sway{
  0%,100%{transform:rotate(-5deg);}
  50%{transform:rotate(5deg);}
}

.titulo{
  text-align:center;
}

.linea1,.linea2{
  font-family:'Orbitron',sans-serif;
  font-weight:900;
  text-shadow:0 0 12px var(--primary-light);
}

.linea1{
  font-size:52px;
  color:#5EC6FF;
}

.linea2{
  font-size:48px;
  color:#EAF8FF;
  letter-spacing:6px;
  margin-top:-6px;
}

/* PROGRESS BAR */
.barra-container{
  width:340px;
  height:16px;
  margin-top:30px;
  background:rgba(255,255,255,.08);
  border-radius:50px;
  overflow:hidden;
}

.barra{
  width:0%;
  height:100%;
  background:linear-gradient(90deg,var(--primary),var(--primary-light));
  border-radius:50px;
  transition:width .3s ease;
}

#porcentaje{
  margin-top:14px;
  font-size:22px;
  font-family:'Orbitron';
}

#estadoCarga{
  margin-top:8px;
  font-size:14px;
  color:var(--muted);
}

/* ================= MAIN ================= */
#mainPage{
  opacity:1;
  visibility:visible;
  min-height:100vh;
}
/* ================= HEADER ================= */
header{
  position:sticky;
  top:0;
  z-index:100;

  display:flex;
  justify-content:space-between;
  align-items:center;

  padding:10px 24px;

  background:rgba(4,28,50,.95);

  border-bottom:1px solid rgba(0,194,255,.25);

  transition:transform .35s ease;
}

.logo{
  width:180px;
}

/* LOGIN */
.login{
  padding:10px 18px;
  border-radius:40px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  color:white;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(0,102,255,.25);
  transition:.2s ease;
}

.login:hover{ transform:scale(1.05); }
.login:active{ transform:scale(0.95); }

/* ================= HERO TITLE ================= */
.hero-title{
  text-align:center;
  padding:60px 20px 40px;
}

.hero-title h1{
  font-family:'Orbitron',sans-serif;
  font-weight:900;
  font-size:clamp(32px, 5vw, 64px);
  letter-spacing:0.25em;
  color:#fff;
  text-shadow:0 0 10px rgba(0,102,255,.6), 0 0 25px rgba(51,177,255,.4);
  margin-bottom:10px;
}

.hero-title h2{
  font-family:'Orbitron',sans-serif;
  font-weight:900;
  font-size:clamp(28px, 4.5vw, 56px);
  letter-spacing:0.35em;
  color:#33B1FF;
  text-shadow:0 0 12px rgba(51,177,255,.7), 0 0 30px rgba(0,102,255,.3);
  margin-top:-5px;
}

.hero-title p{
  margin-top:20px;
  font-family:'Inter',sans-serif;
  font-size:clamp(12px,2vw,14px);
  font-weight:700;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:#9EDFFF;
  opacity:0.9;
}

.hero-title h1,
.hero-title h2{
  animation:fadeInUp 1.2s ease both;
}

.hero-title h2{ animation-delay:0.2s; }
.hero-title p{ animation-delay:0.4s; }

@keyframes fadeInUp{
  from{opacity:0; transform:translateY(20px);}
  to{opacity:1; transform:translateY(0);}
}

/* ================= SECCIÓN GENERAL ================= */
.section-marker{
  padding:40px 20px;
}

.section-header{
  text-align:center;
  margin-bottom:30px;
}

.section-header h2{
  color:#E8F7FF;
  font-family:'Orbitron';
  font-weight:900;
}

/* ================= GRID CURSOS ================= */

#cursos .grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:32px;
    max-width:1150px;
    margin:auto;
    padding:30px 20px;
}


/* ================= COURSE CARD ================= */

.course-card{
    position:relative;
    overflow:hidden;

    display:flex;
    flex-direction:column;

    min-height:520px;
}


/* ICONOS */

.course-card i{
    font-size:52px;
    margin-bottom:20px;

    color:#33B1FF;

    text-shadow:
    0 0 10px rgba(51,177,255,.8),
    0 0 25px rgba(0,102,255,.5);
}


/* TITULO */

.course-card h3{
    font-family:'Orbitron',sans-serif;
    font-size:20px;
    font-weight:900;

    letter-spacing:.08em;

    color:#fff;

    margin-bottom:20px;
}


/* TEXTO */

.course-card p{
    font-size:15px;
    color:#cfefff;

    line-height:1.9;

    margin-bottom:35px;

    opacity:.92;
}


/* TARJETA GLASS */

.glass-card{

    background:
    linear-gradient(
    145deg,
    rgba(255,255,255,.08),
    rgba(255,255,255,.03)
    );

    border:1px solid rgba(51,177,255,.25);

    border-radius:22px;

    backdrop-filter:blur(16px);

    padding:32px 30px;
}


/* EFECTO GLOW */

.course-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(
    circle at top left,
    rgba(51,177,255,.15),
    transparent 60%
    );

    opacity:0;

    transition:.4s;

}

.course-card:hover::before{

    opacity:1;

}

/* ================= BOTON WHATSAPP AJEDREZ ================= */

.btn-whatsapp-ajedrez{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:12px;

    width:230px;
    height:54px;

    margin:0 auto;

    margin-top:100px;

    background:#25D366;

    color:#fff;

    text-decoration:none;

    border-radius:40px;

    font-size:18px;

    font-weight:700;

    transition:.3s;
}


/* ================= BOTON WHATSAPP TODOS LOS CURSOS ================= */

.btn-whatsapp-cursos{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    width:240px;

    height:60px;

    margin:0 auto;

    margin-top:10px;

    background:#25D366;

    color:#fff;

    text-decoration:none;

    border-radius:40px;

    font-size:19px;

    font-weight:700;

    transition:.3s;
}


.btn-whatsapp-cursos i{

    font-size:50px;

    color:#fff;

    margin-left:15px;

    transform:translateY(8px);

    text-shadow:none;
}


.btn-whatsapp-cursos span{

    position:relative;

    left:20px;

    color:#fff;
}


.btn-whatsapp-cursos:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(37,211,102,.35);
}

/* ================= TITULO CURSOS ================= */

.titulo-cursos{

    font-family:'Orbitron',sans-serif;

    font-size:34px;

    font-weight:900;

    letter-spacing:.35em;

    text-transform:uppercase;

    color:#E8F7FF;

    display:inline-block;

    padding:8px 18px 12px;

    border-bottom:3px solid #33B1FF;

    border-radius:8px;

    text-shadow:

    0 0 18px rgba(51,177,255,.45);

}
/* ================= TITULO CURSOS ================= */

.titulo-cursos{

    font-family:'Orbitron',sans-serif;

    font-size:34px;

    font-weight:900;

    letter-spacing:.35em;

    text-transform:uppercase;

    color:#E8F7FF;

    display:inline-block;

    padding:8px 18px 12px;

    border-bottom:3px solid #33B1FF;

    border-radius:8px;

    text-shadow:

    0 0 18px rgba(51,177,255,.45);

}


/* ================= BOTON FLOTANTE WHATSAPP ================= */

#whatsapp-button{

    position:fixed;

    bottom:22px;

    right:22px;

    width:64px;

    height:64px;

    background:#25D366;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    font-size:30px;

    text-decoration:none;

    box-shadow:

    0 14px 35px rgba(37,211,102,.4);

    transition:.25s;

}


#whatsapp-button:hover{

    transform:scale(1.12);

    box-shadow:

    0 18px 45px rgba(37,211,102,.55);

}


#whatsapp-button:active{

    transform:scale(.95);

}
/* ================= UTILIDADES ================= */
.text-center{ text-align:center; }
.text-white{ color:#fff; }
.text-cyan-400{ color:#33B1FF; }


/* ================= MENU ================= */

.menu{
  display:flex;
  align-items:center;
  gap:28px;
}

.menu a{
  text-decoration:none;
  color:#E8F7FF;
  font-family:'Orbitron',sans-serif;
  font-size:14px;
  font-weight:700;
  transition:.3s ease;
}

.menu a:hover{
  color:#33B1FF;
  text-shadow:0 0 15px rgba(51,177,255,.8);
}


/* ================= QUIENES SOMOS ================= */

.about-box{
  max-width:900px;
  margin:auto;
  padding:40px;
  text-align:center;

  background:rgba(255,255,255,.05);

  border:1px solid rgba(51,177,255,.25);

  border-radius:25px;

  backdrop-filter:blur(18px);
}

.about-box h3{

  font-family:'Orbitron',sans-serif;

  font-size:30px;

  margin-bottom:20px;

  color:#33B1FF;
}

.about-box p{

  color:#E8F7FF;

  line-height:1.9;

  font-size:16px;
}


/* ================= ENLACES CONTACTO ================= */

.about-box a{

  color:#E8F7FF;

  text-decoration:none;

  font-size:17px;

  transition:.3s;
}

.about-box a:hover{

  color:#33B1FF;

  text-shadow:0 0 15px #33B1FF;
}


/* ================= MAPA ================= */

iframe{

  width:100%;

  border-radius:20px;

  box-shadow:0 0 30px rgba(51,177,255,.2);
}


/* ================= FOOTER ================= */

.footer{

  margin-top:70px;

  padding:30px;

  text-align:center;

  color:#9EDFFF;

  border-top:1px solid rgba(51,177,255,.2);

  background:rgba(255,255,255,.03);

}


/* ================= RESPONSIVE ================= */

@media(max-width:900px){

header{
    flex-direction:column;
    padding:15px;
}

.logo{
    width:140px;
}

.menu{
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
}

.menu a{
    font-size:12px;
}

.login{
    margin-top:10px;
}

}
/* ANCLAS DEL MENU */

#inicio{
  scroll-margin-top:140px;
}

#cursos{
  scroll-margin-top:110px;
}

#quienes{
  scroll-margin-top:110px;
}

#ubicacion{
  scroll-margin-top:110px;
}

#contacto{
  scroll-margin-top:110px;
}

html, body{
    width:100%;
    overflow-x:hidden;
}

*{
    max-width:100%;
}

header{
    width:100%;
    overflow:hidden;
}

#mainPage{
    overflow-x:hidden;
}