/* ===================================================================
   NEUROSPORT — hoja de estilos compartida (index.html + programas.html)
   Paleta heredada del sitio anterior para mantener identidad de marca.
   =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Rajdhani:wght@600;700&family=Space+Mono&display=swap');

:root{
  --navy-deep:#080e18;
  --navy:#101c30;
  --navy-2:#1c2a42;
  --mint:#7aeac7;
  --mint-deep:#4fd1a5;
  --mint-dim:rgba(122,234,199,0.14);
  --wa-green:#25D366;
  --wa-green-deep:#1faa55;
  --ink:#0b1220;
  --white:#f5f7fa;
  --muted:#93a4bd;
  --maxw:1220px;
  --radius:16px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:104px;}
body{
  font-family:'Inter', sans-serif;
  background:var(--navy-deep);
  color:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:'Rajdhani', sans-serif; font-weight:700; letter-spacing:.01em; color:var(--white); line-height:1.15;}
h2{font-size:clamp(28px,4vw,42px);}
h3{font-size:clamp(20px,2.6vw,26px);}
.container{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.eyebrow{
  font-family:'Space Mono', monospace;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12.5px;
  color:var(--mint);
  margin-bottom:14px;
  display:inline-block;
}
.section{padding:90px 0;}
.section-dark{background:var(--navy-deep);}
.section-navy{background:var(--navy);}
.section-light{background:var(--white); color:var(--ink);}
.section-light h2, .section-light h3{color:var(--ink);}
.center{text-align:center;}
.lede{color:var(--muted); font-size:17px; max-width:640px; margin:0 auto;}
.badge-pending{
  display:inline-block; font-family:'Space Mono',monospace; font-size:11px;
  color:var(--navy-deep); background:var(--mint); padding:3px 9px; border-radius:20px;
  letter-spacing:.04em; margin-left:8px; vertical-align:middle;
}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 28px; border-radius:50px; font-weight:600; font-size:15px;
  border:1px solid transparent; cursor:pointer; transition:.2s ease;
  white-space:nowrap;
}
.btn-mint{background:var(--mint); color:var(--navy-deep);}
.btn-mint:hover{background:var(--mint-deep); transform:translateY(-1px);}
.btn-outline{border-color:var(--mint); color:var(--mint); background:transparent;}
.btn-outline:hover{background:var(--mint-dim);}
.btn-wa{background:var(--wa-green); color:#fff;}
.btn-wa:hover{background:var(--wa-green-deep); transform:translateY(-1px);}
.btn-sm{padding:9px 18px; font-size:13.5px;}
.btn svg{width:18px; height:18px; flex-shrink:0;}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:200;
  background:rgba(8,14,24,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(122,234,199,0.12);
}
.navrow{
  display:flex; align-items:center; justify-content:space-between;
  max-width:var(--maxw); margin:0 auto; padding:12px 24px; position:relative;
}
.header-logo-center{
  display:block; width:75.9px; height:75.9px; border-radius:50%; overflow:hidden;
  border:2px solid rgba(122,234,199,.3); flex-shrink:0; position:relative; box-sizing:border-box;
}
.header-logo-center img{
  position:absolute; width:140.8px; height:140.8px; left:-32.3px; top:-25.3px; max-width:none;
}
.brand{display:flex; align-items:center; gap:12px; flex-shrink:0;}
.brand-text{display:flex; flex-direction:column; line-height:1.3;}
.brand-name{font-family:'Rajdhani',sans-serif; font-weight:700; font-size:46.2px; letter-spacing:.02em; line-height:1.15;}
.brand-name span{color:var(--mint);}
.brand-tag{font-family:'Space Mono',monospace; font-size:13.7px; letter-spacing:.05em; color:var(--mint); text-transform:uppercase; margin-top:2px;}
nav.links{display:flex; gap:18px; align-items:center; flex-shrink:0;}
nav.links a{font-size:22px; font-weight:500; color:var(--white); transition:.2s;}
nav.links a:hover{color:var(--mint);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.nav-cta .btn-wa{padding:13px 26px; font-size:15px;}
.nav-cta .btn-wa svg{width:19px; height:19px;}
.hamburger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.hamburger span{width:24px; height:2px; background:var(--white); border-radius:2px;}

/* ---------- Hero ---------- */
.hero{background:var(--navy-deep);}
.hero-video-wrap{position:relative; width:100%; aspect-ratio:16/8; max-height:78vh; overflow:hidden; background:var(--navy-deep);}
.hero-video-wrap video{width:100%; height:100%; object-fit:cover; display:block;}
.hero-video-wrap::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,14,24,0) 60%, var(--navy-deep) 100%);
}
.hero-content{
  padding:50px 24px 70px; max-width:var(--maxw); margin:0 auto; width:100%;
  display:flex; align-items:center; justify-content:space-between; gap:40px;
}
.hero-text{flex:1; min-width:0;}
.hero-content h1{font-size:clamp(39.1px,6.9vw,73.6px); max-width:900px;}
.hero-content h1 .accent{color:var(--mint);}
.hero-sub{max-width:560px; color:#dbe4e6; font-size:17px; margin:18px 0 30px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
.hero-logo{flex-shrink:0; display:flex; align-items:center; justify-content:center; position:relative;}
.hero-logo img{
  width:529px; max-width:41.4vw; aspect-ratio:1/1; height:auto; object-fit:cover;
  object-position:50% 90%; border-radius:24px;
  -webkit-mask-image:linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 7%);
  mask-image:linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 7%);
}

/* ---------- Qué hacemos / metodología ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.split.reverse{direction:rtl;}
.split.reverse > *{direction:ltr;}
.split-media{
  aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden; position:relative;
  background:linear-gradient(135deg, var(--navy-2), var(--navy-deep));
  border:1px solid rgba(122,234,199,0.14);
  display:flex; align-items:center; justify-content:center;
}
.split-media img{width:100%; height:100%; object-fit:cover;}
.media-tag{
  position:absolute; bottom:16px; left:16px; font-family:'Space Mono',monospace; font-size:11px;
  border:1px solid rgba(122,234,199,.3); color:var(--mint); background:rgba(8,14,24,.6);
  padding:6px 14px; border-radius:20px;
}
.split-text p{color:var(--muted); margin:16px 0; font-size:15.5px;}
.pull-quote{
  border-left:3px solid var(--mint); background:var(--mint-dim); padding:16px 20px;
  font-style:italic; color:var(--white); border-radius:0 10px 10px 0; margin-top:20px; font-size:15px;
}
.skill-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
.skill-tag{
  font-size:13px; color:var(--mint); border:1px solid var(--mint-dim); background:var(--mint-dim);
  padding:7px 14px; border-radius:20px;
}

/* ---------- Programas ---------- */
.programs-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:50px;}
.program-card{
  background:var(--navy); border:1px solid rgba(122,234,199,.12); border-radius:var(--radius);
  padding:32px 26px; display:flex; flex-direction:column; gap:14px; transition:.25s ease;
}
.program-card:hover{transform:translateY(-4px); border-color:var(--mint-dim); box-shadow:0 20px 40px rgba(0,0,0,.35);}
.program-icon{
  width:52px; height:52px; border-radius:14px; background:var(--mint-dim);
  display:flex; align-items:center; justify-content:center; color:var(--mint);
}
.program-icon svg{width:26px; height:26px;}
.program-card h3{font-size:20px;}
.program-card p{color:var(--muted); font-size:14.5px; flex-grow:1;}
.program-link{color:var(--mint); font-weight:600; font-size:14px; display:inline-flex; align-items:center; gap:6px;}
.program-link svg{width:15px; height:15px; transition:.2s;}
.program-card:hover .program-link svg{transform:translateX(4px);}

/* ---------- Equipo ---------- */
.team-banner{border-radius:var(--radius); overflow:hidden; margin-bottom:50px; border:1px solid rgba(122,234,199,.14);}
.team-banner img{width:100%; height:auto; object-fit:cover; max-height:420px;}
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.team-card{background:var(--navy); border:1px solid rgba(122,234,199,.1); border-radius:14px; padding:22px; text-align:center;}
.team-avatar{
  width:76px; height:76px; border-radius:50%; margin:0 auto 14px; background:var(--mint-dim);
  display:flex; align-items:center; justify-content:center; color:var(--mint); font-family:'Rajdhani',sans-serif; font-weight:700; font-size:22px;
}
.team-card h4{font-size:15.5px; margin-bottom:4px; color:var(--white); font-family:'Inter',sans-serif; font-weight:600;}
.team-role{font-size:12px; color:var(--mint); margin-bottom:10px; text-transform:uppercase; letter-spacing:.04em; font-family:'Space Mono',monospace;}
.team-bio{font-size:12.5px; color:var(--muted);}

/* ---------- Sedes ---------- */
.sedes-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.sede-card{background:var(--navy); border:1px solid rgba(122,234,199,.12); border-radius:var(--radius); overflow:hidden;}
.sede-photos{display:grid; grid-template-columns:1fr 1fr; gap:2px;}
.sede-photo{
  aspect-ratio:4/3; background:linear-gradient(135deg,var(--navy-2),var(--navy-deep));
  display:flex; align-items:center; justify-content:center; color:var(--muted);
  font-family:'Space Mono',monospace; font-size:11.5px; text-align:center; padding:10px;
}
.sede-photo img{width:100%; height:100%; object-fit:cover;}
.sede-body{padding:26px;}
.loc-tag{
  font-family:'Space Mono',monospace; font-size:11.5px; color:var(--mint);
  border:1px solid rgba(122,234,199,.25); padding:4px 12px; border-radius:20px; display:inline-block; margin-bottom:12px;
}
.sede-body p{color:var(--muted); font-size:14.5px; margin:10px 0 16px;}
.sede-meta{display:flex; flex-direction:column; gap:8px; margin-bottom:18px;}
.sede-meta div{display:flex; gap:8px; font-size:14px;}
.sede-meta strong{color:var(--mint); min-width:110px;}

/* ---------- Horarios ---------- */
.sched-tabs{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px;}
.sched-tab-label{
  font-family:'Space Mono',monospace; font-size:12px; color:var(--mint);
  border:1px solid rgba(122,234,199,.25); padding:6px 16px; border-radius:20px;
}
.sched-block{margin-bottom:44px;}
.sched-block-head{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:18px;}
.sched-block-head h3{color:var(--mint);}
.level-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.level-card{background:var(--navy); border:1px solid rgba(122,234,199,.1); border-radius:14px; padding:22px;}
.level-badge{
  font-family:'Space Mono',monospace; font-size:11px; color:var(--mint); text-transform:uppercase;
  letter-spacing:.05em; display:block; margin-bottom:8px;
}
.level-card h4{font-family:'Inter',sans-serif; font-weight:700; font-size:16.5px; margin-bottom:8px; color:var(--white);}
.level-card .desc{color:var(--muted); font-size:13.5px; margin-bottom:14px;}
.sched-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.sched-table th{text-align:left; color:var(--muted); font-weight:500; padding:6px 0; border-bottom:1px solid rgba(122,234,199,.14); font-size:12px;}
.sched-table td{padding:8px 0; border-bottom:1px solid rgba(255,255,255,.05);}
.sched-table td.day{color:var(--white); font-weight:600;}
.single-level-card{background:var(--navy); border:1px solid rgba(122,234,199,.1); border-radius:14px; padding:24px;}

/* ---------- Testimonios ---------- */
.testi-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-top:50px;}
.testi-card{
  aspect-ratio:9/16; border-radius:14px; overflow:hidden; position:relative;
  background:linear-gradient(150deg, var(--navy-2), var(--navy-deep));
  border:1px solid rgba(122,234,199,.14); display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:14px; padding:16px; text-align:center;
}
.testi-play{
  width:52px; height:52px; border-radius:50%; background:var(--mint-dim);
  display:flex; align-items:center; justify-content:center; color:var(--mint);
}
.testi-play svg{width:22px; height:22px;}
.testi-name{font-size:12px; color:var(--muted); font-family:'Space Mono',monospace;}

/* ---------- CTA final ---------- */
.cta-final{
  background:linear-gradient(135deg, var(--navy-2) 0%, var(--navy-deep) 100%);
  border-top:1px solid rgba(122,234,199,.14); border-bottom:1px solid rgba(122,234,199,.14);
  text-align:center; padding:100px 24px;
}
.cta-final h2{font-size:clamp(28px,4.6vw,46px); max-width:800px; margin:0 auto 18px;}
.cta-final p{color:var(--muted); max-width:520px; margin:0 auto 34px; font-size:16px;}
.cta-final .hero-actions{justify-content:center;}

/* ---------- Footer ---------- */
footer{background:var(--navy-deep); padding:70px 0 110px; border-top:1px solid rgba(122,234,199,.1);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:50px;}
.footer-brand p{color:var(--muted); font-size:13.5px; margin-top:14px; max-width:280px;}
.footer-col h5{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--mint); margin-bottom:16px;}
.footer-col a, .footer-col li{color:var(--muted); font-size:14px; display:block; margin-bottom:10px;}
.footer-col a:hover{color:var(--mint);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.06); padding-top:26px; display:flex;
  justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:var(--muted);
}

/* ---------- Barra flotante Inscribirse ---------- */
.float-enroll{
  position:fixed; bottom:22px; right:22px; z-index:300;
  display:flex; align-items:center; gap:9px;
  background:var(--mint); color:var(--navy-deep); font-weight:700; font-size:14.5px;
  padding:14px 26px; border-radius:50px; box-shadow:0 12px 30px rgba(0,0,0,.4);
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 12px 30px rgba(122,234,199,0), 0 12px 30px rgba(0,0,0,.4);}
  50%{box-shadow:0 12px 30px rgba(122,234,199,.45), 0 12px 30px rgba(0,0,0,.4);}
  100%{box-shadow:0 12px 30px rgba(122,234,199,0), 0 12px 30px rgba(0,0,0,.4);}
}

/* ---------- Sub-nav programas.html ---------- */
.prog-subnav{
  position:sticky; top:99px; z-index:150; background:rgba(16,28,48,.92); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(122,234,199,.1); padding:14px 0; overflow-x:auto;
}
.prog-subnav .container{display:flex; gap:10px;}
.prog-subnav a{
  white-space:nowrap; font-size:13.5px; font-weight:600; color:var(--muted);
  border:1px solid rgba(122,234,199,.14); padding:8px 18px; border-radius:20px; transition:.2s;
}
.prog-subnav a:hover, .prog-subnav a.active{color:var(--navy-deep); background:var(--mint); border-color:var(--mint);}
.prog-detail{padding:80px 0; border-bottom:1px solid rgba(255,255,255,.05);}
.prog-detail-head{display:flex; align-items:center; gap:18px; margin-bottom:26px;}
.prog-detail-head .program-icon{width:60px; height:60px;}
.prog-detail-head h2{margin-bottom:0;}
.prog-body{display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:start;}
.prog-benefits{display:grid; gap:12px; margin:24px 0;}
.prog-benefit{display:flex; gap:12px; align-items:flex-start; font-size:14.5px; color:var(--muted);}
.prog-benefit svg{width:18px; height:18px; color:var(--mint); flex-shrink:0; margin-top:2px;}
.prog-side{background:var(--navy); border:1px solid rgba(122,234,199,.12); border-radius:var(--radius); padding:26px;}
.prog-side h4{font-size:15px; color:var(--mint); margin-bottom:14px; font-family:'Space Mono',monospace; text-transform:uppercase; letter-spacing:.04em;}
.disc-tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.disc-tag{font-size:12px; color:var(--mint); background:var(--mint-dim); padding:5px 12px; border-radius:16px;}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .split{grid-template-columns:1fr; gap:32px;}
  .split.reverse{direction:ltr;}
  .programs-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:repeat(3,1fr);}
  .sedes-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .prog-body{grid-template-columns:1fr;}
}
@media (max-width:1920px){
  nav.links{
    display:none; position:fixed; top:99px; right:0; left:auto; width:min(78vw, 300px); height:calc(100vh - 99px);
    background:rgba(8,14,24,.98); flex-direction:column; padding:30px 26px 100px; gap:14px;
    overflow-y:auto; z-index:250; box-shadow:-10px 0 40px rgba(0,0,0,.5);
    border-left:1px solid rgba(122,234,199,.14);
  }
  nav.links.open{display:flex;}
  .hamburger{display:flex;}
  .nav-cta .btn-mint{display:none;}
}
@media (max-width:760px){
  .hero-content{flex-direction:column; align-items:flex-start;}
  .hero-logo{order:-1;}
  .hero-logo img{width:207px; max-width:60vw; border-radius:18px;}
  .programs-grid, .team-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:repeat(2,1fr);}
  .level-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-content{padding-bottom:40px;}
  .float-enroll{padding:12px 20px; font-size:13px;}
  .nav-cta .btn-wa span.wa-text{display:none;}
  .nav-cta .btn-wa{padding:13px; border-radius:50%;}
  .brand-name{font-size:28.6px;}
  .brand-tag{font-size:10px; max-width:132px; line-height:1.35;}
}
@media (max-width:900px){
  .header-logo-center{width:48.4px; height:48.4px;}
  .header-logo-center img{width:89.8px; height:89.8px; left:-20.7px; top:-16.1px;}
}
