/* =====================================================================
   BuscoTuPlan — hoja de estilo principal del sitio (línea "corporativa teal")
   Teal #0E7A75 + azul marino #1B2B4B · Plus Jakarta Sans + Inter.
   Cubre: home, guías SEO, página legal de privacidad.
   Independiente de panel.css (panel de administración).
   ===================================================================== */

/* ------------------------------------------------------------ reset */
*,*::before,*::after{ box-sizing:border-box; }
*{ margin:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:16.5px; line-height:1.6;
  color:#4B5670; background:#FFFFFF;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; }
button,input,select{ font:inherit; color:inherit; }
ul,ol{ list-style:none; padding:0; }
h1,h2,h3{ color:#1B2B4B; font-weight:800; letter-spacing:-.02em; line-height:1.15; }

/* ------------------------------------------------------------ raíz */
:root{
  --teal:#0E7A75;
  --teal-dark:#0A5F5B;
  --navy:#1B2B4B;
  --text:#4B5670;
  --muted:#667085;
  --tint:#E9F3F3;
  --tint-2:#F4FAFA;
  --bg-soft:#F7FAFA;
  --border:#E3E9EC;
  --border-2:#D5DDE2;
  --white:#FFFFFF;
  --wa:#16BD5B;
  --wa-ink:#06231A;
  --red:#C0392B;
  --disp:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
  --shadow-card:0 24px 60px -40px rgba(27,43,75,.35);
  --shadow-pop:0 18px 45px -25px rgba(27,43,75,.4);
}

.container{ width:100%; max-width:1180px; margin:0 auto; padding:0 22px; }
.narrow{ max-width:860px; }

a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible{
  outline:2px solid var(--navy); outline-offset:2px; border-radius:4px;
}

/* ------------------------------------------------------------ botones */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.95rem 1.7rem; border:1.5px solid transparent; border-radius:999px;
  font-family:var(--disp); font-weight:700; font-size:.98rem; letter-spacing:.002em;
  text-decoration:none; cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease,
    box-shadow .18s ease, transform .18s ease;
  white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--teal); color:#FFFFFF; }
.btn-primary:hover{ background:var(--teal-dark); box-shadow:0 14px 28px -16px rgba(14,122,117,.65); }
.btn-outline{ background:#FFFFFF; color:var(--navy); border-color:var(--border-2); }
.btn-outline:hover{ border-color:var(--teal); color:var(--teal); }
.btn-wa{ background:#FFFFFF; color:var(--navy); border-color:var(--border-2); }
.btn-wa svg{ color:var(--wa); }
.btn-wa:hover{ border-color:var(--teal); color:var(--teal); box-shadow:var(--shadow-pop); }
.btn-lg{ padding:1.08rem 1.9rem; font-size:1.03rem; }
.btn-sm{ padding:.6rem 1.25rem; font-size:.9rem; }
.btn-block{ display:flex; width:100%; }
.btn .btn-arrow{ transition:transform .18s ease; }
.btn:hover .btn-arrow{ transform:translateX(4px); }
.btn.is-busy{ pointer-events:none; opacity:.8; }
.btn .btn-loading{ display:none; }
.btn.is-busy .btn-loading{ display:inline; }
.btn.is-busy .btn-label{ display:none; }

.link-btn{
  background:none; border:0; padding:.4rem .1rem; margin-top:.8rem;
  color:var(--muted); font-size:.88rem; text-decoration:underline;
  text-underline-offset:3px; cursor:pointer;
}
.link-btn:hover{ color:var(--teal); }
.link-btn-light{ color:rgba(255,255,255,.9); }
.link-btn-light:hover{ color:#FFFFFF; }
.cta-band a:focus-visible, .cta-band button:focus-visible{ outline-color:#FFFFFF; }

/* ------------------------------------------------------------ header */
.site-header{
  position:sticky; top:0; z-index:60;
  background:#FFFFFF; border-bottom:1px solid var(--border);
}
.header-inner{
  position:relative; display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; gap:1.5rem; min-height:80px;
}
.brand{ display:flex; align-items:center; gap:.75rem; text-decoration:none; }
.brand-mark{ flex:none; }
.brand-text{ display:flex; flex-direction:column; line-height:1.05; }
.brand-text strong{
  font-family:var(--disp); font-size:1.32rem; font-weight:800; color:var(--navy);
  letter-spacing:-.03em;
}
.brand-text small{ font-size:.62rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--muted); margin-top:.2rem; }

.nav{ display:flex; justify-content:center; align-items:center; gap:2.3rem; }
.nav a{ font-family:var(--disp); font-size:.95rem; font-weight:600;
  color:var(--navy); text-decoration:none; transition:color .15s; }
.nav a:hover{ color:var(--teal); }
/* el botón del nav mantiene sus colores (no hereda navy de .nav a) */
.nav a.btn-primary{ color:#FFFFFF; }
.nav a.btn-primary:hover{ color:#FFFFFF; }

.nav-toggle{ display:none; background:none; border:0; padding:.5rem; cursor:pointer; }
.nav-toggle span{ display:block; width:24px; height:2px; background:var(--navy);
  margin:5px 0; border-radius:2px; transition:transform .2s, opacity .2s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ------------------------------------------------------------ hero */
.hero{ padding:clamp(44px,5.5vw,72px) 0 clamp(48px,6vw,80px); overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:1.04fr .96fr; gap:clamp(36px,4.5vw,64px); align-items:center; }

.eyebrow{
  display:flex; align-items:center; gap:.7rem;
  font-family:var(--disp); font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.16em; color:var(--muted);
  margin-bottom:1.2rem;
}
.eyebrow::before{ content:""; width:26px; height:3px; border-radius:2px;
  background:var(--teal); flex:none; }
.eyebrow-light{ color:rgba(255,255,255,.92) !important; }
.eyebrow-light::before{ background:#FFFFFF; }

.hero h1{
  font-family:var(--disp); font-size:clamp(2.35rem, 4.7vw, 3.75rem);
  line-height:1.08; font-weight:800; letter-spacing:-.03em; color:var(--navy);
  margin-bottom:1.2rem;
}
.hero h1 em{ font-style:normal; color:var(--teal); }
.lead{ font-size:1.1rem; line-height:1.65; color:var(--text); max-width:33em;
  margin-bottom:2rem; }

/* tres micro-beneficios con ícono circular */
.hero-feats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem;
  margin-bottom:2.1rem; }
.feat{ display:grid; grid-template-columns:auto 1fr; gap:.8rem; align-items:start; }
.feat .ico-circle{ width:46px; height:46px; }
.feat strong{ display:block; font-family:var(--disp); font-weight:800;
  font-size:.96rem; color:var(--navy); line-height:1.25; }
.feat span{ display:block; font-size:.8rem; color:var(--text); margin-top:.2rem;
  line-height:1.45; }

.ico-circle{
  width:48px; height:48px; border-radius:50%; background:var(--tint);
  color:var(--teal); display:grid; place-items:center; flex:none;
}
.ico-circle svg{ width:22px; height:22px; }
.ico-circle-outline{ background:#FFFFFF; border:1.5px solid var(--teal); }

.hero-cta{ display:flex; flex-wrap:wrap; gap:.9rem; align-items:center; }
.cta-wa .cta-b, .cta-wa-nota{ display:none; }

.trust-line{
  display:flex; align-items:center; gap:.5rem; margin-top:1.4rem;
  font-size:.86rem; color:var(--muted);
}
.trust-line svg{ color:var(--teal); flex:none; }

/* ---------------------------------------------------- foto del hero */
.hero-media{ position:relative; }
.hero-media::before{
  content:""; position:absolute; inset:20px -20px -20px 20px;
  background:var(--tint); border-radius:170px 28px 28px 28px; z-index:0;
}
.hero-media img,
.hero-media .hero-ph{
  position:relative; z-index:1; width:100%; height:auto;
  aspect-ratio:7 / 5;
  border-radius:160px 24px 24px 24px;
}
.hero-media img{ object-fit:cover; }
.hero-ph{
  display:none; place-items:center;
  background:linear-gradient(135deg,#F6FBFB 0%,#E9F3F3 55%,#D9EAE8 100%);
}
.hero-ph svg{ width:32%; max-width:210px; height:auto; color:rgba(14,122,117,.4); }
.hero-media.is-empty img{ display:none; }
.hero-media.is-empty .hero-ph{ display:grid; }

/* ------------------------------------------------------------ banda confianza */
.trust-band{ background:var(--tint); }
.trust-row{ display:grid; grid-template-columns:repeat(3,1fr); }
.trust-item{ display:flex; gap:1rem; align-items:flex-start; padding:1.7rem 1.6rem; }
.trust-item + .trust-item{ border-left:1px solid #D2E5E3; }
.trust-item svg{ color:var(--teal); flex:none; margin-top:3px; }
.trust-item strong{ display:block; font-family:var(--disp); font-weight:800;
  font-size:1.02rem; color:var(--navy); }
.trust-item span{ display:block; font-size:.88rem; color:var(--text); margin-top:.15rem; }

/* ------------------------------------------------------------ secciones */
.section{ padding:clamp(60px,7.5vw,100px) 0; }
.section-alt{ background:var(--bg-soft); }
.section-head{ max-width:680px; margin-bottom:clamp(2.2rem,4vw,3rem); }
.section-head h2{
  font-family:var(--disp); font-size:clamp(1.85rem, 3.4vw, 2.65rem);
  font-weight:800; letter-spacing:-.03em; line-height:1.1; color:var(--navy);
  margin-bottom:.8rem;
}
.section-head .eyebrow{ margin-bottom:.9rem; }
.section-sub{ font-size:1.04rem; color:var(--text); }

/* pasos */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.step{ position:relative; display:grid; grid-template-columns:auto auto 1fr;
  gap:.9rem; align-items:start; padding-right:1.4rem; }
.step:not(:last-child)::after{
  content:"›"; position:absolute; right:-.35rem; top:1.2rem;
  font-family:var(--disp); font-size:1.6rem; font-weight:700; color:#B7CFCD;
  line-height:1;
}
.step-num{
  width:34px; height:34px; border-radius:50%; background:var(--tint);
  color:var(--teal); display:grid; place-items:center; flex:none;
  font-family:var(--disp); font-weight:800; font-size:.88rem;
}
.step .ico-circle{ width:44px; height:44px; }
.step h3{ font-family:var(--disp); font-size:1.04rem; font-weight:800;
  color:var(--navy); margin-bottom:.3rem; }
.step p{ font-size:.9rem; color:var(--text); line-height:1.55; }
.mid-cta{ margin-top:clamp(2.4rem,4vw,3.2rem); }

/* tarjetas de problemas / beneficios */
.grid-4{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.benefits{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.card{
  background:#FFFFFF; border:1px solid var(--border); border-radius:18px;
  padding:1.6rem 1.5rem; transition:box-shadow .18s ease, border-color .18s ease,
    transform .18s ease;
}
.card:hover{ border-color:#CADCDB; box-shadow:var(--shadow-pop); transform:translateY(-2px); }
.card .ico-circle{ margin-bottom:1rem; }
.card h3{ font-family:var(--disp); font-size:1.08rem; font-weight:800;
  color:var(--navy); margin-bottom:.4rem; letter-spacing:-.01em; }
.card p{ font-size:.93rem; color:var(--text); }
.card em{ font-style:normal; font-weight:700; color:var(--navy); }

/* guías: filas redondeadas */
.guias-list{ display:grid; gap:.8rem; }
.guia-row{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.1rem;
  padding:1.05rem 1.3rem; background:#FFFFFF; border:1px solid var(--border);
  border-radius:16px; text-decoration:none;
  transition:border-color .16s, box-shadow .16s, transform .16s;
}
.guia-idx{
  width:40px; height:40px; border-radius:50%; background:var(--tint);
  color:var(--teal); display:grid; place-items:center; flex:none;
  font-family:var(--disp); font-weight:800; font-size:.8rem;
}
.guia-row strong{ display:block; font-family:var(--disp); font-size:1.08rem;
  font-weight:800; color:var(--navy); letter-spacing:-.01em; }
.guia-row em{ display:block; font-style:normal; font-size:.88rem; color:var(--muted);
  margin-top:.1rem; }
.guia-arrow{
  width:34px; height:34px; border-radius:50%; background:var(--tint-2);
  color:var(--teal); display:grid; place-items:center; flex:none;
  transition:background .16s, color .16s, transform .16s;
}
.guia-row:hover{ border-color:var(--teal); box-shadow:var(--shadow-pop);
  transform:translateY(-1px); }
.guia-row:hover .guia-arrow{ background:var(--teal); color:#FFFFFF; transform:translateX(3px); }

/* FAQ */
.faq{ display:grid; gap:.7rem; }
.faq-item{ background:#FFFFFF; border:1px solid var(--border); border-radius:16px;
  transition:border-color .16s; }
.faq-item:hover{ border-color:#CADCDB; }
.faq-item summary{
  list-style:none; cursor:pointer; padding:1.15rem 3.2rem 1.15rem 1.3rem;
  font-family:var(--disp); font-size:1.04rem; font-weight:700; color:var(--navy);
  position:relative; transition:color .15s;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary:hover{ color:var(--teal); }
.faq-item summary::after{
  content:"+"; position:absolute; right:1.2rem; top:50%; transform:translateY(-50%);
  font-family:var(--disp); font-weight:500; font-size:1.5rem; color:var(--teal);
}
.faq-item[open] summary::after{ content:"–"; }
.faq-body{ padding:0 1.3rem 1.25rem; }
.faq-body p{ font-size:.96rem; color:var(--text); }

/* ------------------------------------------------------------ formularios */
.form-shell{ position:relative; }
.form-card{
  background:#FFFFFF; border:1px solid var(--border); border-radius:24px;
  padding:1.8rem 1.7rem 1.6rem; box-shadow:var(--shadow-card);
}
.form-card-head{ margin-bottom:1.4rem; }
.form-card-head h2{ font-family:var(--disp); font-size:1.5rem; font-weight:800;
  color:var(--navy); letter-spacing:-.02em; }
.form-card-head p{ font-size:.92rem; color:var(--muted); margin-top:.3rem; }

.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.1rem; }
.form-grid .field-full{ grid-column:1 / -1; }

.field label{
  display:block; font-size:.8rem; font-weight:700; color:var(--navy);
  margin-bottom:.4rem;
}
.field label .opt{ font-weight:500; color:var(--muted); }
.field input,
.field select{
  width:100%; height:50px; padding:.7rem .95rem;
  background:#F8FAFB; border:1.5px solid #D9E1E6; border-radius:12px;
  color:var(--navy); font-size:1rem;
  transition:border-color .15s, box-shadow .15s, background .15s;
}
.field input::placeholder{ color:#6E7887; }
.field input:focus,
.field select:focus{
  outline:none; background:#FFFFFF; border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(14,122,117,.13);
}
.field input.is-error,
.field select.is-error{ border-color:var(--red); box-shadow:0 0 0 4px rgba(192,57,43,.1); }

.phone-wrap{ display:flex; align-items:center; gap:.4rem;
  background:#F8FAFB; border:1.5px solid #D9E1E6; border-radius:12px;
  padding:0 .95rem; height:50px;
  transition:border-color .15s, box-shadow .15s, background .15s; }
.phone-wrap:focus-within{ background:#FFFFFF; border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(14,122,117,.13); }
.phone-prefix{ font-size:.9rem; font-weight:600; color:var(--muted); white-space:nowrap; }
.phone-wrap input{ background:transparent; border:0; height:auto; padding:0;
  box-shadow:none !important; }
.phone-wrap input:focus{ background:transparent; border:0; }
.phone-wrap input.is-error{ border:0; }
.phone-wrap:has(input.is-error){ border-color:var(--red); }

.select-wrap{ position:relative; }
.select-wrap::after{
  content:""; position:absolute; right:1.1rem; top:50%; width:8px; height:8px;
  border-right:2px solid var(--teal); border-bottom:2px solid var(--teal);
  transform:translateY(-70%) rotate(45deg); pointer-events:none;
}
.select-wrap select{ appearance:none; -webkit-appearance:none; padding-right:2.6em;
  cursor:pointer; }

.field-error{ font-size:.82rem; color:var(--red); margin:.35rem 0 0; }
.field-error:empty{ display:none; }

.form-alert{
  background:#FDECEC; border:1px solid #F3C9C9; border-radius:12px;
  padding:.8rem 1rem; font-size:.9rem; color:#8A2F2F; margin:.4rem 0 .9rem;
}
.form-alert a{ color:var(--teal); font-weight:700; }

.check{ display:flex; gap:.6rem; align-items:flex-start; font-size:.83rem;
  line-height:1.5; color:var(--text); cursor:pointer; }
.check input{ width:24px; height:24px; margin-top:0; accent-color:var(--teal);
  flex:none; cursor:pointer; }
.check a{ color:var(--teal); font-weight:600; }
.check.is-error span{ color:var(--red); }

.form-actions{ margin-top:1.2rem; display:grid; gap:.9rem; }
.form-micro{ display:flex; justify-content:center; gap:1.2rem; font-size:.78rem;
  font-weight:600; color:var(--muted); margin:.9rem 0 0; flex-wrap:wrap; }
.form-note{ font-size:.72rem; color:var(--muted); margin:.5rem 0 0; text-align:center;
  line-height:1.5; }

.hp{ position:absolute !important; left:-9999px !important; top:-9999px !important;
  opacity:0; }

/* éxito */
.form-success{ text-align:center; padding:1rem 0 .4rem; }
.success-icon{
  width:64px; height:64px; margin:0 auto 1rem; border-radius:50%;
  background:var(--tint); color:var(--teal);
  display:flex; align-items:center; justify-content:center;
}
.form-success h3{ font-family:var(--disp); font-size:1.45rem; font-weight:800;
  color:var(--navy); margin-bottom:.5rem; letter-spacing:-.02em; }
.form-success .success-msg{ font-size:.96rem; color:var(--text); margin-bottom:.3rem; }
.form-success .btn{ margin:.7rem 0 .2rem; }
.form-success .btn-wa{ background:var(--wa); background-color:var(--wa);
  color:var(--wa-ink); border-color:var(--wa); }
.form-success .btn-wa:hover{ filter:brightness(1.05); color:var(--wa-ink); }

/* sección de formulario a dos columnas */
.cotiza-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,72px);
  align-items:center; }
.cotiza-copy .check-list{ display:grid; gap:.7rem; margin-top:1.6rem; }
.cotiza-copy .check-list li{
  display:flex; gap:.6rem; align-items:flex-start; font-size:.97rem;
  font-weight:600; color:var(--navy);
}
.cotiza-copy .check-list svg{ color:var(--teal); flex:none; margin-top:3px; }
.cotiza-copy .trust-line{ margin-top:1.6rem; }

/* ------------------------------------------------------------ CTA final */
.cta-band{ background:var(--teal); color:#FFFFFF; padding:clamp(56px,7vw,88px) 0; }
.cta-inner{ display:grid; grid-template-columns:1fr .92fr; gap:clamp(36px,5vw,64px);
  align-items:center; }
.cta-copy h2{
  font-family:var(--disp); font-size:clamp(1.9rem, 3.5vw, 2.75rem); font-weight:800;
  color:#FFFFFF; letter-spacing:-.03em; line-height:1.1; margin-bottom:.9rem;
}
.cta-copy>p{ font-size:1.04rem; color:rgba(255,255,255,.92); max-width:32em; }
.cta-trust{
  margin-top:1.5rem !important; font-size:.8rem !important; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em;
  color:rgba(255,255,255,.92) !important;
  border-top:1px solid rgba(255,255,255,.3); padding-top:1.1rem;
}

/* formulario del CTA: tarjeta blanca sobre teal */
.cta-card{
  background:#FFFFFF; border-radius:24px; padding:1.8rem 1.7rem 1.6rem;
  box-shadow:0 30px 70px -40px rgba(0,0,0,.5); color:var(--text);
}
.cta-card .form-card-head{ margin-bottom:1.3rem; }
.cta-card .check-light{ color:var(--text); }
.cta-card .check-light a{ color:var(--teal); }
.cta-card .link-btn-light{ color:var(--muted); }
.cta-card .link-btn-light:hover{ color:var(--teal); }
.cta-card .form-success h3{ color:var(--navy); }
.cta-card .form-success .success-msg{ color:var(--text); }
.cta-card .form-success .success-icon{ background:var(--tint); color:var(--teal); }
.cta-card .form-success{ padding:.4rem 0; }

/* ------------------------------------------------------------ footer */
.site-footer{ background:var(--bg-soft); border-top:1px solid var(--border);
  padding:58px 0 30px; }
.foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2.4rem; }
.foot-brand .brand{ margin-bottom:1rem; }
.foot-brand p{ font-size:.92rem; color:var(--text); }
.foot-brand strong{ color:var(--navy); }
.foot-col h3{ font-family:var(--disp); font-size:.78rem; font-weight:800;
  text-transform:uppercase; letter-spacing:.12em; color:var(--navy);
  margin-bottom:1rem; }
.foot-col ul{ display:grid; gap:.6rem; }
.foot-col li{ font-size:.92rem; color:var(--text); }
.foot-col a{ text-decoration:none; transition:color .15s;
  display:inline-block; padding:.25rem 0; }
.foot-col a:hover{ color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.socials{ display:flex; gap:.55rem; }
.socials a{
  display:flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:50%; border:1px solid var(--border-2); color:var(--navy);
  background:#FFFFFF; transition:all .16s;
}
.socials a:hover{ border-color:var(--teal); color:var(--teal);
  transform:translateY(-2px); box-shadow:var(--shadow-pop); }
.foot-note{ font-size:.74rem; color:var(--muted); margin-top:.8rem; }
.foot-bottom{
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  border-top:1px solid var(--border); margin-top:2.6rem; padding-top:1.4rem;
}
.foot-bottom p{ font-size:.8rem; color:var(--muted); }

/* ------------------------------------------------------------ FAB */
.wa-fab{
  position:fixed; right:20px; bottom:20px; z-index:70;
  display:flex; align-items:center; gap:.55rem;
  padding:.85rem 1.3rem; border-radius:999px;
  background:var(--teal); background-color:var(--teal); color:#FFFFFF;
  font-family:var(--disp); font-weight:700; font-size:.95rem; text-decoration:none;
  box-shadow:0 18px 40px -18px rgba(14,122,117,.7);
  transition:background .18s, transform .18s;
}
.wa-fab:hover{ background:var(--teal-dark); transform:translateY(-2px); color:#FFFFFF; }

/* ------------------------------------------------------------ variante ?cta=wa */
html[data-cta='wa'] .hero-cta{ flex-direction:column; align-items:stretch;
  gap:.8rem; max-width:430px; }
html[data-cta='wa'] .hero-cta .cta-wa{
  order:-1; background:var(--teal); background-color:var(--teal);
  color:#FFFFFF; border-color:var(--teal); justify-content:center;
}
html[data-cta='wa'] .hero-cta .cta-wa svg{ color:#FFFFFF; }
html[data-cta='wa'] .hero-cta .cta-wa:hover{ background:var(--teal-dark);
  border-color:var(--teal-dark); color:#FFFFFF; }
html[data-cta='wa'] .hero-cta .cta-wa .cta-a{ display:none; }
html[data-cta='wa'] .hero-cta .cta-wa .cta-b{ display:inline; }
html[data-cta='wa'] .hero-cta .cta-form{ background:#FFFFFF; color:var(--navy);
  border-color:var(--border-2); }
html[data-cta='wa'] .hero-cta .cta-form:hover{ border-color:var(--teal);
  color:var(--teal); box-shadow:var(--shadow-pop); }
html[data-cta='wa'] .cta-wa-nota{ display:block; font-size:.84rem; font-weight:600;
  color:var(--muted); margin:.1rem 0 0; text-align:center; }

/* ------------------------------------------------------------ responsive */
@media (max-width:1020px){
  .hero-grid{ grid-template-columns:1fr; gap:44px; }
  .hero-media{ max-width:640px; }
  .hero-media::before{ inset:16px -16px -16px 16px; border-radius:120px 24px 24px 24px; }
  .hero-media img,.hero-media .hero-ph{ border-radius:110px 20px 20px 20px; }
  .trust-row{ grid-template-columns:1fr; }
  .trust-item{ padding:1.3rem 0; }
  .trust-item + .trust-item{ border-left:0; border-top:1px solid #D2E5E3; }
  .trust-item{ padding-left:0; padding-right:0; }
  .steps{ grid-template-columns:1fr; gap:1.8rem; }
  .step:not(:last-child)::after{ display:none; }
  .step{ padding-right:0; }
  .cotiza-grid{ grid-template-columns:1fr; gap:36px; }
  .cta-inner{ grid-template-columns:1fr; gap:40px; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .benefits{ grid-template-columns:1fr 1fr; }
  .hero-feats{ grid-template-columns:1fr 1fr; }
}
@media (max-width:860px){
  .header-inner{ grid-template-columns:auto auto; justify-content:space-between; }
  .nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:#FFFFFF; border:1px solid var(--border); border-radius:0 0 18px 18px;
    padding:.5rem 1.1rem 1.1rem; box-shadow:var(--shadow-pop);
  }
  .nav.is-open{ display:flex; }
  .nav a{ padding:.9rem .2rem; border-bottom:1px solid var(--border); }
  .nav a.btn{ margin-top:.9rem; border-bottom:0; text-align:center; }
  .nav-toggle{ display:block; }
  .grid-4{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  body{ font-size:16px; }
  .hero h1{ font-size:2.15rem; }
  .lead{ font-size:1.02rem; }
  .hero-feats{ grid-template-columns:1fr; gap:.9rem; }
  .hero-cta .btn{ width:100%; }
  .hero-cta{ flex-direction:column; align-items:stretch; }
  .form-grid{ grid-template-columns:1fr; }
  .form-card,.cta-card{ padding:1.5rem 1.2rem 1.4rem; }
  .benefits{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; }
  .wa-fab span{ display:none; }
  .wa-fab{ padding:1rem; }
  .foot-bottom{ flex-direction:column; gap:.4rem; }
  .guia-row{ padding:.95rem 1rem; }
  .guia-row em{ display:none; }
}

/* =====================================================================
   GUÍAS SEO (guias/*.html)
   ===================================================================== */
.pagina-guia{ background:var(--bg-soft); }

.guia{
  max-width:820px; margin:0 auto; padding:clamp(28px,4vw,52px) 22px clamp(40px,6vw,72px);
  background:#FFFFFF; border:1px solid var(--border); border-radius:0 0 28px 28px;
  border-top:0;
}
.guia > * + *{ margin-top:1.15rem; }

.migas{ font-size:.82rem; color:var(--muted); margin:0; }
.migas a{ color:var(--teal); text-decoration:none; font-weight:600;
  display:inline-block; padding:.35rem 0; }
.migas a:hover{ text-decoration:underline; text-underline-offset:3px; }

.guia .eyebrow{ margin-bottom:0; }
.eyebrow .dot{ display:none; }

.guia h1{
  font-family:var(--disp); font-size:clamp(1.9rem,4.4vw,2.7rem); font-weight:800;
  letter-spacing:-.03em; line-height:1.1; color:var(--navy);
}
.guia h1 span{ color:var(--teal); }
.guia h2{
  font-family:var(--disp); font-size:clamp(1.35rem,2.6vw,1.7rem); font-weight:800;
  letter-spacing:-.02em; color:var(--navy); margin-top:2.4rem; scroll-margin-top:100px;
}
.guia h3{ font-family:var(--disp); font-size:1.1rem; font-weight:800; color:var(--navy);
  margin-top:1.6rem; }
.guia p, .guia li{ font-size:.99rem; color:var(--text); line-height:1.68; }
.guia ol, .guia ul{ display:grid; gap:.6rem; padding-left:1.4rem; }
.guia ol{ list-style:decimal; }
.guia ul{ list-style:disc; }
.guia li::marker{ color:var(--teal); font-weight:700; }
.guia strong{ color:var(--navy); font-weight:700; }
.guia a{ color:var(--teal); font-weight:600; }

.entrada{ font-size:1.12rem; line-height:1.65; color:var(--text); }
.entrada strong{ color:var(--navy); }

.guia-indice{
  background:var(--tint); border-radius:18px; padding:1.4rem 1.5rem;
}
.guia-indice > p{
  font-family:var(--disp); font-size:.74rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.14em; color:var(--teal); margin:0 0 .8rem;
}
.guia-indice ol{ list-style:none; padding:0; counter-reset:ind; display:grid; gap:.5rem; }
.guia-indice li{ counter-increment:ind; }
.guia-indice a{
  display:flex; gap:.7rem; align-items:baseline; font-size:.95rem; font-weight:600;
  color:var(--navy); text-decoration:none; padding:.2rem 0;
}
.guia-indice a::before{
  content:counter(ind,decimal-leading-zero); font-family:var(--disp); font-size:.78rem;
  font-weight:800; color:var(--teal); flex:none;
}
.guia-indice a:hover{ color:var(--teal); }

.guia-dato, .guia-cita{
  display:flex; gap:.9rem; align-items:flex-start;
  background:var(--tint-2); border:1px solid #D8E9E7; border-left:4px solid var(--teal);
  border-radius:14px; padding:1.1rem 1.2rem;
}
.guia-dato p, .guia-cita p{ font-size:.93rem; margin:0; }
.guia-dato .ico{ flex:none; font-size:1.15rem; line-height:1.5; }
.guia-dato strong, .guia-cita strong{ color:var(--navy); }

.tabla-wrap{ overflow-x:auto; border:1px solid var(--border); border-radius:16px; }
.guia-tabla{ width:100%; border-collapse:collapse; font-size:.92rem; min-width:520px; }
.guia-tabla th{
  background:var(--navy); color:#FFFFFF; font-family:var(--disp); font-weight:700;
  font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; text-align:left;
  padding:.85rem 1rem;
}
.guia-tabla td{ padding:.8rem 1rem; color:var(--text); border-top:1px solid var(--border); }
.guia-tabla tbody tr:nth-child(even){ background:var(--tint-2); }
.guia-tabla td:first-child{ color:var(--navy); font-weight:600; }

.guia .faq-item{ margin-top:0; }
.guia .faq-item > p{ padding:0 1.3rem 1.25rem; }

/* CTA de la guía: banda teal con tarjeta blanca de formulario */
.cta-guia{ background:var(--teal); padding:clamp(48px,6vw,76px) 22px; }
.cta-guia-in{
  max-width:1060px; margin:0 auto; display:grid; grid-template-columns:1fr .92fr;
  gap:clamp(32px,4.5vw,56px); align-items:center;
}
.cta-guia-in h2{
  font-family:var(--disp); font-size:clamp(1.7rem,3.2vw,2.3rem); font-weight:800;
  color:#FFFFFF; letter-spacing:-.03em; line-height:1.12; margin-bottom:.8rem;
}
.cta-guia-in > div > p{ color:rgba(255,255,255,.92); font-size:1rem; }
.cta-guia-in > div > p strong{ color:#FFFFFF; }

/* Guías relacionadas */
.guias-relacionadas{ max-width:820px; margin:0 auto; padding:clamp(40px,5vw,64px) 22px; }
.guias-relacionadas h2{
  font-family:var(--disp); font-size:1.5rem; font-weight:800; color:var(--navy);
  letter-spacing:-.02em; margin-bottom:1.2rem;
}
.tarjetas-guias{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.tarjeta-guia{
  display:block; background:#FFFFFF; border:1px solid var(--border); border-radius:16px;
  padding:1.3rem 1.4rem; text-decoration:none;
  transition:border-color .16s, box-shadow .16s, transform .16s;
}
.tarjeta-guia strong{ display:block; font-family:var(--disp); font-size:1.05rem;
  font-weight:800; color:var(--navy); margin-bottom:.25rem; }
.tarjeta-guia span{ display:block; font-size:.88rem; color:var(--muted); }
.tarjeta-guia:hover{ border-color:var(--teal); box-shadow:var(--shadow-pop);
  transform:translateY(-1px); }

.foot-nota{ font-size:.78rem; color:var(--muted); margin-top:1.2rem; }

@media (max-width:860px){
  .cta-guia-in{ grid-template-columns:1fr; }
  .tarjetas-guias{ grid-template-columns:1fr; }
}

/* =====================================================================
   PÁGINA LEGAL (privacidad.html)
   ===================================================================== */
.legal{ padding:clamp(36px,6vw,72px) 0 72px; }
.legal-card{
  max-width:820px; margin-inline:auto;
  background:#FFFFFF; border:1px solid var(--border); border-radius:28px;
  box-shadow:var(--shadow-card); padding:clamp(24px,5vw,52px);
}
.legal-card h1{
  font-family:var(--disp); font-size:clamp(1.7rem,4.4vw,2.4rem); font-weight:800;
  letter-spacing:-.03em; line-height:1.1; color:var(--navy); margin-bottom:.4em;
}
.legal-card h2{
  font-family:var(--disp); font-weight:800; font-size:1.08rem; color:var(--navy);
  margin:2rem 0 .5em; letter-spacing:-.01em;
}
.legal-card p, .legal-card li{ font-size:.97rem; color:var(--text); line-height:1.65; }
.legal-card ul{ list-style:disc; padding-left:1.3rem; display:grid; gap:.4rem; }
.legal-card li::marker{ color:var(--teal); }
.legal-card strong{ color:var(--navy); }
.legal-card a{ color:var(--teal); font-weight:600; }
.legal-card .meta{
  font-size:.82rem; color:var(--muted); margin-top:2.4rem;
  padding-top:1.2rem; border-top:1px solid var(--border);
}
.volver{
  display:inline-flex; align-items:center; gap:.4em; font-weight:700; font-size:.9rem;
  color:var(--teal); text-decoration:none; margin-bottom:1.4rem;
}
.volver:hover{ text-decoration:underline; text-underline-offset:3px; }
