

:root{
  --bg:#060B1A;
  --bg-2:#0A1330;
  --surf:#0E1A3D;
  --surf-2:#13234F;
  --marino:#142C7C;
  --marino-logo:#0B1F66;
  --cielo:#3E9BE6;
  --cielo-boton:#2F7FE0;
  --cielo-claro:#8FD0FF;
  --brillo:#64CEFB;
  --texto:#EEF3FF;
  --tenue:rgba(238,243,255,.74);
  --tenue-2:rgba(238,243,255,.56);
  --linea:rgba(255,255,255,.1);
  --wa:#25D366;

  --display:'Onest', 'Inter', system-ui, sans-serif;
  --serif:'Source Serif 4', Georgia, serif;
  --sans:'Barlow', system-ui, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;

  --radio:22px;
  --suave:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{ box-sizing:border-box }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100% }
body{
  margin:0; background:var(--bg); color:var(--texto);
  font-family:var(--sans); font-size:1.0625rem; line-height:1.6; font-weight:400;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
img,video,svg{ display:block; max-width:100% }
a{ color:inherit; text-decoration:none }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer }
:focus-visible{ outline:2px solid var(--cielo-claro); outline-offset:3px; border-radius:6px }

.saltar{ position:absolute; left:-9999px; top:0; z-index:200; background:#fff; color:#000; padding:.6rem 1rem }
.saltar:focus{ left:1rem; top:1rem }

.contenedor{ width:min(1180px, 100% - 2rem); margin-inline:auto }
@media (min-width:768px){ .contenedor{ width:min(1180px, 100% - 4rem) } }

.volanta{
  margin:0 0 .9rem; font-family:var(--display); font-size:.78rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--cielo-claro);
  display:flex; align-items:center; gap:.6rem; text-wrap:balance;
}
.volanta::before{ content:''; width:22px; height:1.5px; background:currentColor; flex:none }
.h2{
  margin:0 0 1rem; font-family:var(--display); font-weight:600;
  font-size:clamp(2rem, 4.4vw, 3.6rem); line-height:1.02; letter-spacing:-.035em;
  text-wrap:balance; max-width:22ch;
}
.h2 em,.h1 em{
  font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:-.01em;
  color:var(--cielo-claro);
}
.bajada{ margin:0 0 2.4rem; max-width:58ch; color:var(--tenue); font-size:1.08rem }

section{ position:relative }
.simple,.proteger,.retiro,.siniestro,.equipo,.zonas,.resenas,.preguntas,.contacto{ padding:clamp(5rem, 10vw, 8.5rem) 0 }

.grano{
  position:fixed; inset:-50%; z-index:150; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grano 1s steps(8) infinite;
}
@keyframes grano{
  0%{transform:translate(0,0)} 12%{transform:translate(-5%,-8%)} 25%{transform:translate(-12%,4%)}
  37%{transform:translate(6%,-12%)} 50%{transform:translate(-4%,10%)} 62%{transform:translate(-12%,-2%)}
  75%{transform:translate(8%,6%)} 87%{transform:translate(2%,-6%)} 100%{transform:translate(0,0)}
}
@media (max-width:860px){ .grano{ opacity:.035 } }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  min-height:50px; padding:.8rem 1.5rem; border-radius:999px;
  font-family:var(--sans); font-weight:600; font-size:.98rem; letter-spacing:.01em;
  transition:transform .35s var(--suave), background-color .3s, border-color .3s, color .3s;
}
.btn:hover{ transform:translateY(-2px) }
.btn .flecha{ transition:transform .35s var(--suave) }
.btn:hover .flecha{ transform:translateX(4px) }
.btn--negro{ background:#000; color:#fff; border:1px solid rgba(255,255,255,.14); padding:.9rem 1.6rem }
.btn--negro:hover{ background:#111827 }
@media (min-width:768px){ .btn--negro{ padding:1.05rem 2rem } }
.btn--linea{ border:1px solid rgba(255,255,255,.34); color:#fff }
.btn--linea:hover{ border-color:#fff; background:rgba(255,255,255,.06) }
.btn--cielo{ background:var(--cielo-boton); color:#fff }
.btn--cielo:hover{ background:#2B72CC }
.btn--wa{ background:var(--wa); color:#072A15 }
.btn--wa:hover{ background:#3BE07D }
.btn--grande{ width:100%; min-height:58px; font-size:1.05rem; margin-top:2rem }
.btn--blanco{ background:#fff; color:#000; font-weight:500; font-size:.9rem }
.btn--blanco:hover{ background:rgba(255,255,255,.9) }

.btn--vidrio{
  position:relative; overflow:hidden; color:#fff; font-weight:500; font-size:.9rem;
  background:rgba(255,255,255,.06);
  box-shadow:4px 4px 4px rgba(0,0,0,.05), inset 0 1px 1px rgba(255,255,255,.15);
}
.btn--vidrio::before{
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1.4px; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.2) 20%, rgba(255,255,255,0) 40%,
                             rgba(255,255,255,0) 60%, rgba(255,255,255,.2) 80%, rgba(255,255,255,.5) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}
.btn--vidrio:hover{ background:rgba(255,255,255,.12) }
@media (min-width:861px){
  .btn--vidrio{ background:rgba(255,255,255,.01); -webkit-backdrop-filter:blur(50px); backdrop-filter:blur(50px) }
}

.nav{ position:fixed; inset:0 0 auto; z-index:120; padding:1rem 0; transition:transform .5s var(--suave) }
.nav::before{
  content:''; position:absolute; inset:0; background:rgba(6,11,26,.92);
  border-bottom:1px solid var(--linea); opacity:0; transition:opacity .4s;
}
.nav.is-scroll::before{ opacity:1 }
.nav.is-oculto{ transform:translateY(-100%) }
.nav__in{
  position:relative; width:min(1280px, 100% - 2rem); margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.marca{ display:flex; align-items:center; gap:.7rem; flex:none }
.marca__sello{
  width:44px; height:44px; border-radius:50%; background:#fff; display:grid; place-items:center;
  box-shadow:0 0 0 2px rgba(255,255,255,.9), 0 0 0 5px rgba(62,155,230,.28);
}
.marca__sello .emblema{ width:34px; height:34px }
.marca__txt{ display:flex; flex-direction:column; font-family:var(--display); font-weight:600; font-size:1.05rem; line-height:1.05; letter-spacing:-.01em }
.marca__txt small{ font-size:.62rem; letter-spacing:.3em; font-weight:500; color:var(--cielo-claro) }

.nav__pill{
  display:none; align-items:center; gap:.2rem; padding:.3rem;
  border:1px solid #374151; border-radius:999px; background:rgba(6,11,26,.35);
}
.nav__pill a{
  font-family:var(--sans); font-size:.875rem; font-weight:500; color:rgba(255,255,255,.8);
  padding:.45rem .9rem; border-radius:999px; transition:color .25s, background-color .25s;
  display:flex; align-items:center; gap:.3rem;
}
.nav__pill a:hover{ color:#fff; background:rgba(255,255,255,.07) }
.nav__pill .nav__contacto{ background:#fff; color:#060B1A }
.nav__pill .nav__contacto:hover{ background:var(--cielo-claro); color:#060B1A }
.nav__menu{ width:46px; height:46px; border-radius:50%; border:1px solid #374151; display:grid; place-content:center; gap:6px }
.nav__menu i{ display:block; width:18px; height:1.6px; background:#fff; transition:transform .35s var(--suave) }
.nav__menu[aria-expanded="true"] i:first-child{ transform:translateY(3.8px) rotate(45deg) }
.nav__menu[aria-expanded="true"] i:last-child{ transform:translateY(-3.8px) rotate(-45deg) }
@media (min-width:1024px){ .nav__pill{ display:flex } .nav__menu{ display:none } }

.menu-movil{
  position:relative; margin:1rem 1rem 0; padding:1rem; border-radius:20px;
  background:var(--bg-2); border:1px solid var(--linea);
  display:flex; flex-direction:column; gap:.1rem;
}
.menu-movil[hidden]{ display:none }
.menu-movil a:not(.btn){ padding:.8rem .6rem; font-family:var(--display); font-size:1.1rem; border-bottom:1px solid var(--linea) }
.menu-movil .btn{ margin-top:.9rem }

.hero{ min-height:100svh; display:flex; background:#000; isolation:isolate }
.hero__fondo{ position:absolute; inset:0; z-index:-1; overflow:hidden }
.hero__fondo img,.hero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover }
.hero__video{ opacity:0; transition:opacity 1.2s ease }
.hero__video.is-on{ opacity:1 }
.hero__video::-webkit-media-controls-start-playback-button{ display:none!important }
.hero__video::-webkit-media-controls{ display:none!important }

.hero__velo{
  position:absolute; inset:0;
  background:
    radial-gradient(120% 90% at 50% 62%, rgba(6,11,26,.72) 0%, rgba(6,11,26,.5) 55%, rgba(6,11,26,.2) 100%),
    linear-gradient(180deg, rgba(6,11,26,.55) 0%, rgba(6,11,26,0) 22%, rgba(6,11,26,0) 70%, var(--bg) 100%);
}
.hero__in{
  width:min(1280px, 100% - 2rem); margin-inline:auto;
  padding:calc(96px + 2vh) 0 clamp(3rem, 8vh, 5rem);
}
@media (max-width:860px){ .hero__in{ padding-bottom:calc(1rem + 48px + 3.2rem) }
  display:flex; flex-direction:column; gap:2rem; justify-content:space-between;
}
.hero__arriba{ display:grid; gap:1rem; font-size:.9rem; color:rgba(255,255,255,.8); margin-bottom:clamp(1.5rem, 7vh, 5rem) }
.hero__arriba p{ margin:0; max-width:46ch }
.hero__dato b{ font-family:var(--display); font-weight:600; color:#fff }
@media (min-width:1024px){
  .hero__arriba{ grid-template-columns:1fr 1fr; font-size:1rem }
}
.hero__centro{ margin-top:auto }
.hero__volanta{
  margin:0 0 1.1rem; font-size:.75rem; letter-spacing:-.01em; text-transform:uppercase;
  color:rgba(255,255,255,.8); font-weight:500;
}
@media (min-width:768px){ .hero__volanta{ font-size:.875rem } }
.hero__h1{
  margin:0; font-family:var(--display); font-weight:500;
  font-size:clamp(2.55rem, 7.2vw, 7.6rem); line-height:.9; letter-spacing:-.055em;
}
.hero__h1 span{ display:block; text-wrap:balance }

.brilla{
  padding-bottom:.18em; margin-bottom:-.1em;
  background:linear-gradient(100deg, var(--brillo) 0%, var(--brillo) 38%, #fff 50%, var(--brillo) 62%, var(--brillo) 100%);
  background-size:250% 100%; background-position:100% 0;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:brilla 3s linear infinite;
}
@keyframes brilla{ from{ background-position:100% 0 } to{ background-position:-150% 0 } }

@media (prefers-reduced-motion:reduce){ .brilla{ animation:none; background-position:50% 0 } }

.hero__ctas{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2.2rem }
.hero__trayecto{ margin:1.6rem 0 0; font-size:.88rem; color:var(--tenue-2); max-width:56ch }

.simple{ background:var(--bg) }
.brillos{ display:grid; grid-template-columns:1fr; gap:2.5rem; max-width:936px; margin:0 auto }
@media (min-width:768px){ .brillos{ grid-template-columns:repeat(3,1fr); gap:.75rem } }
.brillo{ position:relative; width:100%; max-width:300px; margin:0 auto }
@media (max-width:767px){ .brillo{ max-width:340px } }
.brillo__halo{
  position:absolute; inset:0; height:100%; border-radius:40px; pointer-events:none;
  background:var(--g); opacity:.45; filter:blur(45px);

}
.brillo__caja{
  position:relative; z-index:1; height:300px; border-radius:40px; overflow:hidden;
  border:8px solid transparent;
  background:linear-gradient(#0E1733,#0E1733) padding-box, var(--g) border-box;
  padding:1.75rem; display:flex; flex-direction:column; justify-content:space-between;
  color:rgba(255,255,255,.9);
}
@media (max-width:767px){ .brillo__caja{ height:auto; min-height:260px; gap:2.2rem } }
.brillo h3{ margin:0 0 .6rem; font-family:var(--display); font-weight:500; font-size:1.25rem; letter-spacing:-.02em; color:#fff }
.brillo p{ margin:0; font-size:.92rem; line-height:1.6; color:#A9B4CC }

.cifras{
  list-style:none; margin:5rem 0 0; padding:2.2rem 0 0; border-top:1px solid var(--linea);
  display:grid; grid-template-columns:repeat(2,1fr); gap:2rem 1rem;
}
@media (min-width:900px){ .cifras{ grid-template-columns:repeat(4,1fr) } }
.cifras li{ display:flex; flex-direction:column; gap:.35rem }
.cifras b{ font-family:var(--display); font-weight:500; font-size:clamp(2.6rem, 5vw, 4rem); line-height:1; letter-spacing:-.05em; color:#fff; font-variant-numeric:tabular-nums }
.cifras li > span{ color:var(--tenue); font-size:.95rem }

.proteger{ background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%) }
.tarjetas{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(12px,1.4vw,22px); align-items:start }
@media (max-width:920px){ .tarjetas{ grid-template-columns:repeat(2,1fr); gap:clamp(14px,3vw,22px) } }
@media (max-width:560px){ .tarjetas{ grid-template-columns:1fr; max-width:420px; margin:0 auto } }

.tj{
  position:relative; aspect-ratio:319/404; border-radius:clamp(18px,1.7vw,28px);
  overflow:hidden; background:#0e0d0c; isolation:isolate;
  box-shadow:0 36px 70px -34px rgba(0,0,0,.7), 0 4px 14px -8px rgba(0,0,0,.4);
  container-type:inline-size;
}
.tj > summary{ list-style:none; cursor:pointer }
.tj > summary::-webkit-details-marker{ display:none }
.tj__cara{ position:absolute; inset:0; display:block }
.tj__foto,.tj__video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 42%;
}
.tj__video{
  background-size:cover; background-position:50% 42%;
  opacity:0; pointer-events:none; transition:opacity 4.5s cubic-bezier(.22,1,.36,1);
}
.tj.is-noche .tj__video{ opacity:1 }
.tj__grado{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(to top, rgba(4,8,20,.94) 0%, rgba(4,8,20,.62) 16%, rgba(4,8,20,.12) 34%, rgba(4,8,20,0) 46%),
    linear-gradient(to bottom, rgba(4,8,20,.34) 0%, rgba(4,8,20,0) 20%);
  transition:opacity .5s;
}
.tj__pie{
  position:absolute; z-index:4; left:6.2%; right:6.2%; bottom:5.4%; color:#fff;
  display:flex; flex-direction:column; transition:opacity .4s, transform .5s var(--suave);
}
.tj__cabeza{ display:flex; align-items:center; gap:3%; margin-bottom:3.2% }
.tj__icono{
  flex:none; width:13%; aspect-ratio:1; border-radius:50%; display:grid; place-items:center;
  background:var(--c); color:#fff; box-shadow:0 10px 24px -10px var(--c);
}
.tj__icono svg{ width:56%; height:56% }
.tj__titulo{ font-family:var(--display); font-weight:600; line-height:1.05; letter-spacing:-.02em; white-space:nowrap; font-size:clamp(18px, 8cqw, 34px) }
.tj__desc{ color:#D5DCEC; font-weight:500; line-height:1.3; font-size:clamp(14px, 4.6cqw, 19px) }
.tj__ver{
  margin-top:4.5%; display:inline-flex; align-items:center; gap:.5rem; align-self:flex-start;
  font-size:clamp(13px, 3.8cqw, 15px); font-weight:600; color:var(--cielo-claro);
}
.tj__ver i{
  font-style:normal; width:24px; height:24px; border-radius:50%; display:grid; place-items:center;
  border:1px solid rgba(143,208,255,.5); transition:transform .4s var(--suave);
}
.tj[open] .tj__ver i{ transform:rotate(45deg) }

.tj__cob{ padding:1.2rem 1.3rem 1.4rem; background:var(--surf) }
.tj__cob ul{ list-style:none; margin:0 0 1.1rem; padding:0; display:grid; gap:.55rem }
.tj__cob li{ position:relative; padding-left:1.5rem; font-size:.95rem; line-height:1.35; color:#E3E9F7 }
.tj__cob li::before{
  content:''; position:absolute; left:0; top:.32em; width:.8rem; height:.45rem;
  border-left:2px solid var(--cielo-claro); border-bottom:2px solid var(--cielo-claro); transform:rotate(-45deg);
}
.tj__cob .btn{ width:100%; min-height:46px; font-size:.92rem }
html:not(.js-listo) .tj{ aspect-ratio:auto }
html:not(.js-listo) .tj > summary{ position:relative; display:block; aspect-ratio:319/404 }
.js-listo .tj__cob{
  position:absolute; z-index:5; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  background:linear-gradient(to top, rgba(6,11,26,.97) 0%, rgba(6,11,26,.93) 62%, rgba(6,11,26,.7) 100%);
  padding:clamp(1rem, 7cqw, 1.8rem);
  animation:cobEntra .5s var(--suave) both;
}
.js-listo .tj__cob li{ font-size:clamp(13.5px, 4.3cqw, 16px) }
.js-listo .tj[open] .tj__pie{ opacity:0; transform:translateY(10px) }

.tj__cerrar{
  position:absolute; z-index:6; top:12px; right:12px; width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:#fff;
}
.tj__cob-tit{ margin:0 0 .9rem; font-family:var(--display); font-weight:600; font-size:clamp(18px, 7cqw, 28px); letter-spacing:-.02em }
@keyframes cobEntra{ from{ opacity:0; transform:translateY(14px) } to{ opacity:1; transform:none } }

.retiro{ background:var(--bg-2); overflow-x:clip }
.retiro::before{
  content:''; position:absolute; left:50%; top:30%; width:min(1100px, 100%); aspect-ratio:1.6; transform:translateX(-50%);
  background:radial-gradient(closest-side, rgba(47,127,224,.28), rgba(47,127,224,0) 72%); pointer-events:none;
}
.retiro .contenedor{ position:relative }
.sim{
  display:grid; gap:1.2rem; border-radius:32px; padding:clamp(1rem, 3vw, 1.4rem);
  background:linear-gradient(160deg, rgba(143,208,255,.14), rgba(143,208,255,.02) 40%, rgba(143,208,255,.08));
  border:1px solid rgba(143,208,255,.2);
}
@media (min-width:960px){ .sim{ grid-template-columns:.9fr 1.1fr } }
.sim__datos,.sim__res{ border-radius:24px; background:rgba(6,11,26,.72); padding:clamp(1.3rem, 3vw, 2.2rem) }
.sim__datos{ display:flex; flex-direction:column; gap:1.9rem }
.sim__campo{ display:flex; flex-direction:column; gap:.7rem; border:0; margin:0; padding:0; min-width:0 }
.sim__campo > span:first-child,.sim__campo legend{ font-size:.92rem; color:var(--tenue); padding:0 }
.sim__campo legend{ margin-bottom:.7rem }
.sim__monto{
  display:flex; align-items:baseline; gap:.3rem; font-family:var(--display); font-weight:500;
  font-size:clamp(2.1rem, 5vw, 3rem); letter-spacing:-.04em; color:#fff;
  border-bottom:1px solid rgba(143,208,255,.35); padding-bottom:.3rem;
}
.sim__monto input{
  flex:1; min-width:0; width:100%; font:inherit; letter-spacing:inherit; color:inherit; background:none; border:0; padding:0;
  font-variant-numeric:tabular-nums;
}
.sim__monto input:focus{ outline:none }
.sim__monto:focus-within{ border-color:var(--cielo-claro) }
input[type=range]{ -webkit-appearance:none; appearance:none; width:100%; height:30px; background:none; margin:0; cursor:pointer }
input[type=range]::-webkit-slider-runnable-track{ height:6px; border-radius:6px; background:linear-gradient(90deg, var(--cielo) var(--p,30%), rgba(255,255,255,.14) var(--p,30%)) }
input[type=range]::-moz-range-track{ height:6px; border-radius:6px; background:rgba(255,255,255,.14) }
input[type=range]::-moz-range-progress{ height:6px; border-radius:6px; background:var(--cielo) }
input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:24px; height:24px; margin-top:-9px; border-radius:50%; background:#fff; box-shadow:0 0 0 6px rgba(62,155,230,.3) }
input[type=range]::-moz-range-thumb{ width:24px; height:24px; border:0; border-radius:50%; background:#fff; box-shadow:0 0 0 6px rgba(62,155,230,.3) }
.sim__campo b{ color:#fff; font-weight:600 }
.sim__chips{ display:flex; gap:.5rem }
.sim__chips label{ flex:1 }
.sim__chips input{ position:absolute; opacity:0; pointer-events:none }
.sim__chips span{
  display:grid; place-items:center; min-height:48px; border-radius:14px; border:1px solid rgba(255,255,255,.18);
  font-family:var(--display); font-weight:500; font-size:1.1rem; cursor:pointer; transition:background-color .25s, border-color .25s;
}
.sim__chips input:checked + span{ background:var(--cielo-boton); border-color:var(--cielo-boton) }
.sim__chips input:focus-visible + span{ outline:2px solid var(--cielo-claro); outline-offset:2px }
.sim__aviso{
  margin:auto 0 0; padding:.9rem 1rem; border-radius:14px; font-size:.86rem; line-height:1.45;
  background:rgba(255,196,87,.08); border:1px solid rgba(255,196,87,.3); color:#F4E3C1;
}
.sim__aviso b{ color:#FFD58A }

.sim__res{ display:flex; flex-direction:column; gap:1.3rem }
.sim__barras{ display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; align-items:end; height:190px }
.sim__barra{ position:relative; height:100%; display:flex; flex-direction:column; justify-content:flex-end; gap:.5rem }
.sim__barra i{
  display:block; height:100%; border-radius:14px 14px 6px 6px; transform-origin:50% 100%;
  transform:scaleY(var(--h,.5)); transition:transform .9s var(--suave);
}
.sim__barra span{ font-size:.78rem; color:var(--tenue-2); text-align:center }
.sim__barra--hoy i{ background:linear-gradient(180deg, #fff, #BFE3FF) }
.sim__barra--jub i{ background:linear-gradient(180deg, var(--cielo), var(--marino)) }
.sim__barra--gap i{ background:repeating-linear-gradient(135deg, rgba(255,140,120,.95) 0 6px, rgba(255,140,120,.55) 6px 12px) }
.sim__nums{ margin:0; display:grid; gap:.2rem }
.sim__nums div{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.55rem 0; border-bottom:1px solid var(--linea) }
.sim__nums dt{ color:var(--tenue); font-size:.95rem }
.sim__nums dd{ margin:0; font-family:var(--display); font-weight:500; font-size:1.3rem; font-variant-numeric:tabular-nums; white-space:nowrap }
.sim__gap dd{ font-size:clamp(1.7rem, 4vw, 2.4rem); color:#FFB2A3; letter-spacing:-.03em }
.sim__plan{ margin:0; font-size:1.02rem; line-height:1.5; color:var(--tenue) }
.sim__plan b{ color:#fff; font-weight:600 }
.sim__curva{ width:100%; height:110px }
.sim__curva-pie{ margin:-.8rem 0 0; display:flex; justify-content:space-between; font-size:.75rem; color:var(--tenue-2) }
.sim__curva-pie span:nth-child(2){ text-align:center }
.sim__curva-pie span:last-child::after{ content:' años' }
.sim__res .btn{ align-self:stretch }
.sim__supuestos summary{ cursor:pointer; font-size:.88rem; color:var(--cielo-claro); text-decoration:underline; text-underline-offset:3px }
.sim__supuestos p{ margin:.7rem 0 0; font-size:.85rem; line-height:1.55; color:var(--tenue-2) }

.siniestro{ background:var(--bg) }
.siniestro__grid{ display:grid; gap:3rem }
@media (min-width:980px){
  .siniestro__grid{ grid-template-columns:.95fr 1.05fr; gap:4.5rem; align-items:start }
  .siniestro__aside{ position:sticky; top:110px }
}
.llamar{ border-radius:26px; padding:1.4rem; background:var(--surf); border:1px solid rgba(143,208,255,.16); display:flex; flex-direction:column; gap:.4rem }
.llamar__tit{ margin:0 0 .4rem; font-family:var(--display); font-weight:600; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cielo-claro) }
.llamar__fila{ display:grid; grid-template-columns:8.2rem 1fr; gap:1rem; padding:.85rem .5rem; border-radius:14px; border-top:1px solid var(--linea); transition:background-color .25s }
a.llamar__fila:hover{ background:rgba(255,255,255,.04) }
.llamar__fila b{ font-family:var(--display); font-weight:600; font-size:1.02rem; line-height:1.25 }
.llamar__fila span{ font-size:.92rem; line-height:1.45; color:var(--tenue) }
.llamar__fila--urg b{ font-size:1.9rem; color:#FF9C8A; letter-spacing:-.03em; line-height:1 }
@media (max-width:480px){ .llamar__fila{ grid-template-columns:1fr; gap:.3rem } }
.llamar__plazo{ margin:.6rem 0 0; padding:.9rem 1rem; border-radius:14px; background:rgba(62,155,230,.12); font-size:.95rem }
.llamar__plazo b{ color:var(--cielo-claro) }

.tabs{ display:none }
.js-listo .tabs{
  display:flex; gap:.35rem; padding:.35rem; margin-bottom:1.6rem; border-radius:999px;
  background:var(--surf); border:1px solid var(--linea); position:sticky; top:84px; z-index:5;
}
@media (min-width:980px){ .js-listo .tabs{ position:static } }
.tabs button{
  flex:1; min-height:44px; border-radius:999px; font-weight:600; font-size:.92rem; color:var(--tenue);
  transition:background-color .3s, color .3s;
}
.tabs button[aria-selected="true"]{ background:#fff; color:var(--bg) }
.panel + .panel{ margin-top:3rem }
.js-listo .panel + .panel{ margin-top:0 }
.js-listo .panel[hidden]{ display:none }
.js-listo .panel{ animation:cobEntra .5s var(--suave) both }
.panel__tit{ margin:0 0 1.2rem; font-family:var(--display); font-weight:600; font-size:1.5rem; letter-spacing:-.02em }
.pasos{ list-style:none; margin:0; padding:0; counter-reset:paso; position:relative }
.pasos::before{ content:''; position:absolute; left:21px; top:10px; bottom:30px; width:1.5px; background:linear-gradient(var(--cielo), rgba(62,155,230,.1)) }
.pasos li{ counter-increment:paso; position:relative; padding:0 0 1.7rem 4.1rem; color:var(--tenue); line-height:1.55 }
.pasos li::before{
  content:counter(paso); position:absolute; left:0; top:-4px; width:43px; height:43px; border-radius:50%;
  display:grid; place-items:center; background:var(--bg); border:1.5px solid var(--cielo);
  font-family:var(--display); font-weight:600; color:#fff;
}
.pasos b{ display:block; color:#fff; font-weight:600; font-size:1.06rem; margin-bottom:.15rem }

.equipo{ background:linear-gradient(180deg, var(--bg) 0%, #03060F 100%) }
.equipo__grid{ display:grid; gap:2rem; align-items:center }
@media (min-width:980px){ .equipo__grid{ grid-template-columns:.85fr 1.15fr; gap:3rem } }
.equipo__lista{ list-style:none; margin:0; padding:0; display:grid; gap:.3rem }
.equipo__lista button{
  width:100%; text-align:left; display:flex; flex-direction:column; padding:.85rem 1rem; border-radius:16px;
  border:1px solid transparent; transition:background-color .35s, border-color .35s;
}
.equipo__lista b{ font-family:var(--display); font-weight:600; font-size:1.15rem }
.equipo__lista span{ font-size:.9rem; color:var(--tenue-2) }
.equipo__lista li.is-activo button{ background:var(--surf); border-color:rgba(143,208,255,.28) }
.equipo__lista li.is-activo b{ color:var(--cielo-claro) }

html:not(.js-listo) .escena{ display:none }
.escena{
  position:relative; height:clamp(460px, 62vh, 640px); overflow:hidden; perspective:1350px;
  display:grid; place-items:center;
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%);
          mask-image:linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%);
}
@media (max-width:979px){ .escena{ order:-1; height:420px } }
.escena__eje{ position:relative; transform-style:preserve-3d }
.tarjeta{ position:absolute; inset:0; transform-style:preserve-3d }
.tarjeta__capa{ position:absolute; inset:0; border-radius:16px; overflow:hidden; pointer-events:none }
.tarjeta__capa--medio{ background:#7C8699; border:1px solid #7C8699 }
.tarjeta__frente,.tarjeta__dorso{
  background:#0f0f0f; border:1px solid rgba(255,255,255,.15);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.15); -webkit-backface-visibility:hidden; backface-visibility:hidden;
}
.tarjeta__frente img,.tarjeta__frente video,.tarjeta__dorso img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover }
.tarjeta__frente video{ opacity:0; transition:opacity .8s }
.tarjeta__frente video.is-on{ opacity:1 }
.tarjeta__dorso img{ transform:scale(1.15) }
.tarjeta__tinta{ position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,0,0,.05), rgba(0,0,0,.35)); z-index:1 }
.tarjeta__chip{ position:absolute; z-index:2; left:7%; top:50%; transform:translateY(-50%); width:29px; height:29px }
.tarjeta__logo{ position:absolute; z-index:2; right:7%; top:9%; display:flex; align-items:center; gap:.45rem; font-family:var(--display); font-weight:600; font-size:.74rem; letter-spacing:.14em; color:#fff; line-height:1.05; text-align:right }
.tarjeta__logo span{ display:block; font-size:.52rem; letter-spacing:.32em; color:rgba(255,255,255,.75); font-weight:500 }
.tarjeta__logo i{ width:24px; height:24px; border-radius:50%; background:#fff; display:grid; place-items:center; flex:none }
.tarjeta__logo i svg{ width:19px; height:19px }
.tarjeta__nombre{ position:absolute; z-index:2; left:7%; bottom:10%; font-family:var(--display); font-weight:600; font-size:1.05rem; letter-spacing:.04em; color:#fff }
.tarjeta__nombre small{ display:block; font-family:var(--mono); font-size:.56rem; letter-spacing:.14em; color:rgba(255,255,255,.72); font-weight:500 }
.tarjeta__aros{ position:absolute; z-index:2; right:7%; bottom:10%; display:flex }
.tarjeta__aros i{ width:22px; height:22px; border-radius:50%; background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.12) }
.tarjeta__aros i + i{ margin-left:-10px; background:rgba(143,208,255,.45) }
.tarjeta__dorso{ transform:translateZ(-1.47px) rotateX(180deg) }
.tarjeta__banda{ position:absolute; z-index:2; left:0; right:0; top:10%; height:18%; background:rgba(0,0,0,.86) }
.tarjeta__datos{ position:absolute; z-index:2; left:7%; bottom:10%; font-family:var(--mono); font-weight:500; display:flex; flex-direction:column; gap:.2rem }
.tarjeta__datos b{ font-size:.72rem; letter-spacing:.14em; color:#fff; font-weight:500 }
.tarjeta__datos span{ font-size:.55rem; letter-spacing:.08em; color:rgba(255,255,255,.7) }
@media (max-width:480px){
  .tarjeta__logo{ font-size:.62rem } .tarjeta__chip{ width:24px; height:24px } .tarjeta__nombre{ font-size:.92rem }
}

.zonas{ background:#03060F }
.zonas__caja{ display:grid; gap:1.5rem; margin-top:2rem }
@media (min-width:900px){ .zonas__caja{ grid-template-columns:1.2fr .8fr; align-items:start } }
.zonas__chips{ display:flex; flex-wrap:wrap; gap:.5rem }
.zonas__chips button{
  min-height:44px; padding:.5rem 1.05rem; border-radius:999px; border:1px solid rgba(255,255,255,.18);
  font-size:.95rem; color:var(--tenue); transition:background-color .25s, border-color .25s, color .25s, transform .3s var(--suave);
}
.zonas__chips button:hover{ border-color:var(--cielo-claro); color:#fff }
.zonas__chips button[aria-checked="true"]{ background:var(--cielo-boton); border-color:var(--cielo-boton); color:#fff; transform:translateY(-1px) }
.zonas__res{ min-height:230px }
.prod{
  border-radius:26px; padding:1.6rem; background:linear-gradient(160deg, var(--surf-2), var(--surf));
  border:1px solid rgba(143,208,255,.22); display:flex; flex-direction:column; gap:1rem;
  animation:cobEntra .5s var(--suave) both;
}
.prod__cab{ display:flex; align-items:center; gap:1rem }
.prod__ini{
  width:64px; height:64px; border-radius:50%; flex:none; display:grid; place-items:center;
  font-family:var(--display); font-weight:600; font-size:1.6rem; color:var(--marino-logo);
  background:#fff; box-shadow:0 0 0 4px rgba(62,155,230,.35);
}
.prod h3{ margin:0; font-family:var(--display); font-weight:600; font-size:1.5rem; letter-spacing:-.02em }
.prod p{ margin:0; color:var(--tenue); font-size:.95rem }
.prod .btn{ width:100% }
.prod__vacio{ color:var(--tenue-2); border:1px dashed rgba(255,255,255,.18); border-radius:26px; padding:1.6rem; margin:0 }
.zonas__tabla{ list-style:none; padding:0; margin:2rem 0 0; display:grid; gap:.6rem }
.zonas__tabla li{ padding:.9rem 1rem; border-radius:14px; background:var(--surf) }
.zonas__tabla li::before{ content:attr(data-quien) ' — '; font-weight:600; color:#fff }
.js-listo .zonas__tabla{ display:none }

.preguntas{ background:var(--bg); padding-bottom:4rem }
.preguntas__grid{ display:grid; gap:2rem }
@media (min-width:980px){ .preguntas__grid{ grid-template-columns:.8fr 1.2fr; gap:4rem } }
.acordeon details{ border-bottom:1px solid var(--linea) }
.acordeon summary{
  list-style:none; cursor:pointer; padding:1.3rem 3rem 1.3rem 3.2rem; position:relative;
  font-family:var(--display); font-weight:500; font-size:1.12rem; line-height:1.35; letter-spacing:-.01em;
}
.acordeon summary::-webkit-details-marker{ display:none }
.acordeon summary::after{
  content:'+'; position:absolute; right:0; top:50%; width:34px; height:34px; margin-top:-17px; border-radius:50%;
  display:grid; place-items:center; border:1px solid rgba(143,208,255,.4); color:var(--cielo-claro); font-size:1.2rem;
  transition:transform .4s var(--suave), background-color .3s;
}
.acordeon details[open] summary::after{ transform:rotate(45deg); background:rgba(62,155,230,.15) }
.acordeon details p{ margin:0; padding:0 0 1.4rem; color:var(--tenue); max-width:62ch; animation:cobEntra .45s var(--suave) both }
.acordeon b{ color:#fff }
.pagos__tit{ margin:4.5rem 0 1rem; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--tenue-2); font-weight:600 }
.cinta{ overflow:hidden; border-block:1px solid var(--linea); padding:1rem 0 }
.cinta__pista{ display:flex; width:max-content; gap:.7rem; animation:cinta 40s linear infinite }
.cinta__pista span{ flex:none; padding:.55rem 1.1rem; border-radius:999px; border:1px solid rgba(255,255,255,.14); font-size:.92rem; color:var(--tenue); white-space:nowrap }
@keyframes cinta{ to{ transform:translateX(-50%) } }
.cinta.is-fuera .cinta__pista{ animation-play-state:paused }
@media (prefers-reduced-motion:reduce){ .cinta__pista{ animation:none; flex-wrap:wrap; width:auto; padding:0 1rem } }

.contacto{ background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%) }
.contacto__grid{ display:grid; gap:2.5rem; align-items:center }
@media (min-width:980px){ .contacto__grid{ grid-template-columns:.9fr 1.1fr; gap:4rem } }
.datos{ margin:0 0 2rem; display:grid; gap:0 }
.datos div{ display:grid; grid-template-columns:7.5rem 1fr; gap:1rem; padding:.95rem 0; border-bottom:1px solid var(--linea) }
.datos dt{ color:var(--tenue-2); font-size:.9rem }
.datos dd{ margin:0; font-size:1.02rem; overflow-wrap:anywhere }
.datos dd small{ color:var(--tenue-2); font-size:.86rem }
.datos a{ border-bottom:1px solid rgba(143,208,255,.4) }
.datos a:hover{ color:var(--cielo-claro) }
@media (max-width:420px){ .datos div{ grid-template-columns:1fr; gap:.15rem } }
.mapa{ margin:0; border-radius:28px; overflow:hidden; border:1px solid rgba(143,208,255,.2); box-shadow:0 40px 80px -40px rgba(0,0,0,.8) }
.mapa svg{ width:100%; height:auto }
.mapa__onda{ transform-origin:0 -18px; animation:onda 2.6s var(--suave) infinite }
@keyframes onda{ 0%{ transform:translateY(-18px) scale(.4); opacity:.9 } 100%{ transform:translateY(-18px) scale(2.2); opacity:0 } }
.cierre.is-fuera .mapa__onda{ animation-play-state:paused }

.cierre{ padding:8rem 1.5rem 2rem; text-align:center; overflow:hidden; background:var(--bg-2) }
@media (min-width:768px){ .cierre{ padding-inline:4rem } }
@media (min-width:1024px){ .cierre{ padding-inline:6rem } }
.cierre__fondo{ position:absolute; inset:0 }
.cierre__fondo img,.cierre__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover }
.cierre__video{ opacity:0; transition:opacity 1.2s }
.cierre__video.is-on{ opacity:1 }
.cierre__fondo::after{ content:''; position:absolute; inset:0; background:rgba(6,11,26,.35) }
.cierre__fundido{ position:absolute; left:0; right:0; height:200px; z-index:1; pointer-events:none }
.cierre__fundido--arr{ top:0; background:linear-gradient(to bottom, var(--bg-2), rgba(10,19,48,0)) }
.cierre__fundido--aba{ bottom:0; background:linear-gradient(to top, var(--bg), rgba(6,11,26,0)) }
.cierre__in{ position:relative; z-index:2 }
.cierre__h{
  margin:0 auto 1rem; max-width:13em; font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(3rem, 7vw, 4.6rem); line-height:.92; letter-spacing:-.02em; text-wrap:balance;
}
.cierre__p{ margin:0 auto 2rem; max-width:36rem; color:rgba(255,255,255,.72); font-weight:300; font-size:clamp(.95rem, 1.4vw, 1.05rem) }
.cierre__btns{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1rem 1.5rem }
.pie{ margin-top:8rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.12); display:flex; flex-direction:column; gap:1.2rem; padding-bottom:4.5rem }
.pie__fila{ display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:1rem }
@media (min-width:768px){ .pie__fila{ flex-direction:row } }
.pie p{ margin:0; color:rgba(255,255,255,.45); font-size:.78rem; font-weight:300 }
.pie nav{ display:flex; gap:1.5rem }
.pie nav a{ color:rgba(255,255,255,.45); font-size:.78rem; transition:color .25s }
.pie nav a:hover{ color:rgba(255,255,255,.8) }
.pie__ssn{ max-width:70ch; margin:0 auto!important; line-height:1.5 }

.wsp{
  position:fixed; right:1rem; bottom:1rem; z-index:115; width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; background:var(--wa); color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.45); transition:transform .35s var(--suave);
}
.wsp:hover{ transform:scale(1.07) }
.wsp svg{ width:30px; height:30px }
.sello-demo{
  position:fixed; left:50%; bottom:1rem; transform:translateX(-50%);
  z-index:115; display:flex; align-items:center; gap:.6rem;
  padding:.5rem .95rem; border-radius:999px;
  background:rgb(12,14,22); border:1px solid rgba(255,255,255,.14);
  font-size:.72rem; font-weight:300; color:#EEF1F7; letter-spacing:.02em; white-space:nowrap;
}
.sello-demo b{ font-weight:500 }
.sello-demo a{ color:#fff; border-bottom:1px solid rgba(255,255,255,.4) }
@media (max-width:1100px){ .sello-demo__larga{ display:none } }
@media (max-width:860px){
  .sello-demo{ left:1rem; transform:none; font-size:.66rem; padding:.42rem .7rem; gap:.4rem; bottom:calc(1rem + 48px + .55rem) }
}

.asis-btn{
  position:fixed; left:1rem; bottom:1rem; z-index:115;
  display:flex; align-items:center; gap:.6rem;
  height:54px; padding:0 18px 0 6px; border-radius:999px;
  background:var(--bg-2); color:#fff; border:1px solid rgba(143,208,255,.45);
  font-family:var(--sans); font-size:.9rem; font-weight:600; letter-spacing:.01em;
  box-shadow:0 10px 30px rgba(0,0,0,.45);
  transition:transform .35s var(--suave), opacity .5s ease;
}
.asis-btn:hover{ transform:translateY(-2px) }
.asis-btn__icono{ position:relative; width:42px; height:42px; flex:none; border-radius:50%; display:grid; place-items:center; background:#fff }
.asis-btn__icono svg{ width:32px; height:32px }
.asis-btn__punto{ position:absolute; right:0; top:0; width:11px; height:11px; border-radius:50%; background:#2FD47A; box-shadow:0 0 0 2px var(--bg-2) }
.asis{
  position:fixed; z-index:118; left:1rem; bottom:calc(1rem + 54px + 12px);
  width:min(390px, calc(100vw - 2rem)); height:min(630px, calc(100dvh - 130px));
  opacity:0; transform:translateY(16px) scale(.97); transform-origin:0 100%;
  transition:opacity .3s ease, transform .45s var(--suave); pointer-events:none;
}
.asis.is-open{ opacity:1; transform:none; pointer-events:auto }
.asis[hidden]{ display:none }
.asis__caja{
  height:100%; display:flex; flex-direction:column; overflow:hidden;
  background:var(--bg); border:1px solid rgba(143,208,255,.2); border-radius:22px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.85);
}
.asis__top{ display:flex; align-items:center; gap:.7rem; padding:.75rem .6rem .75rem .9rem; background:var(--bg-2); border-bottom:1px solid var(--linea) }
.asis__avatar{ width:40px; height:40px; flex:none; border-radius:50%; display:grid; place-items:center; background:#fff }
.asis__avatar svg{ width:31px; height:31px }
.asis__quien{ flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.25 }
.asis__quien strong{ font-family:var(--display); font-weight:600; font-size:.92rem }
.asis__estado{ font-size:.74rem; color:var(--tenue); display:flex; align-items:center; gap:.4rem }
.asis__estado::before{ content:''; width:7px; height:7px; border-radius:50%; background:#2FD47A }
.asis__icono{ width:40px; height:40px; flex:none; display:grid; place-items:center; border-radius:50%; color:var(--tenue); transition:background-color .2s, color .2s }
.asis__icono:hover,.asis__icono:focus-visible{ background:rgba(255,255,255,.08); color:#fff }
.asis__log{ flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:1rem .85rem .6rem; display:flex; flex-direction:column; gap:.5rem }
.asis__msg{ max-width:86%; padding:.6rem .85rem; border-radius:16px; font-size:.92rem; line-height:1.45; white-space:pre-line; animation:asisEntra .35s var(--suave) both }
.asis__msg--bot{ align-self:flex-start; background:var(--surf); border-bottom-left-radius:5px }
.asis__msg--yo{ align-self:flex-end; background:var(--cielo-boton); color:#fff; border-bottom-right-radius:5px }
.asis__msg--ancho{ padding:0; background:none; max-width:94%; width:94% }
@keyframes asisEntra{ from{ opacity:0; transform:translateY(8px) } to{ opacity:1; transform:none } }
.asis__escribe{ display:flex; gap:4px; padding:.8rem .9rem }
.asis__escribe i{ width:6px; height:6px; border-radius:50%; background:var(--tenue); animation:asisPunto 1s infinite ease-in-out }
.asis__escribe i:nth-child(2){ animation-delay:.15s }
.asis__escribe i:nth-child(3){ animation-delay:.3s }
@keyframes asisPunto{ 0%,60%,100%{ opacity:.35; transform:none } 30%{ opacity:1; transform:translateY(-3px) } }
.asis__prueba,.asis__final{ display:flex; flex-direction:column; gap:.75rem; padding:.9rem; background:var(--bg-2); border:1px solid rgba(255,255,255,.12); border-radius:16px }
.asis__prueba-tit{ font-family:var(--display); font-weight:600; font-size:.95rem }
.asis__grupo{ display:flex; flex-direction:column; gap:.4rem }
.asis__grupo-tit{ font-size:.74rem; color:var(--tenue-2); letter-spacing:.03em }
.asis__grupo-ops{ display:flex; flex-wrap:wrap; gap:.4rem }
.asis__pill{ min-height:36px; padding:.4rem .8rem; border-radius:999px; font-size:.84rem; color:var(--tenue); border:1px solid rgba(255,255,255,.18); transition:background-color .2s, color .2s, border-color .2s }
.asis__pill:hover{ color:#fff; border-color:var(--cielo-claro) }
.asis__pill[aria-checked="true"]{ background:var(--cielo-boton); border-color:var(--cielo-boton); color:#fff }
.asis__llega{ display:flex; flex-direction:column; gap:.4rem; padding-top:.7rem; border-top:1px dashed rgba(255,255,255,.16) }
.asis__llega-msg,.asis__final-msg{ align-self:flex-end; max-width:96%; margin:0; background:#144D37; color:#E9F5EE; border-radius:12px 12px 4px 12px; padding:.55rem .75rem; font-size:.88rem; line-height:1.42; white-space:pre-line }
.asis__llega-msg.is-nuevo{ animation:asisLlega .35s var(--suave) }
@keyframes asisLlega{ from{ opacity:.35; transform:translateY(5px) } to{ opacity:1; transform:none } }
.asis__pie{ padding:.7rem .75rem calc(.75rem + env(safe-area-inset-bottom, 0px)); background:var(--bg-2); border-top:1px solid var(--linea); display:flex; flex-direction:column; gap:.5rem }
.asis__pie:empty{ display:none }
.asis__ops{ display:flex; flex-wrap:wrap; gap:.4rem; justify-content:flex-end }
.asis__op{ min-height:40px; padding:.5rem .9rem; border-radius:999px; font-size:.86rem; color:#fff; background:rgba(255,255,255,.04); border:1px solid rgba(143,208,255,.45); animation:asisEntra .35s var(--suave) both; animation-delay:calc(var(--i) * 35ms); transition:background-color .2s }
.asis__op:hover,.asis__op:focus-visible{ background:rgba(62,155,230,.2) }
.asis__op--fuerte{ background:var(--cielo-boton); border-color:var(--cielo-boton) }
.asis__op--urg{ border-color:rgba(255,156,138,.6) }
.asis__campo{ display:flex; gap:.5rem }
.asis__campo input{ flex:1; min-width:0; font-size:16px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:.6rem 1rem; color:#fff; font-family:var(--sans) }
.asis__campo input:focus{ outline:none; border-color:var(--cielo-claro) }
.asis__enviar{ width:44px; height:44px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--cielo-boton); color:#fff }
.asis__saltear{ align-self:center; font-size:.82rem; color:var(--tenue); padding:.25rem .5rem; text-decoration:underline; text-underline-offset:3px }
.asis__saltear:hover{ color:#fff }
.asis__wa{ display:flex; align-items:center; justify-content:center; gap:.55rem; min-height:50px; border-radius:999px; background:var(--wa); color:#072A15; font-weight:700; font-size:.96rem; transition:transform .3s var(--suave) }
.asis__wa:hover{ transform:translateY(-2px) }
.asis__link{ color:var(--cielo-claro); text-decoration:underline; text-underline-offset:3px }
@media (max-width:1100px){ .asis-btn{ padding-right:14px } .asis-btn__label{ font-size:.82rem } }
@media (max-width:860px){ .asis-btn{ height:48px; padding:0 13px 0 4px } .asis-btn__icono{ width:40px; height:40px } }
@media (max-width:640px){
  .asis{ inset:0; width:auto; height:100dvh; transform:translateY(24px); transform-origin:50% 100% }
  .asis__caja{ border-radius:0; border:0 }
  .asis__top{ padding-top:calc(.75rem + env(safe-area-inset-top, 0px)) }
  html.asis-abierto .asis-btn, html.asis-abierto .wsp, html.asis-abierto .sello-demo{ opacity:0; pointer-events:none }
}
@media (prefers-reduced-motion:reduce){ .asis,.asis__msg,.asis__op{ transition:none; animation:none } }

.js-listo .reveal{
  opacity:0; transform:translate3d(0,40px,0);
  transition:opacity .9s var(--suave), transform 1.1s var(--suave); transition-delay:var(--d, 0s);
}
.js-listo .reveal.rev-izq{ transform:translate3d(-70px,0,0) }
.js-listo .reveal.rev-der{ transform:translate3d(70px,0,0) }
.js-listo .reveal.rev-img{ transform:translate3d(0,70px,0) scale(.88) }
.js-listo .reveal.rev-giro{ transform:perspective(900px) translate3d(0,60px,0) rotateY(-38deg) rotateX(12deg) }
.js-listo .reveal.is-in{ opacity:1; transform:none }

.js-listo .reveal.is-sale{
  opacity:0; transform:translate3d(0,-36px,0) scale(.97);
  transition:opacity .55s ease, transform .7s var(--suave); transition-delay:0s;
}
.js-listo .reveal.rev-izq.is-sale{ transform:translate3d(-40px,-20px,0) }
.js-listo .reveal.rev-der.is-sale{ transform:translate3d(40px,-20px,0) }

.tit .w{ display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.12em; margin-bottom:-.12em }
.tit .w > i{
  display:inline-block; font-style:inherit; transform:translate3d(0,112%,0) rotate(4deg);
  transition:transform 1s var(--suave); transition-delay:calc(var(--k, 0) * 55ms);
}
.tit.is-in .w > i{ transform:none }
.tit.is-sale .w > i{ transform:translate3d(0,-112%,0); transition-duration:.6s; transition-delay:calc(var(--k, 0) * 20ms) }
@media (prefers-reduced-motion:reduce){ .tit .w > i{ transform:none!important } }

.panel-sec{
  border-radius:clamp(28px, 4vw, 56px) clamp(28px, 4vw, 56px) 0 0;
  margin-top:calc(-1 * clamp(28px, 4vw, 56px)); z-index:1;
  box-shadow:0 -1px 0 rgba(143,208,255,.16), 0 -40px 80px -30px rgba(0,0,0,.7);
}

.banda-txt{ position:relative; z-index:2; padding:clamp(2.5rem, 6vw, 5rem) 0; overflow:hidden; background:var(--bg-2);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent) }
.banda-txt--chica{ background:var(--bg); padding:clamp(1.8rem, 4vw, 3rem) 0 calc(clamp(1.8rem, 4vw, 3rem) + 56px) }
.banda-txt__fila{
  margin:0; display:flex; align-items:center; gap:clamp(1.2rem, 3vw, 2.6rem); width:max-content; white-space:nowrap;
  font-family:var(--display); font-weight:700; font-size:clamp(3.2rem, 11vw, 9.5rem); line-height:1; letter-spacing:-.05em; text-transform:uppercase;
  color:transparent; -webkit-text-stroke:1.5px rgba(143,208,255,.55);
  will-change:auto;
}
.banda-txt__fila--llena{ color:var(--cielo-claro); -webkit-text-stroke:0; opacity:.9; margin-top:.4rem; font-size:clamp(2rem, 6vw, 5rem) }
.banda-txt--chica .banda-txt__fila{ font-size:clamp(1.6rem, 4vw, 3rem); color:#fff; -webkit-text-stroke:0; text-transform:none; font-weight:500; letter-spacing:-.03em }
.banda-txt__fila i{ flex:none; width:.32em; height:.32em; border-radius:50%; background:var(--cielo) }

.retiro__deco{ position:absolute; inset:0; pointer-events:none; overflow:hidden }
.moneda{
  position:absolute; left:var(--x); top:var(--y); width:var(--t); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #FFFFFF 0 6%, #C9E6FF 14%, #5DAEF0 46%, #1D4FA8 78%, #0B1F66 100%);
  box-shadow:inset 0 0 0 calc(var(--t) * .08) rgba(255,255,255,.25), 0 30px 60px -20px rgba(47,127,224,.55);
  opacity:.8;
}
.moneda::after{ content:'$'; position:absolute; inset:0; display:grid; place-items:center; font-family:var(--display); font-weight:700; font-size:calc(var(--t) * .46); color:rgba(11,31,102,.55) }
.moneda--chica{ opacity:.55 }
@media (max-width:760px){ .moneda{ opacity:.35 } }

.js-listo .pasos::before{ display:none }
.pasos__riel,.pasos__lleno{ position:absolute; left:21px; top:10px; bottom:30px; width:2px; border-radius:2px }
.pasos__riel{ background:rgba(143,208,255,.14) }
.pasos__lleno{ background:linear-gradient(var(--cielo-claro), var(--cielo) 60%, #FFFFFF); transform-origin:50% 0; transform:scaleY(0) }
.pasos__chispa{
  position:absolute; left:22px; top:10px; width:16px; height:16px; margin:-8px 0 0 -8px; border-radius:50%;
  background:#fff; box-shadow:0 0 0 5px rgba(143,208,255,.35), 0 0 26px 8px rgba(62,155,230,.8);
  z-index:2; opacity:0; transition:opacity .3s;
}
.pasos li{ transition:color .5s }
.js-listo .pasos li::before{ transition:background-color .45s, border-color .45s, transform .6s var(--suave), color .45s; z-index:3 }
.js-listo .pasos li:not(.is-on){ color:rgba(238,243,255,.42) }
.js-listo .pasos li:not(.is-on) b{ color:rgba(255,255,255,.55) }
.js-listo .pasos li.is-on::before{ background:var(--cielo-boton); border-color:var(--cielo-claro); transform:scale(1.08) }
.js-listo .pasos li b{ transition:transform .7s var(--suave), color .5s; transform:translate3d(14px,0,0) }
.js-listo .pasos li.is-on b{ transform:none }

.pasos__aro{ position:absolute; left:0; top:-4px; width:43px; height:43px; border-radius:50%; border:2px solid var(--cielo-claro); opacity:0; pointer-events:none; z-index:2 }
.pasos li.is-on .pasos__aro{ animation:aro 1.1s var(--suave) 1 }
@keyframes aro{ 0%{ opacity:.9; transform:scale(1) } 100%{ opacity:0; transform:scale(2.1) } }

.pasos__ok{
  position:absolute; left:30px; top:-10px; width:20px; height:20px; border-radius:50%; background:#2FD47A; color:#062414;
  display:grid; place-items:center; z-index:4; transform:scale(0); transition:transform .5s var(--suave) .15s;
}
.pasos li.is-on .pasos__ok{ transform:scale(1) }

.resenas{ background:var(--bg-2); padding:clamp(5rem, 10vw, 8.5rem) 0 }
.resenas__cab{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem 2rem; margin-bottom:2.6rem }
.resenas__cab .h2{ margin:0 }
.resenas__nota{ margin:0; display:flex; align-items:center; gap:.6rem; color:var(--tenue); font-size:.95rem }
.resenas__nota b{ font-family:var(--display); font-size:2.2rem; color:#fff; font-weight:600; letter-spacing:-.03em }
.estrellas--chica{ color:#FFC857; letter-spacing:.1em; font-size:1.05rem }
.resenas__cinta{
  overflow:hidden; padding:1.5rem 0 2rem;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.resenas__pista{ display:flex; gap:1.1rem; width:max-content; animation:cinta 70s linear infinite; padding-left:1.1rem }
.resenas__cinta:hover .resenas__pista{ animation-play-state:paused }
.resenas.is-fuera .resenas__pista{ animation-play-state:paused }
@media (prefers-reduced-motion:reduce){ .resenas__pista{ animation:none; flex-wrap:wrap; width:auto; padding:0 1rem } }
.resena{
  flex:none; width:min(340px, 82vw); margin:0; padding:1.6rem; border-radius:24px;
  background:linear-gradient(160deg, var(--surf-2), var(--surf)); border:1px solid rgba(143,208,255,.16);
  display:flex; flex-direction:column; gap:1rem; transform:rotate(-1.4deg); transition:transform .5s var(--suave), border-color .3s;
}
.resena:nth-child(even){ transform:rotate(1.4deg) translate3d(0,14px,0) }
.resena:hover{ transform:rotate(0) translate3d(0,-6px,0); border-color:rgba(143,208,255,.45) }
.resena blockquote{ margin:0; flex:1; font-family:var(--serif); font-style:italic; font-size:1.12rem; line-height:1.45; color:#fff }
.resena figcaption{ font-size:.88rem; color:var(--tenue-2) }
.resena figcaption b{ color:var(--cielo-claro); font-weight:600 }
.estrellas{ display:flex; gap:3px }
.estrellas svg{ width:19px; height:19px }
.estrellas .llena{ fill:#FFC857 }
.estrellas .vacia{ fill:none; stroke:#FFC857; stroke-width:1.6; opacity:.6 }

.preguntas{ overflow-x:clip }
.preguntas__fantasma{
  position:absolute; right:-2vw; top:4rem; font-family:var(--serif); font-style:italic; font-size:clamp(16rem, 38vw, 34rem); line-height:.8;
  color:transparent; -webkit-text-stroke:1.5px rgba(143,208,255,.12); pointer-events:none;
}
.preguntas .contenedor{ position:relative }
.preg__n{
  position:absolute; left:0; top:1.35rem; font-family:var(--mono); font-size:.78rem; color:var(--cielo-claro);
  width:2.2rem; height:1.7rem; display:grid; place-items:center; border-radius:8px; background:rgba(62,155,230,.12);
  transition:background-color .3s, color .3s, transform .4s var(--suave);
}
.acordeon details{ position:relative }
.acordeon details::after{
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:linear-gradient(90deg, var(--cielo-claro), var(--cielo) 50%, transparent);
  transform:scaleX(0); transform-origin:0 50%; transition:transform .7s var(--suave);
}
.acordeon details:hover::after,.acordeon details[open]::after{ transform:scaleX(1) }
.acordeon details[open] .preg__n{ background:var(--cielo-boton); color:#fff; transform:rotate(-6deg) scale(1.08) }
.acordeon summary{ transition:color .3s, transform .4s var(--suave) }
.acordeon summary:hover{ color:var(--cielo-claro); transform:translate3d(6px,0,0) }
.acordeon details p{ padding-left:3.2rem }
@media (max-width:480px){ .acordeon summary{ padding-left:2.9rem } .acordeon details p{ padding-left:0 } }

.brillo__caja{ transition:transform .5s var(--suave) }
@media (hover:hover) and (pointer:fine){ .brillo:hover .brillo__halo{ opacity:.7; transition:opacity .5s } }

.js-listo .zonas__chips button{ opacity:0; transform:translate3d(0,16px,0) scale(.9); transition:opacity .5s var(--suave), transform .6s var(--suave), background-color .25s, border-color .25s, color .25s; transition-delay:calc(var(--k, 0) * 40ms) }
.js-listo .zonas__caja.is-in .zonas__chips button{ opacity:1; transform:none }
.js-listo .zonas__caja.is-in .zonas__chips button[aria-checked="true"]{ transform:translate3d(0,-2px,0) }
.prod{ animation:prodGira .8s var(--suave) both; transform-origin:50% 0 }
@keyframes prodGira{ from{ opacity:0; transform:perspective(900px) rotateX(-35deg) translate3d(0,20px,0) } to{ opacity:1; transform:none } }

@media (prefers-reduced-motion:reduce){
  .banda-txt__fila{ transform:none!important }
  .js-listo .reveal,.js-listo .zonas__chips button{ opacity:1!important; transform:none!important }
}

main > section{ overflow-x:clip }

.brillos{ max-width:880px }
.brillo{ max-width:280px }
.brillo__caja{ height:220px; border-width:6px; border-radius:30px; padding:1.3rem 1.35rem }
.brillo__halo{ border-radius:30px; opacity:.35 }
.brillo__caja > svg{ width:26px; height:26px }
.brillo h3{ font-size:1.05rem; margin-bottom:.4rem }
.brillo p{ font-size:.86rem; line-height:1.5 }
@media (max-width:767px){ .brillos{ gap:1.6rem } .brillo{ max-width:340px } .brillo__caja{ height:auto; min-height:0; gap:1.2rem } }
.cifras{ margin-top:3.5rem }

.proteger .volanta,.proteger .h2,.proteger .bajada{ margin-inline:auto; text-align:center; justify-content:center }
.proteger .h2{ font-size:clamp(2.4rem, 5.6vw, 4.6rem); max-width:16ch }
.tarjetas{ grid-template-columns:repeat(6, 1fr); gap:clamp(10px, 1vw, 16px); padding:1.2rem 0 1.6rem }
@media (max-width:920px){
  .tarjetas{
    grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:clamp(150px, 40vw, 220px);
    overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain;
    margin-inline:calc((100% - 100vw) / 2); padding-inline:max(1rem, (100vw - 100%) / 2); scroll-padding-inline:1rem;
    max-width:none; scrollbar-width:none;
  }
  .tarjetas::-webkit-scrollbar{ display:none }
  .tj{ scroll-snap-align:start }
}
.tj{
  cursor:pointer;
  transition:transform .6s var(--suave), opacity .5s, box-shadow .5s;
}
.tj::after{ content:''; position:absolute; inset:0; z-index:6; border-radius:inherit; pointer-events:none; box-shadow:inset 0 0 0 2px rgba(143,208,255,0); transition:box-shadow .4s }
@media (hover:hover){ .tj:hover{ transform:translate3d(0,-8px,0) } .tj:hover::after{ box-shadow:inset 0 0 0 2px rgba(143,208,255,.5) } }
.tarjetas.hay-elegida .tj{ opacity:.5 }
.tarjetas.hay-elegida .tj:hover{ opacity:.85 }
.tarjetas .tj.is-elegida{
  opacity:1; transform:translate3d(0,-14px,0) scale(1.04);
  box-shadow:0 40px 70px -30px rgba(47,127,224,.7), 0 0 0 1px rgba(143,208,255,.5);
}
.tj.is-elegida::after{ box-shadow:inset 0 0 0 3px var(--cielo-claro) }
.tj__num{ position:absolute; z-index:4; top:9%; left:8%; font-family:var(--mono); font-size:clamp(10px, 6cqw, 13px); color:rgba(255,255,255,.8); letter-spacing:.1em }
.tarjetas .tj__titulo{ font-size:clamp(15px, 11cqw, 24px); white-space:normal }
.tarjetas .tj__icono{ width:20% }
.tarjetas .tj__desc{ display:none }
.tarjetas .tj__ver{ font-size:clamp(11px, 7cqw, 14px); margin-top:6% }
.js-listo .tarjetas .tj__cob{ display:none }

.js-listo .tarjetas .tj{ opacity:0; transform:perspective(900px) translate3d(0,80px,0) rotateX(18deg) }
.js-listo .tarjetas.is-in .tj{ opacity:1; transform:none; transition-delay:calc(var(--k, 0) * 90ms) }
.js-listo .tarjetas.is-in.hay-elegida .tj{ opacity:.5; transition-delay:0s }
.js-listo .tarjetas.is-in .tj.is-elegida{ opacity:1; transform:translate3d(0,-14px,0) scale(1.04) }
.js-listo .tarjetas.is-in.hay-elegida .tj:hover{ opacity:.85 }
.js-listo .tarjetas.is-sale .tj{ opacity:0; transform:translate3d(0,-40px,0); transition-delay:0s }

.elegir-pista{ display:flex; align-items:center; justify-content:center; gap:.6rem; color:var(--cielo-claro); font-weight:600; font-size:.95rem; margin:.4rem 0 0 }
.elegir-pista i{ width:30px; height:30px; border-radius:50%; border:1.5px solid currentColor; display:grid; place-items:center; font-style:normal; animation:pista 1.6s var(--suave) infinite }
@keyframes pista{ 0%,100%{ transform:translate3d(0,0,0) } 50%{ transform:translate3d(0,-6px,0) } }
.proteger.is-fuera .elegir-pista i{ animation-play-state:paused }

.elegido{
  position:relative; margin-top:1.4rem; border-radius:32px; overflow:hidden;
  background:linear-gradient(135deg, color-mix(in srgb, var(--c, #3E9BE6) 26%, var(--surf)) 0%, var(--surf) 55%, var(--bg-2) 100%);
  border:1px solid rgba(143,208,255,.25); box-shadow:0 40px 90px -40px rgba(0,0,0,.9);
}
.elegido[hidden]{ display:none }
.elegido__in{ display:grid; gap:1.6rem; padding:clamp(1.4rem, 3.5vw, 2.6rem); animation:elegidoEntra .7s var(--suave) both }
@media (min-width:900px){ .elegido__in{ grid-template-columns:.9fr 1.1fr auto; align-items:center; gap:2.4rem } }
@keyframes elegidoEntra{ from{ opacity:0; transform:translate3d(0,24px,0) } to{ opacity:1; transform:none } }
.elegido__cab{ display:flex; flex-direction:column; gap:.7rem }
.elegido__cab .tj__icono{ width:56px; height:56px }
.elegido__cab h3{ margin:0; font-family:var(--display); font-weight:600; font-size:clamp(1.8rem, 3.4vw, 2.6rem); letter-spacing:-.03em; line-height:1 }
.elegido__cab p{ margin:0; color:var(--tenue); font-size:1rem; max-width:34ch }
.elegido ul{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem }
@media (min-width:600px){ .elegido ul{ grid-template-columns:1fr 1fr; gap:.7rem 1.4rem } }
.elegido li{ position:relative; padding-left:1.6rem; font-size:.98rem; line-height:1.35; animation:elegidoEntra .6s var(--suave) both; animation-delay:calc(var(--k, 0) * 70ms + .15s) }
.elegido li::before{ content:''; position:absolute; left:0; top:.3em; width:.85rem; height:.48rem; border-left:2px solid var(--cielo-claro); border-bottom:2px solid var(--cielo-claro); transform:rotate(-45deg) }
.elegido .btn{ min-height:58px; padding-inline:2rem; font-size:1.02rem; white-space:nowrap; animation:elegidoEntra .6s var(--suave) .45s both }

.personas{ margin-top:clamp(4rem, 8vw, 6rem) }
.personas__grilla{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, 1fr); gap:clamp(10px, 1.4vw, 20px) }
@media (max-width:900px){ .personas__grilla{ grid-template-columns:repeat(2, 1fr) } .persona:last-child{ grid-column:1 / -1; max-width:calc(50% - 6px); justify-self:center; width:100% } }
.persona{ display:flex; flex-direction:column; gap:.9rem }
.persona__foto{ position:relative; aspect-ratio:4/5; border-radius:24px; overflow:hidden; background:var(--surf); isolation:isolate }
.persona__foto img{ width:100%; height:100%; object-fit:cover; transition:filter .6s }
.persona__foto::after{ content:''; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); background:linear-gradient(180deg, rgba(6,11,26,0) 60%, rgba(6,11,26,.45)) }
.persona__txt{ display:flex; flex-direction:column; gap:.15rem; padding:0 .2rem }
.persona__txt b{ font-family:var(--display); font-weight:600; font-size:1.2rem; letter-spacing:-.01em }
.persona__edad{ font-size:.85rem; color:var(--tenue-2) }
.persona__esp{ display:inline-flex; align-self:flex-start; margin-top:.35rem; padding:.25rem .7rem; border-radius:999px; background:rgba(62,155,230,.16); color:var(--cielo-claro); font-size:.82rem; font-weight:600 }
.persona__zona{ font-size:.82rem; color:var(--tenue-2); margin-top:.2rem }
@media (hover:hover){ .persona__foto{ transition:transform .6s var(--suave) } .persona:hover .persona__foto{ transform:translate3d(0,-6px,0) } }

.retiro{ padding:clamp(4rem, 8vw, 6rem) 0 }
.retiro__cab{ text-align:center }
.retiro__cab .volanta{ justify-content:center }
.retiro__cab .h2{ font-size:clamp(1.8rem, 3.4vw, 2.7rem); margin-inline:auto }
.retiro__cab .bajada{ margin:0 auto 1.8rem; font-size:.98rem }
.retiro .sim{ max-width:900px; margin:0 auto; border-radius:26px; padding:.8rem; gap:.8rem }
@media (min-width:960px){ .retiro .sim{ grid-template-columns:1fr 1fr } }
.retiro .sim__datos,.retiro .sim__res{ border-radius:20px; padding:clamp(1.1rem, 2.4vw, 1.5rem); gap:1.1rem }
.retiro .sim__datos{ gap:1.2rem }
.retiro .sim__monto{ font-size:clamp(1.6rem, 3.4vw, 2rem) }
.retiro .sim__chips span{ min-height:40px; font-size:.95rem }
.retiro .sim__aviso{ font-size:.78rem; padding:.7rem .8rem }
.retiro .sim__barras{ height:96px; gap:.5rem }
.retiro .sim__barra i{ border-radius:10px 10px 4px 4px }
.retiro .sim__nums dd{ font-size:1.05rem }
.retiro .sim__nums div{ padding:.35rem 0 }
.retiro .sim__gap dd{ font-size:clamp(1.3rem, 2.8vw, 1.6rem) }
.retiro .sim__plan{ font-size:.9rem }
.retiro .sim__curva{ height:60px }
.retiro .sim__curva-pie{ margin-top:-.6rem }
.retiro .btn{ min-height:46px; font-size:.92rem }
.retiro .moneda{ opacity:.45 }

.elegir-pista[hidden]{ display:none }

.nav::before{ background:var(--bg) }

.retiro .sim{ max-width:820px }
.retiro .sim__curva,.retiro .sim__curva-pie{ display:none }
@media (max-width:760px){ .retiro .moneda{ display:none } }

.brillo__caja{ justify-content:flex-start; gap:1.1rem; height:auto; min-height:220px }
.brillo__caja > div{ display:flex; flex-direction:column }

.tarjetas-marco{
  position:relative; isolation:isolate; margin-top:.6rem;
  padding:clamp(.9rem, 2vw, 1.6rem) clamp(.9rem, 2vw, 1.6rem) .4rem;
  border-radius:clamp(26px, 3vw, 40px);
  background:linear-gradient(180deg, rgba(143,208,255,.09), rgba(143,208,255,.02) 60%, rgba(143,208,255,.05));
  border:1px solid rgba(143,208,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 50px 100px -50px rgba(47,127,224,.55);
  overflow:hidden;
}
.tarjetas-marco__luz{
  position:absolute; z-index:-1; left:-20%; top:-40%; width:70%; aspect-ratio:1; pointer-events:none;
  background:radial-gradient(closest-side, rgba(62,155,230,.42), rgba(62,155,230,.12) 55%, rgba(62,155,230,0));
  animation:luzPasea 14s ease-in-out infinite alternate;
}
.tarjetas-marco::after{
  content:''; position:absolute; z-index:-1; right:-15%; bottom:-50%; width:55%; aspect-ratio:1; pointer-events:none;
  background:radial-gradient(closest-side, rgba(143,208,255,.22), rgba(143,208,255,0));
}
@keyframes luzPasea{ from{ transform:translate3d(0,0,0) } to{ transform:translate3d(95%,35%,0) } }
.proteger.is-fuera .tarjetas-marco__luz{ animation-play-state:paused }
.tarjetas .tj{ box-shadow:0 26px 50px -26px var(--c, rgba(47,127,224,.6)), 0 0 0 1px rgba(255,255,255,.08) }
.tarjetas{ padding-top:1rem }
@media (max-width:920px){
  .tarjetas-marco{ margin-inline:calc((100% - 100vw) / 2); border-radius:0; border-inline:0; padding:1rem 0 .2rem }
  .tarjetas-marco .tarjetas{ margin-inline:0 }
}
@media (prefers-reduced-motion:reduce){ .tarjetas-marco__luz{ animation:none } }

.resena figcaption{ display:flex; align-items:center; gap:.7rem }
.resena__cara{ width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none; box-shadow:0 0 0 2px rgba(143,208,255,.45) }
.resena figcaption span{ display:flex; flex-direction:column; line-height:1.3 }

.retiro{ padding:clamp(4.5rem, 9vw, 7rem) 0 }
.mitades{ display:grid; gap:1.4rem; align-items:start }
@media (min-width:980px){ .mitades{ grid-template-columns:1fr 1fr; gap:2rem } }
.mitad{ border-radius:30px; padding:clamp(1.3rem, 3vw, 2.2rem); border:1px solid rgba(143,208,255,.18); background:rgba(6,11,26,.55) }
.mitad--form{ background:linear-gradient(160deg, rgba(47,127,224,.22), rgba(14,26,61,.9) 45%, rgba(6,11,26,.9)); border-color:rgba(143,208,255,.35); box-shadow:0 40px 90px -45px rgba(47,127,224,.8) }
.h2--chico{ font-size:clamp(1.7rem, 2.8vw, 2.3rem)!important; max-width:18ch }
.mitad .bajada,.consulta__bajada{ font-size:.95rem; margin:0 0 1.3rem; color:var(--tenue) }

.mitad--sim .sim{ display:flex; flex-direction:column; max-width:none; padding:0; gap:.8rem; background:none; border:0 }
.mitad--sim .sim__datos,.mitad--sim .sim__res{ padding:1rem 1.1rem; border-radius:18px; background:rgba(14,26,61,.8) }
.mitad--sim .sim__datos{ gap:.9rem }
.mitad--sim .sim__campo{ gap:.4rem }
.mitad--sim .sim__campo > span:first-child,.mitad--sim .sim__campo legend{ font-size:.85rem }
.mitad--sim .sim__monto{ font-size:1.6rem }
.mitad--sim .sim__aviso{ font-size:.74rem; padding:.55rem .7rem }
.mitad--sim .sim__barras{ height:64px }
.mitad--sim .sim__barra span{ font-size:.68rem }
.mitad--sim .sim__nums dt{ font-size:.85rem }
.mitad--sim .sim__nums dd{ font-size:.98rem }
.mitad--sim .sim__gap dd{ font-size:1.35rem }
.mitad--sim .sim__plan{ font-size:.84rem }
.mitad--sim .sim__supuestos summary{ font-size:.8rem }

.consulta{ display:flex; flex-direction:column; gap:1rem }
.consulta .h2{ margin-bottom:.2rem }
.consulta__fila{ display:grid; gap:1rem }
@media (min-width:560px){ .consulta__fila{ grid-template-columns:1fr 1fr } }
.campo{ display:flex; flex-direction:column; gap:.4rem; margin:0; border:0; padding:0; min-width:0 }
.campo > span,.campo legend{ font-size:.85rem; color:var(--tenue); padding:0 }
.campo small{ color:var(--tenue-2) }
.campo input,.campo select,.campo textarea{
  width:100%; font:inherit; font-size:16px; color:#fff;
  background:rgba(6,11,26,.65); border:1px solid rgba(143,208,255,.25); border-radius:14px; padding:.8rem 1rem;
  transition:border-color .25s, background-color .25s;
}
.campo select{ appearance:none; background-image:linear-gradient(45deg, transparent 50%, #8FD0FF 50%), linear-gradient(135deg, #8FD0FF 50%, transparent 50%); background-position:calc(100% - 20px) 55%, calc(100% - 15px) 55%; background-size:5px 5px; background-repeat:no-repeat; padding-right:2.4rem }
.campo select option{ background:#0A1330 }
.campo textarea{ resize:vertical; min-height:84px }
.campo input:focus,.campo select:focus,.campo textarea:focus{ outline:none; border-color:var(--cielo-claro); background:rgba(14,26,61,.9) }
.campo input::placeholder,.campo textarea::placeholder{ color:rgba(238,243,255,.35) }
.campo .is-mal,.campo input[aria-invalid="true"],.campo select[aria-invalid="true"]{ border-color:#FF9C8A }
.campo--chips{ flex-direction:row; flex-wrap:wrap; gap:.5rem }
.campo--chips legend{ width:100%; margin-bottom:.4rem }
.campo--chips label{ flex:1 }
.campo--chips input{ position:absolute; opacity:0; pointer-events:none }
.campo--chips span{ display:grid; place-items:center; min-height:44px; padding:0 .8rem; border-radius:12px; border:1px solid rgba(143,208,255,.25); font-size:.9rem; cursor:pointer; transition:background-color .25s, border-color .25s }
.campo--chips input:checked + span{ background:var(--cielo-boton); border-color:var(--cielo-boton) }
.campo--chips input:focus-visible + span{ outline:2px solid var(--cielo-claro); outline-offset:2px }
.consulta__error{ margin:0; padding:.7rem .9rem; border-radius:12px; background:rgba(255,156,138,.12); border:1px solid rgba(255,156,138,.4); color:#FFD1C7; font-size:.9rem }
.consulta__error[hidden]{ display:none }
.consulta__enviar{ margin-top:.2rem }
.consulta__legal{ margin:0; font-size:.76rem; color:var(--tenue-2); text-align:center }

.wsp::before,.wsp::after{ content:''; position:absolute; inset:0; border-radius:50%; border:2px solid var(--wa); opacity:0; pointer-events:none }
.wsp{ animation:wspSalto 7s var(--suave) 3s infinite }
.wsp::before{ animation:wspAro 7s ease-out 3s infinite }
.wsp::after{ animation:wspAro 7s ease-out 3.25s infinite }
@keyframes wspSalto{
  0%,80%,100%{ transform:none }
  84%{ transform:translate3d(0,-10px,0) scale(1.08) rotate(-8deg) }
  88%{ transform:translate3d(0,0,0) scale(.97) rotate(6deg) }
  92%{ transform:translate3d(0,-4px,0) scale(1.03) rotate(-3deg) }
  96%{ transform:none }
}
@keyframes wspAro{ 0%,80%{ opacity:0; transform:scale(1) } 82%{ opacity:.8 } 100%{ opacity:0; transform:scale(1.9) } }
.wsp:hover{ animation-play-state:paused }
.wsp__globo{
  position:absolute; right:calc(100% + 12px); top:50%; white-space:nowrap; pointer-events:none;
  padding:.5rem .85rem; border-radius:14px 14px 4px 14px; background:#fff; color:#072A15; font-size:.84rem; font-weight:600;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.5);
  opacity:0; transform:translate3d(10px,-50%,0) scale(.9); transform-origin:100% 50%;
  animation:wspGlobo 21s var(--suave) 6s infinite;
}
@keyframes wspGlobo{
  0%,2%{ opacity:0; transform:translate3d(10px,-50%,0) scale(.9) }
  5%,24%{ opacity:1; transform:translate3d(0,-50%,0) scale(1) }
  28%,100%{ opacity:0; transform:translate3d(10px,-50%,0) scale(.9) }
}
@media (max-width:640px){ .wsp__globo{ font-size:.78rem } }
html.asis-abierto .wsp__globo{ display:none }
@media (prefers-reduced-motion:reduce){ .wsp,.wsp::before,.wsp::after,.wsp__globo{ animation:none } }
@media (max-width:640px){ .wsp__globo{ display:none } }

.retiro__deco{ display:none }

.siniestro__col{ max-width:900px }
.siniestro__cab{ margin-bottom:2rem }
.siniestro__cab .h2{ max-width:18ch }
.siniestro__pasos .tabs{ position:static!important }
.js-listo .siniestro__pasos .tabs{ max-width:560px }
.siniestro__nota{ margin:2rem 0 0; color:var(--tenue); font-size:.98rem; line-height:1.7; max-width:68ch }
.siniestro__nota b{ color:#fff }
.siniestro__nota a{ color:var(--cielo-claro); border-bottom:1px solid rgba(143,208,255,.4) }

.persona__foto{ box-shadow:0 0 0 1px rgba(143,208,255,.3), 0 25px 60px -25px rgba(47,127,224,.85), 0 0 50px -18px rgba(62,155,230,.6) }
.persona__foto::after{ background:linear-gradient(180deg, rgba(6,11,26,0) 70%, rgba(6,11,26,.35)) }

@media (min-width:980px){ .mitades{ align-items:center } }

.letras .w{ display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.16em; margin-bottom:-.16em }

html.js .letras:not(.partida){ opacity:0; animation:letras-red 0s 2.5s forwards }
@keyframes letras-red{ to{ opacity:1 } }
.letras .w > i{
  display:inline-block; font-style:inherit; color:var(--brillo);
  transform:translate3d(0,150%,0);
  transition:transform .95s var(--suave), color 1.5s ease;
  transition-delay:calc(var(--k, 0) * 32ms + var(--base, 0s)), calc(var(--k, 0) * 32ms + var(--base, 0s) + .45s);
}
.letras.is-in .w > i{ transform:none; color:inherit }
.letras.is-sale .w > i{
  transform:translate3d(0,-150%,0); color:var(--cielo-claro);
  transition-duration:.55s, .35s; transition-delay:calc(var(--k, 0) * 12ms), 0s;
}

.hero__intro em,.hero__dato em{ font-style:normal; color:var(--cielo-claro) }
.hero__dato b{ font-size:1.5rem; color:#fff; letter-spacing:-.03em; vertical-align:-.1em }
.hero__volanta{ color:var(--cielo-claro); font-weight:600; letter-spacing:.12em }
.hero__volanta.is-in .w > i{ color:var(--cielo-claro) }

.hero__h1{ --base:.15s }
.hero__h1 .hero__l1{ color:#fff }
.letras .brilla{ opacity:0; transition:opacity 1.2s ease .55s }
.letras.is-in .brilla{ opacity:1 }
.letras.is-sale .brilla{ opacity:0; transition:opacity .45s ease 0s }
@media (prefers-reduced-motion:reduce){
  .letras .w > i{ transform:none!important; color:inherit!important; transition:none }
  .letras .brilla{ opacity:1!important }
}

.hero__in{ justify-content:flex-end; padding-bottom:clamp(2.2rem, 6vh, 4rem) }
.hero__centro{ margin-top:0 }
.hero__volanta{ margin-bottom:1.3rem; font-size:.8rem; display:flex; align-items:center; gap:.8rem }
.hero__volanta::before{ content:''; width:34px; height:1.5px; background:linear-gradient(90deg, var(--cielo-claro), transparent); flex:none }
.hero__h1{ font-size:clamp(2.7rem, 7.6vw, 8rem); line-height:.9 }
.hero__base{
  position:relative; display:grid; gap:1.8rem; margin-top:clamp(1.8rem, 4.5vh, 3rem); padding-top:clamp(1.4rem, 3.5vh, 2rem);
}

.hero__base::before{
  content:''; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg, rgba(143,208,255,.65), rgba(143,208,255,.18) 45%, rgba(143,208,255,0));
}
.hero__base::after{
  content:''; position:absolute; left:0; top:-3px; width:7px; height:7px; border-radius:50%;
  background:var(--cielo-claro); box-shadow:0 0 14px 3px rgba(62,155,230,.8);
}
@media (min-width:980px){
  .hero__base{ grid-template-columns:1fr minmax(300px, 400px); align-items:end; gap:3rem }
}
.hero__accion{ display:flex; flex-direction:column; gap:1.1rem }
.hero__ctas{ margin-top:0 }
.hero__trayecto{ margin:0; font-size:.92rem; color:rgba(255,255,255,.7); max-width:60ch }
.hero__trayecto em{ font-style:normal; color:var(--cielo-claro); font-weight:600 }
.hero__dato{ margin:0; display:flex; align-items:center; gap:.9rem; font-size:.95rem; color:rgba(255,255,255,.78) }
.hero__dato b{
  font-family:var(--display); font-weight:600; font-size:clamp(2.6rem, 4vw, 3.4rem); line-height:.9; letter-spacing:-.05em; color:#fff; vertical-align:0;
}
.hero__dato > .w:first-child,.hero__dato > b{ padding-right:.9rem; border-right:1px solid rgba(143,208,255,.35) }
.hero__dato span:not(.w){ line-height:1.35 }

.hero__intro{
  position:relative; margin:0; padding-left:1.1rem; font-size:1rem; line-height:1.6; color:rgba(255,255,255,.78);
}
.hero__intro::before{ content:''; position:absolute; left:0; top:.35em; bottom:.35em; width:2px; background:linear-gradient(var(--cielo-claro), rgba(62,155,230,0)) }
@media (min-width:980px){ .hero__intro{ justify-self:end } }
@media (max-width:860px){
  .hero__in{ padding-bottom:calc(1rem + 48px + 2.6rem) }
  .hero__volanta{ font-size:.68rem; letter-spacing:.08em }
  .hero__volanta::before{ width:20px }
  .hero__intro{ font-size:.95rem }
}

.hero__volanta{ display:block }
.hero__volanta::before{ display:inline-block; vertical-align:middle; margin:-.15em .8rem 0 0 }

.banda-foto{ position:relative; margin:clamp(3.5rem, 7vw, 5.5rem) 0 0; height:clamp(420px, 62vh, 640px); overflow:hidden; isolation:isolate }
.banda-foto img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 45% }
.banda-foto::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, var(--bg) 0%, rgba(6,11,26,0) 22%, rgba(6,11,26,0) 55%, rgba(6,11,26,.85) 88%, var(--bg) 100%),
    linear-gradient(90deg, rgba(6,11,26,.8) 0%, rgba(6,11,26,.35) 45%, rgba(6,11,26,0) 70%);
}

.banda-foto::after{
  content:''; position:absolute; z-index:2; left:0; right:0; bottom:18%; height:1px; pointer-events:none;
  background:linear-gradient(90deg, rgba(143,208,255,0), rgba(143,208,255,.55) 30%, rgba(143,208,255,0) 75%);
}
.banda-foto__txt{
  position:absolute; z-index:3; left:max(1rem, (100% - 1180px) / 2); right:1rem; bottom:clamp(2.2rem, 7vh, 4rem);
  display:flex; flex-direction:column; gap:.7rem; max-width:640px;
}
@media (min-width:768px){ .banda-foto__txt{ left:max(2rem, (100% - 1180px) / 2) } }
.banda-foto__txt .volanta{ margin:0 }
.banda-foto__frase{ font-family:var(--display); font-weight:600; font-size:clamp(1.9rem, 4.2vw, 3.4rem); line-height:1.02; letter-spacing:-.035em; color:#fff; text-wrap:balance }
.banda-foto__frase em{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--cielo-claro) }
.banda-foto__dato{ font-size:.92rem; color:rgba(255,255,255,.75) }
@media (max-width:760px){ .banda-foto{ height:auto; aspect-ratio:4/5 } .banda-foto img{ object-position:55% 50% } }

.trayectoria{ display:grid; gap:2.2rem; margin-top:clamp(3.5rem, 7vw, 5.5rem); padding-top:clamp(2.4rem, 5vw, 3.5rem); position:relative }
.trayectoria::before{ content:''; position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg, rgba(143,208,255,.55), rgba(143,208,255,.1) 60%, rgba(143,208,255,0)) }
@media (min-width:980px){ .trayectoria{ grid-template-columns:1fr 1fr; gap:4rem; align-items:center } }
.trayectoria__h{ margin:0 0 1rem; font-family:var(--display); font-weight:600; font-size:clamp(1.7rem, 3vw, 2.5rem); line-height:1.05; letter-spacing:-.03em; text-wrap:balance }
.trayectoria__h em{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--cielo-claro) }
.trayectoria__txt > p:not(.volanta){ margin:0; color:var(--tenue); line-height:1.7; max-width:56ch }
.trayectoria__nums{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:1rem }
.trayectoria__nums li{
  position:relative; padding:1.3rem 1.2rem 1.5rem; border-radius:22px; overflow:hidden;
  background:linear-gradient(160deg, rgba(62,155,230,.14), rgba(14,26,61,.85) 55%); border:1px solid rgba(143,208,255,.2);
  display:flex; flex-direction:column; gap:.45rem;
}
.trayectoria__nums b{ font-family:var(--display); font-weight:600; font-size:clamp(2.1rem, 3.6vw, 3rem); line-height:1; letter-spacing:-.045em; color:#fff; font-variant-numeric:tabular-nums }
.trayectoria__nums li > span{ font-size:.86rem; line-height:1.4; color:var(--tenue) }

.trayectoria__nums i{ position:absolute; left:1.2rem; right:1.2rem; bottom:.8rem; height:3px; border-radius:3px; background:rgba(143,208,255,.14); overflow:hidden }
.trayectoria__nums i::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, var(--cielo), var(--cielo-claro)); transform-origin:0 50%; transform:scaleX(var(--v)); transition:transform 1.6s var(--suave) .2s }
.js-listo .trayectoria__nums li:not(.is-in) i::after{ transform:scaleX(0) }
@media (max-width:420px){ .trayectoria__nums li{ padding:1.1rem 1rem 1.4rem } .trayectoria__nums li > span{ font-size:.8rem } }

.zonas{ padding-top:0 }
.banda-foto--ciudad{ margin:0; height:clamp(460px, 72vh, 720px); --funde:#03060F }
.banda-foto--ciudad::before{
  background:
    linear-gradient(180deg, var(--funde) 0%, rgba(3,6,15,0) 18%, rgba(3,6,15,0) 50%, rgba(3,6,15,.8) 86%, var(--funde) 100%),
    linear-gradient(90deg, rgba(3,6,15,.75) 0%, rgba(3,6,15,.3) 42%, rgba(3,6,15,0) 65%);
}
.banda-foto--ciudad img{ object-position:50% 50% }

.banda-foto::after{ bottom:clamp(1rem, 3.5vh, 2rem) }
.banda-foto__h{ margin:0; max-width:15em }
.zonas .zonas__caja{ margin-top:clamp(2rem, 4vw, 3rem) }

.banda-foto__pines{ position:absolute; inset:0; z-index:3; pointer-events:none }
.banda-foto__pines button{
  position:absolute; left:var(--x); top:var(--y); pointer-events:auto;
  display:flex; align-items:center; gap:.55rem; padding:0; border:0; background:none; cursor:pointer;
  font:600 .8rem/1 var(--sans, inherit); letter-spacing:.02em; color:#fff; white-space:nowrap;
  opacity:0; transform:translate3d(-7px,10px,0) scale(.85);
  transition:opacity .7s var(--suave), transform .8s var(--suave);
  transition-delay:calc(var(--k) * 120ms + .25s);
}
.banda-foto__pines.is-in button{ opacity:1; transform:translate3d(-7px,-7px,0) }
.banda-foto__pines button::before{
  content:''; flex:none; width:14px; height:14px; border-radius:50%;
  background:radial-gradient(circle, #fff 0 22%, var(--cielo-claro) 34%, rgba(62,155,230,.35) 60%, rgba(62,155,230,0) 72%);
}
.banda-foto__pines button::after{
  content:''; position:absolute; left:-9px; top:50%; width:32px; height:32px; margin-top:-16px; border-radius:50%;
  border:1px solid rgba(143,208,255,.7); opacity:0; transform:scale(.3);
  animation:pin-onda 2.8s var(--suave) infinite; animation-delay:calc(var(--k) * .55s);
}
@keyframes pin-onda{ 0%{ opacity:.9; transform:scale(.3) } 70%,100%{ opacity:0; transform:scale(1.5) } }
.banda-foto__pines:not(.is-in) button::after{ animation-play-state:paused }
.banda-foto__pines button span,.banda-foto__pines button{ text-shadow:0 1px 10px rgba(3,6,15,.9) }
.banda-foto__pines button:hover{ color:var(--cielo-claro) }
@media (max-width:760px){
  .banda-foto--ciudad{ height:auto; aspect-ratio:4/5 }
  .banda-foto__pines{ display:none }
}
@media (prefers-reduced-motion:reduce){
  .banda-foto__pines button{ opacity:1; transform:none; transition:none }
  .banda-foto__pines button::after{ animation:none }
}

.cierre{ padding-top:clamp(6rem, 12vw, 9rem) }
.cierre__volanta{ margin:0 0 1rem; justify-content:center }
.cierre__p em{ font-style:normal; color:var(--cielo-claro) }
.cierre__tarjeta{
  margin:clamp(3.5rem, 8vw, 5.5rem) auto 0; max-width:1120px; text-align:left;
  display:grid; gap:clamp(1.5rem, 3vw, 2.5rem); padding:clamp(1.2rem, 3vw, 2.2rem);
  border-radius:32px; border:1px solid rgba(143,208,255,.22);
  background:linear-gradient(160deg, rgba(20,44,124,.42), rgba(6,11,26,.78) 60%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 50px 100px -50px rgba(0,0,0,.9);
}
@media (min-width:980px){
  .cierre__tarjeta{ grid-template-columns:1fr 1.05fr; align-items:center; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px) }
}
.cierre__tit{ margin:0 0 .6rem; font-family:var(--display); font-weight:600; font-size:1.2rem; letter-spacing:-.02em; color:#fff }
.cierre__datos .datos{ margin-bottom:1.6rem }
.cierre__datos .datos div:last-child{ border-bottom:0 }
.cierre__tarjeta .mapa{ border-radius:22px; box-shadow:none }
.cierre .pie{ margin-top:clamp(4rem, 8vw, 6rem) }

.banda-foto:not(.banda-foto--ciudad)::before{
  background:
    linear-gradient(180deg, var(--bg) 0%, rgba(6,11,26,0) 22%, rgba(6,11,26,0) 55%, rgba(6,11,26,.85) 88%, var(--bg) 100%),
    linear-gradient(90deg, rgba(6,11,26,.8) 0%, rgba(6,11,26,.35) 45%, rgba(6,11,26,0) 70%),
    linear-gradient(270deg, rgba(6,11,26,.6) 0%, rgba(6,11,26,0) 20%);
}

.hero__in{ justify-content:flex-start }

.siniestro{ padding-top:0 }
.banda-foto--lluvia{ margin:0 0 clamp(2.5rem, 5vw, 3.5rem); height:clamp(460px, 70vh, 700px) }
.banda-foto--lluvia img{ object-position:50% 40% }

.siniestro.panel-sec{ z-index:3 }
.banda-foto--lluvia{ border-radius:clamp(28px, 4vw, 56px) clamp(28px, 4vw, 56px) 0 0 }
.banda-foto.banda-foto--lluvia::before{
  background:
    linear-gradient(180deg, rgba(6,11,26,.5) 0%, rgba(6,11,26,0) 24%, rgba(6,11,26,0) 55%, rgba(6,11,26,.85) 88%, var(--bg) 100%),
    linear-gradient(90deg, rgba(6,11,26,.8) 0%, rgba(6,11,26,.35) 45%, rgba(6,11,26,0) 70%);
}
@media (max-width:760px){ .banda-foto--lluvia{ height:auto; aspect-ratio:4/5 } }

.retiro{ position:relative; isolation:isolate }
.retiro::before{ display:none }
.retiro__fondo{ position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none }
.aura{ position:absolute; border-radius:50%; will-change:auto }
.aura--1{ width:62vw; height:62vw; max-width:900px; max-height:900px; left:-14%; top:-18%;
  background:radial-gradient(closest-side, rgba(47,127,224,.42), rgba(47,127,224,0)); animation:aura1 19s ease-in-out infinite alternate }
.aura--2{ width:54vw; height:54vw; max-width:780px; max-height:780px; right:-12%; bottom:-20%;
  background:radial-gradient(closest-side, rgba(100,206,251,.26), rgba(100,206,251,0)); animation:aura2 23s ease-in-out infinite alternate }
.aura--3{ width:40vw; height:40vw; max-width:600px; max-height:600px; left:38%; top:28%;
  background:radial-gradient(closest-side, rgba(88,76,214,.24), rgba(88,76,214,0)); animation:aura3 27s ease-in-out infinite alternate }
@keyframes aura1{ to{ transform:translate3d(22vw, 16vh, 0) scale(1.15) } }
@keyframes aura2{ to{ transform:translate3d(-26vw, -14vh, 0) scale(.85) } }
@keyframes aura3{ 0%{ transform:translate3d(-12vw, 10vh, 0) scale(.9) } 100%{ transform:translate3d(14vw, -12vh, 0) scale(1.2) } }

.retiro__malla{ position:absolute; inset:0; opacity:.5;
  background-image:radial-gradient(rgba(143,208,255,.35) 1px, transparent 1.4px); background-size:28px 28px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%, #000 20%, transparent 75%); mask-image:radial-gradient(ellipse 70% 60% at 50% 50%, #000 20%, transparent 75%) }

.retiro__ondas{ position:absolute; left:0; top:50%; width:200%; height:min(70%, 560px); margin-top:calc(min(70%, 560px) / -2); animation:ondas 38s linear infinite }
.retiro__ondas svg{ width:100%; height:100% }
.retiro__ondas--2{ top:62%; opacity:.6; animation-duration:56s; animation-direction:reverse }
@keyframes ondas{ to{ transform:translate3d(-50%, 0, 0) } }

.retiro__chispas i{ position:absolute; left:var(--x); bottom:-10px; width:5px; height:5px; border-radius:50%;
  background:radial-gradient(circle, #fff 0 30%, rgba(143,208,255,.8) 45%, rgba(143,208,255,0) 72%);
  opacity:0; animation:chispa var(--t) linear var(--d) infinite; transform:scale(var(--s)) }
@keyframes chispa{
  0%{ opacity:0; transform:translate3d(0, 0, 0) scale(var(--s)) }
  12%{ opacity:.9 }
  70%{ opacity:.55 }
  100%{ opacity:0; transform:translate3d(24px, -95vh, 0) scale(calc(var(--s) * .6)) }
}

.retiro__luz{ position:absolute; left:0; top:0; width:560px; height:560px; margin:-280px 0 0 -280px; border-radius:50%; opacity:0;
  background:radial-gradient(closest-side, rgba(100,206,251,.22), rgba(100,206,251,0)); transition:opacity .6s }
.retiro.con-luz .retiro__luz{ opacity:1 }
.retiro.is-fuera .retiro__fondo *{ animation-play-state:paused }
@media (max-width:760px){
  .retiro__chispas i:nth-child(n+8){ display:none }
  .aura--3{ display:none }
}
@media (prefers-reduced-motion:reduce){ .retiro__fondo *{ animation:none!important } .retiro__chispas{ display:none } }

.sr{ position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0 }

.cotiza{ display:flex; flex-direction:column; gap:.85rem; max-width:620px }
.cotiza__que{ margin:0; padding:0; border:0; display:flex; flex-wrap:wrap; gap:.45rem }
.cotiza__que legend{ padding:0; margin:0 0 .55rem; font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--cielo-claro) }
.cotiza__que label{ position:relative; cursor:pointer }
.cotiza__que input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer }
.cotiza__que span{
  display:inline-flex; align-items:center; min-height:38px; padding:0 1rem; border-radius:99px;
  font-size:.9rem; font-weight:500; color:rgba(255,255,255,.82);
  border:1px solid rgba(143,208,255,.28); background:rgba(6,11,26,.45);
  transition:background-color .25s, border-color .25s, color .25s, transform .25s var(--suave);
}
.cotiza__que label:hover span{ border-color:var(--cielo-claro); color:#fff }
.cotiza__que input:checked + span{ background:var(--cielo-boton); border-color:var(--cielo-boton); color:#fff; transform:translate3d(0,-1px,0) }
.cotiza__que input:focus-visible + span{ outline:2px solid var(--cielo-claro); outline-offset:2px }
.cotiza__fila{ display:flex; flex-wrap:wrap; gap:.6rem }
.cotiza__donde{ flex:1 1 180px; max-width:240px }
.cotiza__donde select{
  width:100%; height:100%; min-height:52px; padding:0 2.4rem 0 1.1rem; border-radius:99px; font:inherit; font-size:.95rem; color:#fff;
  appearance:none; -webkit-appearance:none; cursor:pointer;
  background:rgba(6,11,26,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%238FD0FF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 1rem center / 16px;
  border:1px solid rgba(143,208,255,.3);
}
.cotiza__donde select option{ color:#0A1330 }
.cotiza__siniestro{ align-self:flex-start; font-size:.9rem; color:rgba(255,255,255,.72) }
.cotiza__siniestro b{ color:var(--cielo-claro); font-weight:600 }
.cotiza__siniestro:hover b{ text-decoration:underline }
@media (max-width:860px){
  .cotiza__donde{ max-width:none; flex-basis:100% }
  .cotiza .btn{ flex:1 1 100%; justify-content:center }
  .cotiza__que span{ min-height:36px; padding:0 .85rem; font-size:.86rem }
}

.confianza{ list-style:none; margin:clamp(2.5rem, 5vw, 3.5rem) 0 0; padding:0; display:grid; gap:1rem }
@media (min-width:640px){ .confianza{ grid-template-columns:1fr 1fr } }
@media (min-width:1024px){ .confianza{ grid-template-columns:repeat(4, 1fr) } }
.confianza li{
  display:grid; grid-template-columns:auto 1fr; column-gap:.85rem; row-gap:.3rem; align-items:start;
  padding:1.2rem 1.2rem 1.3rem; border-radius:20px; border:1px solid rgba(143,208,255,.16);
  background:linear-gradient(160deg, rgba(62,155,230,.1), rgba(14,26,61,.55) 60%);
}
.confianza svg{ grid-row:span 2; color:var(--cielo-claro); margin-top:.1rem }
.confianza b{ font-family:var(--display); font-weight:600; font-size:1.05rem; letter-spacing:-.02em; color:#fff }
.confianza li > span{ font-size:.86rem; line-height:1.45; color:var(--tenue) }
.confianza a{ color:var(--cielo-claro); border-bottom:1px solid rgba(143,208,255,.4) }
.resenas__nota a{ color:var(--cielo-claro); border-bottom:1px solid rgba(143,208,255,.4); margin-left:.2rem }
.cierre__link{ font-size:.95rem; color:rgba(255,255,255,.75); border-bottom:1px solid rgba(143,208,255,.35) }
.cierre__link:hover{ color:#fff }

.consulta__legal a{ color:var(--cielo-claro); border-bottom:1px solid rgba(143,208,255,.4) }

@media (max-width:860px){
  .sello-demo{ transition:opacity .35s ease, transform .35s var(--suave) }
  html.sello-fuera .sello-demo{ opacity:0; transform:translate3d(0,14px,0); pointer-events:none }
}

.cotiza__fila{ align-items:stretch }
.cotiza__donde select{ height:52px; min-height:0 }
.cotiza .btn{ min-height:52px; height:52px; padding-block:0 }

.hero__lado{ display:flex; flex-direction:column; gap:1.3rem }
@media (min-width:980px){ .hero__base{ align-items:start } .hero__lado{ justify-self:end; padding-top:1.9rem } }
.cotiza__siniestro{ align-self:center; margin-left:.4rem }
@media (max-width:860px){ .cotiza__siniestro{ margin:.2rem 0 0; flex-basis:100% } }
@media (min-width:1260px){ .cotiza{ max-width:none } .cotiza__fila{ flex-wrap:nowrap } .cotiza__donde{ flex:0 1 220px } .cotiza__siniestro{ white-space:nowrap } }
.resenas__nota a{ white-space:nowrap }

.tarjetas .tj__ver{
  position:relative; overflow:hidden; align-self:stretch; justify-content:center; gap:.45em;
  margin-top:7%; padding:.62em .8em; border-radius:99px; border:1px solid var(--cielo-boton);
  background:var(--cielo-boton); color:#fff; font-weight:700; letter-spacing:.02em;
  font-size:clamp(12px, 7.5cqw, 15px);
  box-shadow:0 10px 24px -10px rgba(47,127,224,.95), inset 0 1px 0 rgba(255,255,255,.28);
  transition:background-color .3s, color .3s, border-color .3s;
  animation:elegir-late 3.2s var(--suave) infinite; animation-delay:calc(var(--k, 0) * .35s + 1.2s);
}
.tarjetas .tj__ver i{ width:1.45em; height:1.45em; border:0; background:rgba(255,255,255,.22); font-size:.95em }
.tarjetas .tj__ver::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(100deg, transparent 30%, rgba(255,255,255,.5) 50%, transparent 70%);
  transform:translate3d(-130%,0,0);
  animation:elegir-brillo 3.2s ease-in-out infinite; animation-delay:calc(var(--k, 0) * .35s + 1.2s);
}
@keyframes elegir-late{ 0%, 62%, 100%{ transform:none } 72%{ transform:scale(1.07) } 82%{ transform:scale(.98) } 90%{ transform:scale(1.02) } }
@keyframes elegir-brillo{ 0%, 55%{ transform:translate3d(-130%,0,0) } 85%, 100%{ transform:translate3d(130%,0,0) } }
@media (hover:hover){ .tarjetas .tj:hover .tj__ver{ background:#3A8CEF; border-color:#3A8CEF } }
.tarjetas.hay-elegida .tj__ver,.tarjetas.hay-elegida .tj__ver::after{ animation:none }
.tarjetas.hay-elegida .tj:not(.is-elegida) .tj__ver{ background:rgba(6,11,26,.55); border-color:rgba(143,208,255,.55); color:var(--cielo-claro); box-shadow:none }
.tarjetas .tj.is-elegida .tj__ver{ background:#fff; border-color:#fff; color:#0A1330 }
.tarjetas .tj.is-elegida .tj__ver i{ background:var(--cielo-boton); color:#fff; transform:none }
.proteger.is-fuera .tarjetas .tj__ver,.proteger.is-fuera .tarjetas .tj__ver::after{ animation-play-state:paused }
@media (prefers-reduced-motion:reduce){ .tarjetas .tj__ver,.tarjetas .tj__ver::after{ animation:none } }

.hero{ --fs:clamp(2.7rem, 7.6vw, 8rem); --h1:calc(var(--fs) * 2) }
@media (max-width:567px){ .hero{ --h1:calc(var(--fs) * 3.8) } }
.hero__h1{ font-size:var(--fs) }
.hero__in{ padding-top:max(calc(96px + 2vh), calc(50vh - 41px - var(--h1) / 2)) }
@supports (height:1svh){ .hero__in{ padding-top:max(calc(96px + 2vh), calc(50svh - 41px - var(--h1) / 2)) } }

.hero__l1{ animation:h1-sube 1.1s var(--suave) .1s both }
@keyframes h1-sube{ from{ opacity:0; transform:translate3d(0,.35em,0) } to{ opacity:1; transform:none } }
@media (prefers-reduced-motion:reduce){ .hero__l1{ animation:none } }

.tj-3d{ perspective:900px; animation:tj-flota calc(5.4s + var(--i) * .5s) ease-in-out infinite }
.tj-giro{ transform-style:preserve-3d; will-change:auto; animation:tj-balanceo calc(7s + var(--i) * .7s) ease-in-out infinite }
@keyframes tj-flota{ 0%, 100%{ transform:translate3d(0,0,0) } 50%{ transform:translate3d(0,-8px,0) } }

@keyframes tj-balanceo{
  0%, 100%{ transform:none }
  25%{ transform:rotateY(7deg) rotateX(3deg) }
  75%{ transform:rotateY(-7deg) rotateX(-2deg) }
}
.tarjetas.con-mouse .tj-giro{ animation:none }

.tarjetas .tj{ box-shadow:0 44px 70px -30px rgba(0,0,0,.85), 0 18px 40px -24px rgba(47,127,224,.45) }

.tarjetas .tj__pie{ transform:translate3d(calc(var(--mx, 0) * -9px), calc(var(--my, 0) * -7px), 0); transition:opacity .4s }
.tarjetas .tj__num{ transform:translate3d(calc(var(--mx, 0) * -12px), calc(var(--my, 0) * -9px), 0) }

.tj__luz{
  position:absolute; z-index:5; left:-50%; top:-50%; width:200%; height:200%; pointer-events:none;
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.26), rgba(143,208,255,.08) 22%, rgba(255,255,255,0) 40%);
  opacity:0; transform:translate3d(calc(var(--mx, 0) * 25%), calc(var(--my, 0) * 25%), 0); transition:opacity .4s;
}
.tj-giro.is-mira .tj__luz{ opacity:1 }
@media (hover:none){
  .tj__luz{ opacity:.7; animation:tj-luz calc(8s + var(--i) * .6s) ease-in-out infinite }
}
@keyframes tj-luz{ 0%, 100%{ transform:translate3d(-28%,-30%,0) } 50%{ transform:translate3d(26%,24%,0) } }
@media (max-width:920px){ .tj-3d{ scroll-snap-align:start } }
.proteger.is-fuera .tj-3d,.proteger.is-fuera .tj-giro,.proteger.is-fuera .tj__luz{ animation-play-state:paused }
@media (prefers-reduced-motion:reduce){ .tj-3d,.tj-giro,.tj__luz{ animation:none } }

.hero__l2{ position:relative; padding-bottom:.18em; margin-bottom:-.1em; color:var(--brillo) }
.hero__h1 .hero__l2 span{ display:inline }
.hero__l2-luz{ display:none }
@supports ((-webkit-mask-image:linear-gradient(#000,#000)) or (mask-image:linear-gradient(#000,#000))){
  .hero__h1 .hero__l2 .hero__l2-luz{
    display:block; position:absolute; left:0; top:0; right:0; color:#fff; pointer-events:none;
    -webkit-mask-image:linear-gradient(100deg, transparent 0%, transparent 40%, #000 50%, transparent 60%, transparent 100%);
            mask-image:linear-gradient(100deg, transparent 0%, transparent 40%, #000 50%, transparent 60%, transparent 100%);
    -webkit-mask-size:250% 100%; mask-size:250% 100%;
    -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
    -webkit-mask-position:100% 0; mask-position:100% 0;
    animation:l2-brillo 3s linear infinite;
  }
}
@keyframes l2-brillo{
  from{ -webkit-mask-position:100% 0; mask-position:100% 0 }
  to{ -webkit-mask-position:-150% 0; mask-position:-150% 0 }
}
@media (prefers-reduced-motion:reduce){ .hero__h1 .hero__l2 .hero__l2-luz{ display:none } }

.panel-sec{
  --r:clamp(22px, 2.8vw, 38px);
  border-radius:var(--r) var(--r) 0 0; margin-top:calc(-1 * var(--r));
  box-shadow:0 -34px 70px -40px rgba(0,0,0,.6);
}
.panel-sec::after{
  content:''; position:absolute; left:0; right:0; top:0; height:180px; z-index:-1; pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(90deg, rgba(143,208,255,0) 8%, rgba(143,208,255,.38) 50%, rgba(143,208,255,0) 92%) top / 100% 1px no-repeat,
    radial-gradient(60% 100% at 50% 0%, rgba(62,155,230,.13), rgba(62,155,230,0) 70%);
}

.simple{ background:linear-gradient(180deg, #081027 0%, var(--bg) 38%, var(--bg) 100%) }
.proteger{ background:linear-gradient(180deg, #08102A 0%, #0A1330 45%, #0A1330 60%, var(--bg) 100%) }
.siniestro{ background:linear-gradient(180deg, var(--bg) 0%, #070D20 60%, var(--bg) 100%) }
.equipo{ background:linear-gradient(180deg, #081027 0%, #050918 55%, var(--bg) 100%) }
.zonas{ background:linear-gradient(180deg, #03060F 0%, #04081A 60%, var(--bg) 100%) }
.preguntas{ background:linear-gradient(180deg, #081027 0%, var(--bg) 45%, var(--bg) 100%) }
.resenas{ background:linear-gradient(180deg, #08102A 0%, #0A1330 40%, #0A1330 60%, var(--bg) 100%) }
.retiro{ background:linear-gradient(180deg, #08102A 0%, #0A1330 35%, #0A1330 100%) }

.banda-foto--ciudad{ --funde:#03060F }

.banda-txt{
  background:linear-gradient(180deg, var(--bg) 0%, #0A1330 30%, #0A1330 70%, var(--bg) 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.banda-txt--chica{ background:var(--bg) }
.banda-foto--lluvia{ border-radius:var(--r) var(--r) 0 0 }

:root{ --led-a:#64CEFB; --led-b:#2F7FE0; --led-c:#8B7CFF }
[data-led]{ --lc:var(--led-a); --l1:42%; --l2:34%; --l3:48%; --lv:.55 }
[data-led~="b"]{ --lc:var(--led-b) }
[data-led~="c"]{ --lc:var(--led-c) }
[data-led~="suave"]{ --l1:26%; --l2:20%; --l3:30%; --lv:.35 }
[data-led~="fuerte"]{ --l1:62%; --l2:54%; --l3:64%; --lv:.8 }
[data-led][data-led]:not(.tj){
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--lc) var(--l1), transparent),
    0 0 26px color-mix(in srgb, var(--lc) var(--l2), transparent),
    0 26px 70px -18px color-mix(in srgb, var(--lc) var(--l3), transparent);
}

.tarjetas .tj[data-led]{
  box-shadow:0 0 0 1px color-mix(in srgb, var(--lc) 55%, transparent), 0 0 26px color-mix(in srgb, var(--lc) 40%, transparent),
             0 30px 60px -24px color-mix(in srgb, var(--lc) 75%, transparent);
}
.led-vivo{
  position:absolute; inset:0; z-index:7; border-radius:inherit; pointer-events:none; overflow:hidden;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--lc) 80%, #fff), inset 0 0 30px color-mix(in srgb, var(--lc) 30%, transparent);
  opacity:.2; animation:ledRespira var(--lt, 5.5s) ease-in-out var(--ld, 0s) infinite alternate;
}
.led-vivo::after{
  content:''; position:absolute; top:0; left:0; width:30%; height:2px;
  background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--lc) 40%, #fff), transparent);
  transform:translateX(-110%); animation:ledCorre calc(var(--lt, 5.5s) * 1.3) cubic-bezier(.6,0,.4,1) var(--ld, 0s) infinite;
}
@keyframes ledRespira{ from{ opacity:.12 } to{ opacity:var(--lv) } }
@keyframes ledCorre{ 0%{ transform:translateX(-110%) } 55%,100%{ transform:translateX(400%) } }
.led-aro{
  position:absolute; inset:0; z-index:7; border-radius:inherit; padding:2px; pointer-events:none; overflow:hidden;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude;
}
.led-aro i{
  position:absolute; left:50%; top:50%; width:var(--diag, 140%); aspect-ratio:1;
  background:conic-gradient(from 0deg, transparent 0 8%, var(--led-a) 18%, transparent 30%, transparent 42%, var(--led-b) 55%, transparent 66%, transparent 74%, var(--led-c) 86%, transparent 96%);
  transform:translate(-50%,-50%); animation:ledAro 9s linear infinite;
}
@keyframes ledAro{ to{ transform:translate(-50%,-50%) rotate(360deg) } }

.persona__foto{ border-radius:22px }

.h2 em, .h1 em, .cierre__h, .trayectoria__h em{ text-shadow:0 0 18px rgba(100,206,251,.5), 0 0 46px rgba(47,127,224,.3) }
.trayectoria__nums b{ text-shadow:0 0 22px rgba(100,206,251,.45) }

.banda-foto::after{
  height:2px; background:linear-gradient(90deg, rgba(100,206,251,0), #8FD0FF 22%, #E6F6FF 40%, #8B7CFF 62%, rgba(139,124,255,0) 85%);
  box-shadow:0 0 14px 2px rgba(100,206,251,.5), 0 0 40px 6px rgba(47,127,224,.25);
}
@media (prefers-reduced-motion:reduce){ .led-vivo, .led-vivo::after, .led-aro i{ animation:none } }

.mazo{ display:flex; flex-wrap:wrap; gap:1.1rem; padding:1rem 0 1.5rem }
.mazo.mazo--listo{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.62fr); gap:clamp(1.6rem,5vw,4.5rem); align-items:center }
.mazo__pila{ display:grid; padding:0 34px 34px 0 }
.mazo__pila > .resena{
  grid-area:1/1; width:auto; min-height:15rem; padding:clamp(1.6rem,3vw,2.4rem); transform-origin:50% 100%;
  transition:transform .8s var(--suave), opacity .6s ease;
}
.mazo__pila > .resena blockquote{ font-size:clamp(1.2rem, 1rem + .8vw, 1.6rem) }
.mazo__pila > .resena[data-p="0"]{ z-index:5; transform:none; opacity:1 }
.mazo__pila > .resena[data-p="1"]{ z-index:4; transform:translate3d(17px,17px,0) scale(.97) rotate(1.4deg); opacity:.75 }
.mazo__pila > .resena[data-p="2"]{ z-index:3; transform:translate3d(34px,34px,0) scale(.94) rotate(2.8deg); opacity:.45 }
.mazo__pila > .resena[data-p="x"]{ z-index:1; transform:translate3d(34px,34px,0) scale(.9); opacity:0 }
.mazo__pila > .resena.sale{ z-index:6; transform:translate3d(-115%,-4%,0) rotate(-12deg); opacity:0; transition:transform .75s cubic-bezier(.6,0,.4,1), opacity .6s ease .1s }
.mazo__pila > .resena.vuelve{ z-index:6; transform:translate3d(115%,-4%,0) rotate(12deg); opacity:0; transition:none }
.mazo__pila > .resena:not([data-p="0"]) *{ pointer-events:none }
.mazo__mando{ display:flex; flex-direction:column; gap:1.1rem }
.mazo__cuenta{ margin:0; font-family:var(--display); font-weight:600; font-size:clamp(2.6rem, 2rem + 3vw, 4.4rem); line-height:1; letter-spacing:-.03em; color:#fff; text-shadow:0 0 22px rgba(100,206,251,.45) }
.mazo__cuenta small{ font-size:.38em; color:var(--tenue-2); margin-left:.3em }
.mazo__caras{ display:flex; flex-wrap:wrap; gap:.5rem }
.mazo__caras button{ width:2.9rem; height:2.9rem; padding:0; border:0; border-radius:50%; cursor:pointer; background:none; opacity:.45; transform:scale(.9); transition:opacity .4s ease, transform .4s ease }
.mazo__caras button img{ width:100%; height:100%; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px rgba(255,255,255,.2) }
.mazo__caras button[aria-current="true"]{ opacity:1; transform:scale(1.08) }
.mazo__caras button[aria-current="true"] img{ box-shadow:0 0 0 2px var(--brillo), 0 0 18px rgba(100,206,251,.55) }
.mazo__barra{ height:2px; background:var(--linea); overflow:hidden; border-radius:2px }
.mazo__barra i{ display:block; height:100%; background:var(--brillo); transform-origin:0 50%; transform:scaleX(0) }
.mazo__barra i.corre{ animation:mazoBarra var(--mazo-cada, 6s) linear forwards }
.mazo--pausa .mazo__barra i.corre{ animation-play-state:paused }
@keyframes mazoBarra{ to{ transform:scaleX(1) } }
.mazo__flechas{ display:flex; gap:.6rem }
.mazo__flechas button{ width:3rem; height:3rem; border-radius:50%; border:1px solid rgba(255,255,255,.22); background:var(--surf); color:#fff; font-size:1.1rem; cursor:pointer; transition:transform .3s ease, border-color .3s ease }
.mazo__flechas button:hover{ transform:scale(1.08); border-color:var(--brillo) }
@media (max-width:760px){
  .mazo.mazo--listo{ grid-template-columns:1fr }
  .mazo__pila{ padding:0 18px 22px 0 }
  .mazo__pila > .resena[data-p="1"]{ transform:translate3d(9px,11px,0) scale(.97) rotate(1deg) }
  .mazo__pila > .resena[data-p="2"]{ transform:translate3d(18px,22px,0) scale(.94) rotate(2deg) }
  .mazo__pila > .resena[data-p="x"]{ transform:translate3d(18px,22px,0) scale(.9) }
  .mazo__cuenta{ display:none }
}
@media (prefers-reduced-motion:reduce){ .mazo__pila > .resena{ transition:opacity .3s } }
.resenas{ overflow-x:clip }

.zonas .zonas__caja[data-led][data-led]{
  box-shadow:0 0 34px color-mix(in srgb, var(--lc) var(--l2), transparent),
             0 26px 80px -16px color-mix(in srgb, var(--lc) var(--l3), transparent);
}
.zonas .zonas__caja .led-vivo{ display:none }
.banda-foto--ciudad::after{ background:none; box-shadow:0 0 46px rgba(100,206,251,.26), 0 0 90px 10px rgba(47,127,224,.12) }

.brillos{ max-width:1120px; counter-reset:paso }
@media (min-width:768px){ .brillos{ gap:clamp(1rem,2vw,1.6rem) } }
.brillo{ max-width:none; counter-increment:paso }
.brillo__halo{ opacity:.28; filter:blur(60px); inset:12% 6% -6% }
.brillo__caja{
  border:0; border-radius:26px; min-height:236px; padding:1.6rem 1.6rem 1.7rem;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(143,208,255,.16), transparent 55%),
    linear-gradient(165deg, rgba(20,36,82,.92), rgba(10,18,44,.95));
  box-shadow:0 34px 70px -34px rgba(0,0,0,.85), 0 0 56px -18px rgba(62,155,230,.65), inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .5s var(--suave), box-shadow .5s var(--suave);
}
.brillo__caja::before{
  content:counter(paso, decimal-leading-zero); position:absolute; right:1.1rem; top:.4rem; z-index:0;
  font-family:var(--display); font-weight:600; font-size:5.4rem; line-height:1; letter-spacing:-.05em;
  color:rgba(143,208,255,.12); text-shadow:0 0 30px rgba(62,155,230,.35); pointer-events:none;
}
.brillo__caja > *{ position:relative; z-index:1 }
.brillo__caja > svg{
  box-sizing:content-box; width:24px; height:24px; padding:13px; border-radius:50%;
  color:#0A1430; background:var(--g); box-shadow:0 0 26px -2px rgba(143,208,255,.7);
}
.brillo h3{ font-size:1.12rem }
@media (hover:hover) and (pointer:fine){
  .brillo:hover .brillo__caja{ transform:translateY(-6px) }
}

.siniestro__nota{
  position:relative; isolation:isolate; padding:1.4rem 1.6rem; border-radius:22px;
  background:radial-gradient(90% 120% at 10% 0%, rgba(62,155,230,.2), transparent 60%),
             linear-gradient(160deg, rgba(20,36,82,.55), rgba(10,18,44,.35));
  box-shadow:0 0 70px -24px rgba(62,155,230,.6);
}
.siniestro__nota b:first-child{ color:#fff; text-shadow:0 0 14px rgba(143,208,255,.7) }

.zonas__caja{
  padding:clamp(1.2rem,2.6vw,2rem); border-radius:26px; gap:clamp(1.2rem,2.4vw,2rem);
  background:radial-gradient(80% 90% at 0% 0%, rgba(62,155,230,.16), transparent 60%),
             linear-gradient(165deg, rgba(20,36,82,.7), rgba(10,18,44,.6));
  box-shadow:0 34px 70px -34px rgba(0,0,0,.8), 0 0 70px -22px rgba(62,155,230,.6);
}
.zonas__chips{ align-content:flex-start }
.zonas__res{ min-height:0 }
.zonas__res > *{ border:0 !important }
.zonas__res{ border-radius:20px; background:rgba(143,208,255,.06); box-shadow:inset 0 0 40px rgba(62,155,230,.12) }
