/* ══ LUMAFE · composición de páginas · fuente: scripts/lumafe-pages.css ══
   Un solo bloque para todas las páginas: aquí vive lo que es geometría propia de
   cada diseño (timeline, bento, arco, formulario, FAQ). Los átomos compartidos
   (chip, etiquetas, eyebrow, kicker, tarjetas, manchas, marquee) están en el
   bloque «sistema v3». Las páginas ya NO llevan CSS propio.
   Al añadir una página: una sección con su prefijo dentro de este mismo fichero. */

/* ═══════════════════════════════════════════════════════════════════
   SOBRE MÍ  (prefijo sm-)
   ═══════════════════════════════════════════════════════════════════ */


/* ── hero ── */
.sm-chip p{margin:0}
.sm-chip .sm-chip-in{display:inline-flex;align-items:center;gap:12px;border-radius:999px;
  padding:9px 18px;background:#fffdf8;border:1px solid rgba(22,51,58,.08);
  font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--e-global-color-steel)}
.sm-chip .sm-dot{width:8px;height:8px;border-radius:50%;background:var(--e-global-color-terracota);flex:none}
.sm-h1 em{font-style:italic;font-weight:400}
.sm-h1 em.sm-tca{color:var(--e-global-color-terracota)}
.sm-sub p{margin:0}
.sm-tags p{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.sm-tags span{border-radius:999px;border:1px solid rgba(147,163,188,.45);background:#fffdf8;
  padding:7px 14px;font-size:13px;font-weight:600;color:var(--e-global-color-steel)}

/* ── cabecera de sección ── */
.sm-eyebrow p{margin:0;font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase}
.sm-h2 em{font-style:italic;font-weight:400;color:var(--e-global-color-sera-deep)}
.sm-side p{margin:0;font-size:15px;line-height:1.625;color:var(--e-global-color-steel)}

/* ── el camino: timeline en zigzag ── */
.sm-tl{position:relative}
.sm-tl::before{content:"";position:absolute;top:0;bottom:0;left:23px;width:2px;border-radius:2px;
  background:rgba(147,163,188,.45)}
.sm-item{position:relative;padding-left:68px;padding-bottom:36px}
.sm-item:last-child{padding-bottom:0}
.sm-item .sm-dot{position:absolute;top:6px;left:0;width:46px;height:46px;z-index:2;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:var(--e-global-color-mist);border:1px solid rgba(147,163,188,.5)}
.sm-item .sm-dot .elementor-icon{font-size:19px;color:var(--e-global-color-sera)}
.sm-item.sm-accent .sm-dot .elementor-icon{color:var(--e-global-color-terracota)}
.sm-item.sm-gold .sm-dot .elementor-icon{color:var(--e-global-color-ocre)}
.sm-card{border-radius:24px;border:1px solid rgba(22,51,58,.08);background:#fffdf8;padding:26px 28px}
.sm-k p{margin:0;display:flex;align-items:baseline;gap:12px}
.sm-k i{font-style:italic;font-family:"Averia Serif Libre",Georgia,serif;font-size:14px;
  color:var(--e-global-color-terracota)}
.sm-k span{font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--e-global-color-steel)}
.sm-card-title{margin-top:9px}
.sm-card-title em{font-style:italic;font-weight:400;color:var(--e-global-color-sera-deep)}
.sm-card-p p{margin:10px 0 0;font-size:14.5px;line-height:1.7;color:var(--e-global-color-steel)}
.sm-card-p strong{color:var(--e-global-color-ink)}
.sm-mini p{margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.sm-mini span{border-radius:999px;border:1px solid rgba(147,163,188,.45);background:#fffdf8;
  padding:6px 12px;font-size:13px;color:var(--e-global-color-steel)}
.sm-quote-card{background:var(--e-global-color-arena)}
.sm-quote-card .sm-k span{color:var(--e-global-color-steel)}
.sm-quote p{margin:12px 0 0;font-family:"Averia Serif Libre",Georgia,serif;font-size:22px;
  line-height:1.3;color:var(--e-global-color-ink)}
.sm-quote em{font-style:italic;color:var(--e-global-color-terracota)}
.sm-dark{background:var(--e-global-color-ink);border-color:rgba(250,247,239,.12)}
.sm-dark .sm-k i{color:var(--e-global-color-aqua)}
.sm-dark .sm-k span{color:rgba(250,247,239,.55)}
.sm-dark .sm-card-title{color:var(--e-global-color-mist)}
.sm-dark .sm-card-title em{color:var(--e-global-color-aqua)}
.sm-dark .sm-card-p p{color:rgba(250,247,239,.75)}
.sm-dark .sm-card-p strong{color:var(--e-global-color-mist)}
.sm-dark .sm-mini span{background:rgba(250,247,239,.06);border-color:rgba(250,247,239,.3);
  color:var(--e-global-color-mist)}
.sm-final{background:var(--e-global-color-aqua);border-color:rgba(22,51,58,.12)}
.sm-final .sm-card-p p,.sm-final .sm-card-p strong{color:rgba(22,51,58,.88)}

@media (min-width:1024px){
  .sm-tl::before{left:50%;transform:translateX(-50%)}
  .sm-item{width:50%;padding-left:0;padding-right:56px}
  .sm-item:nth-child(even){margin-left:50%;padding-right:0;padding-left:56px}
  .sm-item:nth-child(odd) .sm-dot{left:auto;right:-23px}
  .sm-item:nth-child(even) .sm-dot{left:-23px;right:auto}
}

/* ── lumafe hoy: bento ── */
.sm-bento-grid > .sm-wide{grid-column:span 2}
.sm-bento-grid > .sm-full{grid-column:1/-1}
@media (max-width:767px){
  .sm-bento-grid > .sm-wide,.sm-bento-grid > .sm-full{grid-column:auto}
}
.sm-tile{border-radius:24px;border:1px solid rgba(22,51,58,.08);background:#fffdf8;padding:28px}
.sm-tile .sm-tile-ic .elementor-icon{font-size:23px;color:var(--e-global-color-sera)}
.sm-tile-title{margin-top:16px}
.sm-tile-p p{margin:9px 0 0;font-size:14.5px;line-height:1.7;color:var(--e-global-color-steel)}
.sm-tile-p strong{color:var(--e-global-color-ink)}
.sm-frost{background:var(--e-global-color-frost)}
.sm-arena{background:var(--e-global-color-arena)}
.sm-tile-link .elementor-button{background:none;color:var(--e-global-color-ink);
  padding:14px 0 0;font-weight:600;font-size:14px;border-radius:0}
.sm-tile-link .elementor-button:hover{color:var(--e-global-color-terracota)}
.sm-tile-quote{text-align:center;background:#fdfcf6}
.sm-tile-quote .sm-tile-ic .elementor-icon{font-size:32px;margin-bottom:14px}
/* el tamaño, la familia y el color de la cita viven en los ajustes del widget
   (34/24/22 · serif · steel); esta regla solo quita el margen del <p> */
.sm-big p{margin:0}
.sm-big em{font-style:italic;color:var(--e-global-color-terracota)}
.sm-sig p{margin:20px 0 0}

/* ── comunidad ── */
.sm-panel{border-radius:32px;border:1px solid rgba(22,51,58,.1);background:#fdfcf6;
  padding:36px 28px}
.sm-panel .sm-h2{font-size:44px}
.sm-lead p{margin:22px 0 0;font-size:17px;line-height:1.625;color:var(--e-global-color-steel)}
.sm-socials{margin-top:26px}
.sm-socials .elementor-social-icon{border:1px solid rgba(22,51,58,.15);background:#fffdf8;
  color:var(--e-global-color-steel);transition:background-color .3s,color .3s,border-color .3s}
.sm-socials .elementor-social-icon:hover{background:var(--e-global-color-ink);
  color:var(--e-global-color-mist);border-color:var(--e-global-color-ink)}
.sm-form .elementor-field-group .elementor-field{background:#fffdf8;border:1px solid rgba(22,51,58,.12);
  border-radius:999px;padding:15px 22px;font-size:15px;color:var(--e-global-color-ink)}
.sm-form .elementor-field-group .elementor-field:focus{border-color:var(--e-global-color-azul)}
.sm-form .elementor-field-group{padding-right:10px}
.sm-form .elementor-button{background:var(--e-global-color-azul);color:var(--e-global-color-ink);
  border-radius:999px;padding:16px 30px;font-size:14px;font-weight:600}
.sm-form .elementor-button:hover{background:var(--e-global-color-azul-deep);color:var(--e-global-color-ink)}
.sm-form .elementor-message{font-size:13px;color:var(--e-global-color-sera-deep)}
.sm-note p{margin:14px 0 0;font-size:13px;color:var(--e-global-color-steel)}

/* ── ajustes de ancho / estado de botones ── */
.sm-sub{max-width:38rem}
.sm-side{max-width:24rem}
.sm-ctas .sm-btn-ghost .elementor-button{background:none;box-shadow:none;color:var(--e-global-color-ink);
  padding:16px 6px;gap:10px}
.sm-ctas .sm-btn-ghost .elementor-button:hover{color:var(--e-global-color-sera-deep)}
.sm-ctas .sm-btn-ghost .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(22,51,58,.2);font-size:12px}
.sm-tile .sm-mini span,.sm-tile .sm-mini p{gap:8px}

/* la pista del marquee es más ancha que la pantalla: recortarla siempre */
.sm-marquee-band{overflow:hidden}

/* etiquetas de las tarjetas oscuras / aqua (los ajustes cubren título y cuerpo) */
.sm-dark .sm-k i{color:var(--e-global-color-aqua)}
.sm-dark .sm-k span{color:rgba(250,247,239,.6)}
.sm-dark .sm-card-title em{color:var(--e-global-color-aqua)}
.sm-dark .sm-mini span{background:rgba(250,247,239,.06);border-color:rgba(250,247,239,.3);
  color:var(--e-global-color-mist)}
.sm-final .sm-k i,.sm-final .sm-k span{color:rgba(22,51,58,.7)}
.sm-final .sm-card-title em{color:var(--e-global-color-ink)}
.sm-card-title{margin-top:9px}

/* formulario: una sola fila, campo flexible, botón pegado al borde del panel */
.sm-form .elementor-form-fields-wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.sm-form .elementor-field-group{flex:1 1 180px;width:auto!important;min-width:0;padding:0}
.sm-form .elementor-field-group .elementor-field{width:100%!important;box-sizing:border-box}
.sm-form .elementor-field-group.elementor-field-type-submit{flex:0 0 auto;width:auto!important}
.sm-form .elementor-field-group.elementor-field-type-submit .elementor-button{width:auto}

/* contraste: sobre arena y cloud, el acento y el acero necesitan un paso más oscuro */
.sm-quote-card .sm-k i,.sm-quote-card .sm-quote em{color:#8b4a32}
.sm-bento .sm-eyebrow p{color:#3f5468}
.sm-bento .sm-side p{color:#3f5468}

/* ═══ lo que queda en la página ═══
   reveals, elevación al hover, giros y rebote son utilidades site-wide:
   ver scripts/lumafe-utilities.css (Customizer → CSS adicional). */

.sm-hero-in{will-change:transform,opacity}

/* cue «Mi camino» */
.sm-cue{display:none}
@media (min-width:1024px){.sm-cue{display:block;margin-top:8px}}
.sm-cue .elementor-button{background:none;color:var(--e-global-color-mute);padding:8px 0;
  flex-direction:column-reverse;gap:6px;font-size:11px;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase}
.sm-cue .elementor-button:hover{color:var(--e-global-color-ink)}

/* sello giratorio del hero */
.sm-medal{margin-bottom:6px}
.sm-medal .elementor-icon,.sm-medal .elementor-icon i{font-size:26px;color:var(--e-global-color-ocre)}

/* iconos decorativos */
.sm-sun .elementor-icon{font-size:34px;color:var(--e-global-color-azul);margin-bottom:16px}
/* la posición va en los ajustes del widget: Elementor fuerza position:relative con 2 clases */
/* la opacidad va en el wrapper: el color rgba se pierde porque Elementor escribe
   `color` con más especificidad y el alfa no llega al trazo */
.sm-tile .sm-ghost{pointer-events:none;opacity:.16}
.sm-ghost .elementor-icon{font-size:112px;color:var(--e-global-color-azul)}
/* el SVG del kit se pinta con fill:currentColor (CSS gana al atributo fill="none"):
   la flor del HTML es de línea, así que se fuerza trazo */
.sm-ghost svg,.sm-ghost svg *{fill:none;stroke:currentColor}
.sm-ghost svg{stroke-width:1.5;overflow:visible}
.sm-tile{position:relative;overflow:hidden}
.sm-tile > *{position:relative;z-index:1}

/* feedback de controles que no cubren las utilidades */
.sm-tags span,.sm-tile .sm-mini span{transition:transform .3s,border-color .3s}
.sm-tags span:hover,.sm-tile .sm-mini span:hover{transform:translateY(-2px);
  border-color:var(--e-global-color-azul)}
.sm-tile-link .elementor-button-icon,.sm-btn-ghost .elementor-button-icon{transition:transform .35s}
.sm-tile-link .elementor-button:hover .elementor-button-icon,
.sm-btn-ghost .elementor-button:hover .elementor-button-icon{transform:translateX(4px)}

/* ═══════════ fidelidad al HTML v3 ═══════════
   Se recuperan rasgos de la identidad que la primera pasada había quitado por
   las reglas de la casa (sombras en reposo, degradados, acentos lavanda):
   aquí manda el diseño aprobado del cliente. */

/* medida del titular: el HTML lo rompe en 4 líneas dentro de 46rem.
   Va en el título, no en el widget: Elementor fuerza `max-width:100%` a los
   widgets hijos de `.e-con-inner` con cuatro clases y no hay control nativo. */
.sm-h1 .elementor-heading-title{max-width:46rem;margin-inline:auto}
.sm-sub{margin-top:8px}

/* acentos lavanda de la marca (v3: .aem/.tca), no el teal oscuro */
.sm-h2 em,.sm-card-title em{color:var(--e-global-color-azul)}

/* fondo con volumen: manchas difusas, como .blobs / .c-blob / .bt-blob */
.sm-hero,.sm-camino,.sm-bento,.sm-com{position:relative;overflow:hidden}
.sm-hero > *:not(.sm-blob),.sm-camino > *:not(.sm-blob),
.sm-bento > *:not(.sm-blob),.sm-com > *:not(.sm-blob){position:relative;z-index:1}
.sm-blob{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(56px)}
.sm-blob-a{width:38rem;height:38rem;left:-9rem;top:-7rem;background:rgba(233,238,244,.85)}
.sm-blob-b{width:30rem;height:30rem;right:-8rem;bottom:-9rem;background:rgba(169,188,209,.32)}
.sm-blob-c{width:28rem;height:28rem;right:-9rem;top:8rem;background:rgba(233,238,244,.6)}
.sm-blob-d{width:24rem;height:24rem;left:-8rem;bottom:6rem;background:rgba(169,188,209,.22)}
.sm-blob-e{width:30rem;height:30rem;left:50%;top:-10rem;transform:translateX(-50%);background:rgba(250,247,239,.6)}
.sm-blob-f{width:24rem;height:24rem;left:12%;top:2rem;background:rgba(233,238,244,.7)}
.sm-blob-g{width:22rem;height:22rem;right:12%;bottom:2rem;background:rgba(169,188,209,.22)}

/* sello: disco crema con sombra, como .medal (el disco lo pinta el widget, no el wrapper) */
.sm-medal{position:relative;z-index:2;display:flex;justify-content:center}
.sm-medal .teducas-circular-badge__link{background:#FFFDF8;border-radius:50%;
  box-shadow:0 18px 40px rgba(22,51,58,.12)}

/* chip de identidad flotante: solo pantallas anchas (HTML: .hero-fchip) */
.sm-idchip{position:absolute;right:0;top:34%;z-index:2;display:none;width:196px;
  border-radius:16px;background:#FFFDF8;border:1px solid rgba(22,51,58,.08);
  box-shadow:0 20px 50px rgba(22,51,58,.18);animation:sm-floaty 5s ease-in-out infinite}
@media (min-width:1280px){.sm-idchip{display:flex}}
.sm-idchip-k p{margin:0;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--e-global-color-steel)}
.sm-idchip-d p{margin:2px 0 0;font-size:12px;color:var(--e-global-color-mute)}
@keyframes sm-floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* tarjetas y tiles: sombra en reposo (v3 .tl-card / .tile) */
.sm-card{box-shadow:0 18px 44px rgba(22,51,58,.08)}
.sm-card.sm-dark{box-shadow:0 22px 50px rgba(22,51,58,.22)}
.sm-tile{box-shadow:0 16px 40px rgba(22,51,58,.07)}
.sm-panel{box-shadow:0 30px 80px rgba(22,51,58,.12)}

/* línea del camino: degradado lavanda → oro, como .tl::before */
.sm-tl::before{background:linear-gradient(180deg,rgba(147,163,188,.55),rgba(201,142,50,.5) 55%,rgba(147,163,188,.15))}

/* puntos del camino: aro lavanda y sombra suave */
.sm-item .sm-dot{box-shadow:0 10px 24px rgba(22,51,58,.1);border-color:rgba(147,163,188,.5)}

/* cabecera de sección: guion de 40px antes del eyebrow (HTML: .eyebrow .ln) */
.sm-eyebrow p::before{content:"";display:inline-block;width:40px;height:1px;
  background:rgba(147,163,188,.7);margin-right:16px;vertical-align:middle}

/* marquee: banda rotada con filos, como el HTML */
.sm-marquee-band{transform:rotate(-1deg) scale(1.02);
  border-top:1px solid rgba(22,51,58,.1);border-bottom:1px solid rgba(22,51,58,.1)}
.sm-marquee-clip{overflow:hidden}
.sm-marquee-clip > .sm-marquee-band{margin-block:-12px}

/* medidas del HTML v3 que Elementor fuerza a 100% en los hijos de .e-con-inner */
.sm-sub p{max-width:38rem;margin:0 auto}
.sm-side{max-width:24rem}

/* iconos de las tiles a la izquierda, como .t-ic del HTML.
   El widget `icon` de esta versión no tiene control de alineación y Elementor
   emite `.elementor-44 .elementor-element.elementor-element-x .elementor-icon-wrapper
   {text-align:center}` (4 clases): se gana por especificidad, sin !important. */
.sm-bento .sm-bento-grid .sm-tile .sm-tile-ic .elementor-icon-wrapper{text-align:left}

/* cita del bento: tracking del HTML (letter-spacing -.01em) y cursivas de marca */
.sm-big .elementor-text-editor,.sm-big p{letter-spacing:-.01em}

/* ═══════════════════════════════════════════════════════════════════
   CONTACTO  (prefijo ct-)
   ═══════════════════════════════════════════════════════════════════ */


/* ── hero ── */
.ct-hero .ct-h1 em{font-style:italic;font-weight:400}
.ct-hero .ct-h1 em.ct-dot{color:var(--e-global-color-terracota)}
.ct-hero .ct-sub p{margin:0}
.ct-hero .lm-tags p{margin:0}

.ct-b1{top:-8rem;left:-9rem}
.ct-b2{top:26%;right:-10rem}
.ct-b3{bottom:-6rem;left:34%}

.ct-hero-grid{width:100%}

/* arco central: tarjeta 3/4 con sol girando y leyenda abajo */
.ct-art{position:relative}
.ct-arch{position:relative;width:86%;max-width:420px;margin-inline:auto}
.ct-arch-in{position:relative;overflow:hidden;aspect-ratio:3/4;border-radius:260px 260px 28px 28px;
  border:6px solid rgba(255,255,255,.75);padding:0;
  background:
    repeating-radial-gradient(circle at 50% 42%, rgba(201,142,50,.10) 0 1px, transparent 1px 46px),
    #F4EEE2}
.ct-arch-sun{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:2}
.ct-arch-sun .elementor-icon{font-size:84px}
.ct-arch-fill{min-height:1px}
.ct-arch .ct-cap{position:absolute;left:0;right:0;bottom:52px;z-index:2;padding:0 24px}
.ct-arch .ct-cap p{margin:0;font-family:"Averia Serif Libre",Georgia,serif;font-style:italic;
  font-size:24px;line-height:1.25;color:var(--e-global-color-steel)}
.ct-arch .ct-cap-n p{margin:8px 0 0;font-size:11px;font-weight:700;letter-spacing:.3em;
  text-transform:uppercase;color:var(--e-global-color-terracota)}

.ct-art .ct-orbit{position:absolute;left:-8%;bottom:12%;z-index:3}
.ct-art .ct-orbit .teducas-circular-badge__link{background:#FFFDF8;border-radius:50%;
  box-shadow:0 10px 30px rgba(22,51,58,.14);padding:6px}
.ct-art .ct-fchip{position:absolute;right:-4%;top:4%;z-index:3;width:212px;border-radius:16px;
  background:#FFFDF8;border:1px solid rgba(22,51,58,.08);box-shadow:0 20px 50px rgba(22,51,58,.18);
  animation:ct-floaty 5s ease-in-out infinite}
.ct-fchip-k p{margin:0;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--e-global-color-steel)}
.ct-fchip-t .elementor-heading-title{margin:0;font-size:18px;white-space:nowrap}
.ct-fchip-d p{white-space:nowrap}
.ct-fchip-d p{margin:2px 0 0;font-size:12px;color:var(--e-global-color-mute)}
@keyframes ct-floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.ct-btn-wa .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(22,51,58,.2);
  background:#FFFDF8;font-size:15px}

.ct-cue{display:none;align-self:center}
@media (min-width:1024px){.ct-cue{display:block;margin-top:32px}}
.ct-cue .elementor-button{background:none;color:var(--e-global-color-mute);padding:8px 0;
  flex-direction:column-reverse;gap:6px;font-size:11px;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase}
.ct-cue .elementor-button:hover{color:var(--e-global-color-ink)}

/* ── canales ── */
.ct-can-grid{margin-top:8px}
.ct-can .ct-can-ic .elementor-icon{font-size:20px;color:var(--e-global-color-sera);
  background:rgba(147,163,188,.16);border-radius:14px;padding:11px;box-sizing:content-box}
.ct-can-ic{margin-bottom:18px}
.ct-can-k p{margin:0;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--e-global-color-steel)}
.ct-can-v p{margin:6px 0 0;font-family:"Averia Serif Libre",Georgia,serif;font-size:19px;
  font-weight:600;color:var(--e-global-color-ink)}
.ct-can-v a{color:inherit;text-decoration:none}
.ct-can-v a:hover{color:var(--e-global-color-sera-deep)}
.ct-can-p p{margin:10px 0 0}
.ct-can-note p{margin:32px 0 0;font-size:13px;color:var(--e-global-color-steel)}

/* ── formulario ── */
.ct-br{right:-8rem;top:2rem}
.ct-bl{left:-8rem;bottom:0}
.ct-h2 em{color:var(--e-global-color-azul)}
.ct-lead p{margin:0}
.ct-point{align-items:flex-start}
/* el widget icono colapsa a 0 de ancho como hijo flex: hay que reservarle el hueco */
.ct-point .ct-point-ic{flex:0 0 auto;width:38px}
.ct-point-ic .elementor-icon{font-size:16px;background:rgba(64,137,146,.12);border-radius:50%;
  padding:11px;box-sizing:content-box}
.ct-point-t p{margin:0;font-size:13.5px;line-height:1.6;color:var(--e-global-color-steel)}
.ct-point-t p:first-child{margin:1px 0 3px;font-size:15px;font-weight:600;color:var(--e-global-color-ink)}
.ct-quote p{margin:26px 0 0;border-left:2px solid rgba(147,163,188,.5);padding-left:20px;
  font-family:"Averia Serif Libre",Georgia,serif;font-style:italic;font-size:18px;line-height:1.5;
  color:var(--e-global-color-ink);max-width:26rem}

.ct-cform{background:#FDFCF6;border-radius:28px}
.ct-cform-head p{margin:0}
.ct-cform-head p:first-child{font-family:"Averia Serif Libre",Georgia,serif;font-size:21px;font-weight:600;
  color:var(--e-global-color-ink)}
.ct-cform-head p+p{margin-top:4px;font-size:12.5px;color:var(--e-global-color-mute)}
.ct-req{color:var(--e-global-color-terracota)}

.ct-cform .ct-form .elementor-field-label{font-size:11px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--e-global-color-steel);margin-bottom:8px;display:block}
.ct-cform .ct-form .elementor-field-group{margin-bottom:18px}
/* controles: input/textarea llevan .elementor-field, pero el <select> NO
   (vive dentro de .elementor-select-wrapper). Se apunta a los tres por tipo. */
.ct-cform .ct-form .elementor-field-group :is(input,textarea,select){background:#FAF7EF;
  border:1px solid rgba(22,51,58,.14);border-radius:16px;padding:14px 16px;font-size:15px;
  color:var(--e-global-color-ink);width:100%;box-sizing:border-box;font-family:inherit}
.ct-cform .ct-form textarea.elementor-field{min-height:132px;resize:vertical;line-height:1.6}
.ct-cform .ct-form .elementor-field-group :is(input,textarea,select):focus{border-color:rgba(147,163,188,.75);
  box-shadow:0 0 0 4px rgba(147,163,188,.16);outline:none}
/* el wrapper del select ya no necesita caja propia */
.ct-cform .ct-form .elementor-select-wrapper{padding:0;background:none;border:0;box-shadow:none}
.ct-cform .ct-form .elementor-select-wrapper select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2354687A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:44px}
.ct-cform .ct-form .elementor-button{width:100%;border-radius:999px;padding:16px 26px;font-size:15px;
  font-weight:600}
.ct-cform .ct-form .elementor-message{font-size:13px}
.ct-priv p{margin:14px 0 0;font-size:12px;color:var(--e-global-color-mute)}

/* ── faq ── */
.ct-faq .ct-h2{max-width:44rem}
.ct-faq .ct-lead p{max-width:44rem}
.ct-faq .ct-accordion{margin-top:40px;max-width:54rem}
/* numeración 01..06 como en el HTML, sin tocar el contenido */
.ct-faq .ct-accordion{counter-reset:ct-faq}
.ct-faq .ct-accordion .elementor-accordion-item{counter-increment:ct-faq;border:0}
.ct-faq .ct-accordion .elementor-tab-title::before{content:counter(ct-faq,decimal-leading-zero);
  font-family:"Averia Serif Libre",Georgia,serif;font-style:italic;font-size:13px;font-weight:400;
  color:var(--e-global-color-terracota);margin-right:14px}
.ct-faq .ct-accordion .elementor-tab-title{border:1px solid rgba(22,51,58,.1);
  border-radius:20px;background:#FDFCF6;padding:19px 22px;font-family:"Averia Serif Libre",Georgia,serif;
  font-size:17px;font-weight:600;line-height:1.4;color:var(--e-global-color-ink)}
.ct-faq .ct-accordion .elementor-tab-title.elementor-active{border-color:rgba(147,163,188,.55);
  box-shadow:0 16px 40px rgba(147,163,188,.18);border-bottom-left-radius:0;border-bottom-right-radius:0}
.ct-faq .ct-accordion .elementor-tab-content{border:1px solid rgba(22,51,58,.1);border-top:0;
  border-radius:0 0 20px 20px;background:#FDFCF6;padding:0 22px 22px;font-size:15px;line-height:1.7;
  color:var(--e-global-color-steel)}
.ct-faq .ct-accordion .elementor-accordion-item{margin-bottom:14px}
.ct-faq .ct-accordion .elementor-tab-title a{color:inherit}
.ct-faq .ct-accordion .elementor-accordion-icon{color:var(--e-global-color-steel)}

.ct-faq-cta{margin-top:48px;background:var(--e-global-color-arena);border:1px solid rgba(22,51,58,.08);
  border-radius:24px;max-width:54rem;box-shadow:0 20px 50px rgba(22,51,58,.08)}
.ct-cta-big p{margin:0;font-family:"Averia Serif Libre",Georgia,serif;font-size:30px;line-height:1.3;
  color:var(--e-global-color-ink)}
.ct-cta-big em{font-style:italic;color:var(--e-global-color-terracota)}
.ct-cta-p p{margin:10px 0 0;font-size:14px;color:var(--e-global-color-steel)}
.ct-cta-btn{align-self:center;margin-top:22px}

@media (max-width:1023px){
  .ct-art .ct-orbit,.ct-art .ct-fchip{display:none}
  .ct-arch{max-width:360px}
}

/* Elementor genera por elemento `.elementor-42 .elementor-element.elementor-element-x
   .elementor-field-group .elementor-field:not(...){background-color:#fff}` (5 clases).
   Se replica el peso —5 clases + el tipo del control— para usar el mist del diseño. */
/* Elementor llega a 6 clases por el :not(.elementor-select-wrapper). Se suma
   .elementor-field-textual (que llevan los tres controles) para pasarle. */
.ct-form-sec .ct-form-grid .ct-cform .ct-form .elementor-field-group
  :is(input,textarea,select).elementor-field-textual{background-color:#FAF7EF}

/* título y respuesta pegados, como .faq del HTML (Elementor deja un hueco) */
.ct-faq .ct-accordion .elementor-tab-title{margin-bottom:0}
.ct-faq .ct-accordion .elementor-tab-content{margin-top:0;border-top:1px solid rgba(22,51,58,.08)}
/* ══ fin · páginas ══ */

/* ── guardas de flexión (prod con Elementor Pro 4.3.1 emitía flex:1 0 auto,
   sin shrink: el texto de los puntos desbordaba la columna y la tarjeta lo tapaba) ── */
.ct-info,.ct-form-grid > *{min-width:0}
.ct-point .ct-point-t{flex:1 1 auto;min-width:0}
.ct-point .ct-point-ic{flex:0 0 auto}

/* ── cue de «bajar» fuera del flujo ──
   Estaba en el flujo justo bajo los CTAs: al hacer scroll el bloque del hero se
   desplaza (parallax) y lo cruzaba. Como en el HTML, va anclado al pie del hero. */
.sm-hero .sm-cue,.ct-hero .ct-cue{position:absolute;left:50%;bottom:22px;
  transform:translateX(-50%);margin-top:0;z-index:3}
.sm-hero .sm-cue,.ct-hero .ct-cue{bottom:40px}

/* en móvil el icono circular del CTA de WhatsApp caía debajo del texto */
.ct-ctas .elementor-button{flex-wrap:nowrap}
@media (max-width:480px){.ct-btn-wa .elementor-button-icon{width:34px;height:34px;font-size:13px}}
