/* ==========================================================================
   BAHÍA DUNAS · rediseño de secciones (2026-10-30)
   Tokens de assets/nuevo-diseno/css/estilos.css del sitio + componentes nuevos.
   01 Tokens · 02 Base · 03 Íconos dibujados · 04 Botones · 05 Barra
   06 Hero · 07 Proyecto · 08 Video · 09 En números · 10 Ubicación (mapa)
   11 Región · 12 Etapa 3 · 13 Compra · 14 Certeza · 15 Preguntas
   16 Contacto · 17 Pie · 18 Etapas · 19 Amenidades · 20 Galería · 21 Responsivo
   ========================================================================== */

/* 01 · TOKENS */
:root{
  --coral:#e06d4e; --coral-oscuro:#c9563a; --naranja:#f3964b; --sol:#faba54; --turquesa:#69c3d0;
  --turquesa-oscuro:#2e8f9c; --arena:#f5e3d0; --papel:#fffaf4; --tinta:#4a2b20;
  --tinta-suave:rgba(74,43,32,.72); --linea:rgba(74,43,32,.14);
  --display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --elegante:"Cormorant Garamond","Cormorant",Georgia,serif;
  --texto:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --t-cuerpo:clamp(1rem,.95rem + .25vw,1.125rem);
  --t-titular:clamp(2.1rem,1.3rem + 2.8vw,3.8rem);
  --ancho:1180px; --radio:16px; --radio-chico:10px; --barra:74px; --t-legal:.74rem;
  --sombra:0 18px 44px rgba(74,43,32,.14);
}

/* 02 · BASE */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--barra)}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--texto);font-size:var(--t-cuerpo);line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit}
.envoltorio{width:min(var(--ancho),100% - 32px);margin-inline:auto}
.bloque{position:relative;padding:clamp(4rem,8vw,7rem) 0}
.rotulo{margin:0 0 .9rem;font-size:.76rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--coral)}
.titular{margin:0 0 1.1rem;font-family:var(--display);font-weight:400;font-size:var(--t-titular);line-height:1.06;text-wrap:balance}
.entrada{max-width:62ch;margin:0 0 2.6rem;color:var(--tinta-suave)}
.centro{text-align:center}.centro .entrada{margin-inline:auto}
.micro{font-size:.78rem;color:var(--tinta-suave);line-height:1.5}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px}

/* 03 · ÍCONOS: dibujados a mano de Freepik (f-*, relleno) + íconos de interfaz de línea (i-*) */
.ico{width:1.6em;height:1.6em;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.ico use[href^="#f-"]{fill:currentColor;stroke:none}
.ico--xl{width:3.2rem;height:3.2rem}.ico--l{width:2.4rem;height:2.4rem}

/* 04 · BOTONES DE LUJO, REDONDOS */
.boton{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;
  padding:1.05rem 2rem;border-radius:999px;border:0;cursor:pointer;text-decoration:none;
  font:600 .78rem/1 var(--texto);letter-spacing:.2em;text-transform:uppercase;transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.boton .ico{width:1.25rem;height:1.25rem}
.boton--lujo{color:#fff;background:linear-gradient(135deg,#ea8565 0%,var(--coral) 45%,var(--coral-oscuro) 100%);
  box-shadow:0 14px 30px -10px rgba(201,86,58,.65),inset 0 1px 0 rgba(255,255,255,.35)}
.boton--lujo::after{content:"";position:absolute;inset:4px;border-radius:inherit;border:1px solid rgba(255,236,214,.55);pointer-events:none}
.boton--lujo:hover{transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(201,86,58,.75),inset 0 1px 0 rgba(255,255,255,.35)}
.boton--cristal{color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.boton--cristal::after{content:"";position:absolute;inset:4px;border-radius:inherit;border:1px solid rgba(255,255,255,.22);pointer-events:none}
.boton--cristal:hover{background:rgba(255,255,255,.2)}
.boton--crema{color:var(--coral-oscuro);background:var(--papel);box-shadow:0 12px 28px -12px rgba(74,43,32,.45)}
.boton--crema::after{content:"";position:absolute;inset:4px;border-radius:inherit;border:1px solid rgba(224,109,78,.35);pointer-events:none}
.boton--crema:hover{transform:translateY(-2px)}
.boton--linea{color:var(--tinta);background:transparent;box-shadow:inset 0 0 0 1.5px var(--tinta)}
.boton--linea:hover{background:var(--tinta);color:#fff}
.boton--chico{padding:.8rem 1.4rem;font-size:.72rem}

/* 05 · BARRA: se usa la original del sitio (original-barra-pie.css, se agrega al final al armar) */

/* 06 · HERO */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;color:#fff;text-align:center;overflow:hidden;background:#173a3f}
.hero__video,.hero__velo{position:absolute;inset:0;width:100%;height:100%}
.hero__video{object-fit:cover}
.hero__velo{background:radial-gradient(ellipse 60% 55% at 50% 52%,rgba(6,18,22,.55) 0%,rgba(6,18,22,.3) 70%,transparent 100%),linear-gradient(180deg,rgba(6,18,22,.55) 0%,rgba(6,18,22,.4) 45%,rgba(6,18,22,.75) 100%)}
.hero__cuerpo>*{text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero__cuerpo{position:relative;z-index:1;width:min(860px,100% - 32px);padding:calc(var(--barra) + 2rem) 0 4.5rem;display:flex;flex-direction:column;align-items:center}
.hero__iso{width:64px;height:auto;margin-bottom:1.1rem;opacity:.95}
.hero__titulo{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(3.4rem,2rem + 6vw,7rem);line-height:.95;letter-spacing:-.01em;text-shadow:0 4px 30px rgba(0,0,0,.25)}
.hero__lema{margin:1rem 0 0;font-family:var(--elegante);font-weight:500;font-size:clamp(1rem,.9rem + .5vw,1.35rem);letter-spacing:.42em;text-transform:uppercase;padding-left:.42em}
.hero__division{display:flex;align-items:center;gap:14px;width:min(360px,70%);margin:1.6rem 0;color:rgba(255,255,255,.8)}
.hero__division::before,.hero__division::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75))}
.hero__division::after{background:linear-gradient(270deg,transparent,rgba(255,255,255,.75))}
.hero__division .ico{width:1.35rem;height:1.35rem}
.hero__texto{margin:0;max-width:44ch;font-size:clamp(1.02rem,.95rem + .35vw,1.25rem);line-height:1.55;font-weight:300}
.hero__texto b{font-weight:700}
.hero__datos{list-style:none;margin:2rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 2.4rem}
.hero__datos li{display:flex;align-items:center;gap:.7rem;font-size:.92rem;text-align:left;line-height:1.25}
.hero__datos .ico{width:2.3rem;height:2.3rem;color:#fff}
.hero__datos b{display:block;font-size:1.05rem}
.hero__proximo{margin-top:2.2rem;display:inline-flex;align-items:center;gap:.7rem;padding:.55rem 1.2rem;border-radius:999px;
  border:1px solid rgba(255,255,255,.75);color:#fff;text-decoration:none;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.hero__proximo b{font-weight:700}
.hero__proximo span{width:1px;height:14px;background:rgba(255,255,255,.6)}
.hero__precio{margin:1.4rem 0 0;font-size:.82rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.hero__precio b{display:block;margin-top:.35rem;font-family:var(--display);font-weight:400;font-size:clamp(2.1rem,1.6rem + 1.8vw,3rem);letter-spacing:.04em;color:#fff}
.hero__acciones{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.hero__baja{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:1;color:#fff;opacity:.85}
.hero__baja .ico{width:1.8rem;height:1.8rem}

/* 07 · PROYECTO: degradado sutil + elementos de marca recortados en los lados */
.proyecto{overflow:hidden;background:linear-gradient(180deg,var(--papel) 0%,#fdf1e6 55%,#f9e8d9 100%)}
.deco{position:absolute;pointer-events:none;user-select:none;filter:drop-shadow(0 10px 18px rgba(74,43,32,.18))}
.deco--est-izq{left:-90px;top:9%;width:260px;transform:rotate(-18deg)}
.deco--concha-der{right:-70px;bottom:12%;width:230px;transform:rotate(22deg)}
.deco--est-der{right:-60px;top:6%;width:150px;transform:rotate(40deg);opacity:.9}
.tarjetas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.tarjeta{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--sombra)}
.tarjeta__foto{position:relative;aspect-ratio:4/3.1;overflow:hidden}
.tarjeta__foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.tarjeta:hover .tarjeta__foto img{transform:scale(1.05)}
.tarjeta__ico{position:relative;z-index:1;margin:-38px auto 0;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;
  background:var(--papel);color:var(--coral);box-shadow:0 10px 24px -8px rgba(74,43,32,.35),inset 0 0 0 1px rgba(224,109,78,.25)}
.tarjeta__cuerpo{padding:1rem 1.6rem 1.8rem;text-align:center;display:flex;flex-direction:column;align-items:center;flex:1}
.tarjeta h3{margin:.4rem 0 .5rem;font-family:var(--display);font-weight:400;font-size:1.7rem}
.tarjeta p{margin:0 0 1.4rem;color:var(--tinta-suave);font-size:.95rem}
.tarjeta .boton{margin-top:auto}
.proyecto__galeria{margin-top:2.8rem;text-align:center}

/* 08 · VIDEO con fondo en movimiento */
.video-mar{position:relative;overflow:hidden;color:#fff;background:#1d4a50}
.video-mar__fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.video-mar__velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,52,58,.55),rgba(18,52,58,.35) 50%,rgba(18,52,58,.6))}
.video-mar .envoltorio{position:relative}
.video-mar .rotulo{color:var(--sol)}
.video-mar__marco{position:relative;max-width:980px;margin:0 auto;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.55);outline:1px solid rgba(255,255,255,.35);outline-offset:8px}
.video-mar__marco video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.video-mar__play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.18);border:0;cursor:pointer;color:#fff}
.video-mar__play span{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}
.video-mar__play .ico{width:2.4rem;height:2.4rem}
.video-mar__play[hidden]{display:none}
.video-mar.reproduciendo .video-mar__fondo{animation-play-state:paused}
.video-mar .micro{color:rgba(255,255,255,.8);text-align:center;max-width:80ch;margin:1.6rem auto 0}

/* 09 · EN NÚMEROS: lote a la izquierda, ficha a la derecha */
.numeros{background:var(--arena)}
.vistazo{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.vistazo__lote{margin:0;display:grid;place-items:center;padding:2.6rem 0 1rem 3rem}
.vistazo__marco{position:relative}
.vistazo__marco img{height:clamp(420px,46vw,620px);width:auto;filter:drop-shadow(0 26px 26px rgba(74,43,32,.28))}
.vistazo__cota{position:absolute;display:flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--tinta)}
.vistazo__cota::before,.vistazo__cota::after{content:"";flex:1;background:var(--tinta);opacity:.45}
.vistazo__cota--frente{left:4%;right:4%;top:-2.2rem}
.vistazo__cota--frente::before,.vistazo__cota--frente::after{height:1px}
.vistazo__cota--fondo{top:3%;bottom:3%;left:-2.6rem;flex-direction:column;writing-mode:vertical-rl;transform:rotate(180deg)}
.vistazo__cota--fondo::before,.vistazo__cota--fondo::after{width:1px}
.vistazo__sup{position:absolute;right:-3.2rem;bottom:14%;width:7.4rem;height:7.4rem;border-radius:50%;display:grid;place-content:center;text-align:center;
  background:var(--sol);color:#52301f;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 14px 28px -12px rgba(201,120,40,.7)}
.vistazo__sup b{display:block;font-family:var(--display);font-weight:400;font-size:1.75rem;letter-spacing:0;text-transform:none;line-height:1}
/* medidas en pies junto a los metros, mas chicas y tenues (clientes de EE. UU.) */
.vistazo__ft{font-size:1em;font-weight:500;letter-spacing:.04em;opacity:.6}
/* lote en 3D (three.js): tu lote hoy / casa de una planta / casa de dos niveles */
.vistazo:has(.lote3d){grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(1.6rem,3vw,3rem)}
.vistazo__lote.lote3d{padding:0;display:block;width:100%;place-items:initial}
.lote3d__visor{position:relative;width:100%;height:clamp(500px,54vw,740px);border-radius:24px;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#e9eef0 0%,#f4ede4 38%,#f6e8d8 62%);box-shadow:0 26px 50px -26px rgba(74,43,32,.45)}
.lote3d__escena{position:absolute;inset:0}
.lote3d__escena canvas{display:block;width:100%!important;height:100%!important;cursor:grab;outline:none}
.lote3d__escena canvas:active{cursor:grabbing}
.lote3d__respaldo{position:absolute;inset:6% 0;height:88%;width:100%;object-fit:contain;filter:drop-shadow(0 20px 20px rgba(74,43,32,.28))}
.lote3d.listo .lote3d__respaldo{display:none}
.lote3d__medidas,.lote3d__ayuda{position:absolute;z-index:2;pointer-events:none;border-radius:999px;background:rgba(255,250,244,.9);backdrop-filter:blur(6px)}
.lote3d__medidas{top:14px;left:14px;padding:.45rem .85rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--tinta)}
.lote3d__ayuda{top:14px;right:14px;padding:.4rem .75rem;font-size:.68rem;color:var(--tinta-suave);opacity:0;transition:opacity .4s}
.lote3d.listo .lote3d__ayuda{opacity:1}
.lote3d .vistazo__sup{right:14px;bottom:14px;width:6.4rem;height:6.4rem;z-index:2}
.lote3d .vistazo__sup b{font-size:1.45rem}
.lote3d__vistas{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1rem}
.lote3d__vistas button{font:600 .8rem var(--texto);color:var(--tinta);background:var(--papel);border:1.5px solid var(--linea);border-radius:999px;padding:.55rem 1rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.lote3d__vistas button:hover{border-color:var(--coral)}
.lote3d__vistas button.activo{background:var(--coral);border-color:var(--coral);color:#fff}
.lote3d__vistas button:focus-visible{outline:2px solid var(--turquesa-oscuro);outline-offset:2px}
.lote3d__ir{display:flex;justify-content:center;margin-top:.9rem}
.lote3d__nota{margin:.7rem auto 0;max-width:46ch;text-align:center;font-size:.8rem;line-height:1.45;color:var(--tinta-suave);min-height:2.4em}
.ficha{background:var(--papel);border-radius:24px;padding:clamp(1.6rem,3vw,2.4rem);box-shadow:var(--sombra);position:relative}
.ficha__cab{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1.5px solid var(--tinta);padding-bottom:.9rem;margin-bottom:.4rem}
.ficha__cab h3{margin:0;font-family:var(--display);font-weight:400;font-size:1.9rem}
.ficha__cab span{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--coral)}
.ficha dl{margin:0}
.ficha__fila{display:grid;grid-template-columns:2.4rem 1fr auto;align-items:center;gap:.9rem;padding:.85rem 0;border-bottom:1px dashed var(--linea)}
.ficha__fila .ico{width:2rem;height:2rem;color:var(--coral)}
.ficha dt{font-size:.82rem;color:var(--tinta-suave)}
.ficha dd{margin:0;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.ficha dd small{display:block;font-weight:500;font-size:.75rem;color:var(--tinta-suave)}
.ficha__precio{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;padding:1rem 1.2rem;border-radius:14px;background:linear-gradient(135deg,#fdeee8,#fbe1d4)}
.ficha__precio span{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--coral-oscuro)}
.ficha__precio b{font-family:var(--display);font-weight:400;font-size:1.9rem}
.zona-datos{margin-top:clamp(3rem,6vw,4.5rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.zona-dato{display:flex;gap:1rem;align-items:center;background:rgba(255,250,244,.7);border-radius:18px;padding:1.1rem 1.3rem}
.zona-dato img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;border:3px solid var(--sol)}
.zona-dato b{display:block;font-family:var(--display);font-weight:400;font-size:1.7rem;line-height:1.1}
.zona-dato span{font-size:.85rem;color:var(--tinta-suave);line-height:1.35;display:block}
.zona-dato small{font-size:.7rem;color:var(--tinta-suave);opacity:.8}

/* 10 · UBICACIÓN: mapa interactivo por categorías */
.ubicacion{background:radial-gradient(70% 60% at 85% 10%,rgba(105,195,208,.18),transparent 70%),radial-gradient(60% 60% at 0% 100%,rgba(250,186,84,.14),transparent 70%),#fbf3ea}
.ubicacion{padding:clamp(2rem,3vw,2.6rem) 0}
.envoltorio--ancho{width:min(1360px,100% - 32px)}
.ubicacion__cab{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.2rem}
.ubicacion__cab .titular{margin:0}
.ubicacion__cab>p{margin:0;max-width:46ch;color:var(--tinta-suave);font-size:.95rem}
.ubicacion__rejilla{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:1.2rem;height:clamp(480px,calc(100svh - var(--barra) - 250px),760px)}
.ubicacion .micro{margin:.8rem 0 0}
.mapa{position:relative;height:100%;border-radius:26px;overflow:hidden;box-shadow:0 30px 70px -28px rgba(74,43,32,.45);background:#f7ebde;isolation:isolate}
.mapa svg{display:block;width:100%;height:100%}
.mapa__lotes{position:absolute;top:18px;right:18px;z-index:5}
.mapa__marca{position:absolute;top:18px;left:18px;z-index:3;display:flex;align-items:center;gap:.7rem;padding:.6rem 1rem .6rem .7rem;border-radius:14px;
  background:rgba(255,250,244,.92);backdrop-filter:blur(6px);box-shadow:0 8px 20px -10px rgba(74,43,32,.4)}
.mapa__marca img{height:42px;width:auto}
.mapa__marca span{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-suave);line-height:1.3}
/* la foto del lugar va en una esquina libre del mapa (abajo a la izquierda, o la siguiente que no tape la ruta) */
.mapa__globo{position:absolute;z-index:4;width:clamp(260px,30%,320px);background:#fff;border-radius:16px;
  box-shadow:0 18px 40px -12px rgba(74,43,32,.5);transition:opacity .3s;pointer-events:auto}
.mapa__globo img{border-radius:16px 16px 0 0}
/* la flechita apunta al lugar desde el lado donde quedó el globo (lo decide bd-secciones.js) */
.mapa__globo::after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:2px}
.mapa__globo--der::after{left:-8px;top:var(--flecha,50%);transform:translateY(-50%) rotate(45deg)}
.mapa__globo--izq::after{right:-8px;top:var(--flecha,50%);transform:translateY(-50%) rotate(45deg)}
.mapa__globo--abajo::after{top:-8px;left:var(--flecha,50%);transform:translateX(-50%) rotate(45deg)}
.mapa__globo--arriba::after{bottom:-8px;left:var(--flecha,50%);transform:translateX(-50%) rotate(45deg)}
.mapa__globo--esquina::after{display:none}
.mapa__globo.oculto{opacity:0;pointer-events:none}
.mapa__globo img{width:100%;aspect-ratio:16/10;object-fit:cover}
.mapa__globo--compacto{width:250px}.mapa__globo--compacto img{aspect-ratio:2/1}.mapa__globo--compacto .c{padding:.5rem .8rem .7rem}.mapa__globo--compacto p{margin:.15rem 0 .35rem}
.mapa__globo .c{position:relative;z-index:1;padding:.9rem 1.1rem 1.1rem;background:#fff;border-radius:0 0 16px 16px}
.mapa__globo h4{margin:0;font-family:var(--display);font-weight:400;font-size:1.45rem;line-height:1.15}
.mapa__globo p{margin:.3rem 0 .7rem;font-size:.92rem;color:var(--tinta-suave)}
.mapa__globo p b{color:var(--coral-oscuro)}
.mapa__globo[data-cat="interes"] p b,.mapa__globo[data-cat="interes"] a{color:var(--turquesa-oscuro)}
.mapa__globo a{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-oscuro);text-decoration:none}
.guia{display:flex;flex-direction:column;min-height:0;border-radius:22px;background:#fff;box-shadow:var(--sombra);overflow-y:auto;scrollbar-width:thin}
.guia__col{padding:1rem 1rem 1.1rem;transition:filter .35s,opacity .35s,background .35s}
.guia__col+.guia__col{border-top:1px solid var(--linea)}
.guia__col.inactiva{filter:grayscale(1) saturate(.2);opacity:.5}
.guia__col.activa{background:linear-gradient(180deg,#fff,#fdf3ec)}
.guia__cab{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem;width:100%;background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}
.guia__cab .ico{width:2.2rem;height:2.2rem}
.guia__col[data-cat="emblematicos"] .guia__cab .ico{color:var(--coral)}
.guia__col[data-cat="interes"] .guia__cab .ico{color:var(--turquesa-oscuro)}
.guia__cab h3{margin:0;font-family:var(--display);font-weight:400;font-size:1.3rem;line-height:1.1}
.guia__cab small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave)}
.guia ul{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.guia button.lugar{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:.7rem;padding:.3rem .5rem .3rem .3rem;border-radius:12px;
  border:1px solid transparent;background:transparent;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:background .2s,border-color .2s}
.guia button.lugar:hover{background:#fbf3ea}
.guia button.lugar[aria-pressed="true"]{background:#fdeee8;border-color:rgba(224,109,78,.4)}
.guia [data-cat="interes"] button.lugar[aria-pressed="true"]{background:#e6f5f7;border-color:rgba(46,143,156,.4)}
.guia button.lugar img{width:38px;height:38px;border-radius:10px;object-fit:cover}
.guia button.lugar .n{font-size:.86rem;font-weight:600;line-height:1.25}
.guia button.lugar .t{font-size:.78rem;font-weight:700;white-space:nowrap;color:var(--coral-oscuro)}
.guia [data-cat="interes"] button.lugar .t{color:var(--turquesa-oscuro)}
/* capas del mapa */
.m-mar{fill:url(#m-mar)}.m-tierra{fill:#f7ebde}.m-laguna{fill:#cfe9e4;opacity:.9}.m-costa{fill:none;stroke:#ecd9c6;stroke-width:2}
.m-via{fill:none;stroke-linecap:round;stroke-linejoin:round}.m-via5{stroke:#f0dfcf;stroke-width:.8}.m-via4{stroke:#ebd5c1;stroke-width:1.2}
.m-via3{stroke:#e5cbb3;stroke-width:1.8}.m-via2{stroke:#dfbfa4;stroke-width:2.6}.m-via1,.m-via0{stroke:#d9b597;stroke-width:3.4}
.m-ciudad{fill:#ecd8c5;opacity:.6}.m-pob{fill:#fffaf4;stroke:#bfa999;stroke-width:2.5}
.m-txt{font:600 13px Montserrat,system-ui,sans-serif;letter-spacing:.14em;fill:#806252;text-anchor:middle;paint-order:stroke;stroke:#f7ebde;stroke-width:4px}
.m-txt-ciudad{font:400 30px 'DM Serif Display',Georgia,serif;letter-spacing:.06em;fill:#4a2b20}
.m-golfo{fill:#fff;stroke:none;font-size:14px;letter-spacing:.4em;opacity:.95}
.m-ruta{fill:none;stroke:#e06d4e;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .45s ease}
.m-ruta-borde{stroke:#fff;stroke-width:13}
.m-ruta.on{opacity:1}
.m-ruta[data-cat="interes"]{stroke:var(--turquesa-oscuro)}
.m-lugar{cursor:pointer;transition:opacity .35s,filter .35s}
.m-lugar circle{stroke:#fff;stroke-width:4;filter:drop-shadow(0 3px 4px rgba(74,43,32,.35))}
.m-lugar[data-cat="emblematicos"] circle{fill:var(--coral)}
.m-lugar[data-cat="interes"] circle{fill:var(--turquesa-oscuro)}
.m-lugar.on circle{r:14;stroke-width:5}
.m-lugar.apagado{opacity:.28;filter:grayscale(1)}
.m-bd-halo{fill:#e06d4e;opacity:.16}.m-bd-disco{fill:#e06d4e;stroke:#fff;stroke-width:5;filter:drop-shadow(0 8px 12px rgba(74,43,32,.35))}
.m-bd-etq rect{fill:#4a2b20}.m-bd-etq text{font:700 13px Montserrat,sans-serif;letter-spacing:.2em;fill:#fff;text-anchor:middle}

/* 11 · REGIÓN: «Qué hay alrededor» primero; «¿Por qué Yucatán?» con las fichas de El proyecto */
.region{background:var(--papel)}
.tarjeta .fuente{margin-top:auto;font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-suave);opacity:.8}
.alrededor__cab{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.6rem}
.alrededor__cab .titular{margin:0}
.flechas{display:flex;gap:.6rem}
.flecha{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--tinta);background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--tinta);transition:background .2s,color .2s}
.flecha:hover{background:var(--tinta);color:#fff}
.carril{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(240px,24%,290px);gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin}
.lugar-t{scroll-snap-align:start;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 26px -14px rgba(74,43,32,.35)}
.lugar-t img{width:100%;aspect-ratio:1;object-fit:cover}
.lugar-t div{padding:.9rem 1.1rem 1.1rem}
.lugar-t b{display:block;font-family:var(--display);font-weight:400;font-size:1.2rem;line-height:1.15}
.lugar-t span{font-size:.8rem;font-weight:700;color:var(--coral-oscuro)}

/* 12 · ETAPA 3 con video de fondo */
.etapa-3{position:relative;min-height:78vh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:#2a6f78}
.etapa-3 video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.etapa-3__velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,58,66,.35),rgba(16,58,66,.55))}
.etapa-3__cuerpo{position:relative;padding:5rem 16px;max-width:920px}
.etapa-3__sello{display:inline-block;padding:.5rem 1.2rem;border-radius:999px;border:1px solid rgba(255,255,255,.8);font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;margin-bottom:1.4rem}
.etapa-3 .titular{font-size:clamp(2.4rem,1.5rem + 3.4vw,4.4rem)}
.etapa-3 p{margin:0 0 2rem;font-size:1.1rem;opacity:.92}
.etapa-3__acciones{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* 13 · COMPRA: diseño original (recuadro de precio, ahora naranja, y pasos numerados) */
.compra{background:linear-gradient(180deg,#eef8f9,var(--papel))}
.compra__rejilla{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.8rem,4vw,3.6rem);align-items:start;margin-top:2.2rem}
.cuenta{position:relative;overflow:hidden;color:#fff;border-radius:24px;padding:clamp(1.6rem,3vw,2.4rem);
  background:linear-gradient(150deg,#f3964b 0%,var(--coral) 55%,var(--coral-oscuro) 100%);box-shadow:0 26px 50px -24px rgba(201,86,58,.7)}
.cuenta::after{content:"";position:absolute;inset:8px;border-radius:18px;border:1px solid rgba(255,236,214,.4);pointer-events:none}
.cuenta__desde{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;opacity:.9}
.cuenta__monto{margin:.2rem 0 0;font-family:var(--display);font-size:clamp(2.3rem,1.8rem + 1.6vw,3.3rem);line-height:1.05}
.cuenta__lote{margin:.2rem 0 1.4rem;font-size:.9rem;opacity:.9}
.cuenta dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:.6rem 0;font-size:.92rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.35)}
.cuenta dt{opacity:.88}
.cuenta dd{margin:0;padding-left:1.4rem;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.cuenta dt:has(+dd.sol),.cuenta dd.sol{padding:.55rem 0;border-block:1px solid rgba(255,255,255,.35);font-weight:700;opacity:1}
.cuenta dd.sol{font-size:1.15rem}
.cuenta__nota{margin:1.2rem 0 0;font-size:.82rem;opacity:.88}
.pasos{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.pasos li{position:relative;display:grid;grid-template-columns:3rem 2.6rem minmax(0,1fr);gap:1rem;align-items:start;padding:1rem 0 1.3rem}
.pasos li:not(:last-child)::before{content:"";position:absolute;left:1.5rem;top:4rem;bottom:-.4rem;border-left:2px dashed rgba(224,109,78,.35)}
.pasos__n{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;background:var(--sol);color:#52301f;font-family:var(--display);font-size:1.4rem;box-shadow:0 8px 18px -8px rgba(201,120,40,.6)}
.pasos .ico{width:2.6rem;height:2.6rem;color:var(--coral);margin-top:.2rem}
.pasos h3{margin:.15rem 0 .3rem;font-family:var(--display);font-weight:400;font-size:1.4rem}
.pasos p{margin:0;font-size:.92rem;color:var(--tinta-suave)}
.compra__acciones{display:flex;flex-wrap:wrap;gap:1rem;margin:2.6rem 0 1rem}

/* 14 · CERTEZA: plano vectorial sin fondo; al acercar el cursor a una zona las demás se apagan */
.certeza{background:var(--papel)}
.plano{position:relative;margin:0 auto;max-width:980px;overflow:visible}
.plano svg{display:block;width:100%;height:auto;overflow:visible}
.plano figcaption{margin-top:1rem;text-align:center}
.p-lote{fill:#fbefe2;stroke:#d9bfa8;stroke-width:1.2;transition:fill .3s,stroke .3s}
.p-parque{fill:#d9ecd3;stroke:#a9cc9f;stroke-width:1.5;transition:fill .3s,opacity .3s}
.p-parque-txt{font:600 15px Montserrat,sans-serif;letter-spacing:.18em;fill:#5f8a55;text-anchor:middle;transition:opacity .3s}
.p-base{transition:opacity .3s}
.zona{cursor:pointer;outline:none}
.zona .forma{transition:fill .3s,stroke .3s,opacity .3s}
.zona--calle .forma{fill:#f2e2cf;stroke:none}
.zona--casa .forma{fill:#f7c9a8;stroke:#e9a27f;stroke-width:1.2}
.zona--terreno .forma{fill:var(--coral);stroke:#fff;stroke-width:2}
.zona--limites .forma{fill:none;stroke:var(--tinta);stroke-width:2.5;stroke-dasharray:10 8}
.zona--limites .golpe{fill:none;stroke:transparent;stroke-width:26}
.zona .mojonera{fill:#fff;stroke:var(--tinta);stroke-width:2.5;transition:opacity .3s}
.zona .num circle{fill:var(--coral);stroke:#fff;stroke-width:4;filter:drop-shadow(0 4px 6px rgba(74,43,32,.3));transition:fill .25s}
.zona .num text{font:700 22px Montserrat,sans-serif;fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.zona.on .num circle,.zona:focus-visible .num circle{fill:var(--tinta)}
/* enfoque: la zona activa se queda a color, todo lo demás se apaga */
.plano.enfoque .p-lote{fill:#f6efe7;stroke:#e9ddd0}
.plano.enfoque .p-parque,.plano.enfoque .p-parque-txt{opacity:.35}
.plano.enfoque .zona:not(.on) .forma,.plano.enfoque .zona:not(.on) .mojonera{opacity:.18}
.plano.enfoque .zona:not(.on) .num{opacity:.45}
.plano.enfoque .zona--calle.on .forma{fill:#f0b98f}
.plano.enfoque .zona--casa.on .forma{fill:#f0a37c;stroke:#fff}
.ventana{position:absolute;z-index:3;width:290px;background:#fff;border-radius:16px;padding:1rem 1.1rem 1.1rem;box-shadow:0 18px 40px -12px rgba(74,43,32,.45);
  transform:translate(-50%,calc(-100% - 22px));opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.ventana.on{opacity:1;transform:translate(-50%,calc(-100% - 30px))}
.ventana::after{content:"";position:absolute;left:var(--fx,50%);bottom:-8px;width:16px;height:16px;background:#fff;transform:translateX(-50%) rotate(45deg)}
.ventana--abajo{transform:translate(-50%,22px)}
.ventana--abajo.on{transform:translate(-50%,30px)}
.ventana--abajo::after{bottom:auto;top:-8px}
.ventana span{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--coral)}
.ventana h4{margin:.2rem 0 .4rem;font-family:var(--display);font-weight:400;font-size:1.3rem}
.ventana p{margin:0;font-size:.84rem;line-height:1.5;color:var(--tinta-suave)}
.formaliza{margin-top:2.6rem;list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.formaliza li{display:flex;gap:.8rem;align-items:flex-start;padding:1.1rem;border-radius:16px;background:#fff;border:1px solid var(--linea)}
.formaliza .ico{width:2.2rem;height:2.2rem;color:var(--coral)}
.formaliza b{display:block;font-size:.95rem}.formaliza span{font-size:.82rem;color:var(--tinta-suave)}

/* 15 · PREGUNTAS sobre arena (degradado desde la sección anterior) */
.preguntas{background:linear-gradient(180deg,rgba(255,250,244,0) 0%,rgba(255,250,244,.38) 100%),url(../img/fondo-preguntas-degradado.webp) center bottom/cover no-repeat,var(--papel)}
.acordeon{max-width:860px;margin:0 auto;display:grid;gap:.8rem}
.acordeon details{background:rgba(255,250,244,.92);border-radius:16px;box-shadow:0 8px 22px -16px rgba(74,43,32,.5);overflow:hidden}
.acordeon summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;font-weight:600}
.acordeon summary::-webkit-details-marker{display:none}
.acordeon summary .ico{width:1.4rem;height:1.4rem;color:var(--coral);transition:transform .3s}
.acordeon details[open] summary .ico{transform:rotate(45deg)}
.acordeon p{margin:0;padding:0 1.4rem 1.3rem;color:var(--tinta-suave)}

/* 16 · CONTACTO */
.contacto{background:linear-gradient(180deg,#ebdfcf 0%,#f5ebdf 160px,var(--papel) 420px);padding-top:clamp(1rem,3vw,2rem)}
.contacto__caja{position:relative;display:grid;grid-template-columns:1fr 1.1fr;border-radius:30px;overflow:hidden;box-shadow:0 34px 80px -34px rgba(74,43,32,.55)}
.contacto__lado{position:relative;padding:clamp(2rem,4vw,3.4rem);color:#fff;background:linear-gradient(160deg,rgba(224,109,78,.35),rgba(201,86,58,.55)),url(../marca/fondo-naranja.webp) center/cover,var(--coral);overflow:hidden}
.contacto__lado .rotulo{color:var(--sol)}
.contacto__lado .titular{color:#fff}
.contacto__lado p{opacity:.92;max-width:40ch}
.contacto__lado .deco{right:-60px;bottom:-50px;width:220px;transform:rotate(-14deg);opacity:.95}
.vias{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:.9rem}
.vias a{display:flex;align-items:center;gap:1rem;text-decoration:none;padding:.9rem 1rem;border-radius:16px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);transition:background .2s}
.vias a:hover{background:rgba(255,255,255,.22)}
.vias .ico{width:2rem;height:2rem}
.vias b{display:block}.vias span{font-size:.82rem;opacity:.85}
.formulario{padding:clamp(2rem,4vw,3.4rem);background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;align-content:start}
.formulario h3{grid-column:1/-1;margin:0 0 .4rem;font-family:var(--display);font-weight:400;font-size:1.9rem}
.campo{display:flex;flex-direction:column;gap:.35rem}
.campo--ancho{grid-column:1/-1}
.campo label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave)}
.campo input,.campo textarea{font:inherit;color:var(--tinta);padding:.9rem 1rem;border-radius:12px;border:1.5px solid var(--linea);background:var(--papel);transition:border-color .2s,background .2s}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--coral);background:#fff}
.campo textarea{min-height:110px;resize:vertical}
.acepto{grid-column:1/-1;display:flex;gap:.6rem;align-items:center;font-size:.85rem;color:var(--tinta-suave)}
.formulario .boton{grid-column:1/-1;justify-self:start}

/* 17 · PIE: el original del sitio (original-barra-pie.css) */

/* 18 · ETAPAS */
.portada-etapas{position:relative;min-height:88svh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:#2c6c74}
.portada-etapas video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portada-etapas .hero__velo{background:linear-gradient(180deg,rgba(10,30,34,.45),rgba(10,30,34,.2) 45%,rgba(10,30,34,.6))}
.portada-etapas__sello{display:inline-block;padding:.45rem 1.1rem;border-radius:999px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;margin-bottom:1.2rem}
.lugar-etapas{background:var(--papel);overflow:hidden}
.lugar-etapas__rejilla{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.lugar-etapas__datos{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:.8rem}
.lugar-etapas__datos li{display:flex;gap:.9rem;align-items:center;font-size:.95rem}
.lugar-etapas__datos .ico{width:2rem;height:2rem;color:var(--coral)}
.carrusel{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--sombra);aspect-ratio:16/11;background:#dfe9e3}
.carrusel figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s ease}
.carrusel figure.on{opacity:1}
.carrusel img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 6s linear}
.carrusel figure.on img{transform:scale(1.12)}
.carrusel figcaption{position:absolute;left:1.2rem;bottom:1.2rem;padding:.45rem .9rem;border-radius:999px;background:rgba(255,250,244,.92);font-size:.78rem;font-weight:600}
.carrusel__puntos{position:absolute;right:1.2rem;bottom:1.3rem;display:flex;gap:.45rem;z-index:2}
.carrusel__puntos button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.55);cursor:pointer}
.carrusel__puntos button[aria-current="true"]{background:#fff;width:26px;border-radius:999px}

/* 19 · AMENIDADES: galería que avanza sola */
.amenidades{background:linear-gradient(180deg,var(--papel),var(--arena));overflow:hidden}
.amenidades__sellos{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}
.sello{padding:.4rem .9rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.sello--coral{background:var(--coral);color:#fff;box-shadow:none}
.cinta{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cinta__pista{display:flex;gap:1.4rem;width:max-content;animation:cinta 60s linear infinite}
.cinta:hover .cinta__pista{animation-play-state:paused}
.amenidad{width:clamp(260px,30vw,380px);flex:none;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 16px 36px -20px rgba(74,43,32,.5)}
.amenidad img{width:100%;aspect-ratio:4/3;object-fit:cover}
.amenidad div{padding:1rem 1.2rem 1.2rem}
.amenidad b{display:block;font-family:var(--display);font-weight:400;font-size:1.35rem}
.amenidad span{font-size:.88rem;color:var(--tinta-suave)}
@keyframes cinta{to{transform:translateX(calc(-50% - .7rem))}}

/* 20 · GALERÍA (visor) */
.visor{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:auto 1fr auto;background:rgba(28,18,12,.94);color:#fff;padding:1rem}
.visor[hidden]{display:none}
.visor__barra{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .6rem}
.visor__barra h3{margin:0;font-family:var(--display);font-weight:400;font-size:1.5rem}
.visor__cerrar{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center}
.visor__foto{display:grid;place-items:center;min-height:0;position:relative}
.visor__foto img{max-height:100%;max-width:min(1300px,100%);border-radius:14px;object-fit:contain}
.visor__foto .flecha{position:absolute;top:50%;transform:translateY(-50%);border-color:rgba(255,255,255,.6);color:#fff}
.visor__foto .flecha--ant{left:.4rem}.visor__foto .flecha--sig{right:.4rem}
.visor__mini{display:flex;gap:.5rem;justify-content:center;padding:.8rem;overflow-x:auto}
.visor__mini button{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;background:none;opacity:.6}
.visor__mini button[aria-current="true"]{border-color:#fff;opacity:1}
.visor__mini img{width:84px;height:58px;object-fit:cover}

/* 21 · RESPONSIVO Y MOVIMIENTO REDUCIDO */
@media (max-width:1000px){
  .tarjetas{grid-template-columns:1fr 1fr}
  .formaliza{grid-template-columns:1fr 1fr}
  .ubicacion__rejilla{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width:860px){
  .vistazo,.lugar-etapas__rejilla,.compra__rejilla,.contacto__caja{grid-template-columns:1fr}
  .vistazo:has(.lote3d){grid-template-columns:1fr}
  .ubicacion__cab{flex-direction:column;align-items:flex-start;gap:.6rem}
  .ubicacion__rejilla{grid-template-columns:1fr;height:auto}
  .mapa{height:auto}
  .guia{overflow:visible}
  .zona-datos{grid-template-columns:1fr}
  .guia{grid-template-columns:1fr}.guia__col+.guia__col{border-left:0;border-top:1px solid var(--linea)}
  .mapa__marca img{height:30px}.mapa__marca span{display:none}
  .mapa__lotes{top:12px;right:12px}
  .mapa svg{height:auto;aspect-ratio:16/10}
  .mapa__globo{position:relative;left:auto!important;top:auto!important;transform:none!important;width:auto;display:grid;grid-template-columns:120px 1fr;border-radius:0;box-shadow:none;border-top:1px solid var(--linea)}
  .mapa__globo img{height:100%;aspect-ratio:auto;border-radius:0}
  .mapa__globo::after{display:none}
  .deco--est-izq{width:170px;left:-80px}.deco--concha-der{width:150px;right:-60px}
}
@media (max-width:620px){
  .tarjetas,.formaliza,.formulario{grid-template-columns:1fr}
  .vistazo__lote{padding-left:2.4rem}
  .vistazo__lote.lote3d{padding-left:0}.lote3d__visor{height:min(520px,125vw)}
  .lote3d .vistazo__sup{right:10px;bottom:10px;width:5.2rem;height:5.2rem}.lote3d .vistazo__sup b{font-size:1.15rem}
  .lote3d__vistas button{font-size:.74rem;padding:.5rem .8rem}
  .vistazo__sup{right:-2.2rem;width:6rem;height:6rem}.vistazo__sup b{font-size:1.4rem}
  .pasos li{grid-template-columns:2.6rem minmax(0,1fr)}.pasos li .ico{display:none}.pasos__n{width:2.6rem;height:2.6rem}.pasos li:not(:last-child)::before{left:1.3rem;top:3.6rem}
  .hero__datos{gap:.8rem 1.4rem}
  .hero__proximo{flex-wrap:wrap;justify-content:center;gap:.2rem .5rem;border-radius:18px;font-size:.7rem;text-align:center}
  .hero__proximo span{display:none}
  .ventana{width:240px}
  .zona .num circle{r:46px}.zona .num text{font-size:42px}.zona .mojonera{r:10px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .cinta{overflow-x:auto}
}

/* 22 · SOLO ASESORES (junta final): sin «Agenda tu cita» en la barra, el botón del menú se va a la derecha */
@media (max-width:860px){.barra__menu{margin-left:auto}}

/* Barra y pie ORIGINALES del sitio (estilos.css y hojas de compatibilidad), extraídos sin cambios.
   El botón de la barra conserva su estilo original (.boton--sol). */

.barra .boton{
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .85rem 1.5rem; border-radius: 999px; cursor: pointer;
  border: 1.5px solid transparent; text-decoration: none;
  font-weight: 600; font-size: .92rem; letter-spacing: .01em;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.barra .boton:hover{transform:translateY(-2px)}
.barra .boton--sol{background:var(--sol);color:#52301f;letter-spacing:normal;text-transform:none;font-size:.85rem}
.barra .boton--sol::after{display:none}
.barra .boton--sol:hover{background:#ffc978}
.barra .ico,.pie .ico{width:20px;height:20px;stroke-width:2}
.saltar{position: absolute; left: -999px; top: 0; z-index: 200;
  background: var(--coral); color: #fff; padding: .7rem 1.1rem; border-radius: 0 0 8px 0;}
.saltar:focus{left: 0;}
.barra{position: fixed; inset: 0 0 auto 0; z-index: 100;
  height: var(--barra);
  display: flex; align-items: center; gap: clamp(.8rem, 2vw, 2rem);
  padding: 0 clamp(1.1rem, 4vw, 2rem);
  background: rgba(255,250,244,.92);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--linea);
  transition: box-shadow .25s ease;}
.barra--sombra{box-shadow: 0 6px 24px rgba(74,43,32,.1);}
.barra__marca img{height: 46px; width: auto;}
.barra__nav{display: flex; gap: clamp(.6rem, 1.6vw, 1.6rem); margin-left: auto;}
.barra__nav a{text-decoration: none; font-size: .92rem; font-weight: 500;
  padding: .4rem 0; border-bottom: 2px solid transparent;}
.barra__nav a:hover{border-bottom-color: var(--coral);}
.barra__nav a[aria-current="true"]{border-bottom-color: var(--coral); color: var(--coral-oscuro);}
.barra__cta{padding: .6rem 1.15rem; font-size: .85rem;}
.barra__menu{display: none; width: 44px; height: 44px; border: 0; background: none; cursor: pointer;
  align-items: center; justify-content: center;}
.barra__menu .ico--cerrar{display: none;}
.barra__menu[aria-expanded="true"] .ico--menu{display: none;}
.barra__menu[aria-expanded="true"] .ico--cerrar{display: block;}
.barra__mas{position: relative; display: flex; align-items: center;}
.barra__mas-boton{display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0; border: 1px solid var(--linea); border-radius: 50%;
  background: none; color: inherit; cursor: pointer; transition: border-color .2s ease;}
.barra__mas-boton:hover,
.barra__mas-boton[aria-expanded="true"],
.barra__mas-boton--aqui{border-color: var(--coral);}
.barra__mas-panel{position: absolute; top: calc(100% + 16px); right: 0; min-width: 240px;
  display: none; flex-direction: column; padding: .5rem 0;
  background: var(--papel); border: 1px solid var(--linea); border-radius: var(--radio-chico);
  box-shadow: var(--sombra);}
.barra__mas.abierto .barra__mas-panel{display: flex;}
.barra__mas-panel a{padding: .6rem 1.2rem; border-bottom: 0;}
.barra__mas-panel a:hover{background: rgba(224,109,78,.08);}
.barra__mas-panel a.barra__mas-doc{padding-left: 1.8rem;}
.barra__mas-titulo{margin: .4rem 0 0; padding: .7rem 1.2rem .3rem; border-top: 1px solid var(--linea);
  font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--coral-oscuro);}
.barra__mas-boton--texto{width: auto; height: auto; gap: .25rem; padding: .4rem 0; border: 0; border-radius: 0;
  border-bottom: 2px solid transparent; font-size: .92rem; font-weight: 500;}
.barra__mas-boton--texto .ico{width: 16px; height: 16px; transition: transform .2s ease;}
.barra__mas-boton--texto[aria-expanded="true"] .ico{transform: rotate(180deg);}
.barra__mas-boton--texto:hover,
.barra__mas-boton--texto[aria-expanded="true"],
.barra__mas-boton--texto.barra__mas-boton--aqui{border-bottom-color: var(--coral);}
.barra__mas--etapas .barra__mas-panel{right: auto; left: -1.2rem; min-width: 250px;}
.barra__no-disp{white-space: nowrap;}
.barra__no-disp{display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; color: var(--tinta-suave);}
.barra__no-disp small{font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  padding: .1rem .45rem; border-radius: 999px; background: rgba(156,155,155,.18);}
.pie{--pie-fondo: #2b2e31; --pie-turquesa: #7fd0db;
  background: var(--pie-fondo); color: var(--pie-turquesa);
  padding: clamp(2.5rem, 6vw, 4rem) 0 2rem; text-align: center;}
.pie__marca{display: grid; justify-items: center; padding-bottom: 2rem;}
.pie__rejilla{display: grid; gap: clamp(1.4rem, 3vw, 2.4rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 2rem clamp(1.1rem, 4vw, 2rem); border-block: 1px solid rgba(127,208,219,.22);}
.pie__logo{height: 72px; width: auto; margin-bottom: .9rem;}
.pie__lema{margin: 0 0 .4rem; font-family: var(--display); font-style: italic; font-size: 1.1rem; color: var(--pie-turquesa);}
.pie__comercializa{margin: 0; font-size: .82rem; color: rgba(127,208,219,.78);}
.pie h3{margin: 0 0 .8rem; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #fff;}
.pie nav h3 + a{margin-top: 0;}
.pie nav a ~ h3{margin-top: 1.4rem;}
.pie nav a{display: block; margin-bottom: .45rem; font-size: .9rem; text-decoration: none; color: var(--pie-turquesa);}
.pie nav a:hover{color: #fff; text-decoration: underline;}
.pie__legal{margin: 1.6rem auto 0; max-width: 90ch; font-size: .74rem; line-height: 1.6; color: rgba(127,208,219,.7);}
.pie__copy{margin: 1.2rem 0 0; font-size: .78rem; color: rgba(127,208,219,.78);}
@media (max-width: 620px){.pie__rejilla{grid-template-columns: minmax(0, 1fr);}}
@media (max-width: 860px){.barra__menu{display: flex;}.barra__cta{margin-left: auto;}.barra__nav{position: fixed; inset: var(--barra) 0 auto 0;
    flex-direction: column; gap: 0; margin: 0;
    padding: .5rem clamp(1.1rem, 4vw, 2rem) 1.2rem;
    background: var(--papel); border-bottom: 1px solid var(--linea);
    box-shadow: 0 14px 30px rgba(74,43,32,.12);
    transform: translateY(-120%); transition: transform .28s ease;}.barra__nav.abierto{transform: translateY(0);}.barra__nav a{padding: .8rem 0; border-bottom: 1px solid var(--linea);}.barra__nav{max-height: calc(100svh - var(--barra)); overflow-y: auto;}.barra__mas{display: block;}.barra__mas-boton{display: none;}.barra__mas-panel{position: static; display: flex; min-width: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none;}.barra__mas-panel a{padding: .8rem 0; border-bottom: 1px solid var(--linea);}.barra__mas-panel a:hover{background: none;}.barra__mas-panel a.barra__mas-doc{padding-left: 1rem;}.barra__mas-titulo{margin: 0; padding: 1rem 0 .3rem; border-top: 0;}.barra__mas--etapas .barra__mas-boton--texto{display: block; width: 100%; padding: 1rem 0 .3rem; border: 0; text-align: left; pointer-events: none;
    font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--coral-oscuro);}.barra__mas--etapas .barra__mas-boton--texto .ico{display: none;}.barra__mas--etapas .barra__mas-panel a{padding-left: 1rem;}}
@media (max-width: 560px){.barra__cta{display: none;}}
@media print{.barra, .chat, .visor, .hero__baja{display: none !important;}}
.microleyenda, .fuente, .pie__legal{font-size: var(--t-legal);}
.barra-dato{display: block; height: 6px; margin: .55rem 0 0; border-radius: 999px; background: rgba(105,195,208,.28); overflow: hidden;}
.barra-dato span{display: block; width: 0; height: 100%; border-radius: inherit; background: var(--turquesa); transition: width 1.2s ease .2s;}
.barra-dato.visto span{width: var(--v);}

/* ==========================================================================
   DOBLE MONEDA · equivalencia aproximada en USD (includes/moneda.php)
   Debajo del precio en pesos, mas chica y discreta: el MXN sigue mandando.
   ========================================================================== */
.bd-usd{display:block;margin-top:.25rem;font-family:var(--texto);font-size:.78rem;font-weight:500;font-style:normal;letter-spacing:.02em;text-transform:none;line-height:1.3;opacity:.82;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero__precio .bd-usd{margin-top:.35rem;font-size:.95rem;color:rgba(255,255,255,.92);opacity:1}
.cuenta__monto .bd-usd{margin-top:.4rem;font-size:1rem}
.cuenta dd .bd-usd{font-size:.76rem}
.ficha dd .bd-usd{opacity:1}
.ficha__precio b{text-align:right}
.ficha__precio b .bd-usd{font-size:.8rem;color:var(--tinta-suave);opacity:1}

/* --- Etapa 3 · Coming soon: aro de luz -----------------------------------
   Un destello recorre el óvalo y deja una estela; el aro respira con una
   pulsación suave. Se usa con class="brillo" en las etiquetas de la Etapa 3. */
@property --brillo-ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.brillo{position:relative;isolation:isolate;border-color:rgba(255,255,255,.35)!important;
  animation:brillo-pulso 2.8s ease-in-out infinite}
.brillo::before,.brillo::after{content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;
  background:conic-gradient(from var(--brillo-ang),transparent 0 40%,rgba(247,201,165,.25) 62%,rgba(247,201,165,.75) 86%,#fff 97%,transparent 100%);
  animation:brillo-giro 3.2s linear infinite}
/* el aro: solo el borde de 2px */
.brillo::before{padding:2px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude}
/* el resplandor detrás del aro */
.brillo::after{z-index:-1;filter:blur(9px);opacity:.75}
@keyframes brillo-giro{to{--brillo-ang:360deg}}
@keyframes brillo-pulso{
  0%,100%{box-shadow:0 0 0 0 rgba(247,201,165,0),0 0 14px rgba(247,201,165,.25)}
  50%{box-shadow:0 0 0 6px rgba(247,201,165,.12),0 0 28px rgba(247,201,165,.55)}
}
/* sobre fondo claro el destello va en coral */
.brillo--claro{border-color:rgba(224,122,85,.3)!important;animation-name:brillo-pulso-claro}
.brillo--claro::before,.brillo--claro::after{background:conic-gradient(from var(--brillo-ang),transparent 0 40%,rgba(224,122,85,.2) 62%,rgba(224,122,85,.65) 86%,#E07A55 97%,transparent 100%)}
@keyframes brillo-pulso-claro{
  0%,100%{box-shadow:0 0 0 0 rgba(224,122,85,0),0 0 10px rgba(224,122,85,.15)}
  50%{box-shadow:0 0 0 5px rgba(224,122,85,.1),0 0 22px rgba(224,122,85,.35)}
}
@media (prefers-reduced-motion:reduce){
  .brillo,.brillo::before,.brillo::after{animation:none}
}
/* «Coming soon» dentro de una etiqueta clara (menú, página de etapas) */
.coming-soon{color:#E07A55;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
