:root{
  --navy: #1E3A5F;
  --navy-deep: #142a45;
  --arena: #D8C4A0;
  --blue-mid: #5B84A8;
  --blue-light-1: #EAF0F5;
  --blue-light-2: #F2F5F8;
  --cream: #F2EFE7;
  --carbon: #222831;
  --gray-blue: #6B7683;
  --white: #ffffff;
  --radius: 12px;
  --wrap: 1120px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  font-weight:400;
  color:var(--carbon);
  background:var(--white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  opacity:0;
  animation:pageFadeIn .45s ease forwards;
  transition:opacity .18s ease;
}
body.fade-out{opacity:0 !important;}
@keyframes pageFadeIn{to{opacity:1;}}
@keyframes fadeSlideUp{
  from{opacity:0; transform:translateY(16px);}
  to{opacity:1; transform:translateY(0);}
}
@keyframes logoPop{
  0%{opacity:0; transform:scale(.85) translateY(6px);}
  100%{opacity:1; transform:scale(1) translateY(0);}
}

/* Aparición al hacer scroll */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}
.promo-grid .reveal:nth-child(2), .evidencia-grid .reveal:nth-child(2), .programas-grid .reveal:nth-child(2), .testi-grid .reveal:nth-child(2){transition-delay:.1s;}
.promo-grid .reveal:nth-child(3), .evidencia-grid .reveal:nth-child(3), .programas-grid .reveal:nth-child(3){transition-delay:.2s;}
.programas-grid .reveal:nth-child(4){transition-delay:.3s;}

/* Respeta a quienes prefieren menos movimiento */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  body{animation:none; opacity:1; transition:none;}
  .hero-logo-frame, .hero .wrap > *, .brand img, .page-header .wrap{animation:none !important; opacity:1 !important; transform:none !important;}
  .reveal{opacity:1 !important; transform:none !important; transition:none !important;}
}
h1,h2,h3,.serif{
  font-family:'Libre Baskerville', serif;
  font-weight:700;
  color:var(--navy);
  line-height:1.28;
}
em, .italic{font-style:italic; font-family:'Libre Baskerville', serif;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
svg.illo{color:var(--arena); flex-shrink:0;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px;}
section{padding:64px 0;}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:1.6px;
  font-size:0.78rem;
  font-weight:600;
  color:var(--blue-mid);
  display:block;
  margin-bottom:10px;
}
.center{text-align:center;}
.section-head{max-width:620px; margin:0 auto 40px;}
.section-head h2{font-size:clamp(1.5rem,4vw,2.1rem); margin-bottom:12px;}
.section-head p{color:var(--gray-blue); font-size:1rem;}

/* Anchor targets: keep headings clear of the sticky header when jumped to */
section[id], .anchor-target{scroll-margin-top:92px;}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 28px;
  border-radius:30px;
  font-family:'Inter', sans-serif;
  font-weight:600;
  font-size:0.95rem;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-arena{
  background:var(--arena);
  color:var(--navy);
  box-shadow:0 6px 18px rgba(30,58,95,0.18);
}
.btn-arena:hover{box-shadow:0 8px 22px rgba(30,58,95,0.26);}
.btn-outline-white{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,0.55);
}
.btn-outline-white:hover{background:rgba(255,255,255,0.10);}
.btn-outline-navy{
  background:transparent;
  color:var(--navy);
  border-color:var(--navy);
}
.btn-outline-navy:hover{background:var(--blue-light-2);}
.btn-row{display:flex; gap:14px; flex-wrap:wrap;}

/* Header */
header{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(30,58,95,0.10);
  transition:box-shadow .25s ease;
}
header.scrolled{box-shadow:0 6px 20px rgba(30,58,95,0.10);}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px;
  max-width:var(--wrap); margin:0 auto;
}
.brand{display:flex; align-items:center; gap:10px;}
.brand img{width:46px; height:46px; animation:logoPop .6s cubic-bezier(.22,1,.36,1) both;}
.brand span{
  font-family:'Libre Baskerville', serif;
  font-weight:700;
  font-size:1.15rem;
  color:var(--navy);
}
.nav-links{
  list-style:none;
  display:none;
  align-items:center;
  gap:30px;
}
.nav-links a{
  font-size:0.92rem;
  font-weight:500;
  color:var(--carbon);
  transition:color .15s;
  padding-bottom:4px;
  border-bottom:2px solid transparent;
}
.nav-links a:hover{color:var(--navy);}
.nav-links a.active{color:var(--navy); border-bottom-color:var(--arena);}
.nav-actions{display:flex; align-items:center; gap:14px;}
.nav-actions .btn{padding:10px 20px; font-size:0.88rem;}
.btn-profesionales{display:none;}
.menu-toggle{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px;
  background:none; border:none; cursor:pointer;
  color:var(--navy); font-size:1.5rem;
}
.mobile-menu{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-bottom:1px solid rgba(30,58,95,0.10);
  padding:0 20px;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease, opacity .25s ease, padding .35s ease;
}
.mobile-menu.open{max-height:480px; opacity:1; padding:6px 20px 20px;}
.mobile-menu a{
  padding:12px 0;
  font-size:1rem;
  font-weight:500;
  color:var(--carbon);
  border-bottom:1px solid rgba(30,58,95,0.06);
}
.mobile-menu a.active{color:var(--navy); font-weight:700;}

/* Hero (home) */
.hero{
  background:var(--navy);
  color:#fff;
  padding:64px 0 56px;
  text-align:center;
}
.hero-logo-frame{
  display:flex; align-items:center; justify-content:center;
  width:196px; height:196px;
  margin:0 auto 22px;
}
.hero img.mark{width:196px; height:196px;}
.hero .wrap > *{opacity:0; animation:fadeSlideUp .6s ease forwards;}
.hero .wrap > *:nth-child(1){animation-name:logoPop; animation-duration:.7s; animation-timing-function:cubic-bezier(.22,1,.36,1); animation-delay:0s;}
.hero .wrap > *:nth-child(2){animation-delay:.15s;}
.hero .wrap > *:nth-child(3){animation-delay:.25s;}
.hero .wrap > *:nth-child(4){animation-delay:.35s;}
.hero .wrap > *:nth-child(5){animation-delay:.45s;}
.hero .wrap > *:nth-child(6){animation-delay:.55s;}
.hero h1{
  color:#fff;
  font-size:clamp(2rem, 7vw, 3.1rem);
  max-width:820px;
  margin:0 auto 18px;
}
.hero .subtitle{
  max-width:560px;
  margin:0 auto 20px;
  font-size:1.05rem;
  color:rgba(255,255,255,0.86);
}
.hero .eslogan{
  font-size:clamp(1.15rem, 3vw, 1.5rem);
  color:var(--arena);
  margin-bottom:34px;
}
.hero .btn-row{justify-content:center; margin-bottom:30px;}
.hero .note{
  font-size:0.78rem;
  letter-spacing:1px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.55);
}

/* Compact page header (sub-pages) */
.page-header{
  background:var(--navy);
  color:#fff;
  padding:48px 0 44px;
  text-align:center;
}
.page-header .eyebrow{color:var(--arena);}
.page-header h1{color:#fff; font-size:clamp(1.7rem,5vw,2.5rem); margin-bottom:10px;}
.page-header p{color:rgba(255,255,255,0.82); max-width:560px; margin:0 auto;}
.breadcrumb{
  font-size:0.8rem; color:rgba(255,255,255,0.6); margin-bottom:14px;
}
.breadcrumb a{color:rgba(255,255,255,0.85); border-bottom:1px solid rgba(255,255,255,0.3);}
.breadcrumb a:hover{color:#fff;}
.page-header .wrap{animation:fadeSlideUp .6s ease both;}

/* Sobre mi */
.sobremi .wrap{
  display:flex; flex-direction:column; gap:36px;
}
.sobremi-photo{
  position:relative;
  background:var(--arena);
  border-radius:var(--radius);
  aspect-ratio:4/5;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(30,58,95,0.12);
  max-width:420px;
  margin:0 auto;
}
.sobremi-photo img{width:100%; height:100%; object-fit:cover;}
.photo-seal{
  position:absolute; bottom:16px; right:16px;
  width:56px; height:56px;
  background:#fff;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(30,58,95,0.25);
  padding:8px;
}
.photo-seal img{width:100%; height:100%; object-fit:contain;}
.sobremi-text .eyebrow{color:var(--blue-mid);}
.sobremi-text h2{font-size:clamp(1.5rem,4vw,2rem); margin-bottom:16px;}
.sobremi-text p{color:var(--gray-blue); margin-bottom:14px; font-size:1.02rem;}
.sobremi-text .tag-list{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;
}
.sobremi-text .tag-list span{
  background:var(--blue-light-1);
  color:var(--navy);
  font-size:0.82rem;
  font-weight:500;
  padding:7px 14px;
  border-radius:20px;
}
.sobremi-cta{margin-top:22px;}

/* Home teaser (mini "sobre mi" on Inicio) */
.teaser{background:var(--blue-light-2);}
.teaser .wrap{display:flex; flex-direction:column; gap:28px; align-items:center; text-align:center;}
.teaser-photo{width:120px; height:120px; border-radius:50%; overflow:hidden; box-shadow:0 8px 24px rgba(30,58,95,0.15); flex-shrink:0;}
.teaser-photo img{width:100%; height:100%; object-fit:cover;}
.teaser h2{font-size:clamp(1.4rem,4vw,1.9rem); margin-bottom:12px;}
.teaser p{color:var(--gray-blue); max-width:560px; margin:0 auto 18px;}

/* Evidencia */
.evidencia{background:var(--blue-light-2);}
.evidencia-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
.evi-card{
  background:#fff;
  border-radius:var(--radius);
  padding:28px 24px;
  box-shadow:0 4px 20px rgba(30,58,95,0.06);
  transition:transform .25s ease, box-shadow .25s ease;
}
.evi-card:hover{transform:translateY(-4px); box-shadow:0 10px 28px rgba(30,58,95,0.12);}
.evi-card svg.illo{width:38px; height:38px; margin-bottom:16px;}
.evi-card h3{font-size:1.1rem; margin-bottom:8px;}
.evi-card .cite{
  display:block;
  font-size:0.75rem;
  letter-spacing:0.5px;
  text-transform:uppercase;
  color:var(--blue-mid);
  font-weight:600;
  margin-bottom:10px;
}
.evi-card p{color:var(--gray-blue); font-size:0.94rem; margin-bottom:14px;}
.evi-card .ver-mas{
  display:inline-block;
  color:var(--navy);
  font-weight:600;
  font-size:0.88rem;
  border-bottom:1.5px solid var(--arena);
  padding-bottom:1px;
}
.evi-card .ver-mas:hover{color:var(--blue-mid);}

/* Servicios */
.servicios-intro{max-width:620px; margin:0 auto 44px; text-align:center;}
.servicio-bloque{
  margin-bottom:20px;
  border:1px solid rgba(30,58,95,0.14);
  border-radius:var(--radius);
  padding:22px 22px;
  background:#fff;
  transition:transform .25s ease, box-shadow .25s ease;
}
.servicio-bloque:last-child{margin-bottom:0;}
.servicio-bloque[open]{box-shadow:0 8px 26px rgba(30,58,95,0.08);}
.servicio-bloque:hover{transform:translateY(-3px);}
.bloque-head{
  display:flex; align-items:center; gap:14px;
  cursor:pointer;
  list-style:none;
}
.bloque-head::-webkit-details-marker{display:none;}
.bloque-head svg.illo{width:34px; height:34px;}
.bloque-head h3{font-size:1.25rem; flex:1;}
.bloque-head .chev{
  font-family:'Inter', sans-serif;
  font-size:1.4rem;
  font-weight:400;
  color:var(--blue-mid);
  transition:transform .2s;
  flex-shrink:0;
}
.servicio-bloque[open] .chev{transform:rotate(45deg);}
.bloque-note{
  color:var(--blue-mid);
  font-size:0.85rem;
  font-weight:500;
  margin:18px 0 8px;
}
.servicio-bloque .price-list{margin-top:18px;}
.servicio-bloque[open] .bloque-head{margin-bottom:0;}
.price-list{list-style:none;}
.price-list li{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:14px 0;
  border-bottom:1px solid rgba(30,58,95,0.10);
}
.price-list li:last-child{border-bottom:none;}
.price-list .name{font-weight:500; color:var(--carbon); font-size:0.98rem;}
.price-list .name small{display:block; color:var(--gray-blue); font-size:0.82rem; font-weight:400; margin-top:2px;}
.price-list .price{
  font-family:'Libre Baskerville', serif;
  font-weight:700;
  color:var(--navy);
  white-space:nowrap;
  font-size:1rem;
}

/* Convenios */
.convenios{background:var(--cream);}
.convenios-inner{
  display:flex; flex-direction:column; gap:24px; align-items:flex-start;
}
.convenios svg.illo{width:52px; height:52px;}
.convenios h2{font-size:clamp(1.4rem,4vw,1.9rem); margin:14px 0 10px;}
.convenios p{color:var(--gray-blue); margin-bottom:22px; max-width:520px;}

/* Promociones */
.promos{background:var(--blue-light-2);}
.promo-grid{
  display:grid; grid-template-columns:1fr; gap:18px;
}
.promo-card{
  background:#fff;
  border:1.5px solid var(--arena);
  border-radius:var(--radius);
  padding:26px 22px;
  text-align:center;
  transition:transform .25s ease, box-shadow .25s ease;
}
.promo-card:hover{transform:translateY(-4px); box-shadow:0 10px 28px rgba(30,58,95,0.12);}
.promo-card .kicker{
  display:inline-block;
  background:var(--navy);
  color:var(--arena);
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:20px;
  margin-bottom:14px;
}
.promo-card .big{
  font-family:'Libre Baskerville', serif;
  font-weight:700;
  font-size:1.6rem;
  color:var(--navy);
  margin-bottom:8px;
}
.promo-card p{color:var(--gray-blue); font-size:0.92rem;}
.promos-note{
  text-align:center;
  color:var(--gray-blue);
  font-size:0.82rem;
  margin-top:24px;
  font-style:italic;
}

/* Programas DUT */
.programas{background:var(--cream);}
.programas-grid{
  display:grid; grid-template-columns:1fr; gap:16px;
  margin-top:8px;
}
.programa-card{
  background:#fff;
  border-radius:var(--radius);
  padding:22px 22px;
  border:1px solid rgba(30,58,95,0.10);
  transition:transform .25s ease, box-shadow .25s ease;
}
.programa-card.is-activo{border-color:var(--arena); box-shadow:0 4px 20px rgba(30,58,95,0.06);}
.programa-card:hover{transform:translateY(-4px); box-shadow:0 10px 26px rgba(30,58,95,0.10);}
.programa-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px;
}
.programa-head h3{font-size:1.05rem; color:var(--navy);}
.programa-card p{color:var(--gray-blue); font-size:0.9rem;}
.badge{
  display:inline-block; white-space:nowrap; flex-shrink:0;
  font-size:0.68rem; font-weight:600; letter-spacing:0.4px; text-transform:uppercase;
  padding:4px 10px; border-radius:20px;
}
.badge-activo{background:var(--navy); color:var(--arena);}
.badge-desarrollo{background:var(--blue-light-1); color:var(--gray-blue);}
.programas-nota{
  text-align:center; color:var(--gray-blue); font-size:0.85rem; font-style:italic;
  max-width:560px; margin:28px auto 0;
}
.programas-legal{
  text-align:center; color:var(--gray-blue); font-size:0.8rem;
  max-width:620px; margin:14px auto 0;
}

/* Video slot (placeholder para futuro video) */
.video-slot{background:var(--navy); color:#fff; text-align:center;}
.video-slot .section-head h2{color:#fff;}
.video-slot .section-head p{color:rgba(255,255,255,0.75);}
.video-slot .frame{
  max-width:280px; margin:0 auto; aspect-ratio:9/16;
  background:linear-gradient(160deg, var(--navy-deep), var(--navy));
  border:1px solid rgba(216,196,160,0.35);
  border-radius:var(--radius);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px;
  padding:24px;
}
.video-slot .play-btn{
  width:60px; height:60px; border-radius:50%;
  background:var(--arena); display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.video-slot .play-btn svg{width:22px; height:22px; color:var(--navy);}
.video-slot .frame p{color:rgba(255,255,255,0.65); font-size:0.82rem; max-width:200px;}
.video-slot .frame .tag{
  font-size:0.7rem; text-transform:uppercase; letter-spacing:1px; font-weight:600; color:var(--arena);
}
.video-slot-note{
  margin-top:20px; font-size:0.82rem; color:rgba(255,255,255,0.6); max-width:420px; margin-left:auto; margin-right:auto;
}
.video-slot-note a{color:var(--arena); font-weight:600; border-bottom:1px solid rgba(216,196,160,0.5);}

/* Testimonios / reseñas */
.testimonios{background:var(--blue-light-2);}
.testi-grid{display:grid; grid-template-columns:1fr; gap:18px; max-width:640px; margin:0 auto;}
.testi-card{
  background:#fdf6e9;
  border:1.5px dashed var(--blue-mid);
  border-radius:var(--radius);
  padding:24px 22px;
  color:#4a5a68;
}
.testi-card .placeholder-tag{
  display:inline-block; background:var(--blue-mid); color:#fff; font-size:0.68rem; font-weight:600;
  text-transform:uppercase; letter-spacing:0.5px; padding:3px 9px; border-radius:12px; margin-bottom:12px;
}
.testi-card p{font-size:0.92rem; font-style:italic; line-height:1.6;}
.testi-card p strong{font-style:normal;}
.testimonios-cta{text-align:center; margin-top:26px; color:var(--gray-blue); font-size:0.92rem;}
.testimonios-cta a{color:var(--navy); font-weight:600; border-bottom:1px solid var(--arena);}

/* Profesionales (placeholder pre-ficha clínica SGC-DUT) */
.profesionales{background:var(--blue-light-2);}
.prof-frame{
  max-width:420px; margin:0 auto;
  background:linear-gradient(160deg, var(--navy-deep), var(--navy));
  border:1px solid rgba(216,196,160,0.35);
  border-radius:var(--radius);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  padding:30px 26px;
}
.prof-icon{
  width:56px; height:56px; border-radius:50%;
  background:var(--arena); display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.prof-icon svg{width:24px; height:24px; color:var(--navy);}
.prof-frame .tag{font-size:0.7rem; text-transform:uppercase; letter-spacing:1px; font-weight:600; color:var(--arena);}
.prof-frame p{color:rgba(255,255,255,0.7); font-size:0.88rem; max-width:320px;}
.prof-cta{
  text-align:center; margin-top:24px; color:var(--gray-blue); font-size:0.92rem;
  max-width:480px; margin-left:auto; margin-right:auto;
}
.prof-cta a{color:var(--navy); font-weight:600; border-bottom:1px solid var(--arena);}

/* Agenda / CTA final */
.agenda{background:var(--navy); color:#fff; text-align:center;}
.agenda h2{color:#fff; font-size:clamp(1.7rem,5vw,2.4rem); margin-bottom:16px;}
.agenda > .wrap > p{color:rgba(255,255,255,0.8); max-width:520px; margin:0 auto 30px;}
.agenda .btn-row{justify-content:center; margin-bottom:30px;}
.agenda-qr{
  display:inline-flex; flex-direction:column; align-items:center; gap:10px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:var(--radius);
  padding:20px 24px;
  margin-bottom:26px;
}
.agenda .pago-metodos{
  font-size:0.88rem;
  color:rgba(255,255,255,0.75);
  margin-bottom:28px;
}
.agenda .pago-metodos a{
  color:var(--arena);
  font-weight:600;
  border-bottom:1px solid rgba(216,196,160,0.5);
}
.agenda-qr img{width:140px; height:140px; border-radius:8px; background:#fff; padding:6px;}
.agenda-qr span{font-size:0.8rem; color:rgba(255,255,255,0.7);}
.agenda .traslado{
  font-size:0.85rem;
  color:rgba(255,255,255,0.65);
  max-width:460px;
  margin:0 auto;
}

/* Footer */
footer{background:var(--navy-deep); color:rgba(255,255,255,0.75); padding:52px 0 30px;}
.footer-grid{
  display:flex; flex-direction:column; gap:36px;
}
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.footer-brand img{width:48px; height:48px;}
.footer-brand span{font-family:'Libre Baskerville', serif; font-weight:700; color:#fff; font-size:1.3rem;}
.footer-tagline{font-family:'Libre Baskerville', serif; font-style:italic; color:var(--arena); font-size:1rem; margin-bottom:4px;}
.footer-col h4{
  color:#fff; font-size:0.82rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:14px; font-weight:600;
}
.footer-col a, .footer-col p{
  display:block; font-size:0.9rem; color:rgba(255,255,255,0.72); margin-bottom:10px;
}
.footer-col a:hover{color:#fff;}
.footer-pay{display:flex; align-items:center; gap:12px;}
.footer-pay img{width:64px; height:64px; border-radius:6px; background:#fff; padding:4px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.12);
  margin-top:36px;
  padding-top:24px;
  font-size:0.78rem;
  color:rgba(255,255,255,0.5);
}
.footer-bottom p{margin-bottom:6px;}

/* Tablet+ */
@media (min-width: 768px){
  section{padding:88px 0;}
  .nav-links{display:flex;}
  .menu-toggle{display:none;}
  .mobile-menu{display:none !important;}
  .btn-profesionales{display:inline-flex;}
  .hero{padding:110px 0 90px;}
  .hero-logo-frame{width:250px; height:250px; margin-bottom:28px;}
  .hero img.mark{width:250px; height:250px;}
  .page-header{padding:68px 0 60px;}
  .sobremi .wrap{flex-direction:row; align-items:center;}
  .sobremi-photo{flex:1;}
  .sobremi-text{flex:1;}
  .teaser .wrap{flex-direction:row; text-align:left;}
  .teaser p{margin:0 0 18px;}
  .evidencia-grid{grid-template-columns:repeat(3, 1fr);}
  .servicios-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
  .servicio-bloque{margin-bottom:0;}
  .convenios-inner{flex-direction:row; align-items:center; justify-content:space-between; gap:40px;}
  .convenios-text{flex:1;}
  .promo-grid{grid-template-columns:repeat(3, 1fr);}
  .programas-grid{grid-template-columns:repeat(2, 1fr);}
  .video-slot .frame{max-width:220px;}
  .footer-grid{flex-direction:row; justify-content:space-between;}
  .footer-brand-col{flex:1.2;}
  .footer-col{flex:1;}
}
@media (min-width: 1024px){
  .hero h1{font-size:3.4rem;}
  .programas-grid{grid-template-columns:repeat(4, 1fr);}
}

/* ===== Franja temporal piloto MásFamilia ===== */
.franja-piloto{
  display:flex; align-items:center; justify-content:center; gap:12px;
  flex-wrap:wrap;
  background:var(--arena);
  color:var(--navy);
  text-align:center;
  padding:11px 20px;
  font-size:0.9rem;
  line-height:1.4;
  transition:background .15s ease;
}
.franja-piloto:hover{background:#cbb58c;}
.franja-piloto .franja-tag{
  background:var(--navy); color:var(--arena);
  font-size:0.68rem; font-weight:600; letter-spacing:0.8px; text-transform:uppercase;
  padding:3px 10px; border-radius:20px; flex-shrink:0;
}
.franja-piloto span:last-child{border-bottom:1px solid transparent;}
.franja-piloto:hover span:last-child{border-bottom-color:var(--navy);}

/* Badge "Piloto abierto" en tarjeta de programa */
.badge-piloto{background:var(--arena); color:var(--navy);}

/* Tarjeta de programa que es enlace (MásFamilia) */
.programa-card-link{display:block; cursor:pointer; border-color:var(--arena);}
.programa-card-link .programa-mas{
  display:inline-block; margin-top:12px;
  color:var(--navy); font-weight:600; font-size:0.85rem;
  border-bottom:1.5px solid var(--arena); padding-bottom:1px;
}
.programa-card-link:hover .programa-mas{color:var(--blue-mid);}

/* ===== Página MásFamilia ===== */
.mf-lead{
  max-width:680px; margin:0 auto;
  text-align:center;
  font-size:1.08rem;
  color:var(--carbon);
}
.mf-lead strong{color:var(--navy);}
.mf-paraquien{background:var(--blue-light-2);}
.mf-tags{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
  max-width:720px; margin:4px auto 0;
}
.mf-tags span{
  background:#fff;
  border:1px solid rgba(30,58,95,0.14);
  color:var(--navy);
  font-size:0.88rem;
  font-weight:500;
  padding:8px 16px;
  border-radius:22px;
}
.mf-ramas{background:#fff;}

/* Qué sí / qué no */
.mf-encuadre{background:var(--cream);}
.sino-grid{
  display:grid; grid-template-columns:1fr; gap:18px;
  max-width:900px; margin:0 auto;
}
.sino-card{
  background:#fff;
  border-radius:var(--radius);
  padding:26px 24px;
  box-shadow:0 4px 20px rgba(30,58,95,0.06);
  border-top:4px solid var(--blue-mid);
}
.sino-card h3{font-size:1.1rem; margin-bottom:14px;}
.sino-card ul{list-style:none; padding:0;}
.sino-card li{
  position:relative; padding-left:26px; margin-bottom:10px;
  color:var(--gray-blue); font-size:0.94rem; line-height:1.5;
}
.sino-card li::before{
  position:absolute; left:0; top:0;
  font-weight:700;
}
.si-card{border-top-color:#4c8c6b;}
.si-card li::before{content:"✓"; color:#4c8c6b;}
.no-card{border-top-color:var(--arena);}
.no-card li::before{content:"–"; color:var(--navy); font-size:1.1rem; line-height:1.2;}
.encuadre-nota{
  max-width:760px; margin:26px auto 0;
  background:#fff;
  border:1px solid rgba(30,58,95,0.14);
  border-radius:var(--radius);
  padding:22px 24px;
}
.encuadre-nota p{color:var(--gray-blue); font-size:0.92rem; line-height:1.6;}
.encuadre-nota strong{color:var(--navy);}

/* Piloto marcha blanca */
.mf-piloto{background:var(--navy);}
.piloto-box{
  max-width:640px; margin:0 auto; text-align:center;
  color:#fff;
}
.piloto-box .tag{
  display:inline-block;
  font-size:0.72rem; text-transform:uppercase; letter-spacing:1.2px; font-weight:600;
  color:var(--navy); background:var(--arena);
  padding:5px 14px; border-radius:20px; margin-bottom:18px;
}
.piloto-box h2{color:#fff; font-size:clamp(1.5rem,4vw,2.1rem); margin-bottom:16px;}
.piloto-box > p{color:rgba(255,255,255,0.85); margin-bottom:16px;}
.piloto-box .piloto-plazo{color:var(--arena); font-size:0.95rem; margin-bottom:24px;}
.piloto-box .btn-row{justify-content:center; margin-bottom:20px;}
.piloto-box .piloto-nota{
  font-size:0.82rem; color:rgba(255,255,255,0.6); max-width:460px; margin:0 auto;
}

@media (min-width: 768px){
  .sino-grid{grid-template-columns:1fr 1fr;}
}
