/* =========================================================
   OnCheck — Sitio corporativo
   Estructura y sistema de diseño calcados de la referencia
   (paytrack.com.br): misma retícula, escala tipográfica,
   espaciados, radios y composición de secciones.
   Colores y contenido: OnCheck.

   Escala: html 62.5% → 1rem = 10px
   ========================================================= */

:root{
  /* Acento de marca (ocupa el lugar del amarillo de la referencia) */
  --brand:        #dc239c;
  --brand-hover:  #ef34ac;
  --brand-soft:   rgba(220,35,156,.15);

  /* Base oscura — azul marino corporativo (idéntico a la referencia) */
  --dark-a:       #1d2946;
  --dark-b:       #001e60;
  --dark-solid:   #1d2946;

  /* Texto */
  --tx-title:     #182230;
  --tx-strong:    #101828;
  --tx-body:      #475467;
  --tx-alt:       #344054;
  --tx-mute:      #667085;
  --tx-soft:      #98a2b3;
  --tx-light:     #f9fafb;
  --tx-lighter:   #fcfcfd;
  --tx-onDark:    #e0edf9;
  --tx-accent:    #f472c4;

  /* Tintes de tarjeta (equivalen a #e0edf9 / #eefffd / #ebf9ff) */
  --tint-1:       #fce7f3;
  --tint-2:       #e0edf9;
  --tint-3:       #ebf9ff;
  --gray-100:     #f2f4f7;
  --gray-50:      #f9fafb;
  --line:         #eaecf0;
  --line-soft:    rgba(29,41,70,.1);
  --line-dark:    rgba(255,255,255,.12);

  --ok-tx:        #067647;
  --ok-bg:        #ecfdf3;
  --ok-bd:        #abefc6;
  --warn-tx:      #b54708;
  --warn-bg:      #fffaeb;
  --warn-bd:      #fedf89;

  --card-grad:    linear-gradient(140deg, rgba(255,255,255,0) 22.78%, #fff 124.02%);

  --f-title: "Plus Jakarta Sans", sans-serif;
  --f-body:  "Inter", sans-serif;
}

/* ---------------- Reset ---------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ font-size:62.5%; -webkit-text-size-adjust:100%; scroll-padding-top:10.4rem; }
body{
  margin:0; background:#fff;
  font-family:var(--f-body); font-size:1.6rem; font-weight:400; line-height:140%;
  color:var(--tx-body); -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,p{ margin:0; }
:focus-visible{ outline:.2rem solid var(--brand); outline-offset:.3rem; border-radius:.4rem; }

.container{ width:100%; max-width:128rem; margin-inline:auto; padding-inline:4rem; }
@media (max-width:768px){ .container{ padding-inline:2.4rem; } }

.skip-link{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--brand); color:#fff; padding:1.2rem 1.8rem; font-weight:600; }
.skip-link:focus{ left:0; }

/* ---------------- Tipografía compartida ----------------
   Regla equivalente a la que agrupa todos los títulos de
   sección en la referencia: 4rem / PJS 500 / -0.4px / 130%
   -------------------------------------------------------- */
.s-title{
  font-size:4rem; font-family:var(--f-title); font-weight:500;
  line-height:130%; letter-spacing:-.04rem; text-align:center; color:var(--tx-title);
}
.s-title--left{ text-align:left; }
.s-title--light{ color:#fff; }
.hat{ font-size:1.4rem; font-family:var(--f-body); line-height:140%; color:var(--tx-mute); }
.hat--light{ color:var(--tx-onDark); }

.badge{ display:inline-block; font-size:1.2rem; font-weight:500; padding:.3rem 1rem; border-radius:99.9rem; white-space:nowrap; }
.badge--ok{ color:var(--ok-tx); background:var(--ok-bg); border:1px solid var(--ok-bd); }
.badge--warn{ color:var(--warn-tx); background:var(--warn-bg); border:1px solid var(--warn-bd); }

@media (max-width:768px){ .s-title{ font-size:2.4rem; } }

/* =========================================================
   CTA — píldora con círculo de icono a la izquierda
   ========================================================= */
.cta{
  display:flex; align-items:center; justify-content:center;
  width:fit-content;
  padding:.06rem 2.4rem .06rem .06rem; gap:1.2rem;
  font-family:var(--f-body); font-size:1.4rem; font-weight:500; line-height:140%;
  color:#fff;
  border:.4rem solid var(--brand); background-color:var(--brand);
  border-radius:99.9rem;
  outline:.4rem solid transparent; outline-offset:0;
  transition:all .3s ease;
}
.cta:hover{ background-color:var(--brand-hover); border-color:var(--brand-hover); color:#fff; outline-color:var(--brand-soft); }
.cta__icon{
  width:4rem; height:4rem; border-radius:99.9rem; flex:none;
  background-color:#fff; position:relative;
}
.cta__icon::after{
  content:""; position:absolute; inset:0; margin:auto; width:2rem; height:2rem;
  background:var(--brand);
  -webkit-mask:var(--m-arrow) center/contain no-repeat; mask:var(--m-arrow) center/contain no-repeat;
}
.cta__text{ white-space:nowrap; }

.cta--inline{ padding:1rem 2rem 1rem 2.4rem; gap:1rem; outline:.4rem solid var(--brand-soft); }
.cta--inline .cta__icon{ width:2rem; height:2rem; background:none; }
.cta--inline .cta__icon::after{ width:1.6rem; height:1.6rem; background:#fff; }

.cta--light{ color:var(--dark-solid); border-color:#fff; background-color:#fff; }
.cta--light .cta__icon{ background-color:var(--brand); }
.cta--light .cta__icon::after{ background:#fff; }
.cta--light:hover{ background-color:#fff; border-color:#fff; color:var(--dark-solid); outline-color:rgba(255,255,255,.2); }

/* Enlace con icono deslizante (equivale a .s-products__card__link) */
.cardlink{
  width:fit-content; display:flex; align-items:center; justify-content:flex-start; gap:1.6rem;
  position:relative; transition:all .6s cubic-bezier(.34,1.56,.64,1);
}
.cardlink__icon{
  padding:.5rem 1.2rem; background-color:var(--brand); border-radius:79.92rem;
  display:flex; align-items:center; justify-content:center;
  transition:all .6s cubic-bezier(.34,1.56,.64,1);
}
.cardlink__icon::after{
  content:""; width:1.6rem; height:1.6rem; background:#fff;
  -webkit-mask:var(--m-arrow) center/contain no-repeat; mask:var(--m-arrow) center/contain no-repeat;
}
.cardlink__text{
  font-size:1.4rem; font-weight:500; line-height:140%; color:var(--tx-alt);
}

/* Botones circulares de control */
.roundbtn{
  width:4rem; height:4rem; border-radius:99.9rem; flex:none;
  display:flex; align-items:center; justify-content:center;
  background-color:var(--brand); transition:all .3s ease;
}
.roundbtn::after{
  content:""; width:1.8rem; height:1.8rem; background:#fff;
  -webkit-mask:var(--m-arrow) center/contain no-repeat; mask:var(--m-arrow) center/contain no-repeat;
}
.roundbtn:hover{ background-color:var(--dark-solid); }
.roundbtn--prev::after{ transform:rotate(180deg); }

/* =========================================================
   HEADER
   ========================================================= */
/* Transparente sobre el hero; blanca en cuanto se hace scroll */
.header{
  position:fixed; top:0; left:0; right:0; z-index:90;
  background:transparent; border-bottom:1px solid transparent;
  transition:background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.header.is-stuck{
  background:#fff; border-bottom-color:var(--line);
  box-shadow:0 .2rem 1.6rem rgba(16,24,40,.06);
}
.header .container{ display:flex; align-items:center; gap:3.2rem; min-height:8.8rem; }

/* Velo suave en el estado transparente: el hero tiene zonas claras
   y sin él el texto blanco se perdería */
.header:not(.is-stuck)::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(18,26,48,.6) 0%, rgba(18,26,48,.28) 62%, rgba(18,26,48,0) 100%);
}

/* Estado transparente: todo en blanco sobre el azul del hero */
.header:not(.is-stuck) .logo__text{ color:#fff; }
.header:not(.is-stuck) .menu__link{ color:rgba(255,255,255,.86); }
.header:not(.is-stuck) .menu__link:hover,
.header:not(.is-stuck) .menu__link.is-active{ color:#fff; background:rgba(255,255,255,.12); }
.header:not(.is-stuck) .header__login{ color:rgba(255,255,255,.86); }
.header:not(.is-stuck) .header__login:hover{ color:#fff; }
.header:not(.is-stuck) .burger{ border-color:rgba(255,255,255,.3); }
.header:not(.is-stuck) .burger span{ background:#fff; }

.logo{ display:flex; align-items:center; gap:1rem; flex:none; }
.logo img{ width:3.4rem; height:3.4rem; }
.logo__text{ font-family:var(--f-title); font-size:2.4rem; font-weight:500; letter-spacing:-.08rem; color:var(--tx-title); }
.logo__text b{ font-weight:700; color:var(--brand); }

.header__nav{ display:flex; align-items:center; justify-content:space-between; flex:1; gap:2.4rem; }
.menu{ display:flex; align-items:center; gap:.4rem; }
.menu__item{ position:relative; }
.menu__link{
  display:flex; align-items:center; gap:.8rem; white-space:nowrap;
  padding:.6rem 1.2rem; border-radius:.8rem;
  font-family:var(--f-body); font-size:1.6rem; font-weight:500; color:var(--tx-alt);
  transition:all .3s ease;
}
.menu__link:hover,.menu__link.is-active{ color:var(--tx-strong); background:var(--gray-50); }
.menu__caret{ width:1rem; height:1rem; background:currentColor; flex:none;
  -webkit-mask:var(--m-caret) center/contain no-repeat; mask:var(--m-caret) center/contain no-repeat; }

.header__actions{ display:flex; align-items:center; gap:2.4rem; flex:none; }
.header__login{ display:flex; align-items:center; gap:.8rem; font-size:1.6rem; font-weight:500; color:var(--tx-alt); white-space:nowrap; }
.header__login::before{
  content:""; width:2rem; height:2rem; background:currentColor;
  -webkit-mask:var(--m-user) center/contain no-repeat; mask:var(--m-user) center/contain no-repeat;
}
.header__login:hover{ color:var(--brand); }

@media (max-width:1280px){
  .header .container{ gap:2rem; }
  .menu__link{ font-size:1.5rem; padding:.6rem 1rem; }
  .header__actions{ gap:1.6rem; }
  .cta{ font-size:1.35rem; padding-right:2rem; }
  .cta__icon{ width:3.6rem; height:3.6rem; }
}

/* Dropdown */
.dropdown{
  position:absolute; top:calc(100% + 1.6rem); left:-1.2rem; z-index:95; width:min(76rem,88vw);
  background:#fff; border-radius:1.6rem; box-shadow:0 2rem 4.8rem rgba(16,24,40,.14);
  border:1px solid var(--line); padding:2.4rem;
}
.dropdown[hidden]{ display:none; }
.dropdown__grid{ display:grid; grid-template-columns:1fr 1fr; gap:2.4rem 3.2rem; }
.dropdown__label{ font-size:1.2rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-soft); margin-bottom:1.2rem; }
.dropdown__link{ display:block; padding:1rem 1.2rem; border-radius:.8rem; transition:background .3s ease; }
.dropdown__link:hover{ background:var(--gray-50); }
.dropdown__link b{ display:block; font-family:var(--f-title); font-size:1.5rem; font-weight:500; color:var(--tx-title); }
.dropdown__link span{ display:block; font-size:1.3rem; color:var(--tx-mute); line-height:140%; }

/* Burger */
.burger{ display:none; flex-direction:column; justify-content:center; gap:.5rem; width:4.4rem; height:4.4rem; border:1px solid var(--line); border-radius:.8rem; padding:0 1.1rem; }
.burger span{ display:block; height:1.5px; background:var(--tx-title); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }

@media (max-width:1080px){
  .burger{ display:flex; margin-left:auto; }
  .header__nav{
    position:fixed; inset:8.8rem 0 0 0; display:none;
    flex-direction:column; justify-content:flex-start; align-items:stretch;
    background:#fff; padding:2.4rem 2.4rem 6rem; overflow-y:auto; gap:.8rem;
  }
  .header__nav.is-open{ display:flex; }
  .menu{ flex-direction:column; align-items:stretch; gap:.2rem; }
  .menu__link{ width:100%; justify-content:space-between; padding:1.6rem 1.2rem; font-size:1.8rem; }
  .header__actions{ flex-direction:column; align-items:stretch; gap:2rem; margin-top:2.4rem; }
  .header__actions .cta{ width:100%; justify-content:flex-start; }
  .dropdown{ position:static; width:auto; box-shadow:none; border:0; padding:.4rem 0 1.2rem; }
  .dropdown__grid{ grid-template-columns:1fr; gap:1.6rem; }
}

/* =========================================================
   HERO
   ========================================================= */
.s-hero{
  position:relative; overflow:hidden;
  /* Ocupa la pantalla completa; la cabecera fija (8.8rem) va encima */
  min-height:100svh;
  padding:13.6rem 0 5.6rem;
  display:flex; align-items:center;
  background:linear-gradient(123deg, var(--dark-a) -9.08%, var(--dark-b) 92.37%);
}
.s-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.55;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:8rem 8rem;
  -webkit-mask-image:radial-gradient(90rem 60rem at 30% 40%, #000 0%, transparent 78%);
  mask-image:radial-gradient(90rem 60rem at 30% 40%, #000 0%, transparent 78%);
}
.s-hero .container{ position:relative; z-index:1; display:flex; align-items:center; padding-bottom:8.8rem; }

.s-hero__main{ width:100%; max-width:64rem; }
.s-hero__kicker{ width:fit-content; font-family:var(--f-title); font-size:1.4rem; line-height:140%; color:var(--tx-accent); }
.s-hero__kicker strong{ font-weight:600; color:inherit; }
.s-hero__title{
  margin:3.2rem 0 4rem; font-size:4.8rem; font-family:var(--f-title);
  line-height:120%; font-weight:500; letter-spacing:-.048rem; color:#fff;
}
.s-hero__features{ margin-top:5.6rem; padding-top:3.2rem; border-top:1px solid var(--line-dark); display:flex; align-items:center; justify-content:flex-start; gap:2.4rem; flex-wrap:wrap; }
.s-hero__feature{ display:flex; align-items:center; justify-content:flex-start; gap:.8rem; position:relative; }
.s-hero__feature:not(:last-child){ padding-right:2.4rem; }
.s-hero__feature:not(:last-child)::after{
  content:""; position:absolute; width:.4rem; height:.4rem; right:0;
  transform:rotate(-45deg); background-color:var(--tx-accent);
}
.s-hero__feature-icon{ width:2rem; height:2rem; flex:none; background:var(--tx-accent); }
.s-hero__feature-icon--ai{ -webkit-mask:var(--m-ai) center/contain no-repeat; mask:var(--m-ai) center/contain no-repeat; }
.s-hero__feature-icon--shield{ -webkit-mask:var(--m-shield) center/contain no-repeat; mask:var(--m-shield) center/contain no-repeat; }
.s-hero__feature-icon--bell{ -webkit-mask:var(--m-bell) center/contain no-repeat; mask:var(--m-bell) center/contain no-repeat; }
.s-hero__feature-text{ font-family:var(--f-title); font-size:1.4rem; line-height:140%; color:var(--tx-onDark); }

/* Video de fondo del hero, a ancho completo */
/* Vídeo de fondo del hero, a ancho completo */
.s-hero__bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
  /* Base sólida: fija el color del hero pase lo que pase en el vídeo */
  background:linear-gradient(123deg, var(--dark-a) -9.08%, var(--dark-b) 92.37%);
}
/* 'contain' muestra el marco entero, alineado a la derecha para
   dejar libre la zona del titular */
.s-hero__video{
  position:absolute; inset:0;
  width:100%; height:100%; display:block;
  object-fit:contain; object-position:right center;
  /* El móvil viene centrado dentro del vídeo: se desplaza para que
     quede en la mitad derecha, despejado del titular */
  transform:translateX(12%);
}

/* Cortina de contraste: opaca detrás del texto, transparente
   sobre el vídeo para que se vea en sus colores reales */
.s-hero__bg::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(94deg,
    var(--dark-a) 0%,
    var(--dark-a) 26%,
    rgba(29,41,70,.86) 40%,
    rgba(29,41,70,.45) 52%,
    rgba(29,41,70,0) 66%);
}

/* Etiqueta identificativa del vídeo */
.s-hero__tag{
  position:absolute; right:4rem; bottom:4rem; z-index:2;
  display:inline-flex; align-items:center; gap:.8rem;
  padding:.9rem 1.8rem; border-radius:99.9rem;
  background:rgba(18,26,48,.66); border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(1rem);
  font-size:1.3rem; font-weight:500; color:#fff;
}
.s-hero__tag-dot{ width:.7rem; height:.7rem; border-radius:50%; background:var(--brand); flex:none; }

@media (max-width:768px){
  .s-hero__tag{ right:2rem; bottom:2rem; font-size:1.2rem; padding:.7rem 1.4rem; }
}

/* Pantallas bajas: se compacta para que el hero siga entrando entero */
@media (max-height:820px){
  .s-hero__title{ font-size:4rem; margin:2.4rem 0 3.2rem; }
  .s-hero__features{ margin-top:4rem; padding-top:2.4rem; }
  .s-hero{ padding:4rem 0; }
}
@media (max-width:1280px){
  .s-hero .container{ padding-bottom:0; }
  .s-hero__main{ max-width:52rem; }
  .s-hero__title{ font-size:4rem; }
  .s-hero__features{ margin-top:4.8rem; }
}
@media (max-width:1080px){
  .s-hero{ padding:5.6rem 0; min-height:100svh; }
  .s-hero .container{ flex-direction:column; align-items:stretch; padding-bottom:0; }
  .s-hero__main{ max-width:100%; }
  .s-hero__title{ font-size:3.6rem; margin:2.4rem 0 3.2rem; }
  .s-hero__features{ margin-top:4rem; }
  /* El texto ocupa todo el ancho: la cortina pasa a ser vertical */
  .s-hero__bg::after{
    background:linear-gradient(180deg,
      var(--dark-a) 0%,
      rgba(29,41,70,.9) 46%,
      rgba(29,41,70,.5) 70%,
      rgba(29,41,70,.1) 100%);
  }
  .s-hero__video{ object-position:center bottom; transform:none; }
}
@media (max-width:768px){
  .s-hero__title{ font-size:3rem; }
  .s-hero .cta{ width:100%; justify-content:flex-start; }
  .s-hero__features{ gap:1.2rem 1.6rem; }
  .s-hero__feature:not(:last-child){ padding-right:1.6rem; }
}
@media (max-width:420px){
  .s-hero__title{ font-size:2.6rem; }
  .s-hero__kicker{ font-size:1.3rem; }
}

/* =========================================================
   MARQUEE / FRANJA
   ========================================================= */
.s-marquee{ padding:8rem 0; overflow:hidden; }
.s-marquee__title{
  margin:0 auto 4.6rem; position:relative; width:fit-content;
  font-family:var(--f-title); font-size:1.4rem; line-height:140%; text-align:center; color:var(--tx-mute);
}
.s-marquee__title::after{
  content:""; position:absolute; top:.2rem; right:-1rem; width:.7rem; height:.7rem;
  background-color:var(--brand); clip-path:polygon(0 0, 100% 0, 100% 100%);
}
.s-marquee__title strong{ color:var(--tx-body); font-weight:600; }
.s-marquee__wrapper{ width:100%; overflow:hidden; position:relative; }
.s-marquee__wrapper::before,.s-marquee__wrapper::after{ content:""; position:absolute; top:0; height:100%; width:10rem; z-index:2; pointer-events:none; }
.s-marquee__wrapper::before{ left:0; background:linear-gradient(to right,#fff,transparent); }
.s-marquee__wrapper::after{ right:0; background:linear-gradient(to left,#fff,transparent); }
.s-marquee__container{ display:flex; flex-wrap:nowrap; justify-content:space-between; gap:2.4rem; }
.s-marquee__item{
  min-height:5.6rem; display:flex; align-items:center; justify-content:center; gap:1.2rem;
  padding:0 2rem; white-space:nowrap;
  border:1px solid var(--line); border-radius:99.9rem; background:var(--gray-50);
  font-size:1.4rem; font-weight:500; color:var(--tx-body);
}
@media (max-width:1080px){ .s-marquee__container{ flex-wrap:wrap; justify-content:center; gap:1.2rem; } }
@media (max-width:768px){ .s-marquee{ padding:5.6rem 0 3rem; } .s-marquee__title{ margin-bottom:3rem; } }

/* =========================================================
   PRODUCTOS
   ========================================================= */
.s-products{ padding-bottom:10.8rem; }
.s-products__title{ margin:0 auto 6.8rem; max-width:92.3rem; }
.s-products__content{ display:flex; align-items:stretch; justify-content:space-between; gap:3.2rem; }
.s-products__group{ width:100%; display:flex; align-items:flex-start; justify-content:space-between; flex-direction:column; gap:3.2rem; }

.s-products__card{
  overflow:hidden; width:100%; border-radius:2.4rem; position:relative; display:flex;
  background:var(--card-grad), var(--tint-1);
}
.s-products__card:first-child{ justify-content:space-between; }
.s-products__card:nth-child(2){ background:var(--card-grad), var(--tint-2); }
.s-products__card:not(.last) .s-products__card-main{ max-width:38rem; }
.s-products__card.last{
  flex-direction:column; justify-content:space-between;
  width:100%; max-width:48.8rem;
  background:var(--card-grad), var(--tint-3);
}
.s-products__card-main{ padding:4rem; display:flex; flex-direction:column; }
.s-products__card-icon{ width:3.2rem; height:3.2rem; background:var(--dark-solid); }
.s-products__card-icon--ai{ -webkit-mask:var(--m-ai) center/contain no-repeat; mask:var(--m-ai) center/contain no-repeat; }
.s-products__card-icon--shield{ -webkit-mask:var(--m-shield) center/contain no-repeat; mask:var(--m-shield) center/contain no-repeat; }
.s-products__card-icon--bell{ -webkit-mask:var(--m-bell) center/contain no-repeat; mask:var(--m-bell) center/contain no-repeat; }
.s-products__card-title{
  margin:3.2rem 0 1.6rem; color:var(--tx-title);
  font-size:2.4rem; font-family:var(--f-title); line-height:120%; font-weight:500; letter-spacing:-.024rem;
}
.s-products__card-desc{ margin-bottom:2.4rem; font-size:1.4rem; line-height:140%; color:var(--tx-body); }
.s-products__card-main .cardlink{ margin-top:auto; }
.s-products__card-art{ display:flex; align-items:flex-end; padding:4rem 4rem 0 0; flex:1; min-width:0; }
.s-products__card.last .s-products__card-art{ padding:0 4rem 4rem; }

.doc{
  width:100%; background:#fff; border-radius:1.6rem 1.6rem 0 0; padding:2rem;
  display:flex; flex-direction:column; gap:1.4rem;
  box-shadow:0 1.2rem 3.2rem rgba(24,34,48,.1);
}
.s-products__card.last .doc{ border-radius:1.6rem; }
.doc__row{ display:flex; align-items:center; justify-content:space-between; gap:1.6rem; }
.doc__row span{ font-size:1.3rem; color:var(--tx-mute); }
.doc__row b{ font-family:var(--f-title); font-size:1.4rem; font-weight:600; color:var(--tx-title); }
.doc__sep{ height:1px; background:var(--line); }

@media (max-width:1080px){
  .s-products__content{ flex-direction:column; }
  .s-products__card.last{ max-width:100%; }
  .s-products__card:not(.last) .s-products__card-main{ max-width:44rem; }
}
@media (max-width:768px){
  .s-products{ padding-bottom:5.4rem; }
  .s-products__title{ margin-bottom:4rem; }
  .s-products__card{ flex-direction:column; }
  .s-products__card-main,.s-products__card:not(.last) .s-products__card-main{ padding:2.4rem; max-width:100%; }
  .s-products__card-title{ font-size:1.8rem; }
  .s-products__card-desc{ font-size:1.6rem; }
  .s-products__card-art{ padding:0 2.4rem 2.4rem; max-width:100%; }
  .doc{ border-radius:1.6rem; }
}

/* =========================================================
   PLATAFORMA
   ========================================================= */
.s-platforms{ padding:11.2rem 0; overflow:hidden; background:linear-gradient(180deg,#fff 0%,var(--gray-50) 100%); }
.s-platforms .container{ display:flex; align-items:flex-end; justify-content:space-between; gap:3rem; }
.s-platforms__main{ display:flex; align-items:flex-start; justify-content:flex-start; flex-direction:column; gap:4.8rem; flex:1; }
.s-platforms__title{ width:100%; max-width:45rem; text-align:left; }
.s-platforms__tabs{ display:flex; align-items:flex-start; flex-direction:column; gap:0; width:100%; max-width:52rem; }

.s-platforms__tab{
  width:100%; padding:3.2rem 0; text-align:left; position:relative;
  display:flex; align-items:flex-start; justify-content:flex-start; gap:.8rem;
  border-bottom:1px solid var(--line-soft); transition:all .3s ease;
}
.s-platforms__tab-icon{ width:2.4rem; height:2.4rem; flex-shrink:0; background:var(--tx-soft); transition:background .3s ease; }
.s-platforms__tab-icon--ai{ -webkit-mask:var(--m-ai) center/contain no-repeat; mask:var(--m-ai) center/contain no-repeat; }
.s-platforms__tab-icon--shield{ -webkit-mask:var(--m-shield) center/contain no-repeat; mask:var(--m-shield) center/contain no-repeat; }
.s-platforms__tab-icon--bell{ -webkit-mask:var(--m-bell) center/contain no-repeat; mask:var(--m-bell) center/contain no-repeat; }
.s-platforms__tab-icon--flow{ -webkit-mask:var(--m-flow) center/contain no-repeat; mask:var(--m-flow) center/contain no-repeat; }
.s-platforms__tab-content{ flex:1; display:flex; align-items:flex-start; flex-direction:column; gap:.8rem; }
.s-platforms__tab-title{ font-family:var(--f-body); font-size:1.8rem; font-weight:500; line-height:140%; color:var(--tx-body); transition:color .3s ease; }
.s-platforms__tab-desc{ margin-left:-3rem; font-size:1.6rem; line-height:140%; color:var(--tx-body); opacity:0; max-height:0; overflow:hidden; transition:opacity .3s ease, max-height .3s ease; }
.s-platforms__tab.is-active .s-platforms__tab-title{ color:var(--tx-strong); }
.s-platforms__tab.is-active .s-platforms__tab-icon{ background:var(--brand); }
.s-platforms__tab.is-active .s-platforms__tab-desc{ opacity:1; max-height:12rem; }
.s-platforms__tab:hover:not(.is-active) .s-platforms__tab-title{ color:var(--tx-strong); }
.s-platforms__tab-progress{ position:absolute; bottom:-1px; left:0; width:100%; height:.15rem; overflow:hidden; }
.s-platforms__tab-progress-fill{ position:absolute; inset:0 auto 0 0; width:0; background:var(--brand); }
.s-platforms__tab.is-active .s-platforms__tab-progress-fill{ width:100%; }

.s-platforms__panels{ width:100%; max-width:48.8rem; flex:none; }
.s-platforms__panel{ width:100%; border-radius:2.4rem; background-color:#fff; padding:.8rem; display:none; flex-direction:column; gap:.8rem; box-shadow:0 1.2rem 3.2rem rgba(16,24,40,.08); }
.s-platforms__panel.is-active{ display:flex; }
.s-platforms__panel-thumb{ border-radius:1.8rem; padding:3.2rem 2.4rem; background:var(--card-grad), var(--tint-1); }
.s-platforms__panel:nth-child(2) .s-platforms__panel-thumb{ background:var(--card-grad), var(--tint-2); }
.s-platforms__panel:nth-child(3) .s-platforms__panel-thumb{ background:var(--card-grad), var(--tint-3); }
.s-platforms__panel:nth-child(4) .s-platforms__panel-thumb{ background:var(--card-grad), var(--gray-100); }
.s-platforms__panel-float{ background:#fff; border-radius:1.4rem; padding:2rem; box-shadow:0 1.2rem 3.2rem rgba(24,34,48,.12); display:flex; flex-direction:column; gap:1.2rem; }
.s-platforms__panel-main{ padding:1.6rem 1.6rem .8rem; }
.s-platforms__panel-items{ display:flex; flex-direction:column; gap:1.2rem; }
.s-platforms__panel-item{ display:flex; align-items:flex-start; gap:1.2rem; }
.s-platforms__panel-item::before{
  content:""; width:2rem; height:2rem; flex:none; margin-top:.2rem; border-radius:50%;
  background-color:var(--tint-1); background-image:var(--m-check-brand);
  background-size:1.1rem; background-position:center; background-repeat:no-repeat;
}
.s-platforms__panel-item p{ font-size:1.5rem; line-height:140%; color:var(--tx-body); }

@media (max-width:1080px){
  .s-platforms .container{ flex-direction:column; align-items:stretch; gap:4rem; }
  .s-platforms__tabs,.s-platforms__panels{ max-width:100%; }
}
@media (max-width:768px){
  .s-platforms{ padding:8rem 0 5rem; }
  .s-platforms__tab{ padding:2.4rem 0; }
  .s-platforms__tab-title{ font-size:1.6rem; }
  .s-platforms__tab-desc{ font-size:1.4rem; }
}

/* =========================================================
   ÚNICA (banda oscura)
   ========================================================= */
.s-unique{
  padding:6.8rem 0 9.6rem; min-height:63.8rem; position:relative; overflow:hidden;
  display:flex; align-items:center;
  background:linear-gradient(123deg, var(--dark-a) -9.08%, var(--dark-b) 92.37%);
}
.s-unique .container{ display:flex; align-items:center; justify-content:space-between; gap:1rem; position:relative; }
.s-unique__main{ width:100%; max-width:46.1rem; display:flex; flex-direction:column; }
.s-unique__title{ font-size:4rem; font-family:var(--f-title); line-height:120%; font-weight:600; color:#fff; }
.s-unique__description{ margin:1.6rem 0 5.6rem; font-size:1.6rem; line-height:140%; color:var(--tx-light); }

.s-unique__visual{ position:relative; width:100%; max-width:56rem; flex:none; }
.s-unique__diagram{ position:relative; aspect-ratio:1/.86; }
.s-unique__diagram::before,.s-unique__diagram::after{ content:""; position:absolute; border:1px solid rgba(255,255,255,.1); border-radius:50%; }
.s-unique__diagram::before{ inset:6% 18%; }
.s-unique__diagram::after{ inset:20% 30%; }
.s-unique__core{
  position:absolute; inset:0; margin:auto; width:12rem; height:12rem; border-radius:50%;
  display:grid; place-items:center; background-color:var(--brand); z-index:2;
}
.s-unique__core img{ width:6rem; height:6rem; filter:brightness(0) invert(1); }
.s-unique__node{
  position:absolute; padding:1rem 1.8rem; border-radius:99.9rem;
  background:rgba(255,255,255,.08); border:1px solid var(--line-dark);
  font-size:1.3rem; font-weight:500; color:#fff; white-space:nowrap;
}
.s-unique__node:nth-of-type(1){ top:0; left:50%; transform:translateX(-50%); }
.s-unique__node:nth-of-type(2){ top:30%; right:2%; }
.s-unique__node:nth-of-type(3){ bottom:10%; right:12%; }
.s-unique__node:nth-of-type(4){ bottom:10%; left:12%; }
.s-unique__node:nth-of-type(5){ top:30%; left:2%; }

@media (max-width:1080px){
  .s-unique{ padding:8rem 0; min-height:auto; }
  .s-unique .container{ flex-direction:column; gap:5.6rem; }
  .s-unique__main{ max-width:100%; align-items:center; text-align:center; }
  .s-unique__description{ text-align:center; }
}
@media (max-width:768px){ .s-unique__title{ font-size:2.4rem; } .s-unique__description{ margin-bottom:4rem; } .s-unique__node{ font-size:1.1rem; padding:.8rem 1.2rem; } }

/* =========================================================
   SOLUCIÓN (perfiles)
   ========================================================= */
.s-solution{ padding:9.6rem 0 4.8rem; overflow:hidden; }
.s-solution__main{ margin:0 auto 4.8rem; max-width:73.2rem; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1.2rem; }
.s-solution__tabs{ margin:0 auto 5.7rem; width:100%; display:flex; align-items:center; justify-content:center; gap:2.4rem; flex-wrap:nowrap; overflow-x:auto; padding-bottom:.8rem; scrollbar-width:none; }
.s-solution__tabs::-webkit-scrollbar{ display:none; }
.s-solution__tab{
  flex:0 0 auto; display:flex; align-items:center; justify-content:flex-start; gap:.8rem;
  padding:1.2rem 2rem; border-radius:99.9rem; position:relative; overflow:hidden; transition:all .3s ease;
}
.s-solution__tab::before{ content:""; position:absolute; left:0; top:0; width:.3rem; height:100%; opacity:0; background:var(--brand); }
.s-solution__tab:hover{ background:var(--tint-1); }
.s-solution__tab.is-active{ background:var(--tint-1); }
.s-solution__tab.is-active::before{ opacity:1; }
.s-solution__tab-icon{ width:2rem; height:2rem; flex:none; background:var(--tx-soft); transition:background .3s ease; }
.s-solution__tab-icon--admin{ -webkit-mask:var(--m-users) center/contain no-repeat; mask:var(--m-users) center/contain no-repeat; }
.s-solution__tab-icon--conta{ -webkit-mask:var(--m-chart) center/contain no-repeat; mask:var(--m-chart) center/contain no-repeat; }
.s-solution__tab-icon--ops{ -webkit-mask:var(--m-phone) center/contain no-repeat; mask:var(--m-phone) center/contain no-repeat; }
.s-solution__tab-text{ font-size:1.6rem; font-weight:500; line-height:140%; color:var(--tx-mute); white-space:nowrap; transition:color .3s ease; }
.s-solution__tab.is-active .s-solution__tab-text{ color:var(--dark-solid); }
.s-solution__tab.is-active .s-solution__tab-icon{ background:var(--brand); }

.s-solution__content{ position:relative; }
.s-solution__panel{ display:none; align-items:stretch; justify-content:space-between; gap:1.6rem; }
.s-solution__panel.is-active{ display:flex; }
.s-solution__panel-main{
  width:100%; max-width:71.2rem; padding:3.2rem; border-radius:2.4rem;
  display:flex; flex-direction:column; position:relative;
  background:var(--card-grad), var(--tint-1);
}
.s-solution__panel:nth-child(2) .s-solution__panel-main{ background:var(--card-grad), var(--tint-2); }
.s-solution__panel:nth-child(3) .s-solution__panel-main{ background:var(--card-grad), var(--tint-3); }
.s-solution__panel-icon{ width:3.2rem; height:3.2rem; background:var(--dark-solid); }
.s-solution__panel-icon--admin{ -webkit-mask:var(--m-users) center/contain no-repeat; mask:var(--m-users) center/contain no-repeat; }
.s-solution__panel-icon--conta{ -webkit-mask:var(--m-chart) center/contain no-repeat; mask:var(--m-chart) center/contain no-repeat; }
.s-solution__panel-icon--ops{ -webkit-mask:var(--m-phone) center/contain no-repeat; mask:var(--m-phone) center/contain no-repeat; }
.s-solution__panel-title{ margin:1.6rem 0 3.2rem; font-size:2.4rem; font-family:var(--f-title); line-height:120%; font-weight:500; letter-spacing:-.024rem; color:var(--tx-title); }
.s-solution__panel-features{ display:flex; align-items:flex-start; flex-direction:column; gap:2.4rem; margin-bottom:3.2rem; }
.s-solution__panel-feature{ display:flex; align-items:flex-start; justify-content:flex-start; gap:1.6rem; }
.s-solution__panel-feature-dot{ width:.5rem; height:.5rem; border-radius:99.9rem; background-color:var(--brand); flex:none; margin-top:.8rem; }
.s-solution__panel-feature-title{ margin-bottom:.4rem; font-size:1.4rem; font-weight:500; line-height:140%; color:var(--tx-strong); }
.s-solution__panel-feature-desc{ font-size:1.4rem; line-height:140%; color:var(--tx-body); }
.s-solution__panel-main .cta{ margin-top:auto; }
.s-solution__panel-aside{ flex:1; display:flex; align-items:center; justify-content:center; min-width:0; }
.s-solution__panel-aside .doc{ max-width:34rem; border-radius:1.6rem; }

@media (max-width:1080px){ .s-solution__panel{ flex-direction:column; } .s-solution__panel-main{ max-width:100%; } .s-solution__tabs{ justify-content:flex-start; gap:1.6rem; } }
@media (max-width:768px){ .s-solution{ padding:4rem 0; } .s-solution__panel-main{ padding:2.4rem; } }

/* =========================================================
   CASOS / PROCESO
   ========================================================= */
.s-cases{ padding:4.8rem 0 9.6rem; overflow:hidden; }
.s-cases__main{ margin:0 auto 4.8rem; max-width:73.2rem; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1.2rem; }
.s-cases__list{ margin-bottom:6.2rem; display:grid; grid-template-columns:repeat(4,1fr); gap:3.2rem; }
.s-cases__card{
  padding:3.2rem; min-height:34rem; border-radius:1.2rem;
  display:flex; align-items:flex-start; justify-content:flex-start; flex-direction:column; gap:2rem;
  overflow:hidden; position:relative; transition:border-radius .3s ease;
  background:var(--card-grad), var(--tint-1);
}
.s-cases__card:nth-child(2){ background:var(--card-grad), var(--tint-2); }
.s-cases__card:nth-child(3){ background:var(--card-grad), var(--tint-3); }
.s-cases__card:nth-child(4){ background:var(--card-grad), var(--gray-100); }
.s-cases__card:hover{ border-radius:2.4rem; }
.s-cases__card-step{
  width:4.8rem; height:4.8rem; border-radius:99.9rem; display:grid; place-items:center;
  background:#fff; font-family:var(--f-title); font-size:1.6rem; font-weight:600; color:var(--brand);
}
.s-cases__card-main{ margin-top:auto; display:flex; flex-direction:column; gap:1.2rem; }
.s-cases__card-title{ text-align:left; font-family:var(--f-title); font-size:2.2rem; font-weight:500; line-height:130%; letter-spacing:-.02rem; color:var(--tx-title); }
.s-cases__card-description{ font-size:1.6rem; line-height:140%; color:var(--tx-body); }
.s-cases__cta{ margin:0 auto; }
@media (max-width:1080px){ .s-cases__list{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px){ .s-cases{ padding:4rem 0; } .s-cases__list{ grid-template-columns:1fr; gap:1.6rem; margin-bottom:4rem; } .s-cases__card{ min-height:auto; padding:2.4rem; } }

/* =========================================================
   TESTIMONIOS → USOS (banda oscura)
   ========================================================= */
.s-uses{ padding:9.6rem 0; background:linear-gradient(123deg, var(--dark-a) -9.08%, var(--dark-b) 92.37%); }
.s-uses__main{ margin:0 auto 6.4rem; max-width:73.2rem; display:flex; align-items:center; flex-direction:column; gap:1.2rem; }
.s-uses__list{ display:grid; grid-template-columns:repeat(3,1fr); gap:3.2rem; }
.s-uses__card{ display:flex; flex-direction:column; min-height:32.5rem; padding:3.2rem; border-radius:.8rem; background:rgba(255,255,255,.05); border:1px solid var(--line-dark); }
.s-uses__card-icon{ width:3.2rem; height:3.2rem; background:var(--tx-accent); }
.s-uses__card-icon--admin{ -webkit-mask:var(--m-users) center/contain no-repeat; mask:var(--m-users) center/contain no-repeat; }
.s-uses__card-icon--conta{ -webkit-mask:var(--m-chart) center/contain no-repeat; mask:var(--m-chart) center/contain no-repeat; }
.s-uses__card-icon--ops{ -webkit-mask:var(--m-phone) center/contain no-repeat; mask:var(--m-phone) center/contain no-repeat; }
.s-uses__card-description{ margin:4rem 0; font-size:1.8rem; font-weight:500; line-height:140%; color:var(--tx-light); }
.s-uses__card-author{ margin-top:auto; }
.s-uses__card-name{ margin-bottom:.8rem; font-size:1.6rem; font-weight:600; line-height:140%; color:var(--tx-lighter); }
.s-uses__card-role{ font-size:1.6rem; line-height:140%; color:var(--tx-onDark); }
@media (max-width:1080px){ .s-uses__list{ grid-template-columns:1fr; gap:1.6rem; } .s-uses__card{ min-height:auto; } }
@media (max-width:768px){ .s-uses{ padding:6.4rem 0; } .s-uses__card-description{ margin:2.4rem 0; font-size:1.6rem; } }

/* =========================================================
   DEMO — bento de métricas
   ========================================================= */
.s-demo{ padding:9.6rem 0 4.8rem; }
.s-demo__main{ margin-bottom:6.4rem; display:flex; align-items:flex-end; justify-content:space-between; gap:4rem; }
.s-demo__title{ max-width:71.8rem; text-align:left; }
.s-demo__content{ display:flex; gap:3.2rem; align-items:stretch; }
.s-demo__lateral{ width:100%; display:grid; grid-template-columns:55% calc(45% - 3.2rem); grid-template-rows:auto auto auto; gap:3.2rem; }
.s-demo__card{ padding:4rem; border-radius:2.4rem; overflow:hidden; position:relative; display:flex; align-items:flex-start; justify-content:flex-start; flex-direction:column; gap:0; transition:border-radius .3s ease; }
.s-demo__card:hover{ border-radius:.8rem; }
.s-demo__card:nth-child(1){ padding:1.6rem 2rem 1.6rem 4rem; grid-column:1; grid-row:1; background:linear-gradient(166deg, rgba(255,255,255,0) 22.78%, #fff 124.02%), var(--gray-100); flex-direction:row; align-items:center; gap:1.6rem; }
.s-demo__card:nth-child(2){ grid-column:1; grid-row:2/4; background:linear-gradient(135deg, rgba(255,255,255,0) 63.88%, #fff 122.93%), var(--tint-3); }
.s-demo__card:nth-child(3){ grid-column:2; grid-row:3; background:linear-gradient(rgba(230,205,224,.25) 116.52%, rgba(249,249,251,.5) 100%), var(--tint-1); }
.s-demo__card:nth-child(4){ grid-column:2; grid-row:1/3; background:linear-gradient(135deg, rgba(255,255,255,0) 66.17%, #fff 119.84%), var(--tint-2); }
.s-demo__card-avatars{ display:flex; flex:none; }
.s-demo__card-avatars i{ width:4rem; height:4rem; border-radius:50%; border:.3rem solid #fff; margin-left:-1.2rem; background:var(--brand); }
.s-demo__card-avatars i:first-child{ margin-left:0; }
.s-demo__card-avatars i:nth-child(2){ background:var(--dark-solid); }
.s-demo__card-avatars i:nth-child(3){ background:#7c3aed; }
.s-demo__card-text{ font-size:1.4rem; line-height:140%; color:var(--tx-strong); }
.s-demo__card-label{ font-size:1.8rem; line-height:140%; color:var(--tx-strong); }
.s-demo__card-sublabel{ font-size:1.8rem; line-height:140%; color:var(--tx-strong); }
.s-demo__card-cont{ margin-top:auto; }
.s-demo__number{ display:flex; align-items:baseline; justify-content:flex-start; gap:0; font-family:var(--f-title); color:var(--tx-title); }
.s-demo__number-value{ font-size:5.6rem; font-weight:500; line-height:1.2; letter-spacing:-.056rem; }
.s-demo__number-symbol{ font-size:3.2rem; font-weight:500; }

@media (max-width:1080px){
  .s-demo__main{ flex-direction:column; align-items:flex-start; gap:2.4rem; }
  .s-demo__content{ flex-direction:column; gap:1.6rem; }
  .s-demo__lateral{ grid-template-columns:58% calc(42% - 1.6rem); gap:1.6rem; }
}
@media (max-width:768px){
  .s-demo{ padding:4rem 0; }
  .s-demo__title{ text-align:center; }
  .s-demo__main{ align-items:center; }
  .s-demo__lateral{ grid-template-columns:1fr; }
  .s-demo__card,.s-demo__card:nth-child(1),.s-demo__card:nth-child(2),.s-demo__card:nth-child(3),.s-demo__card:nth-child(4){ grid-column:initial; grid-row:initial; padding:2.4rem; }
  .s-demo__number-value{ font-size:4rem; }
}

/* =========================================================
   FAQ (ocupa el lugar de la sección de prensa)
   ========================================================= */
.s-faq{ padding:4.8rem 0 9.6rem; }
.s-faq__main{ margin-bottom:6.4rem; display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.s-faq__title{ max-width:78rem; text-align:left; }
.s-faq__list{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 3.2rem; }
.s-faq__item{ border-bottom:1px solid var(--line); }
.s-faq__q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2.4rem 0; text-align:left; font-family:var(--f-title); font-size:1.8rem; font-weight:500; color:var(--tx-title); }
.s-faq__q::after{ content:"+"; font-size:2.4rem; font-weight:400; line-height:1; color:var(--tx-soft); flex:none; }
.s-faq__item.is-open .s-faq__q::after{ content:"−"; color:var(--brand); }
.s-faq__a{ display:none; padding-bottom:2.4rem; }
.s-faq__item.is-open .s-faq__a{ display:block; }
.s-faq__a p{ font-size:1.6rem; line-height:140%; color:var(--tx-body); }
.s-faq__a a{ color:var(--brand); text-decoration:underline; }
@media (max-width:900px){ .s-faq__list{ grid-template-columns:1fr; } .s-faq__main{ flex-direction:column; align-items:flex-start; } }
@media (max-width:768px){ .s-faq{ padding:4rem 0; } .s-faq__q{ font-size:1.6rem; } }

/* =========================================================
   FORMULARIO (banda oscura)
   ========================================================= */
.s-form{ padding:9.8rem 0; overflow:hidden; position:relative; background:linear-gradient(123deg, var(--dark-a) -9.08%, var(--dark-b) 92.37%); }
.s-form .container{ display:flex; align-items:flex-start; justify-content:space-between; gap:6.4rem; }
.s-form__main{ flex:1; max-width:56rem; }
.s-form__icons{ display:flex; align-items:center; gap:1.6rem; margin-bottom:3.2rem; }
.s-form__icons-logo{ width:5.6rem; height:5.6rem; border-radius:1.6rem; background:#fff; display:grid; place-items:center; }
.s-form__icons-logo img{ width:3.2rem; height:3.2rem; }
.s-form__separator{ width:4rem; height:1px; background:var(--line-dark); }
.s-form__icons-avatar{ display:flex; }
.s-form__icons-avatar i{ width:4rem; height:4rem; border-radius:50%; border:.2rem solid rgba(255,255,255,.2); margin-left:-1rem; background:var(--brand); }
.s-form__icons-avatar i:first-child{ margin-left:0; }
.s-form__icons-avatar i:nth-child(2){ background:#7c3aed; }
.s-form__icons-avatar i:nth-child(3){ background:#0e7490; }
.s-form__title{ margin-bottom:3.2rem; font-size:4rem; font-family:var(--f-title); line-height:120%; font-weight:500; letter-spacing:-.04rem; color:#fff; }
.s-form__bottom{ display:flex; flex-direction:column; gap:1.6rem; }
.s-form__card{ display:flex; align-items:flex-start; gap:1.6rem; padding:2rem; border-radius:1.2rem; background:rgba(255,255,255,.06); border:1px solid var(--line-dark); }
.s-form__card-icon{ width:2.4rem; height:2.4rem; flex:none; background:var(--tx-accent); }
.s-form__card-icon--mail{ -webkit-mask:var(--m-mail) center/contain no-repeat; mask:var(--m-mail) center/contain no-repeat; }
.s-form__card-icon--chat{ -webkit-mask:var(--m-chat) center/contain no-repeat; mask:var(--m-chat) center/contain no-repeat; }
.s-form__card-icon--pin{ -webkit-mask:var(--m-pin) center/contain no-repeat; mask:var(--m-pin) center/contain no-repeat; }
.s-form__card b{ display:block; font-family:var(--f-title); font-size:1.5rem; font-weight:600; color:#fff; margin-bottom:.2rem; }
.s-form__card p,.s-form__card a{ font-size:1.4rem; line-height:140%; color:var(--tx-onDark); }
.s-form__card a:hover{ color:#fff; }

.s-form__content{ width:100%; max-width:52rem; flex:none; }
.s-form__box{ background:#fff; border-radius:2.4rem; padding:4rem; display:flex; flex-direction:column; gap:0; }
.s-form__box-title{ margin-bottom:2.4rem; font-size:1.8rem; font-weight:600; line-height:140%; color:var(--tx-strong); }
.s-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.field{ width:100%; margin-bottom:2.4rem; display:flex; flex-direction:column; }
.field > label{ margin-bottom:.4rem; display:block; font-size:1.4rem; font-weight:500; line-height:140%; color:var(--tx-alt); }
.field input,.field select,.field textarea{
  width:100%; padding:1.3rem 1.6rem; border-radius:.8rem;
  border:1px solid #d0d5dd; background:#fff;
  font-family:var(--f-body); font-size:1.5rem; line-height:140%; color:var(--tx-strong);
  transition:all .3s ease;
}
.field textarea{ resize:vertical; min-height:10rem; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 .3rem var(--brand-soft); }
.field input.error,.field select.error,.field textarea.error{ border:1px solid red; background-color:var(--gray-100); box-shadow:0 0 0 .2rem rgba(255,0,0,.15); }
.field input::placeholder,.field textarea::placeholder{ color:var(--tx-soft); }
.field--check{ flex-direction:row; align-items:flex-start; gap:1.2rem; }
.field--check input{ width:1.8rem; height:1.8rem; margin-top:.2rem; accent-color:var(--brand); flex:none; padding:0; }
.field--check span{ font-size:1.3rem; line-height:140%; color:var(--tx-body); }
.field--check a{ color:var(--brand); text-decoration:underline; }
.s-form__submit{ width:100%; padding:1.5rem; border-radius:.8rem; background:var(--brand); color:#fff; font-size:1.5rem; font-weight:600; transition:background .3s ease; }
.s-form__submit:hover{ background:var(--brand-hover); }
.s-form__note{ margin-top:1.6rem; font-size:1.3rem; text-align:center; min-height:1.6rem; }
.s-form__note.is-ok{ color:var(--ok-tx); font-weight:500; }
.s-form__note.is-err{ color:#d92d20; font-weight:500; }

@media (max-width:1080px){ .s-form .container{ flex-direction:column; gap:4rem; } .s-form__main,.s-form__content{ max-width:100%; } }
@media (max-width:768px){ .s-form{ padding:6rem 0; } .s-form__title{ font-size:2.8rem; } .s-form__box{ padding:2.4rem; } }
@media (max-width:520px){ .s-form__row{ grid-template-columns:1fr; gap:0; } }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{ background:#fff; border-top:1px solid var(--line); padding:6.4rem 0 0; }
.footer__top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr; gap:4rem 3.2rem; padding-bottom:4.8rem; }
.footer__desc{ font-size:1.4rem; line-height:140%; color:var(--tx-body); margin:2rem 0 1.2rem; max-width:30rem; }
.footer__legalname{ font-size:1.3rem; color:var(--tx-mute); }
.footer__col{ display:flex; flex-direction:column; gap:1.2rem; }
.footer__title{ font-family:var(--f-title); font-size:1.4rem; font-weight:600; color:var(--tx-title); margin-bottom:.4rem; }
.footer__col a{ font-size:1.4rem; color:var(--tx-body); width:fit-content; transition:color .3s ease; }
.footer__col a:hover{ color:var(--brand); }
.footer__addr{ font-size:1.3rem; line-height:165%; color:var(--tx-mute); }
.social{ display:flex; gap:.8rem; margin-top:.8rem; }
.social a{ display:grid; place-items:center; width:3.6rem; height:3.6rem; border-radius:.8rem; background:var(--gray-50); border:1px solid var(--line); transition:all .3s ease; }
.social a:hover{ background:var(--dark-solid); border-color:var(--dark-solid); }
.social i{ width:1.7rem; height:1.7rem; background:var(--tx-body); display:block; transition:background .3s ease; }
.social a:hover i{ background:#fff; }
.social i.ig{ -webkit-mask:var(--m-ig) center/contain no-repeat; mask:var(--m-ig) center/contain no-repeat; }
.social i.tk{ -webkit-mask:var(--m-tk) center/contain no-repeat; mask:var(--m-tk) center/contain no-repeat; }
.social i.in{ -webkit-mask:var(--m-in) center/contain no-repeat; mask:var(--m-in) center/contain no-repeat; }
.social i.fb{ -webkit-mask:var(--m-fb) center/contain no-repeat; mask:var(--m-fb) center/contain no-repeat; }
.footer__bottom{ display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; padding:2.4rem 0; border-top:1px solid var(--line); font-size:1.3rem; color:var(--tx-mute); }
@media (max-width:1080px){ .footer__top{ grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:640px){ .footer__top{ grid-template-columns:1fr 1fr; } .footer__brand{ grid-column:1/-1; } }
@media (max-width:420px){ .footer__top{ grid-template-columns:1fr; } }

/* =========================================================
   COOKIES
   ========================================================= */
.cookies{
  position:fixed; left:0; right:0; bottom:0; z-index:120;
  display:flex; align-items:center; justify-content:center; gap:2.4rem; flex-wrap:wrap;
  background:#fff; border-top:1px solid var(--line); box-shadow:0 -.4rem 2rem rgba(16,24,40,.08); padding:1.6rem 3.2rem;
}
.cookies[hidden]{ display:none; }
.cookies p{ font-size:1.35rem; color:var(--tx-body); }
.cookies a{ color:var(--brand); text-decoration:underline; }
.cookies__actions{ display:flex; gap:.8rem; }
.cookies__btn{ padding:.9rem 2rem; border-radius:.8rem; font-size:1.35rem; font-weight:600; transition:background .3s ease; }
.cookies__btn--ghost{ color:var(--tx-body); border:1px solid #d0d5dd; }
.cookies__btn--ghost:hover{ background:var(--gray-50); }
.cookies__btn--solid{ background:var(--brand); color:#fff; }
.cookies__btn--solid:hover{ background:var(--brand-hover); }
@media (max-width:640px){ .cookies{ padding:1.6rem 2rem; gap:1.2rem; } .cookies__actions{ width:100%; } .cookies__btn{ flex:1; } }

/* =========================================================
   PÁGINAS LEGALES
   ========================================================= */
/* Se suma la altura de la cabecera fija (8.8rem) */
.legal-hero{ padding:15.2rem 0 5.6rem; background:linear-gradient(123deg, var(--dark-a) -9.08%, var(--dark-b) 92.37%); }
.legal-hero__title{ font-size:4rem; font-family:var(--f-title); font-weight:500; letter-spacing:-.04rem; line-height:120%; color:#fff; margin-bottom:1.6rem; }
.legal-hero__lead{ font-size:1.6rem; line-height:140%; color:var(--tx-light); max-width:64rem; }
.legal-hero__date{ display:inline-block; margin-top:2.4rem; font-size:1.35rem; font-weight:500; color:var(--tx-onDark); border:1px solid var(--line-dark); padding:.6rem 1.4rem; border-radius:99.9rem; }
.legal-layout{ display:grid; grid-template-columns:24rem 1fr; gap:6.4rem; padding:6.4rem 4rem; align-items:start; max-width:128rem; margin-inline:auto; }
.legal-side{ position:sticky; top:11rem; display:flex; flex-direction:column; gap:.2rem; }
.legal-side__title{ font-size:1.2rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-soft); margin-bottom:1.2rem; }
.legal-side a{ padding:1rem 1.4rem; border-radius:.8rem; font-size:1.45rem; font-weight:500; color:var(--tx-body); transition:all .3s ease; }
.legal-side a:hover{ background:var(--gray-50); color:var(--tx-title); }
.legal-side a.is-active{ background:var(--tint-1); color:var(--brand); }
.legal-body{ max-width:76rem; }
.legal-body h2{ font-family:var(--f-title); font-size:2.4rem; font-weight:500; line-height:120%; letter-spacing:-.024rem; color:var(--tx-title); margin:3.6rem 0 1.4rem; }
.legal-body h2:first-child{ margin-top:0; }
.legal-body p{ font-size:1.6rem; line-height:140%; color:var(--tx-body); margin-bottom:1.6rem; }
.legal-body ul{ display:flex; flex-direction:column; gap:1rem; margin-bottom:1.8rem; }
.legal-body ul li{ position:relative; padding-left:2.4rem; font-size:1.6rem; line-height:140%; color:var(--tx-body); }
.legal-body ul li::before{ content:""; position:absolute; left:.4rem; top:.9rem; width:.6rem; height:.6rem; border-radius:50%; background:var(--brand); }
.legal-body a{ color:var(--brand); font-weight:500; text-decoration:underline; }
.legal-note{ margin-top:3.2rem; padding:2.4rem; border-radius:1.2rem; background:var(--gray-50); border:1px solid var(--line); font-size:1.5rem; line-height:140%; color:var(--tx-body); }
@media (max-width:900px){
  .legal-layout{ grid-template-columns:1fr; gap:3.2rem; padding:4.8rem 2.4rem; }
  .legal-side{ position:static; flex-direction:row; flex-wrap:wrap; }
  .legal-hero__title{ font-size:2.6rem; }
}

/* =========================================================
   ICONOS
   ========================================================= */
:root{
  --m-arrow:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  --m-caret:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --m-user:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  --m-check-brand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc239c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E");
  --m-ai:     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z'/%3E%3Cpath d='M9 13a4.5 4.5 0 0 0 3-4'/%3E%3Cpath d='M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z'/%3E%3C/svg%3E");
  --m-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  --m-bell:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.268 21a2 2 0 0 0 3.464 0'/%3E%3Cpath d='M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'/%3E%3C/svg%3E");
  --m-flow:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E");
  --m-users:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  --m-chart:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v16a2 2 0 0 0 2 2h16'/%3E%3Cpath d='M7 16v-4M12 16V8M17 16v-6'/%3E%3C/svg%3E");
  --m-phone:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='20' x='5' y='2' rx='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E");
  --m-mail:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  --m-chat:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22z'/%3E%3C/svg%3E");
  --m-pin:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --m-ig:     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37'/%3E%3Cline x1='17.5' x2='17.51' y1='6.5' y2='6.5'/%3E%3C/svg%3E");
  --m-in:     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-4 0v7h-4v-7a6 6 0 0 1 6-6'/%3E%3Crect width='4' height='12' x='2' y='9'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E");
  --m-fb:     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
  --m-tk:     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12a4 4 0 1 0 4 4V4a5 5 0 0 0 5 5'/%3E%3C/svg%3E");
}

/* =========================================================
   EL CONTEXTO — cifras del beneficio y errores frecuentes
   ========================================================= */
.s-context{ padding:9.6rem 0; }
.s-context__main{ margin:0 auto 5.6rem; max-width:80rem; text-align:center; }
.s-context__lead{ margin-top:2rem; font-size:1.7rem; line-height:150%; color:var(--tx-body); }

.figures{ display:grid; grid-template-columns:repeat(4,1fr); gap:2.4rem; margin-bottom:6.4rem; }
.figure{ padding:3.2rem; border-radius:1.6rem; background:var(--gray-50); border:1px solid var(--line); }
.figure__label{ font-size:1.2rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--brand); margin-bottom:1.6rem; }
.figure__value{ font-family:var(--f-title); font-size:4.4rem; font-weight:500; line-height:1.1; letter-spacing:-.05rem; color:var(--tx-title); }
.figure__value span{ font-size:2rem; font-weight:500; }
.figure__note{ margin-top:1rem; font-size:1.4rem; line-height:145%; color:var(--tx-body); }

.s-context__split{ display:grid; grid-template-columns:1fr 1fr; gap:6.4rem; align-items:start; }
.s-context__sub{ font-family:var(--f-title); font-size:2.2rem; font-weight:500; color:var(--tx-title); margin-bottom:2.4rem; }
.errors{ display:flex; flex-direction:column; gap:1.6rem; }
.errors li{ position:relative; padding-left:3.2rem; font-size:1.6rem; line-height:145%; color:var(--tx-body); }
.errors li::before{
  content:""; position:absolute; left:0; top:.2rem; width:2rem; height:2rem; border-radius:50%;
  background:#fef3f2; border:1px solid #fecdca;
}
.errors li::after{
  content:""; position:absolute; left:.75rem; top:.85rem; width:.5rem; height:.5rem; border-radius:50%; background:#d92d20;
}

.insight{ padding:3.2rem; border-radius:1.6rem; background:var(--dark-solid); color:#fff; }
.insight__label{ font-size:1.2rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-accent); margin-bottom:1.6rem; }
.insight__text{ font-size:1.7rem; line-height:150%; color:var(--tx-light); }
.insight__text strong{ color:#fff; font-weight:600; }
.insight__quote{ margin-top:2.4rem; padding-top:2.4rem; border-top:1px solid var(--line-dark); font-size:1.5rem; font-style:italic; color:var(--tx-onDark); }

.s-context__source{ margin-top:4rem; font-size:1.3rem; font-style:italic; color:var(--tx-soft); }

@media (max-width:1080px){ .figures{ grid-template-columns:repeat(2,1fr); } .s-context__split{ grid-template-columns:1fr; gap:4rem; } }
@media (max-width:600px){ .figures{ grid-template-columns:1fr; gap:1.6rem; } .figure{ padding:2.4rem; } .s-context{ padding:6.4rem 0; } }

/* =========================================================
   LA SOLUCIÓN — pasos con capturas de la app
   ========================================================= */
.s-flow{ padding:9.6rem 0; background:var(--gray-50); }
.s-flow__main{ margin:0 auto 5.6rem; max-width:80rem; text-align:center; }
.s-flow__lead{ margin-top:2rem; font-size:1.7rem; line-height:150%; color:var(--tx-body); }


.flowcard{
  display:flex; flex-direction:column; overflow:hidden;
  background:#fff; border:1px solid var(--line); border-radius:1.6rem;
  transition:box-shadow .3s ease, border-color .3s ease;
}
.flowcard:hover{ border-color:#d5d9e2; box-shadow:0 1.2rem 3.2rem rgba(16,24,40,.08); }
/* Capturas con fondo transparente: el móvil flota sobre el panel
   tintado y se sale por el borde inferior */
/* El móvil se ve entero: la imagen se contiene, nunca se recorta */
.flowcard__shot{
  position:relative;
  aspect-ratio:1/1.12;
  background:var(--card-grad), var(--tint-2);
  display:flex; align-items:center; justify-content:center;
  padding:1.6rem 1.6rem 0;
}
.flowcard__shot img{
  width:100%; height:100%; display:block;
  object-fit:contain; object-position:center bottom;
}
.flowcard:nth-child(2) .flowcard__shot{ background:var(--card-grad), var(--tint-1); }
.flowcard:nth-child(3) .flowcard__shot{ background:var(--card-grad), var(--tint-3); }
.flowcard:nth-child(4) .flowcard__shot{ background:var(--card-grad), var(--gray-100); }
.flowcard__body{ padding:2.4rem; }
.flowcard__n{
  display:inline-block; margin-bottom:1.2rem;
  font-family:var(--f-title); font-size:1.3rem; font-weight:600; color:var(--brand);
}
.flowcard__title{ font-family:var(--f-title); font-size:1.8rem; font-weight:500; line-height:130%; color:var(--tx-title); margin-bottom:1rem; }
.flowcard__text{ font-size:1.45rem; line-height:145%; color:var(--tx-body); }

.s-flow__last{
  display:flex; align-items:flex-start; gap:2.4rem;
  margin-top:2.4rem; padding:3.2rem; border-radius:1.6rem;
  background:var(--dark-solid); color:#fff;
}
.s-flow__last .flowcard__n{ color:var(--tx-accent); margin:0; flex:none; }
.s-flow__last .flowcard__title{ color:#fff; }
.s-flow__last .flowcard__text{ color:var(--tx-onDark); font-size:1.6rem; }

@media (max-width:1080px){  }
@media (max-width:600px){
  .s-flow{ padding:6.4rem 0; }
  
  .s-flow__last{ flex-direction:column; gap:1.2rem; padding:2.4rem; }
}

/* =========================================================
   QUÉ VALIDA — tabla de reglas
   ========================================================= */
.s-rules{ padding:9.6rem 0; background:linear-gradient(123deg, var(--dark-a) -9.08%, var(--dark-b) 92.37%); }
.s-rules__main{ margin:0 auto 5.6rem; max-width:80rem; text-align:center; }

.s-rules__table{ border:1px solid var(--line-dark); border-radius:1.6rem; overflow:hidden; }
.s-rules__head,.s-rules__row{ display:grid; grid-template-columns:1fr 1.5fr 1.4fr; gap:2.4rem; padding:2rem 3.2rem; }
.s-rules__head{ background:rgba(255,255,255,.07); }
.s-rules__head span{ font-family:var(--f-title); font-size:1.3rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--tx-onDark); }
.s-rules__row{ border-top:1px solid var(--line-dark); }
.s-rules__row span{ font-size:1.5rem; line-height:145%; color:var(--tx-light); }
.s-rules__row span:first-child{ font-family:var(--f-title); font-weight:600; color:#fff; }

.s-rules__note{
  display:flex; align-items:flex-start; gap:1.6rem;
  margin-top:3.2rem; padding:2.4rem 3.2rem; border-radius:1.6rem;
  background:rgba(255,255,255,.06); border:1px solid var(--line-dark);
  font-size:1.6rem; line-height:150%; color:var(--tx-light);
}
.s-rules__note-ico{
  width:2.4rem; height:2.4rem; flex:none; background:var(--brand);
  -webkit-mask:var(--m-flow) center/contain no-repeat; mask:var(--m-flow) center/contain no-repeat;
}

@media (max-width:900px){
  .s-rules__head{ display:none; }
  .s-rules__row{ grid-template-columns:1fr; gap:.8rem; padding:2.4rem; }
  .s-rules__row span::before{
    content:attr(data-th) " · "; font-size:1.2rem; font-weight:600;
    letter-spacing:.06em; text-transform:uppercase; color:var(--tx-accent);
  }
  .s-rules__row span:first-child::before{ display:none; }
}
@media (max-width:600px){ .s-rules{ padding:6.4rem 0; } }

/* =========================================================
   EL RECORRIDO — cinco momentos
   ========================================================= */
.s-journey{ padding:9.6rem 0; }
.s-journey__main{ margin:0 auto 5.6rem; max-width:80rem; text-align:center; }

.journey{ display:grid; grid-template-columns:repeat(5,1fr); gap:2.4rem; position:relative; }
.journey::before{
  content:""; position:absolute; top:2.8rem; left:10%; right:10%; height:1px;
  background:var(--line); z-index:0;
}
.journey__step{ position:relative; z-index:1; text-align:center; }
.journey__ico{
  width:5.6rem; height:5.6rem; border-radius:50%; margin:0 auto 1.6rem;
  display:block; background:var(--dark-solid); position:relative;
  border:.4rem solid #fff;
}
.journey__step:nth-child(4) .journey__ico{ background:var(--brand); }
.journey__ico::after{ content:""; position:absolute; inset:0; margin:auto; width:2.4rem; height:2.4rem; background:#fff; }
.journey__ico--card::after{ -webkit-mask:var(--m-card) center/contain no-repeat; mask:var(--m-card) center/contain no-repeat; }
.journey__ico--cam::after{ -webkit-mask:var(--m-cam) center/contain no-repeat; mask:var(--m-cam) center/contain no-repeat; }
.journey__ico--shield::after{ -webkit-mask:var(--m-shield) center/contain no-repeat; mask:var(--m-shield) center/contain no-repeat; }
.journey__ico--chart::after{ -webkit-mask:var(--m-trend) center/contain no-repeat; mask:var(--m-trend) center/contain no-repeat; }
.journey__ico--doc::after{ -webkit-mask:var(--m-doc) center/contain no-repeat; mask:var(--m-doc) center/contain no-repeat; }
.journey__title{ font-family:var(--f-title); font-size:1.7rem; font-weight:600; color:var(--tx-title); margin-bottom:.6rem; }
.journey__text{ font-size:1.4rem; line-height:145%; color:var(--tx-body); }

.critical{
  margin-top:5.6rem; padding:3.2rem 4rem; border-radius:1.6rem;
  background:var(--dark-solid); color:#fff;
}
.critical__label{ font-size:1.2rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-accent); margin-bottom:1.6rem; }
.critical__text{ font-size:1.8rem; line-height:150%; color:var(--tx-light); max-width:88rem; }

@media (max-width:1080px){
  .journey{ grid-template-columns:repeat(3,1fr); gap:3.2rem 2.4rem; }
  .journey::before{ display:none; }
}
@media (max-width:600px){
  .s-journey{ padding:6.4rem 0; }
  .journey{ grid-template-columns:1fr 1fr; }
  .critical{ padding:2.4rem; }
  .critical__text{ font-size:1.6rem; }
}

/* Iconos adicionales del recorrido */
:root{
  --m-card: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E");
  --m-cam: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E");
  --m-trend: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 7h6v6'/%3E%3Cpath d='m22 7-8.5 8.5-5-5L2 17'/%3E%3C/svg%3E");
}

/* =========================================================
   PLANES — separados por tipo de usuario
   ========================================================= */
.s-plans{ padding:9.6rem 0; background:var(--gray-50); }
.s-plans__main{ margin:0 auto 5.6rem; max-width:80rem; text-align:center; }
.s-plans__lead{ margin-top:2rem; font-size:1.7rem; line-height:150%; color:var(--tx-body); }

.plangroup{ margin-bottom:5.6rem; }
.plangroup:last-of-type{ margin-bottom:0; }
.plangroup__head{
  display:flex; align-items:flex-start; gap:1.6rem;
  padding-bottom:2.4rem; margin-bottom:3.2rem; border-bottom:1px solid var(--line);
}
.plangroup__ico{ width:4rem; height:4rem; flex:none; border-radius:1rem; background:#fff; border:1px solid var(--line); position:relative; }
.plangroup__ico::after{ content:""; position:absolute; inset:0; margin:auto; width:2rem; height:2rem; background:var(--brand); }
.plangroup__ico--person::after{ -webkit-mask:var(--m-user) center/contain no-repeat; mask:var(--m-user) center/contain no-repeat; }
.plangroup__ico--store::after{ -webkit-mask:var(--m-store) center/contain no-repeat; mask:var(--m-store) center/contain no-repeat; }
.plangroup__ico--bank::after{ -webkit-mask:var(--m-bank) center/contain no-repeat; mask:var(--m-bank) center/contain no-repeat; }
.plangroup__title{ font-family:var(--f-title); font-size:2.2rem; font-weight:500; color:var(--tx-title); }
.plangroup__text{ margin-top:.4rem; font-size:1.5rem; color:var(--tx-body); }

.plangroup__grid{ display:grid; gap:2.4rem; }
.plangroup__grid--2{ grid-template-columns:repeat(2,1fr); }
.plangroup__grid--1{ grid-template-columns:1fr; }

.plan{
  display:flex; flex-direction:column;
  padding:3.2rem; border-radius:1.6rem;
  background:#fff; border:1px solid var(--line);
  transition:border-color .3s ease, box-shadow .3s ease;
}
.plan:hover{ border-color:#d5d9e2; box-shadow:0 1.2rem 3.2rem rgba(16,24,40,.08); }
.plan--featured{ background:var(--dark-solid); border-color:var(--dark-solid); position:relative; }
.plan--featured:hover{ border-color:var(--dark-solid); }

.plan__badge{
  position:absolute; top:-1.2rem; left:3.2rem;
  padding:.5rem 1.4rem; border-radius:99.9rem;
  background:var(--brand); color:#fff;
  font-size:1.2rem; font-weight:600;
}
.plan__name{ font-family:var(--f-title); font-size:1.8rem; font-weight:600; color:var(--tx-title); margin-bottom:1.6rem; }
.plan--featured .plan__name{ color:#fff; }
.plan__price{ font-family:var(--f-title); font-size:4.4rem; font-weight:500; line-height:1; letter-spacing:-.05rem; color:var(--tx-title); }
.plan--featured .plan__price{ color:#fff; }
.plan__cur{ font-size:2.2rem; font-weight:500; margin-right:.4rem; }
.plan__to{ font-size:2.8rem; }
.plan__period{ margin-top:.8rem; font-size:1.4rem; color:var(--tx-mute); }
.plan--featured .plan__period{ color:var(--tx-onDark); }

.plan__list{ display:flex; flex-direction:column; gap:1.2rem; margin:2.4rem 0 3.2rem; }
.plan__list li{ position:relative; padding-left:2.8rem; font-size:1.5rem; line-height:145%; color:var(--tx-body); }
.plan--featured .plan__list li{ color:var(--tx-light); }
.plan__list li::before{
  content:""; position:absolute; left:0; top:.1rem; width:2rem; height:2rem; border-radius:50%;
  background:var(--tint-1); background-image:var(--m-check-brand);
  background-size:1.1rem; background-position:center; background-repeat:no-repeat;
}
.plan--featured .plan__list li::before{ background-color:rgba(255,255,255,.12); }
.plan__cta{ margin-top:auto; }
.plan--featured .cta--outline{ color:#fff; border-color:rgba(255,255,255,.4); }
.plan--featured .cta--outline:hover{ background:rgba(255,255,255,.1); border-color:#fff; color:#fff; }

/* Tarjeta ancha (un solo plan en la fila) */
.plan--wide{ display:grid; grid-template-columns:1fr 1.4fr auto; gap:4rem; align-items:center; }
.plan--wide .plan__list{ margin:0; }
.plan--wide .plan__cta{ margin:0; }



@media (max-width:900px){
  .plangroup__grid--2{ grid-template-columns:1fr; }
  .plan--wide{ grid-template-columns:1fr; gap:2.4rem; }
}
@media (max-width:600px){
  .s-plans{ padding:6.4rem 0; }
  .plan{ padding:2.4rem; }
  .plan__price{ font-size:3.6rem; }
  .plan__cta{ width:100%; justify-content:center; }
}

/* Iconos de los grupos de planes */
:root{
  --m-store: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 7 1.5-4h17L22 7'/%3E%3Cpath d='M2 7h20v3a3 3 0 0 1-6 0 3 3 0 0 1-6 0 3 3 0 0 1-6 0z'/%3E%3Cpath d='M4 12v9h16v-9'/%3E%3C/svg%3E");
  --m-bank:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-6 9 6'/%3E%3Cpath d='M4 10v9M9 10v9M15 10v9M20 10v9'/%3E%3Cpath d='M2 21h20'/%3E%3C/svg%3E");
  --m-lock:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

/* =========================================================
   CARRUSEL DE PASOS
   ========================================================= */
.carrusel{ position:relative; }

.carrusel__ventana{ overflow:hidden; border-radius:2rem; }
.carrusel__pista{
  display:flex; align-items:stretch;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}

.diapo{
  flex:0 0 100%; min-width:100%;
  display:grid; grid-template-columns:1fr 1fr; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:2rem; overflow:hidden;
}
.diapo__shot{
  position:relative; align-self:stretch; overflow:hidden;
  display:flex; align-items:flex-end; justify-content:center;
  padding:3.2rem 3.2rem 0; min-height:47rem;
  background:var(--card-grad), var(--tint-2);
}
.diapo:nth-child(2) .diapo__shot{ background:var(--card-grad), var(--tint-1); }
.diapo:nth-child(3) .diapo__shot{ background:var(--card-grad), var(--tint-3); }
.diapo:nth-child(4) .diapo__shot{ background:var(--card-grad), var(--gray-100); }
.diapo__shot img{
  /* Más alta que el panel: el móvil se ve grande y sale por abajo */
  width:auto; height:72rem; max-height:none; max-width:none; display:block;
  margin-bottom:-10rem; flex:none;
  /* Entra desde abajo cuando la diapositiva se activa */
  opacity:0; transform:translateY(2.4rem);
  transition:opacity .5s ease .12s, transform .5s cubic-bezier(.4,0,.2,1) .12s;
}
.diapo.is-activa .diapo__shot img{ opacity:1; transform:none; }

.diapo__body{ padding:4rem 5.6rem; }
.diapo__n{
  display:inline-block; margin-bottom:1.6rem;
  padding:.5rem 1.4rem; border-radius:99.9rem;
  background:var(--tint-1); color:var(--brand);
  font-family:var(--f-title); font-size:1.3rem; font-weight:600;
}
.diapo__title{
  font-family:var(--f-title); font-size:3.2rem; font-weight:500;
  line-height:125%; letter-spacing:-.032rem; color:var(--tx-title); margin-bottom:1.6rem;
}
.diapo__text{ font-size:1.7rem; line-height:155%; color:var(--tx-body); max-width:44rem; }
.diapo__n,.diapo__title,.diapo__text{
  opacity:0; transform:translateY(1.6rem);
  transition:opacity .5s ease, transform .5s cubic-bezier(.4,0,.2,1);
}
.diapo.is-activa .diapo__n{ opacity:1; transform:none; transition-delay:.15s; }
.diapo.is-activa .diapo__title{ opacity:1; transform:none; transition-delay:.24s; }
.diapo.is-activa .diapo__text{ opacity:1; transform:none; transition-delay:.32s; }

/* Flechas laterales */
.carrusel__flecha{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:5.6rem; height:5.6rem; border-radius:50%;
  background:#fff; border:1px solid var(--line);
  box-shadow:0 .8rem 2.4rem rgba(16,24,40,.14);
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
}
.carrusel__flecha::after{
  content:""; position:absolute; inset:0; margin:auto; width:2.2rem; height:2.2rem;
  background:var(--tx-title);
  -webkit-mask:var(--m-arrow) center/contain no-repeat; mask:var(--m-arrow) center/contain no-repeat;
}
.carrusel__flecha:hover{ background:var(--brand); border-color:var(--brand); }
.carrusel__flecha:hover::after{ background:#fff; }
.carrusel__flecha--prev{ left:-2.8rem; }
.carrusel__flecha--prev::after{ transform:rotate(180deg); }
.carrusel__flecha--next{ right:-2.8rem; }

/* Puntos y contador */
.carrusel__control{
  display:flex; align-items:center; justify-content:center; gap:2.4rem;
  margin-top:3.2rem;
}
.carrusel__puntos{ display:flex; gap:.8rem; }
.carrusel__punto{
  width:3.2rem; height:.4rem; border-radius:99.9rem;
  background:#d5d9e2; transition:background .3s ease, width .3s ease;
}
.carrusel__punto.is-activo{ background:var(--brand); width:5.6rem; }
.carrusel__cuenta{ font-size:1.4rem; color:var(--tx-mute); font-variant-numeric:tabular-nums; }
.carrusel__cuenta b{ color:var(--tx-title); font-weight:600; }

@media (max-width:1240px){
  .carrusel__flecha--prev{ left:1.2rem; }
  .carrusel__flecha--next{ right:1.2rem; }
}
@media (max-width:900px){
  .diapo{ grid-template-columns:1fr; }
  .diapo__shot{ min-height:34rem; padding:3.2rem 3.2rem 0; }
  .diapo__shot img{ max-height:30rem; }
  .diapo__body{ padding:3.2rem 2.4rem 4rem; }
  .diapo__title{ font-size:2.4rem; }
  .diapo__text{ font-size:1.6rem; max-width:none; }
  .carrusel__flecha{ width:4.4rem; height:4.4rem; top:auto; bottom:-1rem; transform:none; }
  .carrusel__flecha--prev{ left:auto; right:7rem; }
  .carrusel__flecha--next{ right:1.2rem; }
  .carrusel__control{ justify-content:flex-start; margin-top:2.4rem; }
}

/* Quien pide movimiento reducido no ve desplazamientos */
@media (prefers-reduced-motion: reduce){
  .carrusel__pista{ transition:none; }
  .diapo__shot img,.diapo__n,.diapo__title,.diapo__text{
    opacity:1 !important; transform:none !important; transition:none;
  }
}
