/*
 * alexandrotonello.com — rediseño v2: político, joven y limpio.
 * Se carga DESPUÉS de styles.css y reutiliza sus clases y su JavaScript; aquí solo cambia el aspecto.
 *
 * Movimiento (principios de Emil Kowalski, github.com/emilkowalski/skills):
 *  - curvas ease-out fuertes, nunca ease-in; interfaz por debajo de 300 ms (la revelación al hacer scroll, 420 ms);
 *  - botones con scale(.97) al presionar; nada nace de scale(0);
 *  - solo se anima transform y opacity; nunca «transition: all»;
 *  - hover únicamente con puntero fino (@media hover) para que el celular no dispare falsos hover;
 *  - escalonado corto (60 ms) y prefers-reduced-motion respetado.
 */

/* ───────── Tokens ───────── */
:root{
  /* Paleta del movimiento (tomada de sus imágenes oficiales) */
  --rc-sky:#429adb;      /* celeste del fondo del banner */
  --rc-blue:#204a8e;     /* azul del panel del banner */
  --rc-cyan:#0099e0;     /* azul del logotipo */
  --rc-red:#f2313a;      /* rojo del logotipo */
  --rc-deep:#102a57;     /* azul profundo (zonas oscuras) */
  --rc-pale:#e8f3fc;     /* celeste muy claro (fondos suaves) */
  --rc-sky-light:#a9d9ff;

  --ink:var(--rc-deep);
  --navy:#14306a;
  --navy-dark:#0c2147;
  --navy-soft:#dbe9f8;
  --red:var(--rc-red);
  --red-dark:#d4222b;
  --red-light:#ff7b83;
  --red-soft:#fde6e8;
  --sky:var(--rc-sky);
  --white:#fff;
  --off-white:var(--rc-pale);
  --bone:var(--rc-pale);
  --line:rgba(20,48,106,.12);
  --text:#16284f;
  --gray:#51627e;
  --radius:24px;
  --shadow-sm:0 0 0 1px rgba(20,48,106,.07),0 1px 2px rgba(20,48,106,.05),0 10px 28px -14px rgba(20,48,106,.18);
  --shadow-md:0 0 0 1px rgba(20,48,106,.07),0 2px 4px rgba(20,48,106,.06),0 28px 52px -22px rgba(20,48,106,.34);
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-soft:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --font-display:'Bricolage Grotesque','Figtree',system-ui,sans-serif;
  --font-body:'Figtree',system-ui,sans-serif;
  --header-h:84px;
}

/* ───────── Base y tipografía ───────── */
body{font-family:var(--font-body);background:var(--bone);color:var(--text);font-size:1.0625rem;}
h1,h2,h3,h4,.statement-big,.stat strong,.stats-row strong,.vias-total strong,.eje-num,.cierre-title,.chart-title{
  font-family:var(--font-display);
}
h2{
  font-weight:800;color:var(--navy);letter-spacing:-.035em;line-height:1.02;text-wrap:balance;
  font-size:clamp(2.2rem,5vw,3.9rem);margin-bottom:22px;
}
h3{letter-spacing:-.02em;}
.lead{font-size:clamp(1.2rem,1.9vw,1.45rem);line-height:1.45;font-weight:500;color:var(--navy);max-width:34em;}
p{max-width:68ch;}
.center p,.section-lead,.statement p,.cierre p{max-width:none;}
.section-lead{max-width:44em;font-size:1.1rem;}
::selection{background:var(--red);color:#fff;}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;transition:none;}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);
  background:var(--white);padding:7px 13px 7px 11px;border-radius:999px;box-shadow:var(--shadow-sm);
  margin-bottom:18px;
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0;}
.eyebrow.center{display:flex;width:fit-content;margin-inline:auto;}
.statement .eyebrow,.juegos-hero .eyebrow,.gestion .eyebrow,.destino-hero .eyebrow{
  background:rgba(255,255,255,.12);color:#fff;box-shadow:none;
}

/* ───────── Botones ───────── */
.btn{
  padding:15px 26px;font-size:.92rem;font-weight:700;letter-spacing:0;border:0;box-shadow:none;
  transition:transform 160ms var(--ease-out),background-color 160ms ease,box-shadow 200ms var(--ease-out);
}
.btn:hover{transform:none;box-shadow:none;}
.btn:active{transform:scale(.97);transition-duration:100ms;}
.btn span{display:inline-block;transition:transform 200ms var(--ease-out);}
.btn-red{background:var(--red);color:#fff;}
.btn-red:hover{background:var(--red);}
.btn-ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px rgba(20,48,106,.3);}
.hero-v2 .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6);}
.btn-small{padding:10px 20px;font-size:.82rem;}
@media (hover:hover) and (pointer:fine){
  .btn-red:hover{background:var(--red-dark);box-shadow:0 12px 26px -12px rgba(229,36,46,.7);transform:translateY(-1px);}
  .btn-ghost:hover{background:var(--white);box-shadow:inset 0 0 0 1.5px var(--navy);}
  .hero-v2 .btn-ghost:hover{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1.5px #fff;}
  .btn:hover span{transform:translateX(3px);}
}

/* ───────── Encabezado: píldora flotante ───────── */
.site-header{background:transparent;padding-top:10px;pointer-events:none;box-shadow:none !important;}
.site-header .header-inner{
  pointer-events:auto;width:min(1200px,calc(100% - 24px));max-width:none;margin-inline:auto;
  padding:9px 10px 9px 24px;gap:14px;border-radius:999px;
  background:rgba(12,33,71,.94);
  -webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);
  box-shadow:0 0 0 1px rgba(255,255,255,.1),0 14px 34px -14px rgba(6,20,50,.6);
  transition:padding 220ms var(--ease-out);
}
.site-header.is-scrolled .header-inner{padding-block:7px;}
.logo-img{width:clamp(150px,17vw,196px);}
.main-nav{gap:2px;}
.main-nav a{
  font-size:.8rem;font-weight:600;letter-spacing:.01em;color:rgba(255,255,255,.74);
  padding:8px 13px;border-radius:999px;
  transition:background-color 160ms ease,color 160ms ease;
}
.main-nav a::after{display:none;}
.main-nav a.active{background:#fff;color:var(--ink);}
@media (hover:hover) and (pointer:fine){
  .main-nav a:hover{background:rgba(255,255,255,.12);color:#fff;}
  .main-nav a.active:hover{background:#fff;color:var(--ink);}
}
.nav-toggle{border-radius:50%;}
@media (max-width:900px){
  .site-header .header-inner{padding:8px 8px 8px 20px;}
  .main-nav{
    top:calc(100% + 8px);border-radius:26px;background:rgba(12,33,71,.98);padding:0;box-shadow:none;
    transition:max-height 260ms var(--ease-out),padding 260ms var(--ease-out);
  }
  .main-nav.open{
    max-height:480px;padding:8px;
    box-shadow:0 0 0 1px rgba(255,255,255,.08),0 24px 48px -16px rgba(8,16,36,.6);
  }
  .main-nav a{padding:14px 16px;border-top:0;border-radius:16px;font-size:.9rem;}
}

/* ───────── Portada ───────── */
.hero-v2{position:relative;overflow:hidden;background:radial-gradient(120% 95% at 82% 42%,#2f66bd 0%,var(--rc-blue) 52%,#183d78 100%);margin-top:calc(var(--header-h) * -1 + 10px);padding-top:var(--header-h);}
.hero-v2-grid{
  position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:16px;
  align-items:end;min-height:clamp(540px,78vh,780px);
}
.hero-v2-copy{align-self:center;padding:clamp(24px,4vw,56px) 0 clamp(40px,6vw,72px);}
.hero-v2-title{font-weight:800;line-height:1;margin:0;}
.hero-v2-soy{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(1.25rem,2.6vw,1.9rem);color:rgba(255,255,255,.82);letter-spacing:-.01em;margin-bottom:6px;}
.hero-v2-nombre{
  display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase;color:#fff;
  font-size:clamp(3.3rem,8.4vw,7.2rem);line-height:.86;letter-spacing:-.05em;
}
.hero-v2-nombre span{display:block;}
.hero-v2-cargo{
  display:inline-block;margin-top:26px;background:#fff;color:var(--navy);
  font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:10px 16px;border-radius:999px;
}
.hero-v2-lema{
  font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;color:#fff;
  font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.1;margin-top:30px;max-width:16em;text-wrap:balance;
}
.hero-v2-lema em{font-style:normal;color:var(--rc-sky-light);}
.hero-v2-sub{color:rgba(255,255,255,.86);margin-top:10px;font-size:1.05rem;}
.hero-v2-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.hero-v2-foto{margin:0;position:relative;align-self:end;}
.hero-v2-recorte{position:relative;z-index:1;aspect-ratio:1008/1200;overflow:hidden;}
.hero-v2-recorte img{width:100%;height:auto;max-width:none;object-position:top;}

@keyframes v2-rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes v2-foto{from{opacity:0;transform:translateY(22px) scale(.98);}to{opacity:1;transform:none;}}
.hero-v2-copy > *,.hero-v2-title > *{animation:v2-rise 420ms var(--ease-out) both;}
.hero-v2-title > :nth-child(2){animation-delay:60ms;}
.hero-v2-copy > :nth-child(2){animation-delay:180ms;}
.hero-v2-copy > :nth-child(3){animation-delay:230ms;}
.hero-v2-copy > :nth-child(4){animation-delay:280ms;}
.hero-v2-title{animation:none !important;}
.hero-v2-foto{animation:v2-foto 520ms var(--ease-out) 120ms both;}

.cinta{position:relative;z-index:1;background:var(--rc-red);color:#fff;overflow:hidden;}
.cinta-pista{display:flex;width:max-content;padding:15px 0;animation:v2-cinta 46s linear infinite;}
.cinta-pista li{
  display:flex;align-items:center;white-space:nowrap;padding-right:30px;
  font-family:var(--font-display);font-weight:700;font-size:clamp(1rem,1.9vw,1.3rem);letter-spacing:.03em;text-transform:uppercase;
}
.cinta-pista li::after{content:"";width:9px;height:9px;margin-left:30px;border-radius:2px;background:#fff;transform:rotate(45deg);}
@keyframes v2-cinta{to{transform:translateX(-50%);}}
@media (hover:hover) and (pointer:fine){.cinta:hover .cinta-pista{animation-play-state:paused;}}

/* ───────── Revelar al hacer scroll ───────── */
[data-reveal]{transform:translateY(14px);transition:opacity 420ms var(--ease-out),transform 420ms var(--ease-out);}
.ejes-grid > :nth-child(2),.stats-grid > :nth-child(2){transition-delay:60ms;}
.ejes-grid > :nth-child(3),.stats-grid > :nth-child(3){transition-delay:120ms;}
.stats-grid > :nth-child(4){transition-delay:180ms;}

/* ───────── Visión ───────── */
.vision{background:var(--white);padding:clamp(72px,9vw,128px) 0;}
.vision-grid{gap:clamp(32px,6vw,80px);}
.vision-head h2{font-size:clamp(2.6rem,6.2vw,5rem);}
.vision-body p{color:var(--gray);}
.destino{margin-top:clamp(48px,6vw,80px);border-radius:32px;background:var(--ink);box-shadow:none;}
.destino-hero h3{font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.03em;}
.dest-grid li{
  border-radius:16px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  transition:background-color 160ms ease,transform 200ms var(--ease-out);
}
.dest-grid li:hover{background:rgba(255,255,255,.08);transform:none;}
@media (hover:hover) and (pointer:fine){.dest-grid li:hover{background:rgba(255,255,255,.15);transform:translateY(-2px);}}

/* ───────── Bandas con foto de Quito: azul del movimiento ───────── */
.statement-bg{background:linear-gradient(100deg,rgba(12,33,71,.95) 0%,rgba(16,42,87,.88) 45%,rgba(32,74,142,.62) 100%),url(../img/hero-bg-quito.webp) center 40%/cover no-repeat;}
.destino-hero{background:linear-gradient(180deg,rgba(20,48,106,.3) 0%,rgba(12,33,71,.94) 75%),url(../img/hero-bg-quito.webp) center/cover no-repeat;}
.juegos-hero{background:linear-gradient(180deg,rgba(32,74,142,.82) 0%,rgba(12,33,71,.96) 100%),url(../img/hero-bg-quito.webp) center 40%/cover no-repeat;}

/* ───────── Frase de experiencia ───────── */
.statement{background:var(--ink);padding:0;}
.statement-big{font-size:clamp(2.5rem,6.5vw,5rem);font-weight:800;line-height:1.02;letter-spacing:-.045em;text-wrap:balance;}
.statement .statement-big{max-width:16em;}
.statement-sub{font-size:clamp(1.1rem,1.9vw,1.4rem);}
.statement-sign{
  font-family:var(--font-display);font-weight:700;font-size:clamp(1.1rem,1.8vw,1.4rem);letter-spacing:-.01em;
  background:none;color:#fff;border:0;border-left:4px solid var(--red);padding:0 0 0 16px;border-radius:0;box-shadow:none;
}

/* ───────── Tres ejes ───────── */
.plan{background:var(--bone);padding:clamp(72px,9vw,128px) 0 clamp(56px,7vw,96px);}
.ejes-grid{gap:20px;}
.eje-card{
  border:0;border-radius:30px;padding:34px 30px 30px;box-shadow:var(--shadow-sm);
  transition:opacity 420ms var(--ease-out),transform 420ms var(--ease-out),box-shadow 220ms var(--ease-out);
}
.eje-card.is-revealed{transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out);}
.eje-card::before{display:none;}
.eje-card:hover{box-shadow:var(--shadow-sm);}
.eje-card:active{transform:scale(.985);}
.eje-card-num{
  font-family:var(--font-display);font-size:5rem;font-weight:800;line-height:.8;right:22px;top:24px;
  color:transparent;-webkit-text-stroke:1.5px rgba(15,30,61,.18);
}
.eje-card-icon{border-radius:18px;background:var(--ink);color:#fff;width:58px;height:58px;}
.eje-card h3{font-size:1.6rem;margin-top:8px;}
.eje-card-value{
  display:inline-flex;align-items:center;gap:6px;width:fit-content;margin-top:10px;
  background:var(--red-soft);color:var(--red-dark);padding:7px 13px;border-radius:999px;
}
@media (hover:hover) and (pointer:fine){.eje-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}}

/* ───────── Cada eje ───────── */
.eje{background:var(--white);padding:clamp(72px,9vw,128px) 0;}
.eje-alt{background:var(--bone);}
.eje-grid{gap:clamp(32px,6vw,80px);}
.eje-num{font-size:clamp(4.5rem,10vw,8rem);line-height:.8;margin-bottom:14px;-webkit-text-stroke:2px var(--red);}
.eje-aside h2{font-size:clamp(2.2rem,4vw,3.2rem);}
.eje-aside .eje-claim{border-left:0;padding:18px 20px;border-radius:20px;background:var(--rc-pale);color:var(--ink);}
.eje-alt .eje-aside .eje-claim{background:#fff;}
.stats-row{gap:10px;}
.stats-row li{background:var(--ink);border-radius:22px;padding:20px 18px;}
.stats-row strong{font-size:clamp(1.9rem,3vw,2.6rem);letter-spacing:-.03em;}
.program{border:0;border-radius:30px;padding:clamp(24px,3vw,36px);box-shadow:var(--shadow-sm);}
.eje-alt .program{box-shadow:var(--shadow-sm);}
.program h3{font-size:clamp(1.35rem,2vw,1.7rem);letter-spacing:-.025em;}
.program-feature{background:linear-gradient(140deg,var(--rc-deep) 0%,var(--rc-blue) 100%);box-shadow:none;}
.checklist{border-top-color:var(--line);}
.chart-card{border:0;border-radius:30px;box-shadow:var(--shadow-sm);}
.chart-title{letter-spacing:-.02em;}
.mini-stats li{background:var(--bone);border-radius:16px;}
.vias{background:var(--white);border-radius:34px;box-shadow:var(--shadow-sm);padding:clamp(24px,4vw,44px);}
.vias-total strong{font-size:2.6rem;letter-spacing:-.03em;}
.canton{background:var(--bone);border:0;border-radius:22px;}
.canton-head{border-bottom-color:var(--ink);}

/* ───────── Todo está conectado ───────── */
.conectado{background:var(--bone);padding:clamp(72px,9vw,128px) 0;}
.chain li{border:0;border-radius:20px;box-shadow:var(--shadow-sm);}
.callout{background:var(--ink);border-left:0;border-radius:30px;}

/* ───────── Trayectoria ───────── */
.trayectoria{background:var(--white);padding:clamp(72px,9vw,128px) 0;}
.tray-photo{
  border-radius:36px;
  background:radial-gradient(circle at 50% 42%,#fff 0 57%,var(--red) 57.6% 100%);
}
.tray-photo img{filter:drop-shadow(0 26px 36px rgba(60,0,6,.35));}
.tray-photo figcaption{background:linear-gradient(to top,rgba(11,22,48,.9),transparent);}
.timeline{border-left-color:rgba(15,30,61,.14);}
.timeline li::before{border-color:var(--ink);}
.tl-year{font-family:var(--font-display);font-size:1.1rem;letter-spacing:-.01em;}

/* ───────── Gestión ───────── */
.gestion{background:linear-gradient(160deg,var(--rc-blue) 0%,var(--rc-deep) 100%);padding:clamp(72px,9vw,128px) 0;}
.stat{border:0;border-radius:30px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);padding:30px 26px;}
.stat strong{font-size:clamp(2.6rem,4.6vw,4rem);letter-spacing:-.04em;}
.gestion-list li{border-top-color:rgba(255,255,255,.18);}

/* ───────── Medios ───────── */
.medios{background:var(--bone);padding:clamp(72px,9vw,128px) 0;}
.media-card{
  border:0;border-radius:24px;padding:24px;box-shadow:var(--shadow-sm);
  transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out);
}
.media-card:hover{transform:none;box-shadow:var(--shadow-sm);}
.media-card:active{transform:scale(.985);}
.media-title{font-family:var(--font-display);font-size:1.08rem;letter-spacing:-.01em;}
@media (hover:hover) and (pointer:fine){.media-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}}

/* ───────── Preguntas frecuentes ───────── */
.faq{background:var(--white);padding:clamp(72px,9vw,128px) 0;}
.faq-list{display:grid;gap:10px;max-width:860px;margin-inline:auto;}
.faq-item{background:var(--bone);border-radius:22px;overflow:hidden;}
.faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 26px;font-family:var(--font-display);font-weight:700;font-size:clamp(1.05rem,1.6vw,1.25rem);
  letter-spacing:-.015em;color:var(--navy);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"";flex-shrink:0;width:34px;height:34px;border-radius:50%;
  background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/16px no-repeat;
  transition:transform 220ms var(--ease-out),background-color 160ms ease;
}
.faq-item[open] summary::after{transform:rotate(45deg);background-color:var(--red);}
.faq-item > :not(summary){padding:0 26px 24px;color:var(--gray);max-width:60em;}
.faq-item > :not(summary) a{color:var(--red);}

/* ───────── Cierre, unirse y pie ───────── */
.cierre{background:var(--bone);padding:clamp(72px,9vw,136px) 0;}
.cierre-title{font-family:var(--font-display);font-weight:800;letter-spacing:-.045em;line-height:.95;font-size:clamp(3.2rem,9vw,7rem);color:var(--red);}
.cierre .cierre-claim{font-family:var(--font-display);letter-spacing:-.02em;}
.cta-band{background:var(--ink);}
.cta-social-card{border-radius:32px;}
.social-pill{border-radius:18px;transition:transform 200ms var(--ease-out),background-color 160ms ease;}
.social-pill:active{transform:scale(.97);}
@media (hover:hover) and (pointer:fine){.social-pill:hover{transform:translateY(-2px);}}
.subscribe-form input{border-radius:14px;}
.subscribe-form button{border-radius:14px;transition:transform 160ms var(--ease-out),background-color 160ms ease;}
.subscribe-form button:active{transform:scale(.97);}
.site-footer{background:var(--ink);}
.social-icons a{transition:background-color 160ms ease,transform 160ms var(--ease-out);}
.social-icons a:active{transform:scale(.94);}

/* ───────── Páginas internas (juegos, fake news, agenda, boletines) ───────── */
.juegos-hero{padding:clamp(80px,10vw,128px) 0 clamp(56px,7vw,88px);}
.juegos-hero h1{font-family:var(--font-display);letter-spacing:-.045em;font-weight:800;line-height:.98;font-size:clamp(2.6rem,7vw,5.2rem);text-wrap:balance;}
.fn-stamp{font-family:var(--font-display);}
.bl-card,.ag-ev{border-radius:26px;box-shadow:var(--shadow-sm);}
.bl-card h2,.ag-cuerpo h3{font-family:var(--font-display);letter-spacing:-.02em;}
.ag-dia,.ag-filtro{transition:background-color 160ms ease,color 160ms ease,transform 160ms var(--ease-out);}
.ag-dia:active,.ag-filtro:active{transform:scale(.96);}

/* ───────── Responsive ───────── */
@media (max-width:960px){
  .hero-v2-grid{grid-template-columns:1fr;gap:0;min-height:0;}
  .hero-v2-copy{padding-bottom:12px;}
  .hero-v2-foto{width:min(74%,400px);margin:24px auto 0;}
}
@media (max-width:600px){
  body{font-size:1rem;}
  h2{margin-bottom:16px;}
  .hero-v2-nombre{font-size:clamp(3rem,17vw,4.6rem);}
  .hero-v2-cargo{font-size:.62rem;letter-spacing:.05em;padding:9px 14px;white-space:nowrap;}
  .hero-v2-acciones .btn{flex:1;justify-content:center;white-space:nowrap;padding-inline:18px;}
  .eje-card-num{font-size:3.4rem;}
  .stat strong{font-size:2.4rem;}
  .faq-item summary{padding:18px 18px;}
  .faq-item > :not(summary){padding:0 18px 20px;}
}

/* ───────── Movimiento reducido: menos desplazamiento, se conserva el fundido ───────── */
@media (prefers-reduced-motion:reduce){
  [data-reveal],.hero-v2-copy > *,.hero-v2-title > *,.hero-v2-foto{transform:none !important;animation-duration:1ms !important;}
  .cinta-pista{animation:none;flex-wrap:wrap;width:auto;}
  .btn,.eje-card,.media-card,.social-pill{transition-property:background-color,opacity;}
  .eje-card:hover,.media-card:hover,.btn:hover{transform:none !important;}
}


/* ═════════════════════════════════════════════════════════════════════════
   DISTRIBUCIÓN Y MOVIMIENTO v3
   Misma información, otra composición: índice de ejes, encabezados a todo el ancho,
   cuadrículas de tarjetas, carriles horizontales y movimiento guiado por el scroll.
   ═════════════════════════════════════════════════════════════════════════ */

/* ───────── Barra de progreso y riel de secciones ───────── */
.progreso{position:fixed;inset:0 0 auto 0;height:4px;z-index:70;pointer-events:none;}
.progreso span{display:block;height:100%;background:var(--rc-red);transform:scaleX(0);transform-origin:left;}
.riel{display:none;}
@media (min-width:1360px) and (hover:hover){
  .riel{
    position:fixed;left:16px;top:50%;transform:translateY(-50%);z-index:45;
    display:flex;flex-direction:column;gap:4px;mix-blend-mode:difference;
  }
  .riel a{display:flex;align-items:center;gap:10px;padding:5px 0;color:#fff;opacity:.5;transition:opacity 160ms ease;}
  .riel a::before{
    content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0;
    transition:transform 220ms var(--ease-out);
  }
  .riel a span{
    font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    opacity:0;transform:translateX(-6px);transition:opacity 160ms ease,transform 220ms var(--ease-out);
  }
  .riel a.is-on{opacity:1;}
  .riel a.is-on::before{transform:scale(1.7);}
  .riel:hover a span{opacity:1;transform:none;}
  .riel a:hover{opacity:1;}
}

/* ───────── Visión: titular gigante ───────── */
.vision-head h2{font-size:clamp(3.2rem,8.4vw,7rem);line-height:.92;letter-spacing:-.05em;}
.vision-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;}

/* ───────── Plan: índice de ejes ───────── */
.plan .ejes-grid{grid-template-columns:1fr;gap:0;margin-top:clamp(36px,5vw,64px);border-top:2px solid var(--ink);}
.plan .eje-card{
  display:grid;grid-template-columns:minmax(84px,150px) minmax(0,1fr) minmax(0,1.35fr) auto;align-items:center;gap:0 clamp(16px,3vw,40px);
  padding:clamp(22px,3vw,36px) clamp(8px,1.4vw,20px);border-radius:0;box-shadow:none;background:transparent;
  border-bottom:1px solid var(--line);
}
.plan .eje-card.is-revealed{transition:background-color 180ms ease,transform 180ms var(--ease-out);}
.plan .eje-card-icon{display:none;}
.plan .eje-card-num{
  position:static;grid-column:1;grid-row:1;font-size:clamp(3.4rem,7vw,5.6rem);line-height:.9;
  -webkit-text-stroke:2px var(--rc-blue);
}
.plan .eje-card h3{grid-column:2;grid-row:1;font-size:clamp(1.6rem,3.2vw,2.5rem);letter-spacing:-.035em;margin:0;}
.plan .eje-card p{grid-column:3;grid-row:1;font-size:1rem;flex:none;margin:0;}
.plan .eje-card-value{grid-column:4;grid-row:1;margin:0;}
.plan .eje-card:hover{box-shadow:none;transform:none;}
.plan .eje-card:active{transform:scale(.995);}
@media (hover:hover) and (pointer:fine){
  .plan .eje-card:hover{background:#fff;transform:none;box-shadow:none;}
  .plan .eje-card:hover .eje-card-num{-webkit-text-stroke-color:var(--red);}
  .plan .eje-card:hover h3{transform:translateX(8px);}
  .plan .eje-card h3{transition:transform 220ms var(--ease-out);}
}
@media (max-width:860px){
  .plan .eje-card{grid-template-columns:auto minmax(0,1fr);row-gap:6px;}
  .plan .eje-card-num{grid-row:1 / span 3;align-self:start;}
  .plan .eje-card h3,.plan .eje-card p,.plan .eje-card-value{grid-column:2;grid-row:auto;}
  .plan .eje-card-value{width:fit-content;}
}

/* ───────── Cada eje: encabezado a todo el ancho + cuadrícula ───────── */
.eje-grid{display:block;}
.eje-aside{
  position:static !important;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  column-gap:clamp(24px,6vw,96px);row-gap:10px;align-items:start;margin-bottom:clamp(28px,4vw,56px);
}
.eje-aside .eje-num{grid-column:1;grid-row:1;margin:0;}
.eje-aside h2{grid-column:1;grid-row:2;margin:0;font-size:clamp(2.8rem,6.4vw,5.4rem);line-height:.92;letter-spacing:-.05em;}
.eje-aside > p:first-of-type{grid-column:2;grid-row:1 / span 2;align-self:end;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.5;color:var(--text);max-width:none;}
.eje-aside > .c-body{grid-column:2;grid-row:3;}
.eje-aside > .c-toggle{grid-column:2;grid-row:4;justify-self:start;}
.eje-aside > .eje-claim{
  grid-column:1 / -1;grid-row:5;margin-top:clamp(14px,2vw,24px);max-width:none;
  font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,2.4vw,1.9rem);letter-spacing:-.025em;line-height:1.15;
  background:var(--rc-blue);color:#fff;border-radius:26px;padding:clamp(18px,2.6vw,30px) clamp(20px,3vw,36px);
}
.eje-aside > .eje-claim strong{color:var(--rc-sky-light);}
.eje-alt .eje-aside > .eje-claim{background:var(--rc-deep);}

.eje-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;}
.eje-body > .stats-row,.eje-body > .chart-card,.eje-body > .program-feature,.eje-body > .vias,.eje-body > .hbars-card{grid-column:1 / -1;}
.eje-body > .program-wide{grid-column:1 / -1;}
.eje-body > .program-wide .checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 36px;}
.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.stats-row li{border-radius:28px;padding:clamp(20px,2.4vw,30px);gap:8px;}
.stats-row li:nth-child(1){background:var(--rc-blue);}
.stats-row li:nth-child(2){background:var(--rc-deep);}
.stats-row li:nth-child(3){background:var(--rc-cyan);}
.stats-row li:nth-child(4){background:var(--rc-red);}
.stats-row strong{font-size:clamp(2.6rem,5vw,4.2rem);line-height:.95;letter-spacing:-.045em;}
.stats-row span{font-size:.88rem;color:#fff;opacity:.92;}
.program{display:flex;flex-direction:column;}
.program .c-toggle{margin-top:auto;}
@media (max-width:960px){
  .eje-aside{grid-template-columns:1fr;}
  .eje-aside .eje-num,.eje-aside h2,.eje-aside > p:first-of-type,.eje-aside > .c-body,.eje-aside > .c-toggle,.eje-aside > .eje-claim{grid-column:1;grid-row:auto;}
  .eje-body{grid-template-columns:1fr;}
  .eje-body > .program-wide .checklist{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ───────── Trayectoria: línea de tiempo en carril horizontal ───────── */
.tray-grid{align-items:start;}
.tray-linea{margin-top:clamp(40px,6vw,88px);}
.timeline{
  display:flex;flex-direction:row;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0;padding:6px 4px 24px;border:0;
  scrollbar-width:thin;scrollbar-color:var(--rc-blue) transparent;-webkit-overflow-scrolling:touch;
}
.timeline li{
  flex:0 0 min(290px,78vw);width:min(290px,78vw);scroll-snap-align:start;background:var(--rc-pale);border-radius:28px;padding:24px 22px 26px;min-height:190px;
  display:flex;flex-direction:column;gap:10px;
}
.timeline li::before{display:none;}
.tl-year{font-size:clamp(2.6rem,4vw,3.4rem);line-height:.9;letter-spacing:-.05em;color:var(--rc-blue);}
.timeline p{font-size:.97rem;line-height:1.45;color:var(--text);}
.timeline li.tl-now{background:var(--rc-blue);}
.timeline li.tl-now .tl-year,.timeline li.tl-now p{color:#fff;}

/* ───────── Gestión: cifras enormes ───────── */
.stats-grid{gap:14px;}
.stat{padding:clamp(24px,3vw,36px);}
.stat strong{font-size:clamp(3rem,5.4vw,4.8rem);line-height:.92;letter-spacing:-.05em;}
.stat:nth-child(1){background:rgba(255,255,255,.1);}
.stat:nth-child(2){background:rgba(0,153,224,.28);}
.stat:nth-child(3){background:rgba(255,255,255,.1);}
.stat:nth-child(4){background:rgba(242,49,58,.34);}

/* ───────── Medios: carril horizontal ───────── */
.media-hint{display:none !important;}
.media-grid{
  display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 26px;margin-top:clamp(28px,4vw,48px);
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.media-grid::-webkit-scrollbar{display:none;}
.media-grid > li{flex:0 0 min(340px,82vw);scroll-snap-align:start;}
.media-card{min-height:240px;justify-content:space-between;}
.media-meta{color:var(--rc-blue);}
.medios-btns{display:flex;justify-content:flex-end;gap:10px;margin-top:4px;}
.medios-btns button{
  width:52px;height:52px;border-radius:50%;border:0;background:var(--rc-blue);color:#fff;font-size:1.2rem;font-family:inherit;cursor:pointer;
  transition:transform 160ms var(--ease-out),opacity 160ms ease,background-color 160ms ease;
}
.medios-btns button:active:not(:disabled){transform:scale(.93);}
.medios-btns button:disabled{opacity:.3;cursor:default;}
@media (hover:hover) and (pointer:fine){.medios-btns button:hover:not(:disabled){background:var(--rc-red);}}

/* ───────── Preguntas: título fijo a la izquierda, respuestas a la derecha ───────── */
.faq .container.narrow{max-width:1200px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(32px,6vw,96px);align-items:start;}
.faq .eyebrow.center,.faq h2.center{grid-column:1;text-align:left;margin-inline:0;}
.faq .eyebrow.center{display:flex;width:fit-content;}
.faq h2.center{font-size:clamp(2.6rem,5.6vw,4.6rem);line-height:.95;letter-spacing:-.045em;}
.faq .container.narrow > .eyebrow{position:sticky;top:calc(var(--header-h) + 24px);}
.faq .container.narrow > h2{position:sticky;top:calc(var(--header-h) + 72px);grid-row:2;}
.faq-list{grid-column:2;grid-row:1 / span 3;max-width:none;margin:0;}
@media (max-width:900px){
  .faq .container.narrow{display:block;}
  .faq .container.narrow > .eyebrow,.faq .container.narrow > h2{position:static;}
  .faq-list{margin-top:28px;}
}

/* ───────── Cierre ───────── */
.cierre-title{font-size:clamp(3.6rem,13vw,10rem);line-height:.88;}

/* ───────── Movimiento guiado por el scroll (solo donde el navegador lo admite) ───────── */
h2[data-reveal]{clip-path:inset(0 0 100% 0);transition:clip-path 520ms var(--ease-out),opacity 420ms var(--ease-out),transform 420ms var(--ease-out);}
h2[data-reveal].is-revealed{clip-path:inset(0 0 -25% 0);}

@keyframes v3-sube{from{opacity:0;transform:translateY(26px) scale(.985);}to{opacity:1;transform:none;}}
@keyframes v3-parallax{to{transform:translateY(-6%);}}
@supports (animation-timeline:view()){
  .stats-row li,.timeline li,.stat,.canton{
    animation:v3-sube linear both;animation-timeline:view();animation-range:entry 0% entry 55%;
  }
  .hero-v2-recorte img{animation:v3-parallax linear both;animation-timeline:scroll(root);animation-range:0 70vh;}
}

/* ───────── Movimiento reducido ───────── */
@media (prefers-reduced-motion:reduce){
  h2[data-reveal]{clip-path:none;}
  .stats-row li,.timeline li,.stat,.canton,.hero-v2-recorte img{animation:none !important;}
  .progreso span{transition:none;}
  .riel a span{transition:none;transform:none;}
}


/* ───────── Portada: logotipo «Alexandro Tonello» en lugar del texto ───────── */
.hero-v2-nombre{line-height:0;font-size:0;}
.hero-v2-nombre img{
  display:block;width:min(100%,600px);height:auto;margin-top:6px;
  filter:drop-shadow(0 18px 26px rgba(6,20,50,.45));
}
@media (max-width:600px){.hero-v2-nombre img{width:100%;}}


/* ═════════════════════════════════════════════════════════════════════════
   v4 — LA HISTORIA EN CAPÍTULOS
   Narrativa guiada por el scroll (patrón «scroll-triggered storytelling» de UI/UX Pro Max):
   gancho → capítulos con indicador de progreso → cierre con invitación. Sin soporte de
   animation-timeline, o con movimiento reducido, todo se ve ya en su estado final y legible.
   ═════════════════════════════════════════════════════════════════════════ */

/* ───────── Portada: palabra gigante detrás de su rostro ───────── */
.hero-v4-palabra{
  position:absolute;z-index:0;left:-1.5%;bottom:2%;pointer-events:none;user-select:none;white-space:nowrap;
  font-family:var(--font-display);font-weight:800;font-size:clamp(6rem,23vw,21rem);line-height:.78;letter-spacing:-.06em;
  color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.17);
}
@keyframes v4-palabra{to{transform:translateX(-16%);}}
/* «ALEXANDRO TONELLO» arriba (sobre el logo) y «PICHINCHA» abajo: el contenido queda enmarcado entre las dos */
.hero-v4-nombre-fondo{
  position:absolute;z-index:0;left:-1.5%;top:clamp(82px,9.5%,150px);pointer-events:none;user-select:none;white-space:nowrap;
  font-family:var(--font-display);font-weight:800;font-size:clamp(3.25rem,8.6vw,8.5rem);line-height:.8;letter-spacing:-.015em;word-spacing:.2em;
  color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.17);
}
@keyframes v4-nombre{to{transform:translateX(10%);}}
@supports (animation-timeline:scroll()){
  .hero-v4-nombre-fondo{animation:v4-nombre linear both;animation-timeline:scroll(root);animation-range:0 95vh;}
}
@supports (animation-timeline:scroll()){
  .hero-v4-palabra{animation:v4-palabra linear both;animation-timeline:scroll(root);animation-range:0 95vh;}
}

/* ───────── Gancho compacto: entrada suave sin fijar el scroll ───────── */
.statement-stage{position:relative;display:flex;align-items:center;min-height:clamp(380px,62vh,560px);padding:clamp(56px,8vw,96px) 0;}
.statement-inner{position:relative;width:100%;margin-inline:auto;max-width:1200px;text-align:left;}
.statement-sub[data-reveal]{transition-delay:60ms;}
.statement-sign[data-reveal]{transition-delay:120ms;}

/* ───────── Capítulos ───────── */
.capitulo{position:relative;overflow:hidden;color:#fff;background:var(--rc-deep);}
.capitulo[data-cap="02"]{background:var(--rc-red);}
.capitulo[data-cap="03"]{background:var(--rc-blue);}
.capitulo[data-cap="04"]{background:var(--rc-cyan);}
.capitulo-in{display:flex;align-items:flex-end;gap:clamp(14px,4vw,56px);padding-block:clamp(44px,9vw,110px);}
.capitulo-num{
  font-family:var(--font-display);font-weight:800;font-size:clamp(5rem,17vw,14rem);line-height:.78;letter-spacing:-.06em;
  color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.85);
}
.capitulo-titulo{
  font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,7.4vw,6.4rem);line-height:.92;letter-spacing:-.05em;
  max-width:11em;text-wrap:balance;padding-bottom:.05em;
}
@keyframes v4-cap-entra{from{opacity:0;transform:translateX(-7%);}to{opacity:1;transform:none;}}
@keyframes v4-cap-barre{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
@supports (animation-timeline:view()){
  .capitulo{animation:v4-cap-barre linear both;animation-timeline:view();animation-range:entry 0% entry 70%;}
  .capitulo-in{animation:v4-cap-entra linear both;animation-timeline:view();animation-range:entry 20% entry 90%;}
}

/* ───────── Trayectoria: el gesto, más grande ───────── */
.tray-photo{background:radial-gradient(circle at 50% 46%,#fff 0 56%,var(--rc-blue) 56.6% 100%);}
.tray-photo img{left:0;top:auto;bottom:0;transform:none;width:100%;filter:drop-shadow(0 22px 30px rgba(10,30,70,.35));}
.tray-photo{aspect-ratio:5/6;}
@keyframes v4-foto-sube{from{opacity:0;transform:translateY(8%) scale(.96);}to{opacity:1;transform:none;}}
@supports (animation-timeline:view()){
  .tray-photo img{animation:v4-foto-sube linear both;animation-timeline:view();animation-range:entry 0% entry 75%;}
}

/* ───────── Cierre: de cuerpo entero junto a la invitación ───────── */
.cierre-grid{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(24px,6vw,88px);align-items:center;max-width:1200px;}
.cierre-foto{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:36px;background:radial-gradient(circle at 50% 38%,#fff 0 52%,var(--rc-sky) 52.6% 100%);}
.cierre-foto img{width:92%;height:auto;max-width:none;margin:0 auto;filter:drop-shadow(0 20px 28px rgba(10,30,70,.3));}
.cierre-texto{text-align:left;}
.cierre-texto .eyebrow{margin-inline:0;}
.cierre-texto p{max-width:46em;}
@media (max-width:860px){
  .cierre-grid{grid-template-columns:1fr;}
  .cierre-foto{max-width:360px;margin-inline:auto;}
}

/* ───────── Movimiento reducido ───────── */
@media (prefers-reduced-motion:reduce){
  .hero-v4-palabra,.hero-v4-nombre-fondo,.capitulo,.capitulo-in,.tray-photo img{animation:none !important;}
  .statement [data-reveal]{opacity:1;transform:none;transition:none;}
}


/* ═════════════════════════════════════════════════════════════════════════
   v6 — Portada sin círculo: paneles inclinados (la pendiente del logotipo) + entrada en secuencia
   ═════════════════════════════════════════════════════════════════════════ */
.hero-v2-panel{
  position:absolute;z-index:0;left:-2%;right:-8%;top:15%;bottom:0;
  background:linear-gradient(165deg,#63b0ee 0%,var(--rc-sky) 46%,#2f7fc6 100%);
  clip-path:polygon(17% 0,100% 0,83% 100%,0 100%);
}
.hero-v2-panel::before{
  content:"";position:absolute;inset:0;background:var(--rc-red);
  clip-path:polygon(17% 0,28% 0,11% 100%,0 100%);
}
.hero-v2-recorte img{filter:drop-shadow(0 24px 30px rgba(8,24,60,.4));}

/* Las otras dos fotos hablan el mismo idioma: franjas inclinadas, no círculos */
.tray-photo{background:linear-gradient(115deg,var(--rc-blue) 0 30%,var(--rc-red) 30% 37%,var(--rc-sky) 37% 100%);}
.cierre-foto{background:linear-gradient(115deg,var(--rc-blue) 0 28%,var(--rc-red) 28% 35%,var(--rc-sky) 35% 100%);}

/* ───────── Entrada en secuencia (≈ 0,9 s en total) ─────────
   panel → logotipo → foto → etiqueta → lema palabra por palabra → frase → botones */
@keyframes v6-panel{from{opacity:0;transform:translateX(8%);}to{opacity:1;transform:none;}}
@keyframes v6-logo{from{opacity:0;transform:translateY(-28px) scale(1.06);}to{opacity:1;transform:none;}}
@keyframes v6-foto{from{clip-path:inset(100% 0 0 0);transform:translateY(20px);}to{clip-path:inset(0 0 0 0);transform:none;}}
@keyframes v6-palabra{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

.hero-v2-panel{animation:v6-panel 560ms var(--ease-out) both;}
.hero-v2-title > .hero-v2-nombre{animation:none;}
.hero-v2-nombre img{animation:v6-logo 520ms cubic-bezier(.34,1.32,.64,1) 90ms both;}   /* un asentamiento leve: momento único, no se repite */
.hero-v2-foto{animation:none;}
.hero-v2-recorte{animation:v6-foto 660ms var(--ease-out) 170ms both;}
.hero-v2-title > .hero-v2-cargo{animation:v2-rise 380ms var(--ease-out) 300ms both;}
.hero-v2-copy .hero-v2-lema{animation:none;}
.hero-v2-lema .pl{display:inline-block;animation:v6-palabra 340ms var(--ease-out) both;animation-delay:calc(380ms + var(--i) * 45ms);}
.hero-v2-copy .hero-v2-sub{animation:v2-rise 380ms var(--ease-out) 700ms both;}
.hero-v2-copy .hero-v2-acciones{animation:v2-rise 380ms var(--ease-out) 780ms both;}

@media (max-width:960px){
  .hero-v2-panel{left:-6%;right:-10%;top:22%;}
}
@media (prefers-reduced-motion:reduce){
  .hero-v2-panel,.hero-v2-nombre img,.hero-v2-recorte,.hero-v2-lema .pl,.hero-v2-title > .hero-v2-cargo,.hero-v2-copy .hero-v2-sub,.hero-v2-copy .hero-v2-acciones{animation:none !important;}
}


/* ───────── Celular: primero su rostro (el logotipo cruza la parte baja de la foto), luego el mensaje ───────── */
@media (max-width:960px){
  .hero-v2{padding-top:calc(var(--header-h) - 10px);}
  .hero-v2-grid{display:flex;flex-direction:column;min-height:0;gap:0;}
  .hero-v2-foto{order:-1;width:min(86%,370px);margin:10px auto 0;align-self:center;}
  .hero-v2-copy{
    position:relative;z-index:2;margin-top:clamp(-76px,-17vw,-48px);padding:0 0 40px;align-self:stretch;
  }
  .hero-v2-nombre img{width:min(100%,420px);margin-inline:auto;filter:drop-shadow(0 14px 22px rgba(6,20,50,.55));}
  .hero-v2-title{text-align:center;}
  .hero-v2-cargo{margin-top:16px;}
  .hero-v2-lema{margin-top:20px;text-align:center;margin-inline:auto;}
  .hero-v2-sub{text-align:center;margin-inline:auto;}
  .hero-v2-acciones{justify-content:center;}
  .hero-v4-palabra{top:20%;bottom:auto;}
  .hero-v4-nombre-fondo{top:12%;}
}

/* Cabecera: el menú nunca se sale de la píldora */
.site-header .header-inner{flex-wrap:nowrap;}
.site-header .main-nav{flex:1 1 auto;min-width:0;justify-content:center;}
@media (min-width:901px){
  .site-header .header-inner{gap:8px;padding-left:18px;}
  .main-nav{gap:0;}
  .main-nav a{font-size:.72rem;padding:7px 8px;letter-spacing:0;}
  .logo-img{width:clamp(130px,13vw,160px);}
  .header-inner > .lista-ancla{width:96px;}
  .site-header .btn-small{padding:9px 14px;font-size:.74rem;}
}
@media (min-width:901px) and (max-width:1080px){
  .main-nav a{font-size:.68rem;padding:7px 5px;}
  .header-inner > .lista-ancla{width:84px;}
  .site-header .header-inner{padding-left:14px;}
  .logo-img{width:120px;}
}

@media (min-width:1700px){.site-header .header-inner{width:min(1360px,calc(100% - 24px));}}
@media (min-width:2200px){.site-header .header-inner{width:min(1560px,calc(100% - 24px));}}

/* ───────── Celular: nada se sale de la pantalla ───────── */
html,body{overflow-x:clip;}
.votar-pasos{grid-template-columns:minmax(0,1fr);}
.votar-pasos li > *{min-width:0;}
@media (max-width:900px){
  .vision-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;}
}
@media (max-width:640px){
  .site-header .header-inner{padding:7px 7px 7px 14px;gap:6px;}
  .site-header .logo-img{width:100px;}
  .header-inner > .lista-ancla{width:74px;margin-left:2px;padding:2px 4px;}
  .site-header .btn-small{padding:8px 12px;font-size:.72rem;}
  .site-header .nav-toggle{width:40px;height:40px;flex-shrink:0;}
}
@media (max-width:380px){
  .site-header .logo-img{width:88px;}
  .header-inner > .lista-ancla{width:62px;}
  .site-header .btn-small{padding:7px 9px;font-size:.68rem;}
}
@media (max-width:340px){.site-header .btn-small{display:none;}}
@media (max-width:640px){
  .site-header .nav-toggle{margin:0 !important;}
  .site-header .btn-small{margin-left:auto;}
}

/* ───────── Insignia Alianza más grande + ÚNETE dentro del menú en celular ───────── */
.nav-unete{display:none;}
.header-inner > .lista-ancla{width:clamp(124px,12vw,168px);}
@media (min-width:901px) and (max-width:1320px){.header-inner > .lista-ancla{width:116px;}}
@media (min-width:901px) and (max-width:1080px){.header-inner > .lista-ancla{width:100px;}}
@media (max-width:640px){
  .site-header .header-inner{padding:6px 6px 6px 14px;gap:8px;}
  .site-header .logo-img{width:104px;}
  .header-inner > .lista-ancla{width:118px;margin-left:auto;padding:3px 5px;}
  .site-header .btn-small{display:none;}
  .site-header .nav-toggle{margin-left:0;}
  .main-nav .nav-unete{display:block;background:#f2313a;color:#fff;text-align:center;font-weight:800;}
}
@media (max-width:380px){
  .site-header .logo-img{width:88px;}
  .header-inner > .lista-ancla{width:104px;}
}
@media (max-width:340px){
  .site-header .logo-img{width:76px;}
  .header-inner > .lista-ancla{width:92px;}
}

/* ───────── Tipografía: sin viudas ni palabras sueltas ───────── */
h1,h2,h3,h4,.capitulo-in,.statement,.cta-title,.eyebrow{text-wrap:balance;}
p,li,summary,figcaption,blockquote,.stat span,.media-title,.tl-body{text-wrap:pretty;}
p,li,h1,h2,h3,h4,summary,.stat span{overflow-wrap:break-word;hyphens:manual;}
@media (max-width:640px){p,li{hyphens:auto;-webkit-hyphens:auto;}}
img,svg,video,iframe,table{max-width:100%;}
.container,.container *{min-width:0;}

/* Insignia Alianza: sin caja blanca, el logo ya es transparente */
.site-header .lista-ancla,.header-inner > .lista-ancla{background:transparent !important;padding:0 !important;border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));}

/* ───────── Cifras y tarjetas: nada se parte ni se sale del cuadro ─────────
   Cada cuadro mide su propio ancho (container query) y la cifra se ajusta a él:
   «+10.000», «+8.500» y «+135.000» quedan en una sola línea en cualquier pantalla. */
.stats-row li,.stat{container-type:inline-size;}
.stats-row strong,.stat strong{
  white-space:nowrap;overflow-wrap:normal;word-break:normal;
  hyphens:none;-webkit-hyphens:none;
}
/* Respaldo para navegadores sin unidades cqi */
.stats-row strong{font-size:clamp(1.4rem,7vw,4.2rem);}
.stat strong{font-size:clamp(1.4rem,6.4vw,4.8rem);}
/* Ratios medidos con la cifra más ancha de cada grupo (+10.000 y +135.000) */
.stats-row strong{font-size:clamp(1.25rem,27cqi,4.2rem);}
.stat strong{font-size:clamp(1.25rem,22.5cqi,4.8rem);}
/* Textos cortos de tarjeta: sin guiones automáticos («Na-cional», «to-tal», «ci-pío») */
.stats-row li,.stat,.stat span,.votar-pasos li,.votar-pasos p,.votar-pasos h3{
  hyphens:manual;-webkit-hyphens:manual;
}
@media (max-width:640px){
  .stats-row li{padding:20px 16px;}
  .stat{padding:22px 18px;}
  /* Botón «Consultar mi lugar de votación»: cabe en la tarjeta y baja de línea si hace falta */
  .votar-pasos .btn{
    display:flex;width:100%;max-width:100%;box-sizing:border-box;
    justify-content:center;text-align:center;
    white-space:normal;line-height:1.25;padding:13px 18px;
    text-wrap:balance;
  }
}

/* ───────── Tarjetas de programa: pares parejos, sin tarjetas huérfanas y banner partido en dos ─────────
   Regla: las tarjetas van de a dos; la que va sola ocupa todo el ancho (.program-wide);
   la franja azul (.program-feature) pone título a la izquierda y texto a la derecha. */
.program-wide > p,.program-wide .c-body > p{max-width:65ch;}
@media (min-width:961px){
  .eje-body > .program-feature{
    display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto auto 1fr;
    column-gap:clamp(32px,5vw,64px);align-items:start;padding:clamp(32px,4vw,48px);
  }
  .program-feature .program-icon{position:static;grid-column:1;grid-row:1;margin:0 0 16px;}
  .program-feature > .program-kicker{grid-column:1;grid-row:2;padding-right:0;}
  .program-feature > h3{grid-column:1;grid-row:3;margin:0;padding-right:0;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1;}
  .program-feature > p{grid-column:2;grid-row:1 / 4;align-self:center;max-width:60ch;margin:0;font-size:1.0625rem;line-height:1.6;}
}

/* ───────── Tarjetas anchas: título a la izquierda, descripción a la derecha, compromisos abajo ─────────
   Mismo patrón que la franja azul del Chocó: el ancho se reparte, nada queda pegado a un solo lado. */
@media (min-width:961px){
  .eje-body > .program-wide{
    display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto auto auto;
    column-gap:clamp(32px,5vw,64px);align-content:start;padding:clamp(32px,4vw,48px);
  }
  .program-wide > .c-body{display:contents;}
  .program-wide > .program-icon{position:static;grid-column:1;grid-row:1;margin:0 0 16px;}
  .program-wide > .program-kicker{grid-column:1;grid-row:2;padding-right:0;}
  .program-wide > h3{grid-column:1;grid-row:3;margin:0;padding-right:0;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1;}
  .program-wide > .c-body > p{grid-column:2;grid-row:1 / 4;align-self:start;max-width:62ch;margin:0;font-size:1.0625rem;line-height:1.6;}
  .program-wide > .c-body > .mini-stats{grid-column:1 / -1;margin-top:32px;}
  .program-wide > .c-body > .checklist{grid-column:1 / -1;margin-top:32px;}
  .program-wide > .c-body > .mini-stats + .checklist{margin-top:24px;}
}

/* ───────── En Quito: entrada escalonada, una sola vez ─────────
   Criterios de Emil Kowalski: solo transform y opacity, ease-out fuerte (--ease-out), 60 ms entre piezas,
   el panel inclinado entra como en la portada y la foto sube desde el borde de abajo (el panel recorta).
   Con movimiento reducido se queda solo el fundido (más suave, no cero). */
@keyframes pp-sube{from{opacity:0;transform:translateY(var(--pp-dy,12px));}to{opacity:1;transform:none;}}
@keyframes pp-panel{from{opacity:0;transform:translateX(var(--pp-dx,8%));}to{opacity:1;transform:none;}}
.js .quito-papeletas[data-reveal]{opacity:1;transform:none;transition:none;}
.js .quito-papeletas:not(.is-revealed)::before,.js .quito-papeletas:not(.is-revealed)::after{opacity:0;}
.js .quito-papeletas:not(.is-revealed) :is(.papeletas-head > .eyebrow,.papeletas-head h3,.papeletas-lead,.papeletas-accion,.papeletas-sello,.papeletas-nota,.papeletas-compartir,.papeletas-foto){opacity:0;}
.quito-papeletas.is-revealed::before,.quito-papeletas.is-revealed::after{animation:pp-panel 560ms var(--ease-out) backwards;}
.quito-papeletas.is-revealed::after{animation-delay:60ms;}
.quito-papeletas.is-revealed :is(.papeletas-head > .eyebrow,.papeletas-head h3,.papeletas-lead,.papeletas-accion,.papeletas-sello,.papeletas-nota,.papeletas-compartir){animation:pp-sube 420ms var(--ease-out) var(--pp-delay,0ms) backwards;}
.quito-papeletas.is-revealed .papeletas-head h3{--pp-delay:60ms;}
.quito-papeletas.is-revealed .papeletas-lead{--pp-delay:120ms;}
.quito-papeletas.is-revealed .papeletas-accion{--pp-delay:180ms;}
.quito-papeletas.is-revealed .papeletas-sello{--pp-delay:240ms;}
.quito-papeletas.is-revealed .papeletas-nota{--pp-delay:280ms;}
.quito-papeletas.is-revealed .papeletas-compartir{--pp-delay:340ms;}
.quito-papeletas.is-revealed .papeletas-foto{--pp-dy:36px;animation:pp-sube 560ms var(--ease-out) 120ms backwards;}
@media (prefers-reduced-motion:reduce){
  .quito-papeletas.is-revealed :is(.papeletas-head > .eyebrow,.papeletas-head h3,.papeletas-lead,.papeletas-accion,.papeletas-sello,.papeletas-nota,.papeletas-compartir,.papeletas-foto){--pp-dy:0px;}
  .quito-papeletas.is-revealed::before,.quito-papeletas.is-revealed::after{--pp-dx:0%;}
}
