/* ═══════════════════════════════════════════════════════════════════
   TU CARRERA — PÁGINA DE PROGRAMAS
   
   Esta hoja NO impone tipografía: hereda la del tema del sitio.
   Lo único de marca que declara son los colores de abajo.
   Si los del logo cambian, cámbielos aquí y se propagan a toda
   la página: botones, etiquetas, cifras, bordes y acentos.
   ═══════════════════════════════════════════════════════════════════ */

.tc-landing.tc-landing{
  /* ── COLORES DE MARCA — edite solo estas líneas ── */
  --azul:#0B4C8C;
  --azul-900:#062E56;
  --azul-700:#084275;
  --naranja:#F5892B;
  --naranja-600:#DE7414;
  --tinta:#1A1A1A;
  --gris:#4E5D6B;
  --niebla:#F2F5F8;
  --linea:#DFE5EA;
  --blanco:#FFFFFF;

  /* ─────────────────────────────────────────────────────────────
     TIPOGRAFÍA
     No se declara ninguna fuente. El cuerpo hereda la fuente de
     texto del tema y los titulares conservan la de titulares.
     Los tamaños están en "em": toda la escala crece o encoge con
     la que tenga configurada Gillion.
     ───────────────────────────────────────────────────────────── */

  /* Esquinas discretas, como el resto del sitio */
  --radio:3px;

  --max:1180px;
  --gutter:clamp(20px,5vw,48px);

  font-family:inherit;
  color:var(--tinta);
  background:var(--blanco);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

.tc-landing.tc-landing *,
.tc-landing.tc-landing *::before,
.tc-landing.tc-landing *::after{box-sizing:border-box}
.tc-landing.tc-landing p,
.tc-landing.tc-landing h1,.tc-landing.tc-landing h2,.tc-landing.tc-landing h3,.tc-landing.tc-landing h4,
.tc-landing.tc-landing ul,.tc-landing.tc-landing ol,.tc-landing.tc-landing li,
.tc-landing.tc-landing dl,.tc-landing.tc-landing dt,.tc-landing.tc-landing dd,
.tc-landing.tc-landing figure,.tc-landing.tc-landing figcaption,.tc-landing.tc-landing blockquote{margin:0;padding:0}
.tc-landing.tc-landing img{max-width:100%;display:block}
.tc-landing.tc-landing a{color:inherit}

/* ═══════════════════════════════════════════════════════════════════
   CAPA DE COMPATIBILIDAD CON EL TEMA
   Gillion aplica sus propios estilos a p, li, blockquote, summary y
   a los campos de formulario. Aquí se neutralizan, solo dentro de
   esta página. Nada de esto afecta al resto del sitio.
   ═══════════════════════════════════════════════════════════════════ */

.tc-landing.tc-landing{
  /* La familia tipográfica se hereda del tema; el tamaño sí lo fija la
     página, porque el cuerpo de un blog se queda corto en una landing. */
  font-size:clamp(16.5px,.45vw + 15px,18.5px);
  line-height:1.6;letter-spacing:normal;
}

.tc-landing.tc-landing p{font-size:inherit;line-height:1.65;color:inherit;margin:0}

.tc-landing.tc-landing ul,
.tc-landing.tc-landing ol{list-style:none;margin:0;padding:0}
.tc-landing.tc-landing li{
  list-style:none;margin:0;background:none;border:0;
  font-size:inherit;line-height:inherit;
}
.tc-landing.tc-landing li::marker{content:""}

.tc-landing.tc-landing blockquote{
  margin:0;padding:0;border:0;background:none;quotes:none;
  font-style:normal;color:inherit;text-align:left;
}
.tc-landing.tc-landing blockquote::before,
.tc-landing.tc-landing blockquote::after{
  content:none !important;display:none !important;float:none !important;
}
.tc-landing.tc-landing blockquote p{font-size:inherit}

.tc-landing.tc-landing summary{display:block;list-style:none;font-size:inherit}
.tc-landing.tc-landing summary::marker{content:""}
.tc-landing.tc-landing summary::-webkit-details-marker{display:none}

.tc-landing.tc-landing a{text-decoration:none;box-shadow:none;border-bottom:0}
.tc-landing.tc-landing a:hover,
.tc-landing.tc-landing a:focus{text-decoration:none;box-shadow:none}

.tc-landing.tc-landing img{box-shadow:none;border:0;border-radius:0}

.tc-landing.tc-landing input,
.tc-landing.tc-landing select,
.tc-landing.tc-landing textarea,
.tc-landing.tc-landing button{
  font-family:inherit;line-height:1.45;letter-spacing:normal;
  height:auto;min-height:0;box-shadow:none;text-transform:none;
}
.tc-landing.tc-landing button{border-radius:var(--radio)}

.tc-landing.tc-landing figure{margin:0}
.tc-landing.tc-landing figcaption{font-size:inherit;color:inherit;text-align:left}
.tc-landing.tc-landing strong,
.tc-landing.tc-landing b{font-weight:700}
.tc-landing.tc-landing section{margin:0}
/* Los titulares NO declaran font-family ni letter-spacing: conservan
   la fuente de titulares que Gillion aplica en todo el sitio.
   Solo se ajusta el interlineado, que es funcional, no de marca. */
.tc-landing.tc-landing h1,
.tc-landing.tc-landing h2,
.tc-landing.tc-landing h3,
.tc-landing.tc-landing h4{line-height:1.2}

.tc-landing.tc-landing .wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}

/* Etiqueta de sección — mismo criterio que las etiquetas de categoría
   del sitio: bloque sólido, mayúsculas, sin adornos */
.tc-landing.tc-landing .etiqueta{
  display:inline-block;background:var(--naranja);color:#fff;
  font-size:.7em;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:5px 11px;border-radius:2px;
}
.tc-landing.tc-landing .etiqueta.azul{background:var(--azul)}
.tc-landing.tc-landing .etiqueta.clara{background:rgba(255,255,255,.14);color:#fff}

/* Titular con la regla naranja del logo debajo */
.tc-landing.tc-landing .titular{position:relative;padding-bottom:14px}
.tc-landing.tc-landing .titular::after{
  content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;background:var(--naranja);
}

/* ── Hero ─────────────────────────────────────────── */
.tc-landing.tc-landing .hero{
  background:var(--azul-900);color:var(--blanco);
  padding:clamp(40px,5.5vw,68px) 0;
  position:relative;overflow:hidden;
}
.tc-landing.tc-landing .hero-fondo{position:absolute;inset:0;z-index:0;overflow:hidden}
.tc-landing.tc-landing .hero-fondo img{width:100% !important;height:100% !important;max-width:none !important;object-fit:cover;opacity:.3;margin:0 !important}
.tc-landing.tc-landing .hero-fondo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,var(--azul-900) 8%,rgba(6,46,86,.86) 52%,rgba(6,46,86,.62) 100%);
}
.tc-landing.tc-landing .hero>.wrap{position:relative;z-index:1}
.tc-landing.tc-landing .hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:4px;z-index:2;
  background:linear-gradient(90deg,var(--naranja) 0 34%,var(--azul) 34% 100%);
}
.tc-landing.tc-landing .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,64px);align-items:start}
@media(max-width:900px){.tc-landing.tc-landing .hero-grid{grid-template-columns:1fr;gap:36px}}
.tc-landing.tc-landing .hero h1{
  font-weight:800;font-size:clamp(2em,5.2vw,3.4em);
  margin:18px 0 20px;color:var(--blanco);
}
.tc-landing.tc-landing .hero h1 em{font-style:normal;color:var(--naranja)}
.tc-landing.tc-landing .hero p.lede{font-size:clamp(1em,1.9vw,1.12em);color:rgba(255,255,255,.82);max-width:54ch}
.tc-landing.tc-landing .hero-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}

.tc-landing.tc-landing .btn{
  display:inline-block;padding:13px 24px;border-radius:var(--radio);
  font-family:inherit;font-weight:700;font-size:.85em;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  border:2px solid transparent;cursor:pointer;
  transition:background .16s,color .16s,border-color .16s;
}
.tc-landing.tc-landing .btn-primario{background:var(--naranja);color:#fff}
.tc-landing.tc-landing .btn-primario:hover{background:var(--naranja-600);color:#fff}
.tc-landing.tc-landing .btn-fantasma{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.tc-landing.tc-landing .btn-fantasma:hover{border-color:var(--naranja);background:var(--naranja)}

.tc-landing.tc-landing .minimapa{border-left:4px solid var(--naranja);background:rgba(255,255,255,.05);padding:22px 24px}
.tc-landing.tc-landing .minimapa h2{
  font-size:.72em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.6);margin-bottom:16px;
}
.tc-landing.tc-landing .minimapa ol{list-style:none;counter-reset:est}
.tc-landing.tc-landing .minimapa li{
  display:grid;grid-template-columns:30px 1fr;align-items:start;
  padding:0 0 18px;margin:0;counter-increment:est;list-style:none;position:relative;
}
.tc-landing.tc-landing .minimapa li>a{grid-column:2;grid-row:1}
.tc-landing.tc-landing .minimapa li>span{grid-column:2;grid-row:2}
.tc-landing.tc-landing .minimapa li:last-child{padding-bottom:0}
.tc-landing.tc-landing .minimapa li::before{
  content:counter(est,decimal-leading-zero);grid-column:1;grid-row:1;
  font-size:.78em;font-weight:700;color:var(--naranja);line-height:1.6;
}
.tc-landing.tc-landing .minimapa a{text-decoration:none;font-weight:700;font-size:1em;display:block;color:var(--blanco)}
.tc-landing.tc-landing .minimapa a:hover{color:var(--naranja)}
.tc-landing.tc-landing .minimapa span{display:block;font-size:.93em;color:rgba(255,255,255,.62);font-weight:400;margin-top:2px;line-height:1.5}

/* ── Público ──────────────────────────────────────── */
.tc-landing.tc-landing .publico{background:var(--niebla);padding:clamp(34px,4.2vw,48px) 0;border-bottom:1px solid var(--linea)}
.tc-landing.tc-landing .publico-cab{max-width:62ch;margin-bottom:22px}
.tc-landing.tc-landing .publico-cab h2{font-size:clamp(1.4em,2.8vw,1.9em);font-weight:800;margin:14px 0 10px}
.tc-landing.tc-landing .publico-cab p{color:var(--gris)}
.tc-landing.tc-landing .publico-lista{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:860px){.tc-landing.tc-landing .publico-lista{grid-template-columns:repeat(2,1fr)}}
.tc-landing.tc-landing .publico-item{
  background:var(--blanco);border:1px solid var(--linea);
  border-top:3px solid var(--azul);border-radius:var(--radio);padding:18px 18px;
}
.tc-landing.tc-landing .publico-item h3{font-size:1em;font-weight:800;color:var(--azul);margin-bottom:6px}
.tc-landing.tc-landing .publico-item p{font-size:1em;color:var(--gris);line-height:1.55}

/* ── Programas ────────────────────────────────────── */
.tc-landing.tc-landing .programas{padding:clamp(40px,5vw,64px) 0}
.tc-landing.tc-landing .sec-cab{max-width:64ch;margin-bottom:clamp(24px,3vw,34px)}
.tc-landing.tc-landing .sec-cab h2{font-size:clamp(1.6em,3.2vw,2.2em);font-weight:800;margin:12px 0 12px}
.tc-landing.tc-landing .sec-cab p{color:var(--gris);font-size:1.02em}

.tc-landing.tc-landing .ruta{position:relative}
.tc-landing.tc-landing .estacion{display:grid;grid-template-columns:78px 1fr;position:relative;padding-bottom:clamp(26px,3.2vw,40px)}
.tc-landing.tc-landing .estacion:last-child{padding-bottom:0}
@media(max-width:760px){.tc-landing.tc-landing .estacion{grid-template-columns:48px 1fr}}
.tc-landing.tc-landing .riel{position:relative}
.tc-landing.tc-landing .riel::before{content:"";position:absolute;left:18px;top:42px;bottom:-4px;width:2px;background:var(--linea)}
.tc-landing.tc-landing .estacion:last-child .riel::before{display:none}
@media(max-width:760px){.tc-landing.tc-landing .riel::before{left:14px}}
.tc-landing.tc-landing .marcador{
  width:38px;height:38px;border-radius:2px;border:2px solid var(--naranja);background:var(--naranja);
  display:grid;place-items:center;font-size:.8em;font-weight:800;color:#fff;
  position:relative;z-index:2;
}
@media(max-width:760px){.tc-landing.tc-landing .marcador{width:30px;height:30px;font-size:.7em}}

.tc-landing.tc-landing .tarjeta{border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;background:var(--blanco)}
.tc-landing.tc-landing .tarjeta-foto{margin:0;background:var(--azul-900)}

/* La proporción la impone la CAJA, no la imagen, con el truco del
   relleno porcentual: ninguna regla del tema puede estirar la foto
   más allá de su marco. 38 % equivale a 21:8. */
.tc-landing.tc-landing .marco-img{
  position:relative;width:100%;height:0;padding-top:38%;
  overflow:hidden;background:var(--azul-900);
}
.tc-landing.tc-landing .marco-img img{
  position:absolute !important;top:0 !important;left:0 !important;
  width:100% !important;height:100% !important;max-width:none !important;
  object-fit:cover;margin:0 !important;
}
@media(max-width:760px){
  .tc-landing.tc-landing .tarjeta-foto .marco-img{padding-top:56.25%}
}
.tc-landing.tc-landing .tarjeta-foto figcaption,
.tc-landing.tc-landing .equipo-foto figcaption{
  font-size:.82em;line-height:1.45;color:var(--gris);background:var(--blanco);
  padding:10px 14px;border-left:3px solid var(--naranja);
}
.tc-landing.tc-landing .equipo-foto figcaption{
  border-left:0;border-top:3px solid var(--naranja);background:var(--niebla);
}
.tc-landing.tc-landing .tarjeta-foto+.tarjeta-cab{border-top:0}
.tc-landing.tc-landing .tarjeta-cab{padding:clamp(22px,3vw,32px);border-bottom:1px solid var(--linea);border-top:4px solid var(--azul)}
.tc-landing.tc-landing .tarjeta-cab h3{font-size:clamp(1.3em,2.8vw,1.85em);font-weight:800;color:var(--azul-900);margin:14px 0 10px}
.tc-landing.tc-landing .tarjeta-cab .promesa{
  font-size:clamp(.98em,1.9vw,1.08em);color:var(--azul);font-weight:700;margin-bottom:14px;
  border-left:3px solid var(--naranja);padding-left:12px;
}
.tc-landing.tc-landing .tarjeta-cab p{color:var(--gris);max-width:62ch}
.tc-landing.tc-landing .meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.tc-landing.tc-landing .chip{
  font-size:.72em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--azul-700);background:var(--niebla);border:1px solid var(--linea);
  padding:6px 10px;border-radius:2px;
}
.tc-landing.tc-landing .tarjeta-cuerpo{display:grid;grid-template-columns:1.25fr .75fr}
@media(max-width:900px){.tc-landing.tc-landing .tarjeta-cuerpo{grid-template-columns:1fr}}

.tc-landing.tc-landing .pasos{padding:clamp(22px,3vw,32px);border-right:1px solid var(--linea)}
@media(max-width:900px){.tc-landing.tc-landing .pasos{border-right:none;border-bottom:1px solid var(--linea)}}
.tc-landing.tc-landing .pasos h4,.tc-landing.tc-landing .extra h4{
  font-size:.72em;letter-spacing:.11em;text-transform:uppercase;
  color:var(--gris);font-weight:700;margin-bottom:16px;
  padding-bottom:8px;border-bottom:1px solid var(--linea);
}
.tc-landing.tc-landing .pasos ol{list-style:none;counter-reset:p}
.tc-landing.tc-landing .pasos li{
  counter-increment:p;display:grid;grid-template-columns:34px 1fr;align-items:start;
  padding:0 0 16px;font-size:1em;line-height:1.55;position:relative;
}
.tc-landing.tc-landing .pasos li>b{grid-column:2;grid-row:1}
.tc-landing.tc-landing .pasos li>span{grid-column:2;grid-row:2}
.tc-landing.tc-landing .pasos li:last-child{padding-bottom:0}
.tc-landing.tc-landing .pasos li::before{
  content:counter(p,decimal-leading-zero);grid-column:1;grid-row:1;
  font-size:.8em;color:var(--naranja);font-weight:800;line-height:1.9;
}
.tc-landing.tc-landing .pasos li b{font-weight:700;color:var(--tinta);display:block}
.tc-landing.tc-landing .pasos li span{color:var(--gris);font-size:.97em}

.tc-landing.tc-landing .extra{padding:clamp(22px,3vw,32px);background:var(--niebla)}
.tc-landing.tc-landing .extra ul{list-style:none;margin-bottom:20px}
.tc-landing.tc-landing .extra li{
  display:grid;grid-template-columns:18px 1fr;align-items:start;
  font-size:1em;color:var(--tinta);padding:0 0 10px;line-height:1.55;position:relative;
}
.tc-landing.tc-landing .extra li::before{
  content:"";grid-column:1;grid-row:1;align-self:start;
  width:6px;height:6px;margin-top:.55em;background:var(--naranja);
}
.tc-landing.tc-landing .extra .btn-primario{display:block;width:100%;text-align:center}

.tc-landing.tc-landing .precio{
  border-top:2px solid var(--azul);background:var(--blanco);
  padding:14px 16px;margin-bottom:14px;
}
.tc-landing.tc-landing .precio span{
  display:block;font-size:.68em;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gris);margin-bottom:2px;
}
.tc-landing.tc-landing .precio strong{font-weight:800;font-size:1.9em;color:var(--azul-900);line-height:1.1}
.tc-landing.tc-landing .nota-pago{font-size:.92em;color:var(--gris);line-height:1.55;margin-bottom:20px}
.tc-landing.tc-landing .nota-pago b{color:var(--azul);font-weight:700}

/* ── Equipo ───────────────────────────────────────── */
.tc-landing.tc-landing .equipo{padding:clamp(38px,4.6vw,58px) 0;background:var(--niebla);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.tc-landing.tc-landing .equipo-foto{margin:0 0 26px;border-radius:var(--radio);overflow:hidden}
.tc-landing.tc-landing .equipo-foto .marco-img{padding-top:38%}
.tc-landing.tc-landing .equipo-lista{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
@media(max-width:980px){.tc-landing.tc-landing .equipo-lista{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.tc-landing.tc-landing .equipo-lista{grid-template-columns:repeat(2,1fr)}}
.tc-landing.tc-landing .retrato{
  position:relative;width:100%;height:0;padding-top:133.33%;overflow:hidden;
  background:var(--azul-900);border-radius:var(--radio);
}
.tc-landing.tc-landing .retrato img{
  position:absolute !important;top:0 !important;left:0 !important;
  width:100% !important;height:100% !important;max-width:none !important;
  object-fit:cover;margin:0 !important;z-index:2;
}
.tc-landing.tc-landing .retrato .marco-vacio{
  position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:12px;
  font-size:.68em;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:rgba(255,255,255,.45);line-height:1.8;
}
.tc-landing.tc-landing .persona h3{font-size:.98em;font-weight:800;margin:12px 0 2px;color:var(--azul-900)}
.tc-landing.tc-landing .persona p{font-size:.95em;color:var(--gris);line-height:1.45}

/* ── Indicadores ──────────────────────────────────── */
.tc-landing.tc-landing .kpi{background:var(--azul-900);color:var(--blanco);padding:clamp(38px,4.6vw,58px) 0}
.tc-landing.tc-landing .kpi-cab{margin-bottom:24px;max-width:60ch}
.tc-landing.tc-landing .kpi-cab h2{font-size:clamp(1.5em,3.2vw,2.2em);font-weight:800;margin:14px 0 10px;color:var(--blanco)}
.tc-landing.tc-landing .kpi-cab p{color:rgba(255,255,255,.75)}
.tc-landing.tc-landing .kpi-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.tc-landing.tc-landing .kpi-item{background:rgba(255,255,255,.06);border-left:4px solid var(--naranja);padding:26px 24px}
.tc-landing.tc-landing .kpi-cifra{font-weight:800;font-size:clamp(2.5em,5.5vw,3.4em);line-height:1;color:var(--naranja);letter-spacing:-.02em}
.tc-landing.tc-landing .kpi-etiqueta{font-size:.96em;color:#fff;margin-top:10px;line-height:1.4;font-weight:700}
.tc-landing.tc-landing .kpi-nota{font-size:.92em;color:rgba(255,255,255,.6);margin-top:6px;line-height:1.5}
.tc-landing.tc-landing .kpi-fuente{font-size:.78em;color:rgba(255,255,255,.55);margin-top:18px;font-style:italic}

/* ── Testimonios ──────────────────────────────────── */
.tc-landing.tc-landing .testimonios{padding:clamp(38px,4.6vw,58px) 0;background:var(--blanco)}
.tc-landing.tc-landing .carrusel{position:relative;border:1px solid var(--linea);border-top:4px solid var(--naranja);background:var(--niebla)}
.tc-landing.tc-landing .pista-marco{overflow:hidden}
.tc-landing.tc-landing .pista{display:flex;transition:transform .4s ease}
.tc-landing.tc-landing .diapo{flex:0 0 100%;padding:clamp(28px,4.5vw,48px) clamp(22px,4.5vw,56px)}
.tc-landing.tc-landing .diapo blockquote{
  font-weight:700;font-size:clamp(1.1em,2.6vw,1.55em);line-height:1.4;color:var(--azul-900);
  max-width:54ch;position:relative;padding-left:clamp(24px,3.5vw,38px);border:0;
}
.tc-landing.tc-landing .diapo blockquote::before{
  content:"\201C" !important;display:block !important;float:none !important;
  position:absolute !important;left:-6px !important;right:auto !important;
  top:-.22em !important;bottom:auto !important;
  width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;
  font-size:clamp(3.2em,7vw,4.6em);color:var(--naranja);line-height:1;font-weight:800;
  background:none !important;border:0 !important;
}
.tc-landing.tc-landing .firma{margin-top:22px;padding-top:16px;border-top:1px solid var(--linea);max-width:54ch;margin-left:clamp(24px,3.5vw,38px)}
.tc-landing.tc-landing .firma strong{display:block;font-weight:800;font-size:.98em;color:var(--tinta)}
.tc-landing.tc-landing .firma span{font-size:.75em;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--naranja)}
.tc-landing.tc-landing .carrusel-mandos{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(22px,4.5vw,56px) clamp(24px,3.5vw,34px)}
.tc-landing.tc-landing .puntos{display:flex;gap:7px}
.tc-landing.tc-landing .punto{width:22px;height:4px;border:0;padding:0;cursor:pointer;background:var(--linea);transition:background .2s}
.tc-landing.tc-landing .punto[aria-current="true"]{background:var(--naranja)}
.tc-landing.tc-landing .flechas{display:flex;gap:6px}
.tc-landing.tc-landing .flecha{
  width:40px;height:40px;border-radius:var(--radio);border:1px solid var(--linea);background:var(--blanco);
  cursor:pointer;display:grid;place-items:center;color:var(--azul);
  transition:border-color .16s,background .16s,color .16s;
}
.tc-landing.tc-landing .flecha:hover{border-color:var(--azul);background:var(--azul);color:#fff}
.tc-landing.tc-landing .flecha svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.5;fill:none}

/* ── Preguntas frecuentes ─────────────────────────── */
.tc-landing.tc-landing .faq{padding:clamp(38px,4.6vw,58px) 0;background:var(--blanco);border-top:1px solid var(--linea)}
.tc-landing.tc-landing .faq-lista{border-top:2px solid var(--azul)}
.tc-landing.tc-landing .faq details{border-bottom:1px solid var(--linea)}
.tc-landing.tc-landing .faq summary{
  cursor:pointer;list-style:none;padding:20px 48px 20px 0;position:relative;
  font-weight:700;font-size:1.08em;color:var(--azul-900);
}
.tc-landing.tc-landing .faq summary::-webkit-details-marker{display:none}
.tc-landing.tc-landing .faq summary::after{
  content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);
  font-size:1.5em;font-weight:400;color:var(--naranja);line-height:1;
}
.tc-landing.tc-landing .faq details[open] summary::after{content:"–"}
.tc-landing.tc-landing .faq summary:hover{color:var(--azul)}
.tc-landing.tc-landing .faq .respuesta{padding:0 48px 24px 0;color:var(--gris);font-size:1.02em;line-height:1.65;max-width:74ch}
.tc-landing.tc-landing .faq .respuesta b{color:var(--tinta);font-weight:700}
.tc-landing.tc-landing .pendiente{
  display:inline-block;background:#FFF4E3;border:1px solid #F3D2A4;color:#8A5A12;
  font-size:.7em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 8px;border-radius:2px;margin-left:6px;
}

/* ── Agenda / Calendly ────────────────────────────── */
.tc-landing.tc-landing .agenda{padding:clamp(38px,4.6vw,58px) 0;background:var(--niebla);border-top:1px solid var(--linea)}
.tc-landing.tc-landing .agenda-marco{border:1px solid var(--linea);border-top:4px solid var(--azul);background:var(--blanco);overflow:hidden;min-height:680px}
.tc-landing.tc-landing .calendly-inline-widget{min-width:280px;height:680px}
@media(max-width:600px){
  .tc-landing.tc-landing .agenda-marco{min-height:820px}
  .tc-landing.tc-landing .calendly-inline-widget{height:820px}
}

/* ── Formulario ───────────────────────────────────── */
.tc-landing.tc-landing .contacto{padding:clamp(40px,5vw,64px) 0;background:var(--blanco);border-top:1px solid var(--linea)}
.tc-landing.tc-landing .contacto-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,4.5vw,58px);align-items:start}
@media(max-width:900px){.tc-landing.tc-landing .contacto-grid{grid-template-columns:1fr}}
.tc-landing.tc-landing .contacto-info h2{font-size:clamp(1.6em,3.4vw,2.2em);font-weight:800;margin:14px 0 14px}
.tc-landing.tc-landing .contacto-info p{color:var(--gris);margin-bottom:22px}
.tc-landing.tc-landing .contacto-info dl{border-top:2px solid var(--azul);padding-top:20px}
.tc-landing.tc-landing .contacto-info dt{font-size:.7em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);margin-bottom:3px}
.tc-landing.tc-landing .contacto-info dd{margin-bottom:16px;font-weight:700;font-size:1.02em}
.tc-landing.tc-landing .contacto-info dd a{color:var(--azul);text-decoration:none}
.tc-landing.tc-landing .contacto-info dd a:hover{text-decoration:underline}

.tc-landing.tc-landing .formulario{background:var(--niebla);border:1px solid var(--linea);border-top:4px solid var(--naranja);padding:clamp(22px,3.2vw,34px)}
.tc-landing.tc-landing .campo{margin-bottom:16px}
.tc-landing.tc-landing .campo label{display:block;font-size:.9em;font-weight:700;margin-bottom:6px}
.tc-landing.tc-landing .campo .ayuda{font-weight:400;color:var(--gris)}
.tc-landing.tc-landing .campo input,
.tc-landing.tc-landing .campo select,
.tc-landing.tc-landing .campo textarea{
  width:100%;padding:11px 13px;font-family:inherit;font-size:.95em;
  border:1px solid var(--linea);border-radius:var(--radio);background:var(--blanco);color:var(--tinta);
  transition:border-color .16s,box-shadow .16s;
}
.tc-landing.tc-landing .campo textarea{min-height:92px;resize:vertical}
.tc-landing.tc-landing .campo input:focus,
.tc-landing.tc-landing .campo select:focus,
.tc-landing.tc-landing .campo textarea:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 2px rgba(11,76,140,.18)}
.tc-landing.tc-landing .fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.tc-landing.tc-landing .fila{grid-template-columns:1fr}}
.tc-landing.tc-landing .opciones{display:grid;gap:7px}
.tc-landing.tc-landing .opcion{
  display:flex;gap:4px;align-items:flex-start;border:1px solid var(--linea);border-radius:var(--radio);
  padding:11px 13px;cursor:pointer;background:var(--blanco);transition:border-color .16s,background .16s;
}
.tc-landing.tc-landing .opcion:hover{border-color:var(--azul)}
.tc-landing.tc-landing .opcion input{
  width:auto;flex:none;accent-color:var(--naranja);
  margin:2px 12px 0 0;   /* separación garantizada aunque el tema rompa el flex */
  transform:scale(1.15);transform-origin:left center;
}
.tc-landing.tc-landing .opcion span{font-size:.98em;line-height:1.45}
.tc-landing.tc-landing .opcion:has(input:checked){border-color:var(--naranja);background:#FFF6EE}
.tc-landing.tc-landing .formulario .btn-primario{display:block;width:100%;margin-top:6px;padding:14px}
.tc-landing.tc-landing .nota-form{font-size:.88em;color:var(--gris);margin-top:12px;text-align:center;line-height:1.55}
.tc-landing.tc-landing .aviso{
  display:none;margin-top:16px;padding:16px 18px;border-radius:var(--radio);
  font-size:1em;line-height:1.55;font-weight:600;scroll-margin-top:120px;
}
.tc-landing.tc-landing .aviso.ok{display:block;background:#EAF5EC;border-left:4px solid #2E7D45;color:#1E5B31}
.tc-landing.tc-landing .aviso.error{display:block;background:#FDECEC;border-left:4px solid #B33A3A;color:#8C2B2B}
.tc-landing.tc-landing .trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.tc-landing.tc-landing :focus-visible{outline:3px solid var(--naranja);outline-offset:2px}
.tc-landing.tc-landing [id^="tc-"],
.tc-landing.tc-landing .tarjeta-cab{scroll-margin-top:110px}

@media(prefers-reduced-motion:reduce){
  .tc-landing.tc-landing *,.tc-landing.tc-landing *::before,.tc-landing.tc-landing *::after{transition-duration:.001ms !important}
}

/* ── Ancho completo (shortcode con ancho="completo") ──────────────────
   Rompe el contenedor del tema para ocupar toda la pantalla.
   Sin esta clase, la página respeta el ancho de contenido de Gillion. */
.tc-landing.tc-ancho-completo.tc-ancho-completo{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow-x:hidden;
}

/* ── Convivencia con Gillion ──────────────────────────────────────────
   El tema aplica estilos a p, h2, ul y a los enlaces dentro del
   contenido; aquí se neutralizan solo dentro de la página. */
.tc-landing.tc-landing ul,
.tc-landing.tc-landing ol{list-style:none}
.tc-landing.tc-landing a{text-decoration:none;box-shadow:none}
.tc-landing.tc-landing a:hover{text-decoration:none}
.tc-landing.tc-landing blockquote{
  background:none;border:0;quotes:none;
  font-style:normal;
}
.tc-landing.tc-landing blockquote::after{content:none}
.tc-landing.tc-landing img{box-shadow:none;border-radius:0}
.tc-landing.tc-landing .retrato img,
.tc-landing.tc-landing .equipo-foto img{border-radius:inherit}
.tc-landing.tc-landing button{text-transform:none;letter-spacing:normal}
.tc-landing.tc-landing .btn{text-transform:uppercase;letter-spacing:.06em}
.tc-landing.tc-landing input,
.tc-landing.tc-landing select,
.tc-landing.tc-landing textarea{box-shadow:none;max-width:100%}
.tc-landing.tc-landing details>summary{list-style:none}

/* ═══════════════════════════════════════════════════════════════════
   SIN JAVASCRIPT
   El carrusel es el comportamiento normal. Si el navegador tiene el
   JavaScript desactivado, el bloque <noscript> de la sección de
   testimonios apila las tres opiniones y oculta los controles, para
   que el contenido siga siendo legible.
   El acordeón de preguntas usa <details>, que es nativo. Las cifras de
   los indicadores están escritas en el HTML: se ven aunque no se animen.
   ═══════════════════════════════════════════════════════════════════ */

.tc-landing.tc-landing .sin-js{display:none}

/* ═══════════════════════════════════════════════════════════════════
   MÓVIL
   ═══════════════════════════════════════════════════════════════════ */

@media(max-width:640px){
  /* Objetivos táctiles de 44 px: el mínimo cómodo con el pulgar */
  .tc-landing.tc-landing .flecha{width:46px;height:46px}
  .tc-landing.tc-landing .punto{width:26px;height:6px}
  .tc-landing.tc-landing .faq summary{padding:18px 44px 18px 0}
  .tc-landing.tc-landing .btn{padding:14px 22px;font-size:.88em}

  /* Los botones de cada tarjeta ocupan el ancho: más fáciles de pulsar */
  .tc-landing.tc-landing .hero-acciones .btn{flex:1 1 100%;text-align:center}

  /* Las cifras no deben partirse en dos líneas */
  .tc-landing.tc-landing .kpi-item{padding:22px 20px}

  /* El riel estorba en pantalla estrecha: se estrecha, no se elimina,
     porque la numeración es la que ordena la lectura */
  .tc-landing.tc-landing .estacion{grid-template-columns:40px 1fr}
  .tc-landing.tc-landing .riel::before{left:13px}
}

@media(max-width:430px){
  .tc-landing.tc-landing .publico-lista{grid-template-columns:1fr}
  .tc-landing.tc-landing .equipo-lista{grid-template-columns:repeat(2,1fr);gap:14px}
  .tc-landing.tc-landing .meta{gap:6px}
  .tc-landing.tc-landing .chip{font-size:.68em;padding:5px 8px}
}

/* Nunca desbordar a lo ancho, ni con el ancho completo activado */
.tc-landing.tc-landing{overflow-x:clip;max-width:100%}
.tc-landing.tc-ancho-completo.tc-ancho-completo{max-width:100vw}
