:root{
  --bg:        #0A0F1E;
  --bg-2:      #0D1428;
  --bg-3:      #111A33;
  --ink:       #14120F;
  --azul:      #2851E8;
  --azul-2:    #1B3BB8;
  --azul-soft: rgba(40,81,232,0.14);
  --white:     #FFFFFF;
  --muted:     rgba(255,255,255,0.62);
  --muted-2:   rgba(255,255,255,0.4);
  --line:      rgba(255,255,255,0.12);
  --verde:     #35D07F;
  --ambar:     #E8A23A;
  --mono:      'Space Mono', 'Courier New', monospace;
  --grot:      'Space Grotesk', 'Barlow', sans-serif;
  --sans:      'Barlow', sans-serif;
  --head:      var(--grot);
  --body:      var(--sans);
  --maxw:      1240px;
}

*{margin:0;padding:0;box-sizing:border-box}
*::selection{background:var(--azul);color:#fff}

/* Prevenir Scroll Horizontal Global */
html{
  scroll-behavior:auto;
  overflow-x:hidden !important;
  width:100%;
}
body{
  background:var(--bg);
  color:var(--white);
  font-family:var(--body);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden !important;
  width:100%;
  max-width:100vw;
  position:relative;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 48px;width:100%}
h1,h2,h3,h4{letter-spacing:-0.02em}
h1,h2{font-family:var(--mono);font-weight:700}
h1{font-size:clamp(38px,4.6vw,64px);line-height:1.05}
h2{font-size:clamp(34px,4.1vw,54px);line-height:1.18}
h3,h4{font-family:var(--grot);font-weight:700;line-height:1.1}

.eyebrow{
  font-family:var(--head);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:var(--azul);display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px 7px;border-radius:8px;margin-bottom:18px;
}
.section-white .eyebrow{color:#fff}

/* ── CUSTOM CURSOR ─────────────────────────────────── */
html.has-cursor, 
html.has-cursor *, 
body.has-cursor, 
body.has-cursor * {
  cursor: none !important;
}

.cursor-dot, .cursor-ring {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  pointer-events: none;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.cursor-dot {
  width: 6px;
  height: 6px;
  background: var(--azul);
}

.cursor-ring {
  width: 38px;
  height: 38px;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  transition: width .25s, height .25s, border-color .25s, background .25s;
}

.cursor-ring.is-hover {
  width: 64px;
  height: 64px;
  background: rgba(40, 81, 232, 0.14);
  border-color: var(--azul);
}

@media (pointer: coarse) {
  .cursor-dot, .cursor-ring {
    display: none !important;
  }
}

/* ── SCROLL PROGRESS ───────────────────────────────── */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--azul);z-index:300;width:100%;transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px rgba(40,81,232,.7)}

/* ── BUTTONS ───────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:9px;padding:15px 26px;border-radius:10px;
  font-family:var(--head);font-size:14px;font-weight:600;letter-spacing:.01em;
  border:1.5px solid transparent;white-space:nowrap;position:relative;
}
.btn svg{width:15px;height:15px;flex-shrink:0}
.btn-primary{background:var(--azul);color:#fff}
.btn-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,0.35)}
.section-white .btn-outline{color:var(--ink);border-color:rgba(20,18,15,0.3)}
.btn-white{background:#fff;color:var(--ink)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.magnetic-wrap{display:inline-block;perspective:600px}

/* ── NAV ───────────────────────────────────────────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;height:76px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;background:#E5E5E8;
  transition:border-color .35s ease;
  border-bottom:1px solid transparent;
  width:100%;
}
.nav.is-scrolled{border-bottom-color:rgba(20,18,15,0.1)}
.nav-logo{display:inline-flex;align-items:center;flex-shrink:0}
.nav-logo img{height:22px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:34px;flex-wrap:nowrap}
.nav-links a:not(.btn){font-size:14px;font-weight:600;color:rgba(20,18,15,0.75);transition:color .2s;white-space:nowrap}
.nav-links a:not(.btn):hover{color:var(--azul)}
.nav-links .btn{padding:11px 20px;font-size:13px}

@media(max-width:900px){
  .nav{padding:0 24px;height:68px}
  .nav-links{gap:16px}
  .nav-links a:not(.btn){display:none}
  .nav-links .btn{padding:9px 16px;font-size:12px}
}
@media(max-width:480px){
  .nav{padding:0 16px}
  .nav-logo img{height:18px}
  .nav-links .btn{padding:8px 14px;font-size:11.5px}
}

/* ── HERO — carousel ───────────────────────────────── */
.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  overflow: hidden !important;
  isolation: isolate;
  background: var(--bg);
  width: 100%;
}

.hero-slides {
  position: absolute;
  inset: 0;
  z-index: 0;
  will-change: transform;
  overflow: hidden !important;
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.1s ease;
  display: flex;
  align-items: center;
  overflow: hidden !important;
}

.hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.hero-slide img,
.hero-slide video,
.hero-media-bg {
  position: absolute;
  inset: 0;
  width: calc(100% + 40px);
  height: 100%;
  object-fit: cover;
  object-position: -40px center !important;
  z-index: 0;
  filter: none !important;
}

.hero-grid {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse at 30% 40%, #000 20%, transparent 75%);
  pointer-events: none;
}

.hero-inner {
  position: relative;
  z-index: 2;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 150px 48px 60px;
  width: 100%;
}

.hero h1, .hero .hero-title {
  max-width: 820px;
  color: #fff;
  margin-bottom: 26px;
  font-family: var(--mono);
  font-weight: 700;
  font-size: clamp(38px, 4.6vw, 64px);
  line-height: 1.05;
}

.h-line-mask { display: block; overflow: hidden; }
.h-line-mask-brand { display: flex; align-items: center; }
.h-line { display: block; }
.h-brand { display: inline-flex; align-items: center; }
.h-logo-img { height: 1em; width: auto; display: block; transform: translateY(0.1em); }
.hero-sub { font-size: 19px; color: var(--muted); max-width: 560px; font-weight: 400; }

.hero-arrow {
  position: absolute;
  bottom: 26px;
  z-index: 3;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: background .2s, transform .2s;
}
.hero-arrow:hover { background: rgba(255,255,255,.18); }
.hero-arrow.hero-next { right: 48px; }
.hero-arrow.hero-prev { right: 100px; }
.hero-arrow svg { width: 18px; height: 18px; }

.hero-dots {
  position: absolute;
  left: 48px;
  bottom: 38px;
  z-index: 3;
  display: flex;
  gap: 8px;
}
.hero-dot {
  width: 22px;
  height: 3px;
  border-radius: 2px;
  background: rgba(255,255,255,.25);
  transition: background .3s;
  cursor: pointer;
}
.hero-dot.is-active { background: var(--azul); }

@media(max-width: 900px){
  .hero-inner { padding: 120px 24px 80px; }
  .hero-sub { font-size: 16px; }
}

@media (max-width: 768px) {
  .hero {
    min-height: 50vh !important;
    min-height: 50dvh !important;
    height: 50vh !important;
  }

  .hero-slide img,
  .hero-slide video,
  .hero-media-bg {
    width: calc(100% + 20px);
    object-position: -20px center !important;
  }

  .hero-inner {
    padding: 70px 20px 40px;
  }

  .hero h1, .hero .hero-title {
    font-size: clamp(22px, 5.8vw, 34px);
    margin-bottom: 12px;
  }

  .hero-sub {
    font-size: 13.5px;
    line-height: 1.4;
  }

  .hero-arrow {
    width: 34px;
    height: 34px;
    bottom: 14px;
  }
  .hero-arrow.hero-next { right: 14px; }
  .hero-arrow.hero-prev { right: 54px; }
  .hero-dots { left: 20px; bottom: 18px; }
}

/* ── MARQUEE ───────────────────────────────────────── */
.marquee{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:64px;overflow:hidden;position:relative;display:flex;align-items:center;width:100%}
.marquee-track{display:flex;gap:56px;width:max-content;will-change:transform;animation:marqueeSlide 32s linear infinite}
.marquee-item{font-family:var(--head);font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:56px;flex-shrink:0}
.marquee-item .dot{width:6px;height:6px;border-radius:50%;background:var(--azul)}

@keyframes marqueeSlide{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ── SECTION BASE ──────────────────────────────────── */
section{padding:clamp(64px,7vw,88px) 0;position:relative;overflow:hidden}
.section-white{background:#FFFFFF;color:var(--ink)}
#que-es{background:#E5E5E8}
.section-white h2,.section-white h3,.section-white h4{color:var(--ink)}
.section-dark{background:var(--bg)}
.section-dark-2{background:var(--bg-2)}
.sec-head{max-width:760px;margin-bottom:48px}
.sec-head p.lead{font-size:18px;color:var(--muted);margin-top:18px;max-width:560px}
.sim-disclaimer-top{font-size:11.5px;color:var(--muted-2);margin-top:14px;max-width:560px;line-height:1.5}
.section-white .sec-head p.lead{color:rgba(20,18,15,0.62)}
.reveal{opacity:0;transform:translateY(44px)}

/* ── COMPRESIÓN DE BORDES LATERALES EN MOBILE ──────────────── */
@media (max-width: 768px) {
  .wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .sec-head {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .qe-copy p,
  .sec-head p.lead {
    max-width: 100% !important;
  }
}

/* ── QUE ES ────────────────────────────────────────── */
.qe-grid{display:grid;grid-template-columns:1.55fr 0.75fr;gap:56px;align-items:center}
.qe-copy h2{margin-bottom:24px}
.hl-pill{background:var(--azul);color:#fff;padding:0.04em 0.14em;border-radius:0.08em;display:inline-block;line-height:1.05}
.qe-copy p{font-size:17px;color:rgba(20,18,15,0.68);margin-bottom:20px;max-width:520px}
.blue-text{color:var(--azul)}
.qe-media{border-radius:18px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 60px -25px rgba(20,18,15,0.35);position:relative;cursor:pointer}
.qe-media img{width:100%;height:100%;object-fit:cover}
.qe-media::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,15,30,.55) 0%,rgba(10,15,30,.1) 45%,transparent 70%)}
.qe-media .test-play{transform:translate(-50%,-50%) scale(1.15)}
.qe-media:hover .test-play{transform:translate(-50%,-50%) scale(1.25);background:var(--azul);border-color:var(--azul)}

@media(max-width:900px){
  .qe-grid{grid-template-columns:1fr;gap:32px}
}

@media(max-width:768px){
  section{padding:44px 0}
  .sec-head{margin-bottom:32px}
  .sec-head p.lead{font-size:15.5px;margin-top:12px}
  .qe-copy h2{margin-bottom:16px}
  .qe-copy p{font-size:15px;margin-bottom:14px}
  .qe-media{aspect-ratio:16/10;border-radius:14px}
}

/* ── ATRIBUTOS — flip cards, fondo blanco ──────────── */
.atributos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;perspective:1000px}
.atr-card{perspective:1200px;height:210px;position:relative}
.atr-glow{position:absolute;inset:0;border-radius:18px;background:radial-gradient(circle 200px at var(--mx,50%) var(--my,50%),rgba(40,81,232,.22),transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:2}
.atr-card:hover .atr-glow{opacity:1}
.atr-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.2,.9,.2,1)}
.atr-card.is-flipped .atr-flip{transform:rotateY(180deg)}
.atr-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:18px;border:1px solid var(--line);padding:28px 24px;display:flex;flex-direction:column;gap:14px}
.atr-front{background:#F4F5F8;border-color:rgba(20,18,15,.08)}
.atr-back{background:var(--azul);border-color:var(--azul);transform:rotateY(180deg);justify-content:center}
.atr-ic{width:42px;height:42px;border-radius:11px;background:var(--azul-soft);color:var(--azul);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.atr-card:hover .atr-ic{transform:scale(1.12) rotate(-6deg)}
.atr-ic svg{width:21px;height:21px}
.icon-mask{width:21px;height:21px;background-color:var(--azul);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.atr-front h4{font-size:17px;color:var(--ink)}
.atr-front .tap-hint{margin-top:auto;font-size:11px;color:rgba(20,18,15,.4);display:flex;align-items:center;gap:6px;font-family:var(--head);letter-spacing:.04em;text-transform:uppercase}
.atr-back p{font-size:14.5px;color:#fff;line-height:1.55;font-weight:500}
@media(max-width:980px){.atributos-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
  .atributos-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .atributos-grid::-webkit-scrollbar{display:none}
  .atr-card{flex:0 0 85%;scroll-snap-align:start}
}

/* ── PROCESO — tres pasos (tarjetas estáticas) ─────── */
.proc-inst-carousel{position:relative;width:100%;margin-top:12px;overflow:hidden}
.proc-inst-arrow{display:none}
.proc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.proc-card{background:#F4F5F8;border:1px solid rgba(20,18,15,.08);border-radius:16px;padding:28px 24px;text-align:left;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.proc-card:hover{transform:translateY(-6px);box-shadow:0 20px 36px -16px rgba(20,18,15,.18);border-color:rgba(40,81,232,.25)}
.proc-card .proc-num{font-family:var(--head);font-size:64px;font-weight:700;color:rgba(20,18,15,.06);position:absolute;top:6px;right:14px;letter-spacing:-.03em;line-height:1;z-index:0;transition:color .3s ease}
.proc-card:hover .proc-num{color:rgba(40,81,232,.1)}
.proc-ic{width:52px;height:52px;border-radius:14px;background:var(--azul);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:18px;position:relative;z-index:1;box-shadow:0 10px 20px -8px rgba(40,81,232,.5)}
.proc-ic svg{width:26px;height:26px}
.proc-ic .icon-mask{width:26px;height:26px;background-color:#fff}
.proc-card h3{font-size:19px;margin-bottom:8px;position:relative;z-index:1;color:var(--ink)}
.proc-card p{font-size:14px;color:rgba(20,18,15,.62);line-height:1.55;position:relative;z-index:1}
@media(max-width:1000px){.proc-steps{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.proc-steps{grid-template-columns:1fr}}
@media(max-width:600px){
  .proc-steps{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%}
  .proc-steps::-webkit-scrollbar{display:none}
  .proc-card{flex:0 0 100%;scroll-snap-align:start;box-sizing:border-box}
  .proc-inst-arrow{display:flex;position:absolute;top:44px;z-index:5;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid rgba(20,18,15,.12);color:var(--ink);align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(20,18,15,.15);cursor:pointer;padding:0}
  .proc-inst-prev{left:2px}
  .proc-inst-next{right:2px}
  .proc-inst-arrow[disabled]{opacity:.35;pointer-events:none}
}

/* ── SIMULADOR ─────────────────────────────────────── */
.simulador { background: #FFFFFF; }
.simulador .sec-head h2 { color: var(--ink); }
.simulador .sec-head p.lead { color: rgba(20, 18, 15, 0.62); }
.simulador .sim-disclaimer-top { color: rgba(20, 18, 15, 0.62); }

.sim-wrap {
  background: #F4F5F8;
  border: 1px solid rgba(20, 18, 15, .08);
  border-radius: 26px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, 0.6);
}

.sim-track {
  display: contents;
}

.sim-left {
  padding: 44px;
  border-right: 1px solid rgba(20, 18, 15, .08);
  background: #F4F5F8;
}

.sim-right {
  padding: 44px;
  background: var(--bg-2);
}

.sim-title {
  font-family: var(--head);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink);
  margin-bottom: 26px;
}

.sim-title-right {
  font-family: var(--head);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 26px;
}

.sim-group {
  margin-bottom: 22px;
}

.sim-label {
  font-size: 12px;
  font-weight: 600;
  color: rgba(20, 18, 15, 0.55);
  letter-spacing: .03em;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}

.seg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.seg.seg-3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.seg button {
  background: #F4F5F8;
  border: 1.5px solid rgba(20, 18, 15, 0.1);
  border-radius: 10px;
  padding: 12px 10px;
  color: rgba(20, 18, 15, 0.6);
  font-family: var(--body);
  font-size: 13.5px;
  font-weight: 600;
  transition: all .18s;
  text-align: center;
}

.seg button.is-active {
  background: var(--azul);
  border-color: var(--azul);
  color: #fff;
}

.sim-range {
  -webkit-appearance: none;
  width: 100%;
  height: 4px;
  background: rgba(20, 18, 15, 0.12);
  border-radius: 2px;
  outline: none;
  accent-color: var(--azul);
  margin: 12px 0 6px;
  cursor: pointer;
}

.sim-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--azul);
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(40, 81, 232, .5), 0 0 0 1px rgba(20, 18, 15, 0.1);
  cursor: pointer;
}

.sim-range-labels {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: rgba(20, 18, 15, 0.4);
  font-family: var(--head);
}

.sim-pct {
  font-family: var(--head);
  font-size: 26px;
  font-weight: 600;
  color: var(--ink);
  margin-top: 4px;
}

/* Tarjeta destacada de Rentabilidad Bruta Anual (Ajustada a la Imagen) */
.flujo-card {
  background: #0d1733;
  border: 1px solid rgba(40, 81, 232, 0.4);
  border-radius: 18px;
  padding: 32px 36px;
  margin-bottom: 24px;
}

.flujo-label {
  font-family: var(--head);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9fb6ff;
  margin-bottom: 12px;
}

.flujo-val {
  font-family: var(--head);
  font-size: 56px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 14px;
}

.flujo-sub {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.5;
}

/* Rejilla de Métricas: 4 tarjetas en 2x2 (sin cuota mensual) */
.metrics-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-bottom: 24px;
}

.metric {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 20px;
}

.metric .ml {
  font-size: 11px;
  color: var(--muted-2);
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: var(--head);
}

.metric .mv {
  font-family: var(--head);
  font-weight: 700;
  font-size: 20px;
  color: #ffffff;
}

.disclaimer {
  font-size: 11.5px;
  color: var(--muted);
  line-height: 1.6;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.confirma-bar {
  margin-top: 20px;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #0A0F1E;
  border-radius: 18px;
  padding: 22px 28px;
}

.confirma-bar.is-shown {
  display: flex;
}

.confirma-bar-left {
  display: flex;
  align-items: center;
  gap: 16px;
  text-align: left;
}

.confirma-ic {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(40, 81, 232, .18);
  color: var(--azul);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.confirma-ic svg {
  width: 20px;
  height: 20px;
}

.confirma-text h4 {
  font-family: var(--grot);
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  margin-bottom: 4px;
}

.confirma-text p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
}

.confirma-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.confirma-wpp {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform .2s;
}

.confirma-wpp:hover {
  transform: scale(1.08);
}

.confirma-wpp svg {
  width: 22px;
  height: 22px;
}

.sim-step-btn {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 22px;
  padding: 14px;
  border-radius: 10px;
  font-family: var(--head);
  font-weight: 600;
  font-size: 14px;
  border: none;
  cursor: pointer;
}

.sim-step-next {
  background: var(--azul);
  color: #fff;
}

.sim-step-back {
  background: transparent;
  color: var(--muted);
  margin-top: 0;
  margin-bottom: 20px;
  width: auto;
  justify-content: flex-start;
  padding: 0;
}

/* Reglas Adaptativas para Simulador */
@media(max-width: 940px) {
  .metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .confirma-bar {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
}

@media(max-width: 900px) {
  .sim-wrap {
    display: block;
    overflow: hidden;
    position: relative;
    transition: height .3s ease;
  }

  .sim-track {
    display: flex;
    align-items: flex-start;
    width: 200%;
    transition: transform .45s cubic-bezier(.4,0,.2,1);
    transform: translateX(0);
  }

  .sim-left, .sim-right {
    width: 50%;
    flex: 0 0 50%;
    box-sizing: border-box;
    border-right: 0;
    border-bottom: 0;
  }

  .sim-step-btn {
    display: flex;
  }

  .sim-group {
    margin-bottom: 16px;
  }

  .sim-title, .sim-title-right {
    margin-bottom: 16px;
  }

  .flujo-card {
    padding: 20px 22px;
    margin-bottom: 16px;
  }

  .flujo-val {
    font-size: 38px;
  }

  .metrics-grid {
    gap: 8px;
  }

  .metrics-grid .metric {
    padding: 12px;
  }

  .metrics-grid .mv {
    font-size: 16px;
  }

  .disclaimer {
    font-size: 10.5px;
    margin-top: 10px;
  }
}

@media(max-width: 700px) {
  .confirma-bar {
    flex-direction: column;
    align-items: stretch;
    padding: 18px 20px;
    gap: 14px;
  }

  .confirma-bar-left {
    text-align: left;
    flex-direction: row;
    gap: 12px;
  }

  .confirma-ic {
    width: 34px;
    height: 34px;
  }

  .confirma-ic svg {
    width: 16px;
    height: 16px;
  }

  .confirma-text h4 {
    font-size: 13.5px;
    line-height: 1.3;
  }

  .confirma-text p {
    font-size: 11.5px;
    line-height: 1.4;
  }

  .confirma-actions {
    justify-content: stretch;
  }

  .confirma-actions .magnetic-wrap {
    flex: 1;
  }

  .confirma-actions .btn {
    width: 100%;
    justify-content: center;
    padding: 12px;
    font-size: 13px;
  }

  .confirma-wpp {
    width: 38px;
    height: 38px;
  }

  .confirma-wpp svg {
    width: 18px;
    height: 18px;
  }
}

@media(max-width: 600px) {
  .sim-wrap, .sim-left, .sim-right, .seg {
    min-width: 0;
  }

  .sim-left, .sim-right {
    padding: 24px 20px;
  }

  .seg button {
    white-space: normal;
    font-size: 12.5px;
    padding: 10px 6px;
    line-height: 1.25;
  }
}

/* Botón Verde Oficial de WhatsApp */
.btn-wpp {
  background-color: #25D366 !important;
  color: #ffffff !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 24px !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  transition: background-color 0.25s ease, transform 0.25s ease !important;
}

.btn-wpp:hover {
  background-color: #20ba5a !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}

.btn-wpp svg {
  fill: #ffffff !important;
  flex-shrink: 0;
}

/* ── PROYECTOS — horizontal pinned scroll ─────────── */
.proyectos-h{background:#E5E5E8;padding-bottom:0;padding-top:50px}
.proyectos-h .sec-head h2{color:var(--ink)}
.proyectos-h .ph-hint{color:rgba(20,18,15,0.45)}
.proyectos-h .ph-progress-wrap{background:rgba(20,18,15,0.15)}
.proyectos-h .sec-head{margin-bottom:20px}
/* Alto = área visible bajo el header (el pin arranca en top 76px); tarjetas y flechas centradas en ese alto */
.ph-pin{position:relative;height:calc(100vh - 76px);overflow:hidden}
.ph-track{display:flex;gap:28px;height:100%;align-items:center;padding:0 8vw;will-change:transform}
/* Centra las tarjetas si sobran espacio; con más tarjetas los márgenes valen 0 y no se corta la primera */
.ph-track>.ph-card:first-child{margin-left:auto}
.ph-track>.ph-card:last-child{margin-right:auto}
.ph-card{
  flex:0 0 clamp(300px,32vw,440px);height:min(66vh,calc(100vh - 196px));border-radius:22px;position:relative;overflow:hidden;
  cursor:pointer;transition:transform .35s ease;
  display:flex;flex-direction:column;background:#F4F5F8;border:1px solid rgba(20,18,15,.08);
}
.ph-card:hover{transform:translateY(-6px)}
.ph-card-media{position:relative;flex:1;min-height:0;overflow:hidden}
.ph-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ph-card:hover .ph-card-media img{transform:scale(1.05)}
.ph-card-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 35%)}
.ph-card-top{position:absolute;top:16px;left:16px;right:16px;z-index:1;display:flex;justify-content:space-between}
.ph-badge{font-family:var(--head);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px 5px;border-radius:7px;background:rgba(40,81,232,.22);color:#9fb6ff;border:1px solid rgba(40,81,232,.4);backdrop-filter:blur(6px)}
.ph-badge.is-preventa{background:rgba(53,208,127,.16);color:var(--verde);border-color:rgba(53,208,127,.4)}
.ph-badge.is-proximo{background:rgba(255,255,255,.08);color:var(--muted);border-color:var(--line)}
.ph-card-content{background:transparent;padding:20px 22px 22px;flex-shrink:0}
.ph-card-content h3{font-size:22px;color:var(--ink);margin-bottom:4px}
.ph-loc{font-size:12.5px;color:rgba(20,18,15,.55);margin-bottom:14px}
.ph-stats-row{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:14px}
.ph-stat .v{font-family:var(--head);font-weight:700;font-size:14.5px;color:var(--ink)}
.ph-stat .l{font-size:9.5px;color:rgba(20,18,15,.45);text-transform:uppercase;letter-spacing:.04em}
.ph-view{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-size:12.5px;font-weight:600;color:var(--azul);opacity:.85;transform:translateX(0);transition:transform .3s,opacity .3s}
.ph-card:hover .ph-view{transform:translateX(6px);opacity:1}
.ph-card.is-locked{cursor:default;background:linear-gradient(160deg,#16234a 0%,#0A1226 100%);border-color:transparent}
.ph-card.is-locked:hover{transform:none}
.ph-card.is-locked .ph-card-media img{filter:grayscale(.4)}
.ph-card.is-locked .ph-card-content h3{color:#fff}
.ph-card.is-locked .ph-loc{color:var(--muted)}
.ph-progress-wrap{position:absolute;left:8vw;right:8vw;bottom:34px;height:2px;background:var(--line);border-radius:2px;z-index:2}
.ph-progress{height:100%;width:0%;background:var(--azul);border-radius:2px}
.ph-hint{position:absolute;right:8vw;top:34px;z-index:2;font-family:var(--head);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);display:flex;align-items:center;gap:8px}
.ph-hint svg{width:16px;height:16px;animation:hintSlide 1.6s ease-in-out infinite}
@keyframes hintSlide{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
.ph-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:150;width:52px;height:52px;border-radius:50%;background:rgba(10,15,30,.55);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s,opacity .3s;opacity:0;pointer-events:none}
.ph-arrow.is-visible{opacity:1;pointer-events:auto}
.ph-arrow:hover{background:var(--azul);border-color:var(--azul)}
.ph-arrow svg{width:18px;height:18px}
.ph-pin.is-static .ph-hint,.ph-pin.is-static .ph-arrow,.ph-pin.is-static .ph-progress-wrap{display:none}
.ph-prev{left:20px}
.ph-next{right:20px}
@media(max-width:900px){
  .ph-pin{height:auto;padding:20px 0 40px}
  .ph-track{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px}
  .ph-card{scroll-snap-align:start;height:56vh;flex:0 0 85%}
  .ph-progress-wrap,.ph-hint,.ph-arrow{display:none}
}

/* ── PROJECT OVERLAY (pop-up experience) ───────────── */
.po{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none;opacity:0}
.po.is-open{pointer-events:auto}
.po-backdrop{position:absolute;inset:0;background:rgba(6,9,18,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.po-panel{position:relative;width:min(1040px,100%);max-height:88vh;background:var(--bg);border:1px solid var(--line);border-radius:26px;overflow:hidden;display:grid;grid-template-columns:0.9fr 1.1fr;transform:scale(.94);box-shadow:0 60px 120px -40px rgba(0,0,0,.7)}
.po-close{position:absolute;top:20px;right:20px;z-index:3;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid var(--line);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center}
.po-media{position:relative;overflow:hidden}
.po-media img{width:100%;height:100%;object-fit:cover;min-height:280px}
.po-media::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,15,30,.85),transparent 40%)}
.po-media-info{position:absolute;bottom:24px;left:24px;right:24px;z-index:1}
.po-content{padding:36px 40px;overflow-y:auto}
.po-estado{display:inline-flex;font-family:var(--head);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px 5px;border-radius:7px;background:rgba(40,81,232,.22);color:#9fb6ff;border:1px solid rgba(40,81,232,.4);margin-bottom:14px}
.po-content h3{font-size:clamp(24px,2.6vw,32px);color:#fff;margin-bottom:12px}
.po-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px}
.po-ver-mas{margin:0}
.po-ver-mas[hidden]{display:none}
.po-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:26px}
.po-stat{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:14px}
.po-stat .l{font-size:10px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.po-stat .v{font-family:var(--head);font-weight:700;font-size:17px;color:#fff}
.po-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.po-tab{padding:9px 15px;border-radius:999px;border:1.5px solid var(--line);font-size:12.5px;font-weight:600;color:var(--muted);transition:all .18s}
.po-tab.is-active{background:var(--azul);border-color:var(--azul);color:#fff}
.po-panel-body h4{font-size:19px;color:#fff;margin-bottom:14px}
.po-panel-body ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.po-panel-body ul li{display:flex;gap:10px;font-size:14.5px;color:rgba(255,255,255,.82)}
.po-panel-body ul li b{font-family:var(--head);color:var(--azul);min-width:64px;flex-shrink:0}
.po-note{font-size:11.5px;color:var(--muted-2);margin-top:16px;line-height:1.6}
.po-btns{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
@media(max-width:800px){.po-panel{grid-template-columns:1fr;max-height:92vh}.po-media img{min-height:200px}.po-content{padding:28px 24px}}

/* ── SEPARAR — edificio interactivo de stock ───────── */
.sep-cupon-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(53,208,127,.1);border:1px solid rgba(53,208,127,.35);border-radius:999px;padding:11px 20px;margin-top:22px;transition:background .2s,transform .2s}
.sep-cupon-badge:hover{background:rgba(53,208,127,.18);transform:translateY(-1px)}
.sep-cupon-tag{font-family:var(--head);font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--verde);white-space:nowrap}
.sep-cupon-old{text-decoration:line-through;color:var(--muted-2);margin-left:4px}
.sep-detail-cupon{background:rgba(53,208,127,.1);border:1px solid rgba(53,208,127,.35);border-radius:10px;padding:11px 14px;font-size:13px;color:#fff;margin-bottom:14px}
.sep-detail-cupon b{color:var(--verde);font-family:var(--head)}
.sep-inst-wrap{display:flex;flex-direction:column;gap:32px;margin-bottom:44px;padding-bottom:36px;border-bottom:1px solid var(--line)}
.sep-rail{position:relative;width:100%;max-width:640px;height:3px;background:rgba(255,255,255,.12);border-radius:2px;margin:0 auto}
.sep-rail-fill{position:absolute;top:0;left:0;height:100%;width:0%;background:var(--azul);border-radius:2px;box-shadow:0 0 10px rgba(40,81,232,.6)}
.sep-instrucciones{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.sep-inst-item{display:flex;gap:14px;align-items:flex-start}
.sep-inst-num{width:32px;height:32px;border-radius:9px;background:var(--azul-soft);color:var(--azul);display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:14px;flex-shrink:0;transition:background .3s,color .3s,box-shadow .3s}
.sep-inst-item.is-active .sep-inst-num{background:var(--azul);color:#fff;box-shadow:0 0 0 6px rgba(40,81,232,.18)}
.sep-inst-item h5{font-size:14.5px;color:#fff;margin-bottom:4px;font-family:var(--head);font-weight:600}
.sep-inst-item p{font-size:12.5px;color:var(--muted);line-height:1.5}
@media(max-width:1100px){.sep-instrucciones{grid-template-columns:1fr 1fr}}
.sep-inst-carousel{position:relative}
.sep-inst-arrow{display:none}
@media(max-width:600px){
  .sep-instrucciones{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .sep-instrucciones::-webkit-scrollbar{display:none}
  .sep-inst-item{flex:0 0 100%;scroll-snap-align:start;padding:0 32px;box-sizing:border-box}
  .sep-inst-arrow{display:flex;position:absolute;top:44px;z-index:5;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--ink);border:none;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.3);cursor:pointer;padding:0}
  .sep-inst-prev{left:0}
  .sep-inst-next{right:0}
  .sep-inst-arrow[disabled]{opacity:.35;pointer-events:none}
}
.sep-tabs{display:flex;gap:10px;margin-bottom:36px;flex-wrap:wrap}
.sep-tab{padding:11px 20px;border-radius:10px;border:1.5px solid var(--line);color:var(--muted);font-family:var(--head);font-weight:600;font-size:13.5px;transition:all .18s}
.sep-tab.is-active{background:var(--azul);border-color:var(--azul);color:#fff}
@media(max-width:600px){
  .sep-tabs{flex-wrap:nowrap;gap:8px}
  .sep-tab{flex:1;padding:11px 6px;font-size:12px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
.sep-torre-tabs{display:flex;gap:8px;margin-bottom:14px}
.sep-torre-tabs:empty{display:none}
.sep-torre-tab{padding:8px 16px;border-radius:8px;border:1.5px solid var(--line);color:var(--muted);font-family:var(--head);font-weight:600;font-size:12.5px;transition:all .18s}
.sep-torre-tab.is-active{background:rgba(40,81,232,.14);border-color:var(--azul);color:#9fb6ff}
.sep-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px;align-items:start}
.sep-list{min-width:0}
/* Lista de tipologías: una columna, 2 tarjetas visibles (alto fijado por JS) y el resto con scroll */
.sep-building{position:relative;background:var(--bg-2);border:1px solid var(--line);border-radius:20px;padding:18px;overflow-y:auto;overscroll-behavior:contain}
.sep-tipo-grid{display:flex;flex-direction:column;gap:14px}
.sep-more{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:12px;color:var(--muted)}
.sep-more[hidden]{display:none}
.sep-tipo-card{text-align:left;background:rgba(255,255,255,.03);border:1.5px solid var(--line);border-radius:14px;padding:20px 20px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:border-color .18s,background .18s}
.sep-tipo-card:hover{border-color:rgba(40,81,232,.5);background:rgba(40,81,232,.06)}
.sep-tipo-card.is-selected{border-color:var(--azul);background:var(--azul-soft);box-shadow:0 0 0 3px rgba(40,81,232,.18)}
.sep-tipo-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.sep-tipo-code{font-family:var(--head);font-weight:700;font-size:16.5px;color:#fff}
.sep-tipo-meta{font-size:11.5px;color:var(--muted);white-space:nowrap}
.sep-tipo-precios{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.sep-tipo-lista{font-size:12px;color:var(--muted-2);text-decoration:line-through}
.sep-tipo-final{font-family:var(--head);font-weight:700;font-size:21px;color:var(--verde)}
.sep-tipo-stock{font-size:12px;color:var(--muted)}
.sep-detail{background:var(--bg-2);border:1px solid var(--line);border-radius:20px;padding:28px;position:sticky;top:100px;min-height:540px;display:flex;flex-direction:column;justify-content:center}
.sep-detail:not(.is-empty){justify-content:flex-start;min-height:0}
.sep-detail-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .2s,color .2s}
.sep-detail-close:hover{background:var(--azul);color:#fff;border-color:var(--azul)}
.sep-detail h4{font-size:18px;margin-bottom:4px;padding-right:40px}
.sep-detail-sub{margin-bottom:18px;font-size:13px}
/* Ficha: plano a la izquierda y datos + separación a la derecha */
.sep-detail-grid{display:grid;grid-template-columns:1fr;gap:18px}
.sep-detail-grid:has(.sep-detail-plano-wrap){grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}
.sep-detail-plano-wrap{min-width:0}
.sep-detail-info{min-width:0;display:flex;flex-direction:column}
.sep-detail-info .sep-detail-stats{margin:0 0 12px}
.sep-detail-info .magnetic-wrap{display:block}
.sep-empty{font-size:14px;color:var(--muted);line-height:1.6}
.sep-detail-plano{width:100%;border-radius:12px;border:1px solid var(--line);display:block;background:#fff}
.sep-detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.sep-detail-stats .metric{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.sep-detail-stats .ml{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.sep-detail-stats .mv{font-family:var(--head);font-weight:600;font-size:15.5px;color:#fff}
.sep-note{font-size:11px;color:var(--muted-2);margin-top:16px;line-height:1.6}
@media(max-width:1100px){.sep-detail-grid:has(.sep-detail-plano-wrap){grid-template-columns:1fr}.sep-detail-plano{max-height:320px;object-fit:contain}}
@media(max-width:900px){.sep-body{grid-template-columns:1fr}.sep-detail{position:relative;top:auto;min-height:0}.sep-body>div{min-width:0}.sep-detail.is-empty{display:none}}
/* ── Separar: sección clara (antes oscura) ─────────── */
#separar{
  background:#E5E5E8;
  --muted: rgba(20,18,15,.6);
  --muted-2: rgba(20,18,15,.4);
  --line: rgba(20,18,15,.12);
}
#separar .sep-rail{background:rgba(20,18,15,.12)}
#separar .sep-inst-item h5{color:var(--ink)}
#separar .sep-inst-arrow{border:1px solid rgba(20,18,15,.12)}
#separar .sep-building{background:#fff}
#separar .sep-tipo-card{background:#F4F5F8}
#separar .sep-tipo-code{color:var(--ink)}
#separar .sep-torre-tab.is-active{color:var(--azul)}
#separar .sep-detail{background:#fff}
#separar .sep-detail-close{background:rgba(20,18,15,.06)}
#separar .sep-detail-stats .metric{background:rgba(20,18,15,.03)}
#separar .sep-detail-stats .mv{color:var(--ink)}
#separar .sep-detail-cupon{color:var(--ink)}
#separar .sep-building::-webkit-scrollbar-thumb{background-color:rgba(20,18,15,.2)}
#separar .sep-building{scrollbar-color:rgba(20,18,15,.2) transparent}
.sep-picks-head{margin-bottom:22px}
.sep-picks-head h3{font-family:var(--head);font-weight:700;font-size:19px;color:var(--ink);margin-bottom:4px}
.sep-picks-sub{font-size:13.5px;color:var(--muted)}
@media(max-width:600px){
  .sep-detail{padding:20px}
  .sep-detail h4{font-size:16px}
  .sep-detail-plano{max-height:240px;object-fit:contain}
  .sep-tipo-card{padding:16px 18px;gap:9px}
  .sep-tipo-final{font-size:19px}
  .sep-detail-stats{gap:8px;margin:14px 0}
  .sep-detail-stats .metric{padding:9px 10px}
  .sep-detail-stats .ml{font-size:9.5px;margin-bottom:4px}
  .sep-detail-stats .mv{font-size:13px}
}

/* ── CHAT CON ASESOR — panel lateral ── */
.chat-panel{position:fixed;top:0;right:0;height:100vh;width:min(400px,100%);background:var(--bg-2);border-left:1px solid var(--line);z-index:701;display:flex;flex-direction:column;transform:translateX(100%)}
.chat-header{display:flex;align-items:center;gap:12px;padding:20px 20px 18px;border-bottom:1px solid var(--line);flex-shrink:0}
.chat-avatar{width:40px;height:40px;border-radius:50%;background:var(--azul-soft);color:var(--azul);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chat-avatar svg{width:20px;height:20px}
.chat-header-info h4{font-size:14.5px;color:#fff;font-family:var(--grot);font-weight:700}
.chat-header-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--verde)}
.chat-header-status .dot{width:6px;height:6px;border-radius:50%;background:var(--verde);box-shadow:0 0 6px var(--verde)}
.chat-close{margin-left:auto;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}
.chat-bubble{max-width:82%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.5}
.chat-bubble.is-bot{align-self:flex-start;background:rgba(255,255,255,.06);color:#fff;border-bottom-left-radius:4px}
.chat-bubble.is-user{align-self:flex-end;background:var(--azul);color:#fff;border-bottom-right-radius:4px}
.chat-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:rgba(255,255,255,.06);border-radius:14px;border-bottom-left-radius:4px}
.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:chatTyping 1s ease-in-out infinite}
.chat-typing span:nth-child(2){animation-delay:.15s}
.chat-typing span:nth-child(3){animation-delay:.3s}
@keyframes chatTyping{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.chat-input-row{display:flex;gap:10px;padding:16px;border-top:1px solid var(--line);flex-shrink:0}
.chat-input{flex:1;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:11px 14px;color:#fff;font-size:13.5px;font-family:var(--body);outline:none}
.chat-input:focus{border-color:var(--azul)}
.chat-input::placeholder{color:var(--muted-2)}
.chat-send{width:42px;height:42px;border-radius:10px;background:var(--azul);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chat-send svg{width:18px;height:18px}

/* ── TÉRMINOS Y CONDICIONES — referidos ─────────────── */
.terms-modal{position:fixed;inset:0;z-index:630;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none;opacity:0}
.terms-modal.is-open{pointer-events:auto}
.terms-backdrop{position:absolute;inset:0;background:rgba(6,9,18,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.terms-card{position:relative;width:min(520px,100%);max-height:80vh;overflow-y:auto;background:var(--bg-2);border:1px solid var(--line);border-radius:22px;padding:34px 32px;transform:scale(.94)}
.terms-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#fff;display:flex;align-items:center;justify-content:center}
.terms-card h4{font-family:var(--grot);font-weight:700;font-size:18px;color:#fff;margin-bottom:16px;padding-right:30px}
.terms-card p{font-size:13.5px;color:var(--muted);line-height:1.65;margin-bottom:12px}
.terms-card p b{color:#fff;font-family:var(--grot)}
.terms-card ul,.terms-card ol{padding-left:20px;margin:-6px 0 12px;color:var(--muted);font-size:13.5px;line-height:1.65}
.terms-card ul{list-style:disc}
.terms-card ol{list-style:decimal}
.terms-card strong{color:#fff;font-family:var(--grot)}

/* ── CUPÓN — pop-up con revelado animado ───────────── */
.cupon-modal{position:fixed;inset:0;z-index:620;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none;opacity:0}
.cupon-modal.is-open{pointer-events:auto}
.cupon-backdrop{position:absolute;inset:0;background:rgba(6,9,18,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cupon-card{position:relative;width:min(560px,100%);background:var(--bg-2);border:1px solid var(--line);border-radius:26px;padding:36px 32px 30px;text-align:center;transform:scale(.9);box-shadow:0 60px 120px -40px rgba(0,0,0,.7)}
.cupon-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#fff;display:flex;align-items:center;justify-content:center;z-index:3}
.cupon-seal{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 0;transition:opacity .35s ease,transform .35s ease}
.cupon-seal-ic{position:relative;width:76px;height:76px;border-radius:50%;background:var(--azul-soft);color:var(--azul);display:flex;align-items:center;justify-content:center;animation:cuponPulse 1.6s ease-in-out infinite}
.cupon-seal-ic svg{width:34px;height:34px}
@keyframes cuponPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.cupon-seal h4{font-family:var(--grot);font-weight:700;font-size:18px;color:#fff}
.cupon-seal p{font-size:13.5px;color:var(--muted)}
.cupon-seal.is-popped{opacity:0;transform:scale(.8);position:absolute;pointer-events:none}
.cupon-ticket{position:relative;display:none;opacity:0;transform:scale(.85) rotate(-3deg);filter:drop-shadow(0 20px 40px rgba(0,0,0,.4))}
.cupon-ticket.is-visible{display:block;animation:cuponPop .55s cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes cuponPop{0%{opacity:0;transform:scale(.7) rotate(-8deg)}60%{opacity:1;transform:scale(1.06) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.cupon-ticket img{width:100%;height:auto;display:block;border-radius:14px}
.cupon-fine{font-size:11px;color:var(--muted-2);line-height:1.6;margin:20px 0 18px;display:none}
.cupon-fine.is-visible{display:block}
.cupon-cta{display:none}
.cupon-cta.is-visible{display:inline-block}
.confetti-dot{position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:2px;opacity:0;pointer-events:none;z-index:5}
.confetti-dot.is-bursting{animation:confettiBurst .9s ease-out forwards}
@keyframes confettiBurst{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) translateY(0)}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--rot,180deg)) translateY(var(--dist,-90px))}}

/* ── TESTIMONIOS ───────────────────────────────────── */
.test-marquee {
  overflow: hidden;
  padding: 6px 4px 16px;
  width: 100%;
}

.test-track {
  display: flex !important;
  gap: 24px !important;
  width: max-content;
  align-items: center;
  animation: testMarqueeScroll 34s linear infinite;
}

.test-marquee:hover .test-track {
  animation-play-state: paused;
}

@keyframes testMarqueeScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.test-card {
  position: relative !important;
  width: 320px !important;
  min-width: 320px !important;
  height: 480px !important;
  flex-shrink: 0 !important;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.test-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(10, 15, 30, 0.9) 0%, rgba(10, 15, 30, 0.15) 45%, transparent 70%);
  z-index: 1;
  pointer-events: none;
}

.test-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: transform 0.25s, background 0.25s, border-color 0.25s;
}

.test-card:hover .test-play {
  transform: translate(-50%, -50%) scale(1.1);
  background: var(--azul);
  border-color: var(--azul);
}

.test-play svg {
  width: 18px;
  height: 18px;
  margin-left: 2px;
}

.test-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 20px;
}

.test-info h4 {
  font-size: 15.5px;
  color: #fff;
  margin-bottom: 3px;
}

.test-info p {
  font-size: 12px;
  color: var(--muted);
}

/* Modal / Lightbox */
.test-lightbox {
  position: fixed;
  inset: 0;
  z-index: 650;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  pointer-events: none;
  opacity: 0;
}

.test-lightbox.is-open {
  pointer-events: auto;
}

.test-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 9, 18, 0.85);
  backdrop-filter: blur(8px);
}

.test-lightbox-panel {
  position: relative;
  width: min(720px, 100%);
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  transform: scale(0.94);
}

.test-lightbox-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--line);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.test-video-area {
  aspect-ratio: 16/9;
  background: #131a30;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: var(--muted);
  overflow: hidden;
}

.test-video-area svg {
  width: 44px;
  height: 44px;
  color: var(--azul);
}

.test-lightbox-info {
  padding: 24px 28px;
}

.test-lightbox-info h4 {
  font-size: 18px;
  margin-bottom: 4px;
}

.test-lightbox-info p {
  font-size: 13.5px;
  color: var(--muted);
}

/* ── REFERIDOS ─────────────────────────────────────── */
#referidos{background:#E5E5E8}
#referidos h2{color:var(--ink)}
.ref-grid{display:flex;flex-direction:column;align-items:center;gap:48px}
.ref-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;width:100%}
.ref-step{display:flex;flex-direction:column;gap:14px;text-align:left;background:#F4F5F8;border:1px solid rgba(20,18,15,.08);border-radius:16px;padding:24px 22px}
.ref-step .rn{width:38px;height:38px;border-radius:10px;background:var(--azul-soft);color:var(--azul);display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:14px;flex-shrink:0;transition:background .3s,color .3s,box-shadow .3s}
.ref-step h4{font-size:15.5px;color:var(--ink);font-family:var(--grot)}
.ref-step p{font-size:13px;color:rgba(20,18,15,.62);line-height:1.55}
.ref-step .ref-star{color:var(--azul);cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ref-legal{font-size:11.5px;color:rgba(20,18,15,.62);line-height:1.6;text-align:center;max-width:520px}
.ref-legal .js-open-terms{color:var(--azul-2);cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.ref-step.is-active .rn{background:var(--azul);color:#fff;box-shadow:0 0 0 6px rgba(40,81,232,.18)}
.ref-rail{position:relative;width:100%;max-width:640px;height:3px;background:rgba(20,18,15,.12);border-radius:2px;margin:0 auto}
.ref-rail-fill{position:absolute;top:0;left:0;height:100%;width:0%;background:var(--azul);border-radius:2px;box-shadow:0 0 10px rgba(40,81,232,.6)}
@media(max-width:1000px){.ref-steps{grid-template-columns:1fr 1fr}}
.ref-inst-carousel{position:relative;width:100%}
.ref-inst-arrow{display:none}
@media(max-width:600px){
  .ref-steps{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .ref-steps::-webkit-scrollbar{display:none}
  .ref-step{flex:0 0 100%;scroll-snap-align:start;padding:24px 34px;box-sizing:border-box}
  .ref-inst-arrow{display:flex;position:absolute;top:44px;z-index:5;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid rgba(20,18,15,.12);color:var(--ink);align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(20,18,15,.15);cursor:pointer;padding:0}
  .ref-inst-prev{left:0}
  .ref-inst-next{right:0}
  .ref-inst-arrow[disabled]{opacity:.35;pointer-events:none}
}

/* ── CTA FINAL ─────────────────────────────────────── */
.cta-final{background:var(--bg);text-align:center;padding:clamp(72px,8vw,104px) 0;position:relative;overflow:hidden}
.cta-glow{position:absolute;top:50%;left:50%;width:900px;height:900px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(40,81,232,.16) 0%,transparent 65%);pointer-events:none;animation:glowPulse 6s ease-in-out infinite}
@keyframes glowPulse{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
.cta-final .wrap{position:relative;z-index:1}
.cta-final h2{max-width:820px;margin:0 auto 24px}
.cta-final p{font-size:17px;color:var(--muted);max-width:520px;margin:0 auto 40px}
.cta-final .hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── FOOTER ────────────────────────────────────────── */
footer{background:var(--bg-2);border-top:1px solid var(--line);padding:64px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.foot-logo{font-family:var(--head);font-weight:700;font-size:20px;margin-bottom:14px}
.foot-logo em{font-style:normal;color:var(--azul)}
footer p.foot-desc{font-size:13.5px;color:var(--muted);max-width:280px}
.foot-col h5{font-family:var(--head);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:16px}
.foot-col a{display:block;font-size:14px;color:var(--muted);margin-bottom:12px;transition:color .2s}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted-2);flex-wrap:wrap;gap:12px}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}

/* ── FLOATING CTA ──────────────────────────────────── */
.float-cta{position:fixed;right:26px;bottom:26px;z-index:400;display:flex;flex-direction:column;align-items:flex-end;gap:10px;opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .3s, transform .3s}
.float-cta.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.fc-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:600;font-size:13.5px;padding:13px 20px;border-radius:999px;box-shadow:0 12px 30px -8px rgba(0,0,0,0.5);white-space:nowrap}
.fc-secondary{background:#fff;color:var(--ink)}
.fc-primary{background:var(--azul);color:#fff}
.fc-dot{width:8px;height:8px;border-radius:50%;background:var(--verde);box-shadow:0 0 0 3px rgba(53,208,127,0.28)}
@media(max-width:640px){.float-cta{right:14px;bottom:14px}.fc-btn{padding:11px 16px;font-size:12.5px}}

/* ── SLIDE-IN SHEET (contacto) ──────────────────────── */
.sheet-backdrop{position:fixed;inset:0;background:rgba(6,9,18,.7);backdrop-filter:blur(4px);z-index:700;opacity:0;pointer-events:none}
.sheet-backdrop.is-open{pointer-events:auto}
.sheet{position:fixed;top:0;right:0;height:100vh;width:min(440px,100%);background:var(--bg-2);border-left:1px solid var(--line);z-index:701;padding:40px 34px;transform:translateX(100%);overflow-y:auto}
.sheet-close{position:absolute;top:24px;right:24px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#fff;display:flex;align-items:center;justify-content:center}
.sheet h3{font-size:22px;margin-bottom:8px;padding-right:40px}
.sheet .sub{font-size:14px;color:var(--muted);margin-bottom:18px}
.sheet-context{font-size:12.5px;color:#9fb6ff;background:rgba(40,81,232,.12);border:1px solid rgba(40,81,232,.35);border-radius:999px;padding:10px 12px;margin-bottom:18px}
.f-input,.f-select{width:100%;padding:13px 15px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:9px;color:#fff;font-size:14px;font-family:var(--body);outline:none;margin-bottom:12px}
.f-input:focus,.f-select:focus{border-color:var(--azul)}
.f-input::placeholder{color:var(--muted-2)}
.f-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='white' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:38px}
.f-select option{background:#12151c;color:#fff}
.f-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sheet-ok{display:none;font-size:14px;color:var(--verde);font-weight:600;margin-top:6px}
.sheet-ok.is-shown{display:block}
.sheet-form.is-hidden{display:none}
.f-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.4;color:var(--muted-2);margin:2px 0 12px;cursor:pointer}
.f-check input{margin-top:2px;accent-color:var(--azul);flex-shrink:0}
.f-check a{color:#fff;text-decoration:underline}
.sheet-error{font-size:13px;color:#ff6b6b;margin-top:4px;min-height:1em}
/* ── PÁGINAS INTERNAS (page.php) ─────────────────────── */
.page-content{padding:140px 0 96px;min-height:60vh}
.page-content .page-title{font-family:var(--head);font-size:clamp(32px,4vw,48px);line-height:1.1;margin:0 0 32px}
.page-content .page-body{max-width:760px;font-family:var(--body);font-size:17px;line-height:1.7}
.page-content .page-body h2,.page-content .page-body h3{font-family:var(--head);margin:40px 0 12px}
.page-content .page-body p,.page-content .page-body ul,.page-content .page-body ol{margin:0 0 16px}
.page-content .page-body a{color:var(--azul);text-decoration:underline}
@media (max-width:768px){.page-content{padding:110px 0 64px}}
/* Página ¿Qué es Invest Living?: deja el espacio del menú fijo */
.page-que-es{padding-top:76px;background:#E5E5E8}

/* ── HERO — CTA principal + WhatsApp de apoyo ────────── */
.hero .hero-btns{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}
.hero-wpp{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:600;font-size:14px;color:#fff;opacity:.85;text-decoration:underline;text-underline-offset:4px;transition:opacity .2s}
.hero-wpp:hover{opacity:1}
.hero-wpp svg{color:#25D366;flex-shrink:0}
.hero-inner--cta-only{align-self:flex-end;padding-bottom:96px}
@media (max-width:768px){
  .hero .hero-btns{margin-top:16px;gap:14px}
  .hero .hero-btns .btn{padding:10px 16px;font-size:13px}
  .hero-wpp{font-size:12.5px}
  .hero-inner--cta-only{padding-bottom:56px}
}

/* ── SIMULADOR — barra de siguiente paso ─────────────── */
@media (max-width:768px){
  .confirma-actions{flex-wrap:wrap}
  .confirma-actions .magnetic-wrap{flex:1 1 140px}
}

/* ── ¿POR QUÉ INVEST LIVING? — pilares + pasos ───────── */
.pq-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;margin-top:56px;padding-top:48px;border-top:1px solid rgba(20,18,15,.1)}
.pq-label{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--azul);margin:0 0 10px}
.pq-lead{font-size:15px;color:rgba(20,18,15,.62);margin:0 0 28px;max-width:520px}
.pq-pilares,.pq-pasos{list-style:none;margin:0;padding:0}
.pq-pilares{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.pq-pilar{display:flex;gap:14px;align-items:flex-start}
.pq-pilar h4,.pq-paso h4{font-family:var(--head);font-size:17px;font-weight:700;color:var(--ink);margin:0 0 6px;line-height:1.25}
.pq-pilar p,.pq-paso p{font-size:14.5px;line-height:1.55;color:rgba(20,18,15,.66);margin:0}
.pq-pasos{display:flex;flex-direction:column;gap:24px;margin-top:38px}
.pq-paso{display:flex;gap:18px;align-items:flex-start}
.pq-num{font-family:var(--head);font-size:15px;font-weight:700;color:#fff;background:var(--azul);border-radius:10px;min-width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
@media(max-width:900px){
  .pq-grid{grid-template-columns:1fr;gap:40px;margin-top:40px;padding-top:32px}
  .pq-pasos{margin-top:8px}
}
@media(max-width:560px){
  .pq-pilares{grid-template-columns:1fr;gap:22px}
}

/* ── REFERIDOS — Cobra / Reinvierte ──────────────────── */
.ref-opciones{display:grid;grid-template-columns:1fr 1fr;gap:22px;width:100%;max-width:860px}
.ref-opcion{background:#fff;border:1px solid rgba(20,18,15,.08);border-radius:18px;padding:30px 28px;text-align:left}
.ref-opcion.is-destacada{background:var(--azul);border-color:var(--azul);box-shadow:0 24px 50px -24px rgba(40,81,232,.7)}
.ref-opcion-tag{display:inline-block;font-family:var(--head);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--azul);margin-bottom:14px}
.ref-opcion-monto{font-family:var(--head);font-weight:700;font-size:clamp(36px,4.4vw,52px);line-height:1;color:var(--ink);margin-bottom:14px;letter-spacing:-.02em}
.ref-opcion-monto sup{font-size:.45em;vertical-align:super;margin-left:2px}
.ref-opcion p{font-size:15px;line-height:1.55;color:rgba(20,18,15,.66);margin:0}
.ref-opcion.is-destacada .ref-opcion-tag,.ref-opcion.is-destacada .ref-opcion-monto{color:#fff}
.ref-opcion.is-destacada p{color:rgba(255,255,255,.85)}
.ref-benef{display:flex;align-items:center;gap:18px;width:100%;max-width:860px;background:#F4F5F8;border:1px dashed rgba(40,81,232,.4);border-radius:14px;padding:16px 22px;text-align:left}
.ref-benef-label{font-family:var(--head);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--azul);flex-shrink:0}
.ref-benef p{font-size:14.5px;line-height:1.5;color:rgba(20,18,15,.72);margin:0}
@media(max-width:700px){
  .ref-opciones{grid-template-columns:1fr;gap:14px}
  .ref-opcion{padding:24px 22px}
  .ref-benef{flex-direction:column;align-items:flex-start;gap:6px}
}
