/* ==========================================================================
   POTENCIA GO — MASTERCLASS & MENTORÍA EMPRESARIAL
   Colores extraídos directamente del logo oficial de Potencia Go.
   ========================================================================== */

:root{
  /* --- Colores oficiales Potencia Go --- */
  --turquesa:      #08A9B8;   /* el "POTENCIA" del logo */
  --turquesa-osc:  #05808C;
  --magenta:       #B217C7;   /* el rayo y la parte alta del "GO!" */
  --violeta:       #6E2AA0;
  --indigo:        #464B9F;
  --menta:         #3FD0C9;

  /* --- Neutros --- */
  --tinta:         #0B1B2B;
  --tinta-media:   #4C6070;
  --tinta-suave:   #7B8C99;
  --papel:         #FFFFFF;
  --papel-alt:     #F3F8FA;
  --linea:         #E1EAEF;
  --noche:         #0A1526;
  --noche-alt:     #132339;

  /* --- Degradado de marca --- */
  --gradiente:     linear-gradient(140deg, var(--magenta) 0%, var(--violeta) 32%, var(--indigo) 60%, var(--turquesa) 100%);
  --gradiente-h:   linear-gradient(90deg, var(--turquesa) 0%, var(--indigo) 50%, var(--magenta) 100%);

  /* --- Tipografía --- */
  --display: 'Archivo', system-ui, sans-serif;
  --cuerpo:  'Instrument Sans', system-ui, -apple-system, sans-serif;

  /* --- Medidas --- */
  --ancho:   1180px;
  --radio:   18px;
  --radio-s: 10px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:90px; }

body{
  margin:0;
  font-family:var(--cuerpo);
  font-size:17px;
  line-height:1.65;
  color:var(--tinta);
  background:var(--papel);
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
h1,h2,h3,h4{ font-family:var(--display); margin:0; line-height:1.12; letter-spacing:-0.02em; }
p{ margin:0 0 1.1em; }
ul,ol{ margin:0; padding:0; list-style:none; }

.saltar-al-contenido{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--tinta); color:#fff; padding:12px 20px; border-radius:0 0 8px 0;
}
.saltar-al-contenido:focus{ left:0; }

:focus-visible{ outline:3px solid var(--turquesa); outline-offset:3px; border-radius:4px; }

/* ---------- Contenedores ---------- */
.contenedor{ width:100%; max-width:var(--ancho); margin:0 auto; padding:0 24px; }
.contenedor--angosto{ max-width:800px; }
.contenedor--dividido{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:72px; align-items:start;
}
.centrado{ text-align:center; }

.seccion{ padding:104px 0; }
.seccion--alterna{ background:var(--papel-alt); }
.seccion--noche{ background:var(--noche); color:#E8F0F5; }

/* ---------- Piezas de texto ---------- */
.etiqueta{
  font-family:var(--display);
  font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--turquesa-osc); margin:0 0 18px;
  display:inline-flex; align-items:center; gap:9px;
}
.etiqueta--clara{ color:var(--menta); }

.etiqueta--destello{
  background:rgba(8,169,184,.09);
  border:1px solid rgba(8,169,184,.28);
  padding:8px 16px 8px 12px; border-radius:100px;
}

.rayo{
  width:13px; height:16px; flex:0 0 13px; display:inline-block;
  background:var(--gradiente-h);
  clip-path:polygon(52% 0,10% 58%,42% 58%,32% 100%,90% 38%,54% 38%);
}

.titulo-seccion{
  font-size:clamp(30px,4vw,46px); font-weight:800;
  max-width:19ch; margin:0 0 26px;
}
.titulo-seccion--claro{ color:#fff; max-width:22ch; }

.entrada{ font-size:18px; color:var(--tinta-media); max-width:60ch; }
.entrada--ancha{ max-width:72ch; }
.entrada--clara{ color:#A9C0D0; }

.texto-gradiente{
  background:var(--gradiente-h);
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
}

.remate{
  font-family:var(--display); font-weight:700;
  font-size:clamp(21px,2.5vw,29px); line-height:1.3;
  margin:44px 0 0; max-width:28ch;
}
.remate--centrado{ margin:52px auto 30px; text-align:center; max-width:34ch; }

/* ---------- Botones ---------- */
.boton{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:700; font-size:15.5px;
  letter-spacing:-0.005em;
  padding:15px 30px; border-radius:100px;
  background:var(--gradiente-h); background-size:180% 100%;
  color:#fff; text-decoration:none; border:0; cursor:pointer;
  transition:background-position .45s ease, transform .18s ease, box-shadow .25s ease;
  box-shadow:0 6px 20px -8px rgba(70,75,159,.55);
}
.boton:hover{ background-position:100% 0; transform:translateY(-2px); box-shadow:0 12px 28px -10px rgba(178,23,199,.5); }
.boton--grande{ padding:18px 40px; font-size:17px; }
.boton--pequeno{ padding:11px 22px; font-size:14px; }

.boton--fantasma{
  background:transparent; color:var(--tinta);
  border:1.5px solid var(--linea); box-shadow:none;
}
.boton--fantasma:hover{ border-color:var(--turquesa); color:var(--turquesa-osc); background:transparent; transform:translateY(-2px); }

.boton--blanco{ background:#fff; color:var(--tinta); box-shadow:0 10px 30px -12px rgba(0,0,0,.4); }
.boton--blanco:hover{ background:#fff; color:var(--magenta); }

/* ═════════════ BARRA SUPERIOR ═════════════ */
.barra{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s;
}
.barra.esta-fija{ border-bottom-color:var(--linea); box-shadow:0 4px 22px -18px rgba(11,27,43,.5); }
.barra__interior{
  max-width:var(--ancho); margin:0 auto; padding:12px 24px;
  display:flex; align-items:center; gap:28px;
}
.barra__marca{ display:flex; align-items:center; gap:14px; text-decoration:none; }
.barra__logo{ height:34px; width:auto; }
.barra__logo--fego{ height:30px; }
.barra__separador{ width:1px; height:24px; background:var(--linea); }

.barra__nav{ display:flex; gap:26px; margin-left:auto; }
.barra__nav a{
  font-size:14.5px; font-weight:500; color:var(--tinta-media);
  text-decoration:none; transition:color .2s;
}
.barra__nav a:hover{ color:var(--turquesa-osc); }

/* ═════════════ 1. PORTADA ═════════════ */
.portada{ position:relative; padding:96px 0 78px; overflow:hidden; }
.portada__luz{
  position:absolute; inset:auto -12% -55% 28%;
  height:760px; pointer-events:none;
  background:
    radial-gradient(closest-side, rgba(178,23,199,.16), transparent 72%) 78% 34%/62% 62% no-repeat,
    radial-gradient(closest-side, rgba(8,169,184,.20), transparent 72%) 30% 68%/70% 66% no-repeat;
  filter:blur(6px);
}
.portada__interior{ position:relative; }

.portada__titulo{
  font-size:clamp(38px,6.2vw,74px); font-weight:900;
  letter-spacing:-0.035em; max-width:17ch; margin:0 0 26px;
}
.portada__bajada{ font-size:clamp(17px,1.7vw,20px); color:var(--tinta-media); max-width:56ch; }

.portada__acciones{ display:flex; flex-wrap:wrap; gap:14px; margin:34px 0 14px; }
.portada__nota{ font-size:14.5px; color:var(--tinta-suave); margin:0; }

.datos-clave{
  display:grid; grid-template-columns:repeat(5,1fr); gap:0;
  margin:64px 0 0; padding:28px 0 0;
  border-top:1px solid var(--linea);
}
.datos-clave__item{ padding:0 22px; border-left:1px solid var(--linea); }
.datos-clave__item:first-child{ border-left:0; padding-left:0; }
.datos-clave dt{
  font-family:var(--display); font-size:11px; font-weight:700;
  letter-spacing:0.15em; text-transform:uppercase; color:var(--tinta-suave);
  margin-bottom:7px;
}
.datos-clave dd{ margin:0; font-size:15.5px; font-weight:600; line-height:1.4; }

/* ═════════════ 2. PROBLEMA ═════════════ */
.dolores{ margin:44px 0 0; display:grid; gap:1px; background:rgba(255,255,255,.09); border-radius:var(--radio-s); overflow:hidden; }
.dolores li{
  background:var(--noche); padding:20px 26px 20px 54px; position:relative;
  font-size:17px; color:#CBDCE7;
}
.dolores li::before{
  content:""; position:absolute; left:24px; top:26px;
  width:11px; height:14px; background:var(--gradiente-h);
  clip-path:polygon(52% 0,10% 58%,42% 58%,32% 100%,90% 38%,54% 38%);
  opacity:.85;
}

/* ═════════════ 3. PROGRAMA ═════════════ */
.lista-titulo{
  font-family:var(--display); font-weight:700; font-size:16px;
  margin:0 0 22px; padding-bottom:14px; border-bottom:1px solid var(--linea);
}
.logros li{
  display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:baseline;
  padding:17px 0; border-bottom:1px solid var(--linea);
  font-size:16.5px; font-weight:500;
}
.logros__num{
  font-family:var(--display); font-weight:800; font-size:13px;
  letter-spacing:.06em;
  background:var(--gradiente-h); -webkit-background-clip:text; background-clip:text; color:transparent;
}

.chequeo li{
  padding:15px 0 15px 34px; border-bottom:1px solid var(--linea);
  position:relative; font-size:16.5px;
}
.chequeo li::before{
  content:""; position:absolute; left:2px; top:22px;
  width:14px; height:8px; border-left:2.5px solid var(--turquesa); border-bottom:2.5px solid var(--turquesa);
  transform:rotate(-45deg);
}

.aviso{
  background:rgba(8,169,184,.07); border-left:3px solid var(--turquesa);
  padding:16px 20px; border-radius:0 var(--radio-s) var(--radio-s) 0;
  font-size:16px; color:var(--tinta-media); margin-top:26px;
}

/* ═════════════ 4. DIFERENCIALES ═════════════ */
.rejilla-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:52px; }
.tarjeta-razon{
  background:#fff; border:1px solid var(--linea); border-radius:var(--radio);
  padding:30px 26px; position:relative; overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.tarjeta-razon::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--gradiente-h);
  transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.tarjeta-razon:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -26px rgba(11,27,43,.5); }
.tarjeta-razon:hover::before{ transform:scaleX(1); }
.tarjeta-razon h3{ font-size:19px; font-weight:700; margin-bottom:12px; }
.tarjeta-razon p{ font-size:15.5px; color:var(--tinta-media); margin:0; }

/* ═════════════ 5. LA RUTA — elemento distintivo ═════════════ */
.ruta{ position:relative; margin-top:60px; padding-left:96px; }

.ruta__riel{
  position:absolute; left:31px; top:14px; bottom:14px; width:3px;
  background:var(--linea); border-radius:3px; overflow:hidden;
}
.ruta__riel-activo{
  position:absolute; inset:0 0 auto 0; height:0;
  background:var(--gradiente); border-radius:3px;
  transition:height .18s linear;
}

.modulo{ position:relative; margin-bottom:34px; }
.modulo:last-child{ margin-bottom:0; }

.modulo__nodo{
  position:absolute; left:-96px; top:18px;
  width:66px; height:66px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:800; font-size:19px;
  background:#fff; color:var(--tinta-suave);
  border:3px solid var(--linea);
  transition:color .4s ease, border-color .4s ease, box-shadow .4s ease, transform .4s ease;
  z-index:2;
}
.modulo.esta-activo .modulo__nodo{
  border-color:transparent; color:#fff;
  background:var(--gradiente); 
  box-shadow:0 8px 26px -10px rgba(110,42,160,.65);
  transform:scale(1.04);
}

.modulo__tarjeta{
  background:#fff; border:1px solid var(--linea); border-radius:var(--radio);
  padding:38px 40px; transition:box-shadow .3s ease, border-color .3s ease;
}
.modulo.esta-activo .modulo__tarjeta{ border-color:#D3E3EA; box-shadow:0 22px 50px -34px rgba(11,27,43,.55); }

.modulo__cabecera{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-bottom:16px;
}
.modulo__fecha{
  font-family:var(--display); font-size:12px; font-weight:700;
  letter-spacing:.13em; text-transform:uppercase; color:var(--turquesa-osc);
}
.modulo__hora{
  font-size:12px; font-weight:600; letter-spacing:.05em;
  color:var(--tinta-suave); padding-left:16px; border-left:1px solid var(--linea);
}
.modulo__titulo{ font-size:clamp(23px,2.4vw,30px); font-weight:800; margin-bottom:14px; max-width:26ch; }
.modulo__eslogan{
  font-size:17px; font-weight:500; font-style:italic;
  color:var(--violeta); margin-bottom:20px; max-width:60ch;
}
.modulo__descripcion{ color:var(--tinta-media); font-size:16.5px; max-width:66ch; }

.modulo__subtitulo{
  font-family:var(--display); font-size:12px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--tinta-suave);
  margin:26px 0 14px;
}
.modulo__aprendizajes li{
  padding:9px 0 9px 30px; position:relative; font-size:16px;
}
.modulo__aprendizajes li::before{
  content:""; position:absolute; left:2px; top:16px;
  width:11px; height:14px; background:var(--gradiente-h);
  clip-path:polygon(52% 0,10% 58%,42% 58%,32% 100%,90% 38%,54% 38%);
}

.modulo__ideal{
  margin-top:22px; padding:15px 20px; border-radius:var(--radio-s);
  background:var(--papel-alt); font-size:15.5px; color:var(--tinta-media);
}
.modulo__ideal strong{ color:var(--tinta); }

/* --- Facilitador dentro del módulo --- */
.facilitador{
  margin-top:30px; padding-top:28px; border-top:1px solid var(--linea);
  display:grid; grid-template-columns:88px 1fr; gap:22px; align-items:start;
}
.facilitador__foto{
  width:88px; height:88px; border-radius:50%; object-fit:cover;
  border:3px solid #fff; box-shadow:0 0 0 2px var(--linea);
}
.facilitador__rotulo{
  font-family:var(--display); font-size:11px; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase; color:var(--tinta-suave);
  margin:0 0 6px;
}
.facilitador__nombre{ font-size:20px; font-weight:800; margin:0 0 3px; }
.facilitador__rol{ font-size:14.5px; font-weight:600; color:var(--turquesa-osc); margin:0 0 12px; }
.facilitador__bio{ font-size:15.5px; color:var(--tinta-media); margin:0; }

.facilitador__mas{
  background:none; border:0; padding:6px 0 0; margin:0;
  font-family:var(--cuerpo); font-size:14.5px; font-weight:600;
  color:var(--magenta); cursor:pointer;
  display:inline-flex; align-items:center; gap:6px;
}
.facilitador__mas:hover{ text-decoration:underline; }
.facilitador__mas::after{ content:"▾"; font-size:11px; transition:transform .25s; }
.facilitador__mas[aria-expanded="true"]::after{ transform:rotate(180deg); }

.facilitador__completa{ display:none; margin-top:14px; }
.facilitador__completa.esta-abierta{ display:block; }
.facilitador__completa p{
  font-size:15.5px; color:var(--tinta-media); margin:0 0 12px;
  padding-left:16px; border-left:2px solid var(--linea);
}

.modulo__pie{ margin-top:30px; }

/* ═════════════ 6. CERTIFICACIÓN ═════════════ */
.comparativo{ display:grid; grid-template-columns:1fr 1.15fr; gap:22px; margin-top:52px; align-items:stretch; }
.comparativo__col{
  background:#fff; border:1px solid var(--linea); border-radius:var(--radio);
  padding:34px 32px;
}
.comparativo__col--destacada{
  position:relative; border:0; color:#fff;
  background:var(--noche);
  box-shadow:0 24px 50px -30px rgba(11,27,43,.7);
}
.comparativo__col--destacada::before{
  content:""; position:absolute; inset:0; border-radius:var(--radio);
  padding:2px; background:var(--gradiente);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none;
}
.comparativo__insignia{
  display:inline-block; font-family:var(--display); font-size:11px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
  background:var(--gradiente-h); color:#fff;
  padding:6px 14px; border-radius:100px; margin:0 0 16px;
}
.comparativo__cabeza{
  font-family:var(--display); font-size:19px; font-weight:800; margin:0 0 20px;
}
.comparativo__col ul li{
  padding:12px 0 12px 28px; position:relative; font-size:16px;
  border-bottom:1px solid var(--linea);
}
.comparativo__col--destacada ul li{ border-bottom-color:rgba(255,255,255,.12); color:#DCE9F2; }
.comparativo__col ul li:last-child{ border-bottom:0; }
.comparativo__col ul li::before{
  content:""; position:absolute; left:0; top:19px;
  width:13px; height:7px; border-left:2.5px solid var(--turquesa); border-bottom:2.5px solid var(--turquesa);
  transform:rotate(-45deg);
}
.comparativo__col--destacada ul li::before{ border-color:var(--menta); }
.comparativo__col--destacada strong{ color:#fff; }

.nota-certificacion{
  text-align:center; font-size:14.5px; color:var(--tinta-suave);
  max-width:52ch; margin:-14px auto 30px;
}

/* ═════════════ 8. PASOS ═════════════ */
.pasos{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:52px; counter-reset:paso; }
.pasos li{ position:relative; padding-top:8px; }
.pasos__num{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  font-family:var(--display); font-weight:800; font-size:17px; color:#fff;
  background:var(--gradiente); margin-bottom:18px;
}
.pasos li h3{ font-size:18px; font-weight:700; margin-bottom:9px; }
.pasos li p{ font-size:15.5px; color:var(--tinta-media); margin:0; }

/* ═════════════ 9. ACORDEÓN ═════════════ */
.acordeon{ margin-top:44px; border-top:1px solid var(--linea); }
.pregunta{ border-bottom:1px solid var(--linea); }
.pregunta__boton{
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  font-family:var(--display); font-size:17.5px; font-weight:700; color:var(--tinta);
  padding:24px 44px 24px 0; position:relative;
}
.pregunta__boton::after{
  content:""; position:absolute; right:6px; top:50%; width:11px; height:11px;
  border-right:2.5px solid var(--turquesa); border-bottom:2.5px solid var(--turquesa);
  transform:translateY(-70%) rotate(45deg); transition:transform .28s ease;
}
.pregunta__boton[aria-expanded="true"]::after{ transform:translateY(-30%) rotate(-135deg); }
.pregunta__boton:hover{ color:var(--turquesa-osc); }
.pregunta__cuerpo{
  display:grid; grid-template-rows:0fr; transition:grid-template-rows .32s ease;
}
.pregunta__cuerpo.esta-abierta{ grid-template-rows:1fr; }
.pregunta__cuerpo > div{ overflow:hidden; }
.pregunta__cuerpo p{
  font-size:16.5px; color:var(--tinta-media); margin:0; padding:0 40px 26px 0;
}

/* ═════════════ 10. CIERRE ═════════════ */
.cierre{
  position:relative; padding:104px 0; text-align:center;
  background:var(--noche); color:#fff; overflow:hidden;
}
.cierre::before{
  content:""; position:absolute; inset:0; opacity:.28;
  background:
    radial-gradient(closest-side, rgba(178,23,199,.85), transparent 70%) 18% 12%/54% 78% no-repeat,
    radial-gradient(closest-side, rgba(8,169,184,.85), transparent 70%) 82% 88%/58% 82% no-repeat;
}
.cierre .contenedor{ position:relative; }
.cierre__titulo{ font-size:clamp(30px,4.6vw,52px); font-weight:900; letter-spacing:-.03em; margin-bottom:24px; }
.cierre__texto{ font-size:18px; color:#B9CCDA; max-width:60ch; margin:0 auto 20px; }
.cierre__urgencia{ font-size:18px; color:#fff; margin-bottom:32px; }
.cierre__urgencia strong{ color:var(--menta); }
.cierre__nota{ font-size:14.5px; color:#8FA6B7; margin:26px 0 0; }

/* ═════════════ FRANJA / BANNER FOTOGRÁFICO ═════════════ */
.franja{
  position:relative; isolation:isolate; overflow:hidden;
  padding:96px 0; color:#fff;
  background:var(--noche) url("../img/banner.jpg") center 42%/cover no-repeat;
}
/* Velo degradado: oscurece la izquierda para que el texto se lea siempre,
   y deja entrar los colores de marca por la derecha. */
.franja__velo{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(96deg,
      rgba(8,17,32,.78) 0%,
      rgba(8,17,32,.70) 32%,
      rgba(20,26,72,.60) 56%,
      rgba(110,42,160,.46) 78%,
      rgba(8,169,184,.38) 100%);
}
.franja::after{
  content:""; position:absolute; inset:auto 0 0 0; height:110px; z-index:-1;
  background:linear-gradient(to top, rgba(8,17,32,.55), transparent);
}
.franja__interior{ position:relative; max-width:var(--ancho); }
.franja__antetitulo{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--display); font-size:12px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--menta);
  margin:0 0 18px;
}
.franja__titulo{
  font-size:clamp(28px,4.2vw,50px); font-weight:900; letter-spacing:-.03em;
  margin:0 0 20px; max-width:20ch;
  text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.franja__texto{
  font-size:18px; color:#D2E1EC; max-width:46ch; margin:0 0 30px;
  text-shadow:0 1px 14px rgba(0,0,0,.4);
}

/* ═════════════ PIE DE PÁGINA ═════════════ */
.pie{ background:#06101E; color:#94AABB; padding:64px 0 0; }
.pie__interior{ display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:48px; align-items:start; }
.pie__marca{ display:flex; flex-direction:column; gap:20px; align-items:flex-start; }
.pie__logo{ height:44px; width:auto; }
.pie__logo--fego{
  height:42px; background:#fff; padding:10px 18px; border-radius:12px;
}
.pie__respaldo{
  font-size:14px; color:#5D7284; margin:2px 0 0; max-width:34ch; line-height:1.55;
}

.pie__enlaces{ display:flex; flex-direction:column; gap:12px; }
.pie__enlaces a{ color:#94AABB; text-decoration:none; font-size:15px; transition:color .2s; }
.pie__enlaces a:hover{ color:var(--menta); }

.pie__contacto p{ margin:0 0 11px; font-size:15px; }
.pie__contacto a{ color:#94AABB; text-decoration:none; }
.pie__contacto a:hover{ color:var(--menta); }
.pie__contacto .pie__rotulo{
  font-family:var(--display); font-size:11px; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase; color:#5D7284; margin-bottom:14px;
}

.pie__legal{ margin-top:56px; border-top:1px solid rgba(255,255,255,.08); padding:22px 0; }
.pie__legal p{ margin:0; font-size:13.5px; color:#5D7284; }

/* ═════════════ ANIMACIÓN DE ENTRADA ═════════════ */
.aparece{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.aparece.es-visible{ opacity:1; transform:none; }

/* ═════════════ RESPONSIVE ═════════════ */
@media (max-width:1000px){
  .contenedor--dividido{ grid-template-columns:1fr; gap:44px; }
  .rejilla-4{ grid-template-columns:repeat(2,1fr); }
  .pasos{ grid-template-columns:repeat(2,1fr); gap:32px 22px; }
  .comparativo{ grid-template-columns:1fr; }
  .datos-clave{ grid-template-columns:repeat(3,1fr); gap:24px 0; }
  .datos-clave__item:nth-child(4){ border-left:0; padding-left:0; }
  .barra__nav{ display:none; }
  .pie__interior{ grid-template-columns:1fr 1fr; gap:40px; }
  .pie__marca{ grid-column:1 / -1; flex-direction:row; align-items:center; gap:32px; }
}

@media (max-width:720px){
  body{ font-size:16px; }
  .seccion{ padding:72px 0; }
  .portada{ padding:60px 0 56px; }
  .contenedor{ padding:0 20px; }

  .datos-clave{ grid-template-columns:repeat(2,1fr); }
  .datos-clave__item{ padding:0; border-left:0; }
  .datos-clave__item:nth-child(5){ grid-column:1 / -1; }

  .rejilla-4{ grid-template-columns:1fr; }
  .pasos{ grid-template-columns:1fr; gap:26px; }

  /* La ruta se compacta: nodo pequeño arriba de la tarjeta */
  .ruta{ padding-left:44px; }
  .ruta__riel{ left:17px; }
  .modulo__nodo{ left:-44px; top:22px; width:36px; height:36px; font-size:13px; border-width:2px; }
  .modulo__tarjeta{ padding:26px 22px; }
  .modulo__hora{ padding-left:0; border-left:0; }

  .facilitador{ grid-template-columns:1fr; gap:16px; }
  .facilitador__foto{ width:76px; height:76px; }

  .portada__acciones .boton{ width:100%; }
  .franja{ padding:66px 0; background-position:58% 42%; }
  .franja__titulo{ max-width:100%; }
  .franja .boton{ width:100%; }
  .dolores li{ padding:17px 20px 17px 46px; font-size:16px; }
  .pie__marca{ flex-direction:column; align-items:flex-start; gap:20px; }
  .pie__interior{ grid-template-columns:1fr; gap:34px; }
}

/* ═════════════ ACCESIBILIDAD: MOVIMIENTO REDUCIDO ═════════════ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
  .aparece{ opacity:1; transform:none; }
}

/* ═════════════ IMPRESIÓN ═════════════ */
@media print{
  .barra, .portada__acciones, .boton, .cierre{ display:none !important; }
  body{ font-size:12pt; }
  .facilitador__completa{ display:block !important; }
}
