/* ============================================================
   One Way Insurance - sistema de diseño compartido
   ============================================================ */
:root{
  --navy:#00239C;
  --navy-2:#122E8F;
  --navy-deep:#050F3D;
  --blue:#1C5DAA;
  --blue-light:#2E76CC;
  --sand:#F8F6EF;
  --sand-2:#F1EEE2;
  --sky:#EAF0FB;
  --gold:#F1CD00;
  --gold-dark:#C9A800;
  --gold-light:#F6DE55;
  --ink:#151B2B;
  --ink-soft:#4B5468;
  --green:#2E8B57;
  --white:#FFFFFF;
  --line:#DEE2EC;
  --line-soft:#EAE6D8;
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:8px;
  --shadow-1: 0 1px 2px rgba(0,35,156,.06), 0 8px 24px rgba(0,35,156,.08);
  --shadow-2: 0 20px 50px rgba(5,15,61,.30);
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Source Sans 3', system-ui, -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;
  --maxw: 1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  margin:0;
  background:var(--sand);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3{font-family:var(--font-display); color:var(--navy); margin:0; line-height:1.14; font-weight:600;}
p{margin:0;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
section{padding:84px 0;}
@media (max-width:760px){ section{padding:52px 0;} }
:focus-visible{outline:3px solid var(--gold); outline-offset:2px; border-radius:4px;}

.eyebrow{
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--blue); font-weight:600; display:inline-flex; align-items:center; gap:8px;
}
.eyebrow::before{content:""; width:18px; height:2px; background:var(--gold); display:inline-block;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-body); font-weight:600; font-size:16px;
  padding:14px 26px; border-radius:999px; border:1.5px solid transparent;
  cursor:pointer; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-primary{ background:var(--navy); color:#fff; box-shadow:0 10px 24px rgba(0,35,156,.32); }
.btn-primary:hover{ background:var(--blue-light); box-shadow:0 14px 30px rgba(0,35,156,.4); }
.btn-whatsapp{ background:#25D366; color:#08341c; box-shadow:0 10px 24px rgba(37,211,102,.32); }
.btn-whatsapp:hover{ background:#2fe377; }
.btn-ghost{ background:transparent; color:var(--navy); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--navy); color:var(--navy); background:var(--sky); }
.btn-gold{ background:var(--gold); color:var(--navy-deep); box-shadow:0 10px 24px rgba(241,205,0,.35); }
.btn-gold:hover{ background:var(--gold-light); }
.btn-sm{ padding:10px 18px; font-size:14px; }
.btn-lg{ padding:16px 30px; font-size:17px; }
.btn svg{ width:17px; height:17px; flex:none; }

/* ---------- NAV CTA (destacado) ---------- */
.btn-nav-cta{
  background:linear-gradient(135deg, var(--gold), var(--gold-dark));
  color:var(--navy-deep); font-weight:800; padding:11px 20px; font-size:14.5px;
  box-shadow:0 6px 18px rgba(241,205,0,.45), 0 0 0 0 rgba(241,205,0,.5);
  animation: navCtaPulse 2.4s ease-in-out infinite;
  border:1.5px solid rgba(5,15,61,.06);
}
.btn-nav-cta:hover{ background:linear-gradient(135deg, var(--gold-light), var(--gold)); transform:translateY(-1px); }
@keyframes navCtaPulse{
  0%,100%{ box-shadow:0 6px 18px rgba(241,205,0,.45), 0 0 0 0 rgba(241,205,0,.35); }
  50%{ box-shadow:0 6px 22px rgba(241,205,0,.6), 0 0 0 7px rgba(241,205,0,.12); }
}
@media (prefers-reduced-motion: reduce){ .btn-nav-cta{ animation:none; } }

/* ---------- TOPBAR ---------- */
.topbar{ background:var(--navy-deep); color:#cfe0f2; font-size:13px; padding:8px 0; }
.topbar .wrap{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.topbar a{ text-decoration:none; color:#cfe0f2; display:inline-flex; align-items:center; gap:6px; }
.topbar a:hover{ color:#fff; }
.topbar svg{width:14px; height:14px;}
.topbar-right{ display:flex; align-items:center; gap:16px; }

/* ---------- LANG TOGGLE ---------- */
.lang-toggle{ display:inline-flex; border:1px solid rgba(255,255,255,.28); border-radius:999px; overflow:hidden; font-family:var(--font-mono); font-size:11.5px; font-weight:600; }
.lang-toggle button{ background:none; border:none; color:#cfe0f2; padding:5px 10px; cursor:pointer; letter-spacing:.04em; }
.lang-toggle button.act{ background:var(--gold); color:var(--navy-deep); }
.lang-toggle.on-light{ border-color:var(--line); }
.lang-toggle.on-light button{ color:var(--ink-soft); }
.lang-toggle.on-light button.act{ background:var(--navy); color:#fff; }

/* ---------- HEADER ---------- */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(248,246,239,.94); backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.nav{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 0; }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.brand img.brand-logo{ height:56px; width:auto; }
@media (max-width:600px){ .brand img.brand-logo{ height:44px; } }

.nav-links{ display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0; }
.nav-links > li > a, .nav-links > li > .drop-label{ text-decoration:none; color:var(--ink-soft); font-weight:600; font-size:15px; cursor:pointer; display:inline-flex; align-items:center; gap:5px;}
.nav-links > li > a:hover, .nav-links > li > .drop-label:hover{ color:var(--navy); }
.nav-actions{ display:flex; align-items:center; gap:12px; }
.nav-toggle{ display:none; background:none; border:1px solid var(--line); border-radius:10px; padding:9px; cursor:pointer; }
.nav-toggle svg{ width:20px; height:20px; color:var(--navy); }

.dropdown{ position:relative; }
.dropdown .drop-label svg{ width:13px; height:13px; transition:transform .2s ease; }
.dropdown:hover .drop-label svg{ transform:rotate(180deg); }
/* Puente invisible: sin esto, el mouse "sale" del área hover al bajar hacia el menú y este se cierra antes de poder hacer clic. */
.dropdown::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); width:260px; height:14px; }
.dropmenu{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%);
  background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius-md); box-shadow:var(--shadow-2);
  padding:10px; min-width:240px; display:grid; gap:2px;
  opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease;
}
.dropdown:hover .dropmenu, .dropdown:focus-within .dropmenu{ opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.dropmenu a{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; text-decoration:none; color:var(--ink); font-weight:600; font-size:14.5px; }
.dropmenu a:hover{ background:var(--sky); color:var(--navy); }
/* La pagina en la que estas se marca en el menu */
.dropmenu a[aria-current], .m-sub a[aria-current]{ color:var(--navy); background:var(--sky); }
.dropmenu a .ic{ display:inline-flex; color:var(--blue); }
.dropmenu a .ic svg{ width:18px; height:18px; }

@media (max-width:980px){
  .nav-links{ display:none; }
  .nav-actions .btn-nav-cta{ display:none; }
  .nav-toggle{ display:inline-flex; }
}
.mobile-panel{ display:none; border-top:1px solid var(--line-soft); background:var(--sand); }
.mobile-panel.open{ display:block; }
.mobile-panel .wrap{ padding:14px 24px 20px; display:flex; flex-direction:column; gap:4px; }
.mobile-panel a{ display:block; text-decoration:none; color:var(--navy); font-weight:600; font-size:15.5px; padding:9px 0; border-bottom:1px solid var(--line-soft); }
.mobile-panel .m-sub{ padding-left:14px; display:flex; flex-direction:column; }
.mobile-panel .m-sub a{ display:flex; align-items:center; gap:8px; font-size:14.5px; color:var(--ink-soft); border-bottom:none; padding:7px 0; }
.mobile-panel .m-sub a .ic{ display:inline-flex; color:var(--blue); }
.mobile-panel .m-sub a .ic svg{ width:16px; height:16px; }
.mobile-panel .m-head{ font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--blue); padding:12px 0 4px; }
.mobile-panel .btn{ margin-top:10px; justify-content:center; }

/* ---------- HERO ---------- */
.hero{
  background:
    radial-gradient(900px 480px at 85% -10%, var(--sky) 0%, transparent 60%),
    linear-gradient(180deg, var(--sand) 0%, var(--sand) 100%);
  padding-top:60px;
  overflow:hidden;
}
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
@media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; gap:44px; } }
.hero h1{ font-size:clamp(30px,4.4vw,50px); margin-top:16px; letter-spacing:-.01em; }
.hero h1 em{ font-style:normal; color:var(--blue); }
.hero-sub{ font-size:17.5px; color:var(--ink-soft); margin-top:18px; max-width:540px; }
.hero-ctas{ display:flex; gap:14px; margin-top:28px; flex-wrap:wrap; }
.trust-list{ list-style:none; margin:30px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.trust-list li{ display:flex; align-items:center; gap:10px; font-size:15px; color:var(--ink); font-weight:600; }
.trust-list svg{ width:19px; height:19px; color:var(--green); flex:none; }

/* ---------- AGENT CARD ---------- */
.card-stage{ display:flex; justify-content:center; }
.agent-card{
  position:relative; width:100%; max-width:380px; background:#fff; border-radius:var(--radius-lg);
  box-shadow:var(--shadow-2); border:1px solid var(--line-soft); overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.agent-card:hover{ transform:translateY(-4px); box-shadow:0 26px 60px rgba(5,15,61,.32); }
.agent-card-accent{ height:5px; background:linear-gradient(90deg, var(--navy) 0%, var(--blue) 55%, var(--gold) 100%); }
.agent-card-photo-wrap{ position:relative; background:var(--sky); }
/* height:auto es imprescindible: el atributo height del <img> se aplica como
   altura real y anularia el aspect-ratio, estirando la foto a lo alto. */
.agent-card-photo{ width:100%; height:auto; aspect-ratio:16/13; object-fit:cover; object-position:top center; display:block; }
.agent-card-verified{
  position:absolute; right:16px; bottom:-18px; width:40px; height:40px; border-radius:50%;
  background:var(--navy); border:3px solid #fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(0,35,156,.28);
}
.agent-card-verified svg{ width:18px; height:18px; color:#fff; }
.agent-card-body{ padding:30px 26px 26px; }
.agent-card-name{ font-family:var(--font-display); font-size:22px; font-weight:600; color:var(--navy); }
.agent-card-role{ font-size:14px; color:var(--blue); font-weight:600; margin-top:3px; }
.agent-card-divider{ height:1px; background:var(--line); margin:20px 0; }
.agent-info-grid{ display:grid; grid-template-columns:1fr 1fr; row-gap:16px; column-gap:18px; }
.agent-info-item .label{ font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); font-weight:700; }
.agent-info-item .value{ font-family:var(--font-mono); font-size:13.5px; color:var(--navy); font-weight:600; margin-top:5px; }
.agent-card-footer{ margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.agent-card-footer a{ font-size:13px; color:var(--blue); text-decoration:none; display:inline-flex; align-items:center; gap:6px; font-weight:700; }
.agent-card-footer a:hover{ color:var(--navy); }
.agent-card-footer svg{ width:13px; height:13px; }

/* ---------- TOAST ---------- */
.toast{
  position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px);
  background:var(--navy-deep); color:#eaf1fb; padding:14px 20px; border-radius:12px;
  font-size:14.5px; max-width:min(420px, calc(100vw - 32px)); box-shadow:var(--shadow-2);
  display:flex; gap:10px; align-items:flex-start; z-index:80; opacity:0; pointer-events:none;
  transition:opacity .25s ease, transform .25s ease; border:1px solid rgba(255,255,255,.1);
}
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto; }
.toast svg{ width:19px; height:19px; color:var(--gold-light); flex:none; margin-top:1px; }

/* ---------- STATS ---------- */
.stats-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:36px; padding-bottom:36px; border-bottom:1px solid var(--line-soft); }
@media (max-width:700px){ .stats-row{ grid-template-columns:1fr 1fr; gap:28px 16px; } }
.stat-item{ text-align:center; }
.stat-num{ font-family:var(--font-display); font-size:32px; font-weight:700; color:var(--navy); letter-spacing:-.01em; }
.stat-label{ font-size:12.5px; color:var(--ink-soft); margin-top:6px; line-height:1.4; }

/* ---------- TRUST STRIP ---------- */
.trust-strip{ padding:40px 0; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); background:var(--white); }
.trust-strip-head{ text-align:center; font-size:14px; color:var(--ink-soft); font-weight:600; margin-bottom:22px; }
.logo-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px 34px; }
.logo-chip{ font-family:var(--font-display); font-weight:600; font-size:19px; color:var(--navy); opacity:.55; letter-spacing:-.01em; }
.trust-strip-note{ text-align:center; font-size:12px; color:#9aa7b4; margin-top:20px; }

/* ---------- SERVICES ---------- */
.section-head{ max-width:640px; }
.section-head.center{ margin:0 auto; text-align:center; }
.section-head h2{ font-size:clamp(26px,3.2vw,36px); margin-top:14px; }
.section-head p{ color:var(--ink-soft); margin-top:14px; font-size:16.5px; }

.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:46px; }
@media (max-width:980px){ .svc-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .svc-grid{ grid-template-columns:1fr; } }
.svc-card{
  background:var(--white); border:1px solid var(--line-soft); border-radius:var(--radius-md);
  padding:26px 22px; box-shadow:var(--shadow-1); transition:transform .2s ease, box-shadow .2s ease;
  text-decoration:none; display:block;
}
.svc-card:hover{ transform:translateY(-4px); box-shadow:0 18px 34px rgba(0,35,156,.14); }
.svc-icon{ width:46px; height:46px; border-radius:12px; background:var(--sky); display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--blue); }
.svc-icon svg{ width:22px; height:22px; }
.svc-card h3{ font-size:18px; }
.svc-card p{ color:var(--ink-soft); font-size:14.5px; margin-top:10px; }
.svc-card .lnk{ display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-weight:700; font-size:14px; color:var(--blue); }
.svc-card .lnk svg{ width:15px; height:15px; }

/* ---------- PROCESS ---------- */
.process{ background:var(--navy); color:#eaf1fb; }
.process .section-head h2, .process .eyebrow{ color:#fff; }
.process .section-head p{ color:#a9c1de; }
.process .eyebrow::before{ background:var(--gold-light); }
.process .eyebrow{ color:var(--gold-light); }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:50px; }
@media (max-width:980px){ .steps{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .steps{ grid-template-columns:1fr; } }
.step{ position:relative; padding-top:8px; }
.step-num{ font-family:var(--font-mono); font-size:13px; color:var(--gold-light); letter-spacing:.06em; }
.step h3{ color:#fff; font-size:19px; margin-top:10px; }
.step p{ color:#a9c1de; font-size:14.5px; margin-top:10px; }
.step-line{ height:2px; background:linear-gradient(90deg, rgba(255,255,255,.28), transparent); margin-top:18px; }

/* ---------- WHY ---------- */
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
@media (max-width:820px){ .why-grid{ grid-template-columns:1fr; } }
.why-card{ display:flex; gap:16px; align-items:flex-start; }
.why-badge{ width:44px; height:44px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; flex:none; }
.why-badge svg{ width:22px; height:22px; color:var(--navy-deep); }
.why-card h3{ font-size:17px; }
.why-card p{ font-size:14.5px; color:var(--ink-soft); margin-top:6px; }

/* ---------- AGENT SECTION ---------- */
.agent-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:center; }
@media (max-width:980px){ .agent-grid{ grid-template-columns:1fr; gap:44px; } }
.agent-grid .agent-card{ max-width:360px; }
.agent-grid .card-stage{ justify-content:flex-start; }
@media (max-width:980px){ .agent-grid .card-stage{ justify-content:center; } }
.agent-copy h2{ font-size:clamp(26px,3.2vw,34px); margin-top:14px; }
.agent-copy p{ color:var(--ink-soft); margin-top:16px; font-size:16.5px; }
.agent-ctas{ display:flex; gap:14px; margin-top:26px; flex-wrap:wrap; }

/* Texto que solo leen los lectores de pantalla */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }

/* ---------- FAQ ---------- */
.faq-list{ margin-top:40px; border-top:1px solid var(--line-soft); }
.faq-item{ border-bottom:1px solid var(--line-soft); }
.faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:20px 4px; font-family:var(--font-display); font-size:17px; color:var(--navy); font-weight:600;
}
.faq-q svg{ width:20px; height:20px; color:var(--blue); flex:none; transition:transform .25s ease; }
.faq-item.open .faq-q svg{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-a-inner{ padding:0 4px 22px; color:var(--ink-soft); font-size:15px; max-width:820px; }
/* El tope va holgado: la respuesta mas larga mide 231px en un movil de 320px,
   y con la letra ampliada se pasaria del limite anterior */
.faq-item.open .faq-a{ max-height:460px; }

/* ---------- FORM ---------- */
.form-section{ background:linear-gradient(165deg, var(--navy-2), var(--navy-deep)); color:#fff; position:relative; overflow:hidden; }
.form-section::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(700px 400px at 90% 0%, rgba(241,205,0,.16), transparent 60%);
  pointer-events:none;
}
.form-wrap{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:flex-start; position:relative; }
@media (max-width:940px){ .form-wrap{ grid-template-columns:1fr; gap:36px; } }
.form-copy .eyebrow{ color:var(--gold-light); }
.form-copy .eyebrow::before{ background:var(--gold-light); }
.form-copy h2{ color:#fff; font-size:clamp(26px,3.2vw,34px); margin-top:14px; }
.form-copy p{ color:#c3d5ea; margin-top:16px; font-size:16px; max-width:420px; }
.form-points{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
.form-points li{ display:flex; gap:10px; align-items:center; color:#dce8f6; font-size:14.5px; }
.form-points svg{ width:18px; height:18px; color:var(--gold-light); flex:none; }

.lead-card{ background:#fff; border-radius:var(--radius-lg); padding:32px; box-shadow:var(--shadow-2); color:var(--ink); }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:6px; }
.field input, .field select{
  width:100%; padding:13px 14px; border-radius:10px; border:1.5px solid var(--line);
  font-family:var(--font-body); font-size:15px; color:var(--ink); background:var(--sand);
}
.field input:focus, .field select:focus{ outline:none; border-color:var(--navy); background:#fff; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:480px){ .field-row{ grid-template-columns:1fr; } }
.lead-card .btn{ width:100%; margin-top:6px; padding:15px; font-size:16px; }
.lead-note{ font-size:12px; color:#8a95a1; margin-top:14px; line-height:1.5; }

.lead-success{ display:none; text-align:center; padding:20px 4px; }
.lead-success.show{ display:block; }
.lead-success > svg{ width:52px; height:52px; color:var(--green); margin:0 auto 16px; }
.lead-success h3{ font-size:21px; }
.lead-success p{ color:var(--ink-soft); margin-top:10px; font-size:15px; }
.lead-form.hide{ display:none; }

/* ---------- MODAL (cotización + popup) ---------- */
.modal-overlay{
  position:fixed; inset:0; background:rgba(5,15,61,.6); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; padding:20px;
  z-index:100; opacity:0; pointer-events:none; transition:opacity .22s ease;
}
.modal-overlay.open{ opacity:1; pointer-events:auto; }
.modal-box{
  background:#fff; border-radius:var(--radius-lg); max-width:460px; width:100%;
  padding:34px 30px 28px; position:relative; box-shadow:var(--shadow-2);
  max-height:90vh; overflow-y:auto;
  transform:translateY(16px) scale(.97); transition:transform .22s ease;
}
.modal-overlay.open .modal-box{ transform:translateY(0) scale(1); }
.modal-close{
  position:absolute; top:16px; right:16px; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--ink-soft); padding:0;
}
.modal-close:hover{ color:var(--navy); border-color:var(--navy); }
.modal-close svg{ width:16px; height:16px; }
.modal-head{ margin-bottom:22px; padding-right:28px; }
.modal-head h3{ font-family:var(--font-display); font-weight:600; font-size:21px; color:var(--navy); margin-top:10px; }
.modal-head p{ color:var(--ink-soft); font-size:14.5px; margin-top:8px; }
.modal-box form .btn{ width:100%; margin-top:6px; padding:15px; font-size:16px; }
.modal-box .lead-success{ padding:6px 0 0; }
.modal-badge{ display:inline-flex; align-items:center; gap:6px; background:var(--sky); color:var(--navy); font-size:12px; font-weight:700; padding:5px 11px; border-radius:999px; font-family:var(--font-mono); }
@media (max-width:480px){ .modal-box{ padding:28px 20px 22px; } }

/* ---------- POPUP (30s) ---------- */
.popup-box{ padding:0; overflow:hidden; max-width:440px; }
.popup-accent{ height:3px; background:linear-gradient(90deg, var(--navy) 0%, var(--blue) 55%, var(--gold) 100%); }
.popup-inner{ padding:30px 30px 26px; }
.popup-box .modal-close{ top:14px; }
.popup-byline{ display:flex; align-items:center; gap:12px; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--line-soft); }
.popup-avatar{ width:42px; height:42px; border-radius:8px; object-fit:cover; object-position:top center; flex:none; }
.popup-byline-name{ font-family:var(--font-display); font-size:14.5px; font-weight:600; color:var(--navy); display:block; }
.popup-byline-role{ font-size:11.5px; color:var(--ink-soft); }
.popup-box .modal-head{ padding-right:0; margin-bottom:22px; }
.popup-box .modal-head h3{ font-size:22px; line-height:1.25; }
.popup-box .modal-head p{ margin-top:8px; }
.popup-trust{ text-align:center; font-size:12px; color:var(--ink-soft); margin-top:16px; }
.popup-trust b{ color:var(--navy); }

/* ---------- FOOTER ---------- */
footer{ background:var(--navy-deep); color:#a9c1de; padding:60px 0 26px; font-size:14px; }
.foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; }
@media (max-width:860px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .foot-grid{ grid-template-columns:1fr; } }
.foot-brand{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.foot-brand img{ height:34px; width:auto; }
footer h3{ color:#fff; font-family:var(--font-body); font-size:13.5px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:16px; }
footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
footer a{ color:#a9c1de; text-decoration:none; }
footer a:hover{ color:#fff; }
.foot-legal{ margin-top:44px; padding-top:26px; border-top:1px solid rgba(255,255,255,.1); font-size:12px; color:#7c93ad; line-height:1.7; }
.foot-bottom{ margin-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:#7c93ad; }
.foot-bottom a{ color:#7c93ad; }

/* ---------- FLOATING WHATSAPP ---------- */
.wa-float{
  position:fixed; right:18px; bottom:18px; z-index:60;
  width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(37,211,102,.45); text-decoration:none; transition:transform .2s ease;
}
.wa-float:hover{ transform:scale(1.06); }
.wa-float svg{ width:29px; height:29px; color:#fff; }
@media (max-width:600px){ .wa-float{ width:50px; height:50px; right:12px; bottom:12px; } .wa-float svg{ width:24px; height:24px; } }

/* ---------- PAGE HERO (subpáginas) ---------- */
.page-hero{ padding:52px 0 46px; background:linear-gradient(180deg, var(--sky), var(--sand)); }
.page-hero .wrap{ text-align:center; }
.page-hero .pill{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line-soft); padding:7px 16px; border-radius:999px; font-family:var(--font-mono); font-size:12.5px; color:var(--navy); font-weight:600; box-shadow:var(--shadow-1); }
.page-hero h1{ font-size:clamp(28px,4vw,44px); margin:16px auto 0; max-width:760px; }
.page-hero p{ color:var(--ink-soft); font-size:17px; margin:14px auto 0; max-width:600px; }
.page-hero .hero-ctas{ justify-content:center; margin-top:26px; }

/* ---------- BREADCRUMB / MINI NAV ---------- */
.crumbs{ font-size:13px; color:var(--ink-soft); margin-bottom:10px; }
.crumbs a{ color:var(--blue); text-decoration:none; font-weight:600; }

/* ---------- POINT LIST ---------- */
.point-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:36px; }
@media (max-width:700px){ .point-grid{ grid-template-columns:1fr; } }
.point{ display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:20px; }
.point .pic{ width:38px; height:38px; border-radius:10px; background:var(--sky); display:flex; align-items:center; justify-content:center; font-size:18px; flex:none; }
.point h3{ font-size:16px; }
.point p{ font-size:14px; color:var(--ink-soft); margin-top:6px; }

/* ---------- OTHER SERVICES STRIP ---------- */
.explore-strip{ background:var(--sky); border-top:1px solid var(--line-soft); }
.explore-strip .section-head{ max-width:100%; }
.other-svc{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:34px; }
.other-svc a{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line-soft); padding:11px 18px; border-radius:999px; text-decoration:none; color:var(--navy); font-weight:600; font-size:14px; box-shadow:var(--shadow-1); transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.other-svc a:hover{ border-color:var(--navy); transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,35,156,.14); }
.other-svc a.act{ background:var(--navy); color:#fff; border-color:var(--navy); }
.other-svc a svg{ width:15px; height:15px; color:var(--blue); flex:none; }
.other-svc a.act svg{ color:#fff; }

/* ---------- ANTES / CON MARY (comparación editorial) ---------- */
.transform{
  display:grid; grid-template-columns:1fr 1fr; margin-top:48px;
  border:1px solid var(--line); border-radius:2px; overflow:hidden;
  box-shadow:0 1px 3px rgba(5,15,61,.04);
}
@media (max-width:760px){ .transform{ grid-template-columns:1fr; } }
.transform-col{ padding:44px 40px; }
.transform-col.before{ background:var(--sand-2); border-right:1px solid var(--line); }
@media (max-width:760px){ .transform-col.before{ border-right:none; border-bottom:1px solid var(--line); } }
.transform-col.after{ background:#fff; position:relative; }
.transform-col.after::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--navy), var(--gold)); }
.transform-label{
  font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  display:block; margin:0 0 26px;
}
.transform-col.before .transform-label{ color:#78839c; }
.transform-col.after .transform-label{ color:var(--navy); }
.transform-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.transform-list li{
  display:flex; gap:14px; align-items:flex-start; font-size:15.5px; line-height:1.55;
  padding:15px 0; border-top:1px solid var(--line-soft);
}
.transform-list li:first-child{ border-top:none; padding-top:0; }
.transform-list li:last-child{ padding-bottom:0; }
.transform-col.before li{ color:var(--ink-soft); }
.transform-col.after li{ color:var(--navy-deep); font-weight:600; }
.t-ic{ width:16px; height:16px; flex:none; margin-top:4px; }
.transform-col.before .t-ic{ color:#c3cad9; }
.transform-col.after .t-ic{ color:var(--gold-dark); }

/* ---------- TIERS (ejemplos de planes) ---------- */
.tier-wrap{ margin-top:40px; }
.tier-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .tier-grid{ grid-template-columns:1fr; max-width:400px; margin:0 auto; } }
.tier-card{ background:#fff; border:1.5px solid var(--line-soft); border-radius:var(--radius-md); padding:30px 24px 26px; box-shadow:var(--shadow-1); position:relative; }
.tier-card.best{ border-color:var(--gold); box-shadow:0 18px 40px rgba(241,205,0,.28); }
@media (min-width:901px){ .tier-card.best{ transform:translateY(-10px); } }
.tier-tag{ position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--gold); color:var(--navy-deep); font-size:11px; font-weight:800; padding:5px 14px; border-radius:999px; font-family:var(--font-mono); white-space:nowrap; }
.tier-name{ font-family:var(--font-display); font-size:19px; color:var(--navy); font-weight:600; }
.tier-desc{ font-size:13.5px; color:var(--ink-soft); margin-top:6px; min-height:36px; }
.tier-price{ margin-top:16px; font-family:var(--font-display); font-size:30px; color:var(--navy); font-weight:700; }
.tier-price small{ font-size:14px; font-weight:600; color:var(--ink-soft); }
.tier-features{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.tier-features li{ display:flex; gap:8px; align-items:flex-start; font-size:13.5px; color:var(--ink); }
.tier-features svg{ width:15px; height:15px; color:var(--green); flex:none; margin-top:2px; }
.tier-note{ text-align:center; font-size:12px; color:var(--ink-soft); margin-top:24px; max-width:640px; margin-left:auto; margin-right:auto; }

/* ---------- DATOS CLAVE (info real, sin precios inventados) ---------- */
.facts{ margin-top:8px; border-top:1px solid var(--line-soft); }
.fact-row{ display:grid; grid-template-columns:190px 1fr; gap:28px; padding:24px 0; border-bottom:1px solid var(--line-soft); }
@media (max-width:640px){ .fact-row{ grid-template-columns:1fr; gap:8px; } }
.fact-label{ font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); padding-top:2px; }
.fact-body{ font-size:15px; color:var(--ink); line-height:1.65; }
.fact-body strong{ color:var(--navy); }

/* ---------- LISTO PARA CONTRATAR (checklist + próximos pasos) ---------- */
.ready-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; margin-top:44px; }
@media (max-width:760px){ .ready-grid{ grid-template-columns:1fr; gap:36px; } }
.ready-col h3{ font-family:var(--font-mono); font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--blue); margin-bottom:20px; }
.ready-checklist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.ready-checklist li{ display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--ink); line-height:1.5; }
.ready-checklist svg{ width:19px; height:19px; color:var(--green); flex:none; margin-top:2px; }
.mini-steps{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; }
.mini-steps li{ display:flex; gap:14px; align-items:flex-start; }
.mini-steps .n{ width:26px; height:26px; border-radius:50%; background:var(--navy); color:#fff; font-family:var(--font-mono); font-size:12.5px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:none; }
.mini-steps p{ font-size:15px; color:var(--ink); margin:0; padding-top:2px; line-height:1.5; }

/* ---------- MINI AGENT TRUST (subpáginas) ---------- */
.mini-agent{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:18px 22px; box-shadow:var(--shadow-1); max-width:640px; margin:36px auto 0; }
.mini-agent img{ width:52px; height:52px; border-radius:50%; object-fit:cover; object-position:top center; border:2px solid var(--gold); flex:none; }
.mini-agent-body{ font-size:13.5px; color:var(--ink-soft); }
.mini-agent-body strong{ color:var(--navy); font-family:var(--font-display); font-size:15px; display:block; }
.mini-agent a{ margin-left:auto; flex:none; font-size:12.5px; font-weight:700; color:var(--blue); text-decoration:none; white-space:nowrap; }
@media (max-width:560px){ .mini-agent{ flex-wrap:wrap; } .mini-agent a{ margin-left:0; } }

/* ---------- LEGAL PAGES ---------- */
.legal{ max-width:800px; margin:0 auto; }
.legal h2{ font-size:24px; margin-top:36px; }
.legal h2:first-child{ margin-top:0; }
.legal p, .legal li{ color:var(--ink-soft); font-size:15px; margin-top:12px; line-height:1.7; }
.legal ul{ padding-left:20px; }
.legal .updated{ color:var(--ink-soft); font-size:13px; margin-top:8px; }

/* ============================================================
   v13 - COMPONENTES DE PROFUNDIDAD Y UX
   ============================================================ */

/* ---------- PAGE NAV (indice sticky por pagina) ---------- */
.pagenav{
  position:sticky; top:var(--hh,80px); z-index:40;
  background:rgba(255,255,255,.96); backdrop-filter:saturate(160%) blur(10px);
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
}
.pagenav-inner{ display:flex; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:none; padding:0; }
.pagenav-inner::-webkit-scrollbar{ display:none; }
.pagenav a{
  flex:none; text-decoration:none; font-size:13.5px; font-weight:600; color:var(--ink-soft);
  padding:14px 14px 12px; border-bottom:2px solid transparent; white-space:nowrap; transition:color .15s ease, border-color .15s ease;
}
.pagenav a:hover{ color:var(--navy); }
.pagenav a.act{ color:var(--navy); border-bottom-color:var(--gold); }
.pagenav .pn-cta{
  margin-left:auto; background:var(--navy); color:#fff; border-radius:999px;
  padding:8px 16px; font-size:13px; border-bottom:none; align-self:center;
}
.pagenav .pn-cta:hover{ background:var(--blue-light); color:#fff; }
@media (max-width:760px){ .pagenav .pn-cta{ display:none; } .pagenav a{ font-size:13px; padding:12px 11px 10px; } }
section[id]{ scroll-margin-top:calc(var(--hh,80px) + 62px); }

/* ---------- DEEP (explicacion editorial larga) ---------- */
.deep{ display:grid; grid-template-columns:230px 1fr; gap:56px; margin-top:48px; align-items:start; }
@media (max-width:920px){ .deep{ grid-template-columns:1fr; gap:28px; } }
.deep-aside{ position:sticky; top:calc(var(--hh,80px) + 74px); }
@media (max-width:920px){ .deep-aside{ position:static; } }
.deep-aside-title{ font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); margin-bottom:16px; }
.deep-aside ol{ list-style:none; margin:0; padding:0; counter-reset:dq; display:flex; flex-direction:column; gap:2px; }
.deep-aside li{ counter-increment:dq; }
.deep-aside a{
  display:flex; gap:10px; align-items:baseline; text-decoration:none; color:var(--ink-soft);
  font-size:14px; line-height:1.4; padding:8px 10px; border-radius:8px; border-left:2px solid var(--line);
}
.deep-aside a::before{ content:counter(dq,decimal-leading-zero); font-family:var(--font-mono); font-size:10.5px; color:var(--blue); font-weight:700; flex:none; }
.deep-aside a:hover{ background:var(--sky); color:var(--navy); }
.deep-aside a.act{ color:var(--navy); font-weight:700; border-left-color:var(--gold); background:var(--sky); }
@media (max-width:920px){
  .deep-aside ol{ flex-direction:row; flex-wrap:wrap; gap:8px; }
  .deep-aside a{ border-left:none; border:1px solid var(--line-soft); background:#fff; font-size:13px; padding:7px 12px; }
}
.deep-body{ max-width:720px; }
.deep-block{ padding-bottom:38px; margin-bottom:38px; border-bottom:1px solid var(--line-soft); scroll-margin-top:calc(var(--hh,80px) + 74px); }
.deep-block:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.deep-block h3{ font-size:23px; line-height:1.25; }
.deep-block p{ font-size:16px; color:var(--ink-soft); line-height:1.72; margin-top:14px; }
.deep-block p strong{ color:var(--navy-deep); font-weight:700; }
.deep-list{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
.deep-list li{ display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--ink); line-height:1.6; }
.deep-list li::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); flex:none; margin-top:9px; }
.deep-list li b{ color:var(--navy); }
.deep-callout{
  margin-top:22px; background:var(--sky); border-left:3px solid var(--navy);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:18px 22px;
}
.deep-callout .dc-label{ font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--navy); display:block; margin-bottom:7px; }
.deep-callout p{ font-size:15px; color:var(--navy-deep); margin-top:0; line-height:1.6; }

/* ---------- COMPARE (tabla comparativa) ---------- */
.compare-scroll{ overflow-x:auto; margin-top:40px; border-radius:var(--radius-md); border:1px solid var(--line); background:#fff; box-shadow:var(--shadow-1); }
table.compare{ width:100%; border-collapse:collapse; min-width:660px; }
table.compare th, table.compare td{ text-align:left; padding:16px 20px; border-bottom:1px solid var(--line-soft); vertical-align:top; font-size:14.5px; }
table.compare thead th{
  background:var(--navy-deep); color:#fff; font-family:var(--font-body); font-weight:700; font-size:14.5px;
  border-bottom:none; position:relative;
}
table.compare thead th:first-child{ background:var(--navy); font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#a9c1de; font-weight:600; }
table.compare thead th .th-sub{ display:block; font-weight:400; font-size:12px; color:#a9c1de; margin-top:4px; }
table.compare tbody th{
  font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--blue); background:var(--sand); width:190px;
}
table.compare td{ color:var(--ink); line-height:1.6; }
table.compare tbody tr:last-child th, table.compare tbody tr:last-child td{ border-bottom:none; }
table.compare .col-hi{ background:rgba(241,205,0,.07); }
table.compare thead th.col-hi{ background:linear-gradient(160deg, var(--navy-2), var(--navy-deep)); }
table.compare thead th.col-hi::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--gold); }
.compare-note{ font-size:12.5px; color:var(--ink-soft); margin-top:16px; line-height:1.6; max-width:760px; }
.cmp-yes{ color:var(--green); font-weight:700; }
.cmp-no{ color:#b0392f; font-weight:700; }
.compare-hint{ display:none; font-size:12px; color:var(--ink-soft); margin-top:10px; font-family:var(--font-mono); }
@media (max-width:760px){
  .compare-hint{ display:block; }
  table.compare{ min-width:560px; }
  table.compare th, table.compare td{ padding:13px 15px; font-size:13.5px; }
  table.compare tbody th{ width:132px; font-size:10.5px; }
}

/* ---------- TOOL (herramienta interactiva) ---------- */
.tool{
  margin-top:44px; background:linear-gradient(165deg, var(--navy-2), var(--navy-deep));
  border-radius:var(--radius-lg); padding:38px 36px; color:#fff; position:relative; overflow:hidden;
  box-shadow:var(--shadow-2);
}
.tool::before{ content:""; position:absolute; inset:0; background:radial-gradient(600px 340px at 92% 0%, rgba(241,205,0,.18), transparent 62%); pointer-events:none; }
@media (max-width:600px){ .tool{ padding:28px 20px; } }
.tool-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; position:relative; align-items:start; }
@media (max-width:820px){ .tool-grid{ grid-template-columns:1fr; gap:28px; } }
.tool-head .eyebrow{ color:var(--gold-light); }
.tool-head .eyebrow::before{ background:var(--gold-light); }
.tool-head h3{ color:#fff; font-size:25px; margin-top:12px; line-height:1.24; }
.tool-head p{ color:#c3d5ea; font-size:15px; margin-top:12px; }
.tool-field{ margin-top:22px; }
.tool-field label{ display:block; font-size:12.5px; font-weight:700; color:var(--gold-light); font-family:var(--font-mono); letter-spacing:.06em; text-transform:uppercase; margin-bottom:9px; }
.tool-field select, .tool-field input{
  width:100%; padding:13px 14px; border-radius:10px; border:1.5px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08); color:#fff; font-family:var(--font-body); font-size:15px;
}
.tool-field select option{ color:var(--ink); background:#fff; }
.tool-field input::placeholder{ color:#8fa8c6; }
.tool-field select:focus, .tool-field input:focus{ outline:none; border-color:var(--gold); background:rgba(255,255,255,.14); }
.tool-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.tool-chip{
  background:rgba(255,255,255,.08); border:1.5px solid rgba(255,255,255,.22); color:#dce8f6;
  border-radius:999px; padding:9px 16px; font-size:14px; font-weight:600; cursor:pointer;
  font-family:var(--font-body); transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.tool-chip:hover{ border-color:var(--gold-light); color:#fff; }
.tool-chip.act{ background:var(--gold); border-color:var(--gold); color:var(--navy-deep); }
.tool-out{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-md);
  padding:26px 24px;
}
.tool-out-label{ font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-light); }
.tool-out-title{ font-family:var(--font-display); font-size:21px; color:#fff; font-weight:600; margin-top:10px; line-height:1.3; }
.tool-out-body{ font-size:14.5px; color:#c3d5ea; margin-top:12px; line-height:1.65; }
.tool-out-body b{ color:#fff; }
.tool-timeline{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:0; }
.tool-timeline li{ display:flex; gap:14px; align-items:flex-start; padding:11px 0; border-top:1px solid rgba(255,255,255,.12); }
.tool-timeline li:first-child{ border-top:none; }
.tool-timeline .tl-when{ font-family:var(--font-mono); font-size:11.5px; color:var(--gold-light); font-weight:700; flex:none; width:108px; padding-top:2px; letter-spacing:.02em; }
.tool-timeline .tl-what{ font-size:14px; color:#dce8f6; line-height:1.5; }
.tool-timeline li.tl-hi .tl-what{ color:#fff; font-weight:600; }
.tool-note{ font-size:11.5px; color:#8fa8c6; margin-top:18px; line-height:1.55; position:relative; }
.tool-out .btn{ width:100%; margin-top:20px; }

/* ---------- MISTAKES (errores comunes) ---------- */
.mistakes{ display:grid; grid-template-columns:repeat(2,1fr); gap:2px; margin-top:44px; background:var(--line); border:1px solid var(--line); border-radius:2px; overflow:hidden; }
@media (max-width:760px){ .mistakes{ grid-template-columns:1fr; } }
.mistake{ background:#fff; padding:30px 28px; display:flex; gap:18px; align-items:flex-start; }
.mistake-n{ font-family:var(--font-display); font-size:34px; font-weight:700; color:var(--sand-2); line-height:1; flex:none; letter-spacing:-.02em; }
.mistake h3{ font-size:17px; line-height:1.35; }
.mistake p{ font-size:14.5px; color:var(--ink-soft); margin-top:9px; line-height:1.6; }
.mistake .fix{ display:block; margin-top:12px; font-size:14px; color:var(--navy-deep); font-weight:600; padding-left:14px; border-left:2px solid var(--gold); line-height:1.55; }

/* ---------- SCENARIOS (casos tipo) ---------- */
.scenarios{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
@media (max-width:900px){ .scenarios{ grid-template-columns:1fr; max-width:520px; margin-left:auto; margin-right:auto; } }
.scenario{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:26px 24px; box-shadow:var(--shadow-1); display:flex; flex-direction:column; }
.scenario-tag{ font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.scenario h3{ font-size:17.5px; margin-top:10px; line-height:1.3; }
.scenario .sc-sit{ font-size:14.5px; color:var(--ink-soft); margin-top:11px; line-height:1.6; }
.scenario .sc-do{ margin-top:16px; padding-top:16px; border-top:1px solid var(--line-soft); font-size:14px; color:var(--navy-deep); line-height:1.6; }
.scenario .sc-do b{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); display:block; margin-bottom:6px; font-weight:700; }
.scenarios-note{ font-size:12px; color:var(--ink-soft); margin-top:20px; text-align:center; }

/* ---------- GLOSSARY (glosario del nicho) ---------- */
.glossary{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 44px; margin-top:40px; }
@media (max-width:760px){ .glossary{ grid-template-columns:1fr; } }
.gloss-item{ padding:20px 0; border-bottom:1px solid var(--line-soft); }
.gloss-term{ font-family:var(--font-mono); font-size:13px; font-weight:700; color:var(--navy); letter-spacing:.01em; }
.gloss-def{ font-size:14.5px; color:var(--ink-soft); margin-top:7px; line-height:1.6; }

/* ---------- SOURCES (fuentes oficiales) ---------- */
.sources{ margin-top:44px; background:var(--white); border:1px solid var(--line-soft); border-radius:var(--radius-md); padding:24px 26px; }
.sources-label{ font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.sources p{ font-size:13.5px; color:var(--ink-soft); margin-top:9px; line-height:1.6; }
.sources ul{ list-style:none; margin:14px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px 20px; }
.sources a{ font-size:13.5px; color:var(--blue); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.sources a:hover{ color:var(--navy); text-decoration:underline; }
.sources a svg{ width:13px; height:13px; flex:none; }

/* ---------- UTILIDADES DE RITMO ---------- */
.sec-white{ background:var(--white); }
.sec-sky{ background:var(--sky); }
.sec-tight{ padding-top:0; }

/* ============================================================
   v14 - MOVIMIENTO Y PIEZAS DE IMPACTO
   ============================================================ */

/* ---------- REVEAL: entrada al hacer scroll (todo el sitio) ---------- */
.js .reveal{
  opacity:0; transform:translateY(24px);
  transition:opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1);
}
.js .reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .js .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}
@media print{
  .js .reveal{ opacity:1 !important; transform:none !important; }
  .readbar, .wa-float, .pagenav, .modal-overlay{ display:none !important; }
}

/* ---------- BARRA DE PROGRESO DE LECTURA ---------- */
.readbar{
  position:fixed; top:0; left:0; height:3px; width:0;
  background:linear-gradient(90deg, var(--navy), var(--blue) 45%, var(--gold));
  z-index:70; transition:width .1s linear; pointer-events:none;
}

/* ---------- HERO: brillo que respira ---------- */
.hero{ position:relative; }
.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(620px 420px at 12% 8%, rgba(28,93,170,.13), transparent 62%),
    radial-gradient(520px 380px at 88% 92%, rgba(241,205,0,.14), transparent 62%);
  animation:heroBreathe 14s ease-in-out infinite alternate;
}
.hero .wrap{ position:relative; z-index:1; }
@keyframes heroBreathe{
  0%{ transform:translate3d(0,0,0) scale(1); opacity:.85; }
  100%{ transform:translate3d(0,-14px,0) scale(1.06); opacity:1; }
}
@media (prefers-reduced-motion: reduce){ .hero::after{ animation:none; } }

/* ---------- CUENTA ATRAS DE INSCRIPCION ---------- */
.cd-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:40px; }
@media (max-width:820px){ .cd-grid{ grid-template-columns:1fr; } }
.cd-card{
  position:relative; overflow:hidden;
  background:linear-gradient(165deg, var(--navy-2), var(--navy-deep));
  border-radius:var(--radius-lg); padding:28px 26px 24px; color:#fff;
  box-shadow:var(--shadow-2);
}
.cd-card::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(460px 260px at 100% 0%, rgba(241,205,0,.20), transparent 62%);
}
.cd-card > *{ position:relative; }
.cd-top{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.cd-name{ font-family:var(--font-display); font-size:18px; font-weight:600; line-height:1.25; max-width:60%; color:#fff; }
@media (max-width:520px){ .cd-name{ max-width:100%; } }
.cd-state{
  font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px; white-space:nowrap;
  background:rgba(255,255,255,.12); color:#cfe0f2; border:1px solid rgba(255,255,255,.2);
}
.cd-state.open{ background:var(--gold); color:var(--navy-deep); border-color:var(--gold); }
.cd-state.open::before{
  content:""; display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--navy-deep); margin-right:7px; vertical-align:middle;
  animation:cdPulse 1.6s ease-in-out infinite;
}
@keyframes cdPulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.35; transform:scale(.8); } }
@media (prefers-reduced-motion: reduce){ .cd-state.open::before{ animation:none; } }

.cd-clock{ display:flex; gap:10px; margin-top:22px; }
.cd-unit{
  flex:1; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-md); padding:14px 6px 10px; text-align:center;
}
.cd-num{
  font-family:var(--font-display); font-size:clamp(24px,4.4vw,34px); font-weight:700;
  color:#fff; line-height:1; font-variant-numeric:tabular-nums; letter-spacing:-.01em;
}
.cd-unit-label{
  display:block; margin-top:7px; font-family:var(--font-mono); font-size:9.5px; font-weight:600;
  letter-spacing:.11em; text-transform:uppercase; color:var(--gold-light);
}
.cd-when{ margin-top:18px; font-size:13.5px; color:#c3d5ea; line-height:1.55; }
.cd-when b{ color:#fff; }
.cd-note{ font-size:12px; color:var(--ink-soft); margin-top:22px; line-height:1.6; max-width:720px; }

/* ---------- MAPA DE COBERTURA ---------- */
.map-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-top:44px; }
@media (max-width:900px){ .map-grid{ grid-template-columns:1fr; gap:34px; } }
.map-stage{ position:relative; max-width:520px; margin:0 auto; width:100%; }
.map-stage svg{ width:100%; height:auto; display:block; overflow:visible; }
.fl-shape{
  fill:var(--sky); stroke:var(--navy); stroke-width:3; stroke-linejoin:round;
  filter:drop-shadow(0 16px 34px rgba(0,35,156,.22));
}
.fl-dot{ fill:var(--navy); stroke:#fff; stroke-width:1.8; paint-order:stroke; }
.fl-key{ fill:var(--navy); opacity:.62; }
.fl-border{ fill:none; stroke:var(--navy); stroke-width:1.4; opacity:.4; stroke-linejoin:round; stroke-linecap:round; }
.fl-halo{ fill:var(--gold); opacity:.5; transform-box:fill-box; transform-origin:center; animation:dotPulse 3s ease-out infinite; }
@keyframes dotPulse{
  0%{ transform:scale(.55); opacity:.55; }
  70%{ transform:scale(2.6); opacity:0; }
  100%{ transform:scale(2.6); opacity:0; }
}
@media (prefers-reduced-motion: reduce){ .fl-halo{ animation:none; opacity:.3; } }
.fl-label{ font-family:var(--font-mono); font-size:11px; font-weight:600; fill:var(--navy-deep); }
.map-copy h2{ font-size:clamp(26px,3.2vw,34px); margin-top:14px; }
.map-copy p{ color:var(--ink-soft); margin-top:16px; font-size:16.5px; }
.map-metros{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.map-metros li{
  font-family:var(--font-mono); font-size:12.5px; font-weight:600; color:var(--navy);
  background:#fff; border:1px solid var(--line-soft); border-radius:999px; padding:7px 14px;
  box-shadow:var(--shadow-1);
}
.map-note{ font-size:12.5px; color:var(--ink-soft); margin-top:22px; line-height:1.6; }

/* ---------- MARQUEE DE ASEGURADORAS ---------- */
.marquee{ position:relative; overflow:hidden; margin-top:22px; }
.marquee::before, .marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:90px; z-index:2; pointer-events:none;
}
.marquee::before{ left:0; background:linear-gradient(90deg, var(--white), transparent); }
.marquee::after{ right:0; background:linear-gradient(270deg, var(--white), transparent); }
.marquee-track{ display:flex; width:max-content; animation:marquee 34s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee-track .logo-row{ flex:none; gap:34px; padding-right:34px; flex-wrap:nowrap; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){
  .marquee-track{ animation:none; width:100%; justify-content:center; }
  .marquee-track .logo-row:last-child{ display:none; }
  .marquee::before, .marquee::after{ display:none; }
}

/* ---------- CIFRAS QUE CUENTAN ---------- */
.stat-num{ font-variant-numeric:tabular-nums; }

/* ============================================================
   v15 - CAPTACION: barra movil, captura a media pagina y
   contexto de las herramientas en el lead
   ============================================================ */

/* ---------- BARRA DE ACCION FIJA EN MOVIL ---------- */
.mobile-cta{ display:none; }
@media (max-width:760px){
  .mobile-cta{
    display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:8px;
    position:fixed; left:0; right:0; bottom:0; z-index:65;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background:rgba(255,255,255,.97); backdrop-filter:saturate(160%) blur(10px);
    border-top:1px solid var(--line-soft); box-shadow:0 -6px 24px rgba(5,15,61,.12);
  }
  .mobile-cta a, .mobile-cta button{
    display:inline-flex; align-items:center; justify-content:center; gap:7px;
    font-family:var(--font-body); font-weight:700; font-size:14px; line-height:1;
    padding:13px 10px; border-radius:999px; border:1.5px solid transparent;
    text-decoration:none; cursor:pointer; white-space:nowrap;
  }
  .mobile-cta .mc-quote{ background:linear-gradient(135deg, var(--gold), var(--gold-dark)); color:var(--navy-deep); }
  .mobile-cta .mc-call{ background:var(--navy); color:#fff; }
  .mobile-cta .mc-wa{ background:#25D366; color:#08341c; }
  .mobile-cta svg{ width:16px; height:16px; flex:none; }
  /* el flotante de WhatsApp pasa a la barra, para no duplicar ni tapar */
  .wa-float{ display:none; }
  body{ padding-bottom:76px; }
}

/* ---------- CAPTURA A MEDIA PAGINA ---------- */
.midcap{
  background:linear-gradient(135deg, var(--sand-2), var(--sky));
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
  padding:56px 0;
}
.midcap-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
@media (max-width:860px){ .midcap-grid{ grid-template-columns:1fr; gap:28px; } }
.midcap-copy h2{ font-size:clamp(23px,2.8vw,30px); margin-top:12px; }
.midcap-copy p{ color:var(--ink-soft); font-size:16px; margin-top:12px; max-width:460px; }
.midcap-card{
  background:#fff; border:1px solid var(--line-soft); border-left:4px solid var(--gold);
  border-radius:var(--radius-md); padding:26px 24px; box-shadow:var(--shadow-1);
}
.midcap-card .field{ margin-bottom:13px; }
.midcap-card .btn{ width:100%; margin-top:4px; padding:14px; }
.midcap-note{ font-size:11.5px; color:#8a95a1; margin-top:12px; line-height:1.5; text-align:center; }
.midcap-card .lead-success{ padding:8px 0; }
.midcap-card .lead-success > svg{ width:42px; height:42px; margin-bottom:12px; }
.midcap-card .lead-success h3{ font-size:19px; }

/* ---------- CONTEXTO DE LA HERRAMIENTA DENTRO DEL FORMULARIO ---------- */
.lead-ctx{
  background:var(--sky); border:1px solid #cfdcf2; border-radius:var(--radius-sm);
  padding:12px 14px; margin-bottom:18px;
}
.lead-ctx-label{
  display:block; font-family:var(--font-mono); font-size:9.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--blue); margin-bottom:5px;
}
.lead-ctx-body{ font-size:13.5px; color:var(--navy-deep); line-height:1.5; }
.midcap-card .lead-ctx{ margin-bottom:14px; }

/* Campo trampa para bots: invisible para las personas, visible en el HTML
   para los robots que rellenan todo. Si llega con contenido, no es un lead. */
.hp-field{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }


/* ---------- PAGINA LARGA DE PREGUNTAS ---------- */
.mf-head{ background:linear-gradient(160deg, var(--sand-2), var(--sky)); padding:52px 0 34px; border-bottom:1px solid var(--line-soft); }
.mf-head h1{ font-size:clamp(30px,4.4vw,46px); margin-top:12px; max-width:16ch; text-wrap:balance; }
.mf-sub{ color:var(--ink-soft); font-size:17px; margin-top:14px; max-width:62ch; }
.mf-search{ position:relative; margin-top:26px; max-width:560px; }
.mf-search svg{ position:absolute; left:16px; top:50%; transform:translateY(-50%); width:19px; height:19px; color:var(--ink-soft); pointer-events:none; }
.mf-search input{
  width:100%; font-family:var(--font-body); font-size:16px; color:var(--ink);
  padding:15px 16px 15px 46px; border-radius:999px; border:1.5px solid var(--line);
  background:#fff; box-shadow:var(--shadow-1); -webkit-appearance:none;
}
.mf-search input:focus{ outline:none; border-color:var(--navy); box-shadow:0 0 0 4px rgba(0,35,156,.14); }
.mf-count{ font-family:var(--font-mono); font-size:12.5px; color:var(--ink-soft); margin-top:12px; min-height:1.2em; }
.mf-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.mf-chip{
  font-family:var(--font-body); font-size:13.5px; font-weight:600; color:var(--ink-soft);
  background:#fff; border:1.5px solid var(--line); border-radius:999px; padding:9px 16px; cursor:pointer;
  transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.mf-chip:hover{ color:var(--navy); border-color:var(--navy); }
.mf-chip.act{ background:var(--navy); border-color:var(--navy); color:#fff; }
.mf-wrap{ padding:44px 24px 10px; }
.mf-cat{ margin-bottom:40px; scroll-margin-top:110px; }
.mf-cat h2{ font-size:clamp(21px,2.5vw,27px); padding-bottom:12px; border-bottom:2px solid var(--line-soft); }
.mf-list{ margin-top:6px; }
.mf-item mark{ background:var(--gold-light); color:inherit; padding:0 2px; border-radius:3px; }
.mf-empty{ text-align:center; color:var(--ink-soft); font-size:16px; padding:50px 0 60px; line-height:1.7; }
.mf-disc{ font-size:12.5px; color:var(--ink-soft); line-height:1.65; border-top:1px solid var(--line-soft); padding-top:20px; margin-top:10px; }
.mf-cta{ background:var(--navy-deep); color:#fff; text-align:center; padding:58px 0; margin-top:36px; }
.mf-cta h2{ color:#fff; font-size:clamp(24px,3vw,32px); }
.mf-cta p{ color:rgba(255,255,255,.82); margin:14px auto 24px; max-width:56ch; font-size:16.5px; }
@media (max-width:560px){
  .mf-head{ padding:38px 0 26px; }
  .mf-wrap{ padding:32px 20px 6px; }
  .mf-cat{ margin-bottom:32px; }
}

/* Casilla de consentimiento. Es obligatoria: sin ella el CRM no crea el
   lead, y sin ella tampoco habria prueba de consentimiento (TCPA). */
.consent-row{ display:flex; gap:11px; align-items:flex-start; margin:4px 0 14px;
  font-size:13px; line-height:1.5; color:var(--ink-soft); cursor:pointer; }
.consent-row input{ flex:none; width:17px; height:17px; margin-top:1px; cursor:pointer;
  accent-color:var(--navy); }
.consent-row input:focus-visible{ outline:2px solid var(--navy); outline-offset:2px; }
.modal-box .consent-row, .popup-inner .consent-row{ font-size:12.5px; }

/* Aviso de error dentro del formulario, en vez de una alerta del navegador */
.form-error{ background:#FBE9E7; color:#A8322B; border:1px solid rgba(168,50,43,.25);
  border-radius:8px; padding:10px 13px; margin:0 0 12px; font-size:13.5px; line-height:1.5; }

/* Botones de la pantalla de gracias: llamar y WhatsApp, para quien no
   quiere esperar a que le contacten. */
.success-ctas{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:18px; }
.success-ctas .btn{ flex:1 1 auto; min-width:170px; justify-content:center; }
.success-hint{ margin-top:14px; font-size:12.5px; color:var(--ink-soft); line-height:1.55; }
.success-hint b{ white-space:nowrap; color:var(--ink); }

/* ============================================================================
   ENVIO DEL FORMULARIO Y PANTALLA DE "RECIBIDO"

   Dos problemas que se arreglan aqui:

   1. Al pulsar "enviar" no pasaba nada visible durante el segundo largo que
      tarda el CRM en contestar. Solo cambiaba el texto del boton, sin ningun
      indicador, asi que parecia que el boton estaba roto y la gente lo
      pulsaba otra vez. Ahora aparece una rueda girando al instante.

   2. La regla del icono verde estaba escrita como descendiente
      (.lead-success svg) y tambien agrandaba los iconos de dentro de los
      botones: 42px y un margen automatico que los descolocaba. Se corrigio a
      hijo directo (> svg) mas arriba en este mismo archivo.
   ========================================================================== */

/* --- El boton mientras habla con el CRM ----------------------------------- */
.btn.is-sending{ cursor:progress; }
.btn.is-sending:active{ transform:none; }
.btn[disabled]{ cursor:default; }

/* La rueda se dibuja con el color del texto del boton, asi funciona igual
   sobre el dorado, el azul o el verde sin tener que declarar un color por
   cada variante. */
.btn-spin{
  width:16px; height:16px; border-radius:50%; flex:none;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-bottom-color:transparent;
  animation: btnSpin .55s linear infinite;
}
@keyframes btnSpin{ to{ transform:rotate(360deg); } }

/* --- La pantalla de "recibido" -------------------------------------------- */
/* Entra entera con un desplazamiento corto, y despues cada parte va
   apareciendo en orden: primero el visto, luego el titulo, el texto, los
   botones y por ultimo el numero. Da sensacion de que algo se ha completado,
   en vez de que el formulario ha desaparecido de golpe. */
.lead-success.show{ animation: exitoEntra .4s cubic-bezier(.2,.7,.3,1) both; }
@keyframes exitoEntra{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:none; }
}

.lead-success.show > svg{
  animation: exitoVisto .55s cubic-bezier(.2,1.5,.4,1) both;
  filter: drop-shadow(0 6px 16px rgba(46,139,87,.26));
}
@keyframes exitoVisto{
  0%{   opacity:0; transform:scale(.4); }
  60%{  opacity:1; transform:scale(1.08); }
  100%{ opacity:1; transform:scale(1); }
}

.lead-success.show h3            { animation: exitoSube .42s ease-out .10s both; }
.lead-success.show > p           { animation: exitoSube .42s ease-out .17s both; }
.lead-success.show .success-ctas { animation: exitoSube .42s ease-out .24s both; }
.lead-success.show .success-hint { animation: exitoSube .42s ease-out .31s both; }
@keyframes exitoSube{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:none; }
}

/* --- Los dos botones de contacto ------------------------------------------ */
/* Uno debajo del otro y a todo el ancho. La caja donde vive esto es estrecha
   (el modal y la tarjeta de mitad de pagina), y "Escribir por WhatsApp" no
   cabe en media columna sin partirse. Ademas a un dedo le viene mejor asi. */
.success-ctas{
  display:grid; grid-template-columns:1fr; gap:9px;
  margin-top:18px;
}
.success-ctas .btn{
  width:100%; min-width:0;
  padding:13px 20px; font-size:15.5px;
}
.success-ctas .btn svg{ width:17px; height:17px; margin:0; }

/* El numero de telefono, separado con una linea fina para que se lea como
   una nota al pie y no como parte del mensaje. */
.lead-success .success-hint{
  margin-top:16px; padding-top:13px;
  border-top:1px solid var(--line);
}

/* Quien tenga desactivadas las animaciones del sistema ve todo ya colocado.
   La rueda del boton se mantiene, girando mas despacio: es la unica que
   informa de algo en vez de decorar. */
@media (prefers-reduced-motion: reduce){
  .lead-success.show,
  .lead-success.show > svg,
  .lead-success.show h3,
  .lead-success.show > p,
  .lead-success.show .success-ctas,
  .lead-success.show .success-hint{ animation:none; }
  .btn-spin{ animation-duration:1.4s; }
}
  .btn-spin{ animation-duration:1.4s; }
}

/* Marca que pone la JS un segundo despues de mostrar la confirmacion: apaga
   las animaciones de entrada para que el mensaje quede visible y colocado
   aunque no hayan llegado a correr. */
.lead-success.anim-hecha,
.lead-success.anim-hecha > svg,
.lead-success.anim-hecha h3,
.lead-success.anim-hecha > p,
.lead-success.anim-hecha .success-ctas,
.lead-success.anim-hecha .success-hint{ animation:none; }
