.elementor-kit-6{--e-global-color-primary:#B08A4E;--e-global-color-secondary:#E4D9C4;--e-global-color-text:#13232B;--e-global-color-accent:#3D6E7E;--e-global-typography-primary-font-family:"Manrope";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Cormorant Garamond";--e-global-typography-accent-font-weight:500;font-family:"Manrope", Sans-serif;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{font-family:"Manrope", Sans-serif;}.elementor-kit-6 h1{font-family:"Cormorant Garamond", Sans-serif;}.elementor-kit-6 h2{font-family:"Cormorant Garamond", Sans-serif;}.elementor-kit-6 h3{font-family:"Cormorant Garamond", Sans-serif;}.elementor-kit-6 h4{font-family:"Cormorant Garamond", Sans-serif;}.elementor-kit-6 h5{font-family:"Cormorant Garamond", Sans-serif;}.elementor-kit-6 h6{font-family:"Cormorant Garamond", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* MAROA VILLAGE · CSS completo (tokens + módulo + página)
   Pegar en Elementor > Ajustes del sitio > CSS personalizado */

/* ==========================================================
   MAROA VILLAGE · Sistema de diseño (tokens + base compartida)
   Dirección: lujo mediterráneo cálido · Nerja, Málaga
   Prefijo mv- para no chocar con Elementor / el tema.
   ========================================================== */
:root{
  /* Color */
  --mv-crema:#F4EDE1;      /* fondo principal */
  --mv-lino:#FAF6EE;       /* superficies claras / tarjetas */
  --mv-arena:#E9DCC6;      /* fondos secundarios, líneas */
  --mv-tinta:#221D18;      /* texto y fondos oscuros */
  --mv-tierra:#5A4A3C;     /* texto secundario */
  --mv-piedra:#9A8E7E;     /* texto terciario, metadatos */
  --mv-oro:#B0925B;        /* dorado del logo: líneas, aros, detalles (no para texto pequeño) */
  --mv-oro-d:#7F6432;      /* dorado bronce: acento principal (texto, CTA, hover) */
  --mv-oro-l:#DCC48F;      /* dorado claro: acentos sobre fondos oscuros */
  --mv-oliva:#6E7350;      /* acento secundario */
  --mv-linea:rgba(34,29,24,.14);

  /* Estados de vivienda */
  --mv-st-disp:#7C8B56;
  --mv-st-res:#C9A24F;
  --mv-st-vend:#9A8E7E;

  /* Tipografía (sustituir por la tipografía de marca cuando llegue el logo) */
  --mv-serif:'Cormorant Garamond','Cormorant',Georgia,'Times New Roman',serif;
  --mv-sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  /* Movimiento */
  --mv-ease:cubic-bezier(.22,.8,.24,1);
  --mv-ease-io:cubic-bezier(.65,0,.35,1);

  /* Layout */
  --mv-gutter:clamp(1.25rem,4.2vw,4.5rem);
  --mv-max:1440px;
  --mv-section:clamp(5rem,11vw,10rem);
}

/* Base compartida */
.mv-ico{display:inline-block;flex:none;vertical-align:middle}
.mv-eyebrow{
  font:600 .72rem/1 var(--mv-sans);letter-spacing:.26em;text-transform:uppercase;
  color:var(--mv-oro-d);display:inline-flex;align-items:center;gap:.9rem;margin:0
}
.mv-eyebrow::before{content:"";width:2.4rem;height:1px;background:currentColor;opacity:.7}
.mv-btn{
  --bg:var(--mv-tinta);--fg:var(--mv-lino);--bd:var(--mv-tinta);
  display:inline-flex;align-items:center;justify-content:center;gap:.8rem;
  padding:1.05rem 1.7rem;background:var(--bg);color:var(--fg);border:1px solid var(--bd);
  font:600 .72rem/1 var(--mv-sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;position:relative;overflow:hidden;isolation:isolate;
  transition:color .45s var(--mv-ease),border-color .45s var(--mv-ease)
}
.mv-btn::before{
  content:"";position:absolute;inset:0;background:var(--mv-oro-d);z-index:-1;
  transform:translateY(101%);transition:transform .55s var(--mv-ease)
}
.mv-btn:hover::before,.mv-btn:focus-visible::before{transform:translateY(0)}
.mv-btn:hover,.mv-btn:focus-visible{color:#fff;border-color:var(--mv-oro-d)}
.mv-btn .mv-ico{transition:transform .45s var(--mv-ease)}
.mv-btn:hover .mv-ico{transform:translateX(4px)}
.mv-btn--line{--bg:transparent;--fg:var(--mv-tinta);--bd:var(--mv-tinta)}
.mv-btn--light{--bg:var(--mv-lino);--fg:var(--mv-tinta);--bd:var(--mv-lino)}
.mv-btn--ghost-light{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.55)}
.mv-btn:focus-visible,.mv-spot:focus-visible,.mv-chip:focus-visible{outline:2px solid var(--mv-oro-d);outline-offset:3px}
.mv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Cifras alineadas (Cormorant usa por defecto números "old-style") */
.mv-plan *,.mv-lb *,.mvh *,.hero *,.concept *,.design *,.env *,.gal *,.amen *,.prog *,.contact *,.foot *{font-feature-settings:"lnum" 1!important;font-variant-numeric:lining-nums!important}

/* ==========================================================
   MÓDULO · Imagen interactiva de dúplex (hotspots + lightbox)
   Pegar en Elementor > Ajustes del sitio > CSS personalizado
   (o en el widget HTML del propio módulo).
   ========================================================== */

/* ---------- Sección ---------- */
.mv-plan{background:var(--mv-crema);padding:var(--mv-section) 0 calc(var(--mv-section)*.8);position:relative;overflow:hidden}
.mv-plan__head{max-width:var(--mv-max);margin:0 auto;padding:0 var(--mv-gutter);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,5vw,6rem);align-items:end;margin-bottom:clamp(2.2rem,5vw,4.5rem)}
.mv-plan__title{font:400 clamp(2.8rem,6.4vw,6rem)/.96 var(--mv-serif);color:var(--mv-tinta);margin:1.4rem 0 0;letter-spacing:-.01em}
.mv-plan__title em{font-style:italic;color:var(--mv-oro-d)}
.mv-plan__lead{font:400 1.02rem/1.75 var(--mv-sans);color:var(--mv-tierra);margin:0;max-width:34rem}
.mv-plan__stage{max-width:calc(var(--mv-max) + 6rem);margin:0 auto;padding:0 var(--mv-gutter);position:relative}
.mv-plan__scroller{position:relative}
.mv-plan__media{position:relative;aspect-ratio:2200/1293;overflow:hidden;background:var(--mv-arena);box-shadow:0 40px 80px -40px rgba(60,40,20,.45);
  clip-path:inset(6% 4% 6% 4%);transition:clip-path 1.5s var(--mv-ease)}
.mv-plan.is-in .mv-plan__media{clip-path:inset(0 0 0 0)}
.mv-plan__media>svg,.mv-plan__media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.mv-plan__img--night{opacity:0;transition:opacity 1.1s var(--mv-ease)}
.mv-plan.is-night .mv-plan__img--night{opacity:1}
/* Interruptor día / noche */
.mv-tod{position:absolute;right:calc(var(--mv-gutter) + 1.1rem);top:1.1rem;z-index:4;display:flex;background:rgba(250,246,238,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.25rem;box-shadow:0 10px 30px -12px rgba(34,29,24,.5)}
.mv-tod button{border:0;background:none;padding:.7rem 1.05rem;font:700 .62rem/1 var(--mv-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mv-tierra);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:background .35s var(--mv-ease),color .35s}
.mv-tod button[aria-pressed="true"]{background:var(--mv-tinta);color:var(--mv-lino)}
.mv-tod button:not([aria-pressed="true"]):hover{color:var(--mv-tinta)}
.mv-tod button:focus-visible{outline:2px solid var(--mv-oro-d);outline-offset:2px}
.mv-plan__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,29,24,0) 60%,rgba(34,29,24,.22));pointer-events:none}

/* ---------- Hotspots ---------- */
.mv-spots{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.mv-spots>li{position:absolute;left:var(--x);top:var(--y);width:0;height:0}
.mv-spot{
  --st:var(--mv-st-disp);
  position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:2.25rem;height:2.25rem;padding:0;border:0;background:none;cursor:pointer;
  font-family:var(--mv-sans);color:var(--mv-tinta);z-index:1;opacity:0
}
.mv-plan.is-in .mv-spot{animation:mv-pop .8s var(--mv-ease) both;animation-delay:calc(.9s + var(--i)*.11s)}
@keyframes mv-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.mv-spot[data-status="reservado"]{--st:var(--mv-st-res)}
.mv-spot[data-status="vendido"]{--st:var(--mv-st-vend)}
.mv-spot__ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid #E8CF97;box-shadow:0 0 0 1px rgba(34,29,24,.28);animation:mv-ring 2.6s ease-out infinite;animation-delay:calc(var(--i)*.3s);pointer-events:none}
.mv-spot__ring--b{animation-delay:calc(var(--i)*.3s + 1.3s)}
@keyframes mv-ring{0%{transform:scale(1);opacity:.85}100%{transform:scale(2.4);opacity:0}}
.mv-spot__glow{position:absolute;left:50%;top:50%;width:9rem;height:9rem;margin:-4.5rem 0 0 -4.5rem;border-radius:50%;background:radial-gradient(circle,rgba(201,162,79,.5),rgba(201,162,79,0) 68%);opacity:0;transition:opacity .5s var(--mv-ease);pointer-events:none}
.mv-spot__dot{
  position:absolute;inset:0;border-radius:50%;background:rgba(34,29,24,.9);color:#FAF6EE;border:1.5px solid #E8CF97;display:grid;place-items:center;
  font:700 .7rem/1 var(--mv-sans);letter-spacing:.02em;box-shadow:0 6px 18px rgba(34,29,24,.35);
  transition:transform .45s var(--mv-ease),background .35s,color .35s
}
.mv-spot__dot::after{content:"";position:absolute;right:-3px;top:-3px;width:.68rem;height:.68rem;border-radius:50%;background:var(--st);border:2px solid #FBF8F1}
.mv-spot:hover .mv-spot__dot,.mv-spot:focus-visible .mv-spot__dot,.mv-spot.is-hover .mv-spot__dot{transform:scale(1.16);background:#E8CF97;color:var(--mv-tinta);border-color:#FBF8F1}
.mv-spot:hover .mv-spot__glow,.mv-spot:focus-visible .mv-spot__glow,.mv-spot.is-hover .mv-spot__glow{opacity:1}
.mv-spot:hover,.mv-spot:focus-visible,.mv-spot.is-hover{z-index:20}
.mv-spot.is-dim{filter:grayscale(1);opacity:.28!important;animation:none}
.mv-spot.is-dim .mv-spot__ring{animation:none;opacity:0}

.mv-plan.is-night .mv-spot__dot{background:rgba(250,246,238,.94);color:var(--mv-tinta);border-color:#E8CF97}

/* Tooltip */
.mv-spot__tip{
  position:absolute;left:50%;bottom:calc(100% + .9rem);transform:translate(-50%,8px);min-width:16.5rem;text-align:left;
  background:var(--mv-lino);padding:1rem 1.15rem 1.05rem;box-shadow:0 22px 44px -18px rgba(34,29,24,.5);
  opacity:0;visibility:hidden;transition:opacity .35s var(--mv-ease),transform .45s var(--mv-ease),visibility .35s;pointer-events:none;z-index:5
}
.mv-spot__tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:var(--mv-lino);transform:translateX(-50%) rotate(45deg)}
.mv-spot:hover .mv-spot__tip,.mv-spot:focus-visible .mv-spot__tip,.mv-spot.is-hover .mv-spot__tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mv-spot__tip b{display:block;font:500 1.55rem/1 var(--mv-serif);color:var(--mv-tinta);margin-bottom:.45rem}
.mv-spot__tip span{display:block;font:500 .78rem/1.5 var(--mv-sans);color:var(--mv-tierra)}
.mv-spot__tip i{white-space:nowrap;font-style:normal;display:flex;align-items:center;gap:.5rem;margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--mv-linea);font:700 .64rem/1 var(--mv-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mv-oro-d)}
.mv-spot__tip i::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--st)}
.mv-spots>li[data-edge="l"] .mv-spot__tip{left:0;transform:translate(-1.2rem,8px)}
.mv-spots>li[data-edge="l"] .mv-spot__tip::after{left:1.2rem;transform:rotate(45deg)}
.mv-spots>li[data-edge="l"] .mv-spot:hover .mv-spot__tip,.mv-spots>li[data-edge="l"] .mv-spot:focus-visible .mv-spot__tip,.mv-spots>li[data-edge="l"] .mv-spot.is-hover .mv-spot__tip{transform:translate(-1.2rem,0)}
.mv-spots>li[data-edge="r"] .mv-spot__tip{left:auto;right:0;transform:translate(1.2rem,8px)}
.mv-spots>li[data-edge="r"] .mv-spot__tip::after{left:auto;right:1.2rem;transform:rotate(45deg)}
.mv-spots>li[data-edge="r"] .mv-spot:hover .mv-spot__tip,.mv-spots>li[data-edge="r"] .mv-spot:focus-visible .mv-spot__tip,.mv-spots>li[data-edge="r"] .mv-spot.is-hover .mv-spot__tip{transform:translate(1.2rem,0)}

/* Tooltip hacia abajo (puntos de la fila superior) */
.mv-spots>li[data-v="b"] .mv-spot__tip{bottom:auto;top:calc(100% + .9rem);transform:translate(-50%,-8px)}
.mv-spots>li[data-v="b"] .mv-spot__tip::after{bottom:auto;top:-6px}
.mv-spots>li[data-v="b"] .mv-spot:hover .mv-spot__tip,.mv-spots>li[data-v="b"] .mv-spot:focus-visible .mv-spot__tip,.mv-spots>li[data-v="b"] .mv-spot.is-hover .mv-spot__tip{transform:translate(-50%,0)}
.mv-spots>li[data-v="b"][data-edge="l"] .mv-spot__tip{transform:translate(-1.2rem,-8px)}
.mv-spots>li[data-v="b"][data-edge="l"] .mv-spot:hover .mv-spot__tip,.mv-spots>li[data-v="b"][data-edge="l"] .mv-spot:focus-visible .mv-spot__tip,.mv-spots>li[data-v="b"][data-edge="l"] .mv-spot.is-hover .mv-spot__tip{transform:translate(-1.2rem,0)}

/* Pista */
.mv-plan__hint{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:1.6rem 0 0;font:600 .68rem/1 var(--mv-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mv-tierra)}
.mv-plan__hint::before,.mv-plan__hint::after{content:"";height:1px;width:3rem;background:var(--mv-linea)}
.mv-plan__hint .mv-touch{display:none}

/* Leyenda + filtros */
.mv-plan__bar{max-width:calc(var(--mv-max) + 6rem);margin:clamp(1.6rem,3vw,2.6rem) auto 0;padding:0 var(--mv-gutter);display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;justify-content:space-between}
.mv-filters{display:flex;flex-wrap:wrap;gap:.6rem}
.mv-filter{border:1px solid var(--mv-linea);background:transparent;padding:.7rem 1.1rem;font:600 .66rem/1 var(--mv-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mv-tierra);cursor:pointer;display:inline-flex;align-items:center;gap:.6rem;transition:all .35s var(--mv-ease)}
.mv-filter i{width:.5rem;height:.5rem;border-radius:50%;background:var(--c,var(--mv-tinta))}
.mv-filter:hover{border-color:var(--mv-tinta);color:var(--mv-tinta)}
.mv-filter[aria-pressed="true"]{background:var(--mv-tinta);border-color:var(--mv-tinta);color:var(--mv-lino)}
.mv-filter:focus-visible{outline:2px solid var(--mv-oro-d);outline-offset:2px}
.mv-count{font:500 1.15rem/1 var(--mv-serif);color:var(--mv-tierra);font-style:italic}
.mv-chips{max-width:calc(var(--mv-max) + 6rem);margin:1.4rem auto 0;padding:0 var(--mv-gutter);list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(8.4rem,1fr));gap:1px;border-top:1px solid var(--mv-linea)}
.mv-chips li{background:var(--mv-crema);box-shadow:0 0 0 .5px var(--mv-linea)}
.mv-chip{--st:var(--mv-st-disp);width:100%;background:none;border:0;padding:1rem .9rem;text-align:left;cursor:pointer;font-family:var(--mv-sans);display:block;transition:background .35s var(--mv-ease),opacity .35s}
.mv-chip[data-status="reservado"]{--st:var(--mv-st-res)}
.mv-chip[data-status="vendido"]{--st:var(--mv-st-vend)}
.mv-chip b{display:block;font:500 1.55rem/1 var(--mv-serif);color:var(--mv-tinta)}
.mv-chip span{display:flex;align-items:center;gap:.45rem;margin-top:.55rem;font:600 .6rem/1 var(--mv-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mv-tierra)}
.mv-chip span::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--st)}
.mv-chip:hover,.mv-chip.is-hover{background:var(--mv-arena)}
.mv-chip.is-dim{opacity:.32}

/* ---------- Lightbox ---------- */
.mv-lb{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:1.2rem;visibility:hidden}
.mv-lb.is-mounted{visibility:visible}
.mv-lb__backdrop{position:absolute;inset:0;background:rgba(24,18,12,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .55s var(--mv-ease)}
.mv-lb.is-open .mv-lb__backdrop{opacity:1}
.mv-lb__panel{
  position:relative;width:min(1180px,100%);max-height:calc(100vh - 2.4rem);max-height:calc(100dvh - 2.4rem);overflow:auto;background:var(--mv-lino);color:var(--mv-tinta);
  clip-path:circle(0% at var(--ox,50%) var(--oy,50%));transition:clip-path .95s var(--mv-ease-io);outline:0;overscroll-behavior:contain
}
.mv-lb.is-open .mv-lb__panel{clip-path:circle(150% at var(--ox,50%) var(--oy,50%))}
.mv-lb__grid{display:grid;grid-template-columns:1.32fr 1fr;min-height:100%}
.mv-lb__left{background:var(--mv-tinta);display:flex;flex-direction:column}
.mv-lb__right{padding:clamp(1.8rem,3.2vw,3rem);display:flex;flex-direction:column;min-width:0}
.mv-lb__close{position:absolute;top:1rem;right:1rem;z-index:6;width:3rem;height:3rem;border-radius:50%;border:1px solid rgba(34,29,24,.25);background:transparent;color:var(--mv-tinta);cursor:pointer;display:grid;place-items:center;transition:transform .5s var(--mv-ease),background .3s}
.mv-lb__close:hover{background:var(--mv-oro-d);border-color:var(--mv-oro-d);color:#fff;transform:rotate(90deg)}
.mv-lb__close:focus-visible{outline:2px solid var(--mv-oro-d);outline-offset:3px}

/* Vídeo */
.mv-video{position:relative;aspect-ratio:16/9;overflow:hidden;background:#15110D;flex:none}
.mv-video>video,.mv-video>iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.mv-poster{position:absolute;inset:0;overflow:hidden}
.mv-poster__img{position:absolute;inset:0;background-repeat:no-repeat;background-color:#D9C4A0;animation:mv-kb 14s ease-in-out infinite alternate;transform-origin:60% 60%}
@keyframes mv-kb{0%{transform:scale(1)}100%{transform:scale(1.09) translate(-1.2%,-.8%)}}
.mv-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,18,12,.05) 45%,rgba(24,18,12,.62));pointer-events:none}
.mv-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:5.4rem;height:5.4rem;border-radius:50%;border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;display:grid;place-items:center;z-index:2;transition:transform .55s var(--mv-ease),background .4s}
.mv-play::before{content:"";position:absolute;inset:-.7rem;border-radius:50%;border:1px solid rgba(255,255,255,.4);animation:mv-ring 2.6s ease-out infinite}
.mv-play .mv-ico{margin-left:.28rem;fill:currentColor;stroke:none}
.mv-play:hover{background:var(--mv-oro-d);border-color:var(--mv-oro-d);transform:translate(-50%,-50%) scale(1.08)}
.mv-play:focus-visible{outline:2px solid #fff;outline-offset:4px}
.mv-video__cap{position:absolute;left:1.4rem;bottom:1.2rem;right:1.4rem;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;color:#fff;pointer-events:none}
.mv-video__cap b{font:500 1.5rem/1 var(--mv-serif)}
.mv-video__cap span{font:600 .62rem/1 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.mv-video__note{position:absolute;left:50%;bottom:4.2rem;transform:translate(-50%,10px);z-index:3;background:rgba(250,246,238,.96);color:var(--mv-tinta);padding:.85rem 1.2rem;font:600 .74rem/1.4 var(--mv-sans);letter-spacing:.04em;text-align:center;opacity:0;transition:opacity .4s,transform .5s var(--mv-ease);pointer-events:none;max-width:88%}
.mv-video__note.is-on{opacity:1;transform:translate(-50%,0)}

/* Especificaciones */
.mv-specs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;background:var(--mv-tinta);color:var(--mv-lino);flex:1}
.mv-specs li{padding:1.4rem 1.8rem;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:center;gap:.9rem}
.mv-specs li:nth-child(2n){border-right:0}
.mv-specs li:nth-child(n+3){border-bottom:0}
.mv-specs .mv-ico{color:var(--mv-oro-l)}
.mv-specs b{display:block;font:400 2.9rem/1 var(--mv-serif)}
.mv-specs b small{font-size:1.1rem;margin-left:.25rem;opacity:.7}
.mv-specs span{font:600 .6rem/1.4 var(--mv-sans);letter-spacing:.18em;text-transform:uppercase;opacity:.65}

/* Ficha */
.mv-lb__eyebrow{margin:.2rem 0 0;padding-right:3.2rem}
.mv-lb__title{font:400 clamp(2.6rem,4.4vw,4rem)/.95 var(--mv-serif);margin:1.2rem 0 1rem;letter-spacing:-.01em}
.mv-lb__title em{font-style:italic;color:var(--mv-oro-d)}
.mv-status{--st:var(--mv-st-disp);align-self:flex-start;display:inline-flex;align-items:center;gap:.6rem;padding:.55rem .9rem;border:1px solid var(--mv-linea);font:700 .62rem/1 var(--mv-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mv-tierra)}
.mv-status::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--st)}
.mv-status[data-status="reservado"]{--st:var(--mv-st-res)}
.mv-status[data-status="vendido"]{--st:var(--mv-st-vend)}
.mv-lb__desc{font:400 .95rem/1.75 var(--mv-sans);color:var(--mv-tierra);margin:1.4rem 0 0}
.mv-feat{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--mv-linea)}
.mv-feat li{display:flex;align-items:center;gap:.9rem;padding:.78rem 0;border-bottom:1px solid var(--mv-linea);font:500 .85rem/1.4 var(--mv-sans);color:var(--mv-tinta)}
.mv-feat .mv-ico{color:var(--mv-oliva)}
.mv-price{display:flex;align-items:baseline;justify-content:space-between;margin:1.6rem 0 0;font:600 .64rem/1 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mv-piedra)}
.mv-price strong{font:400 1.7rem/1 var(--mv-serif);letter-spacing:0;text-transform:none;color:var(--mv-tinta)}
.mv-lb__cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.mv-lb__cta .mv-btn{flex:1 1 auto;white-space:nowrap}
.mv-lb__cta .mv-btn:first-child{flex:2 1 auto}
.mv-lb__note{margin:1rem 0 0;font:500 .68rem/1.5 var(--mv-sans);color:var(--mv-piedra)}
.mv-lb__note:empty{display:none}
.mv-lb__nav{margin-top:auto;padding-top:1.8rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.mv-lb__nav>div{display:flex;align-items:center;gap:.5rem}
.mv-navbtn{width:2.9rem;height:2.9rem;border-radius:50%;border:1px solid var(--mv-linea);background:transparent;color:var(--mv-tinta);cursor:pointer;display:grid;place-items:center;transition:all .35s var(--mv-ease)}
.mv-navbtn:hover{background:var(--mv-tinta);color:var(--mv-lino);border-color:var(--mv-tinta)}
.mv-navbtn:focus-visible{outline:2px solid var(--mv-oro-d);outline-offset:2px}
.mv-count-lb{font:400 1.3rem/1 var(--mv-serif);font-style:italic;color:var(--mv-tierra)}
.mv-count-lb b{font-weight:500;color:var(--mv-tinta);font-style:normal}

/* Animación de contenido al abrir / cambiar */
.mv-lb [data-anim]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--mv-ease),transform .8s var(--mv-ease);transition-delay:calc(.45s + var(--k,0)*.07s)}
.mv-lb.is-open [data-anim]{opacity:1;transform:none}
.mv-lb.is-open.is-ready [data-anim]{transition-delay:calc(var(--k,0)*.05s)}
.mv-lb.is-swap [data-anim]{opacity:0;transform:translateY(10px);transition-duration:.22s}
.mv-lb.is-open.is-swap [data-anim]{transition-delay:0s}
.mv-lb.is-swap .mv-video{opacity:.0;transition:opacity .22s}
.mv-video{transition:opacity .45s}

body.mv-lock{overflow:hidden}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .mv-plan__head{grid-template-columns:1fr;align-items:start}
  .mv-lb{padding:0;place-items:end center}
  .mv-lb__panel{max-height:100vh;max-height:100dvh;width:100%;height:100%}
  .mv-lb__grid{grid-template-columns:1fr}
  .mv-specs li{padding:1.1rem .8rem}
  .mv-specs b{font-size:1.9rem}
  .mv-lb__right{padding:1.6rem var(--mv-gutter) 2rem}
  .mv-lb__close{top:.8rem;right:.8rem;width:2.7rem;height:2.7rem;border-color:rgba(255,255,255,.6);background:rgba(34,29,24,.4);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  .mv-specs{grid-template-columns:repeat(4,1fr);grid-auto-rows:auto;flex:none}
  .mv-specs li,.mv-specs li:nth-child(2n),.mv-specs li:nth-child(n+3){border-bottom:0;border-right:1px solid rgba(255,255,255,.12)}
  .mv-specs li:last-child{border-right:0}
  .mv-video__cap b{font-size:1.15rem}
  .mv-video__cap span{display:none}
  .mv-play{width:4.2rem;height:4.2rem}
}
@media (max-width:720px){
  .mv-plan__stage{padding:0}
  .mv-plan__scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none}
  .mv-plan__scroller::-webkit-scrollbar{display:none}
  .mv-plan__media{min-width:1120px;width:1120px;clip-path:none;box-shadow:none}
  .mv-spot{width:2rem;height:2rem}
  .mv-tod{position:static;margin:0 var(--mv-gutter) 1.1rem;width:max-content}
  .mv-plan__hint .mv-desk{display:none}
  .mv-plan__hint .mv-touch{display:inline}
  .mv-chips{grid-template-columns:repeat(2,1fr)}
  .mv-specs span{font-size:.54rem;letter-spacing:.12em}
  .mv-spot__tip{display:none}
}
@media (prefers-reduced-motion:reduce){
  .mv-spot,.mv-spot__ring,.mv-play::before,.mv-poster__img{animation:none!important}
  .mv-spot{opacity:1}
  .mv-plan__media,.mv-lb__panel,.mv-lb [data-anim]{transition-duration:.01s!important;transition-delay:0s!important}
  .mv-plan__media{clip-path:none}
}

/* ==========================================================
   MAROA VILLAGE · HOME · estilos de página
   ========================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--mv-crema);color:var(--mv-tinta);font-family:var(--mv-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:inherit}
section[id]{scroll-margin-top:4.5rem}
.wrap{max-width:var(--mv-max);margin:0 auto;padding:0 var(--mv-gutter)}
.mv-defs{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- Estados de entrada (solo si hay JS) ---------- */
.mv-js [data-reveal]{opacity:0;transform:translateY(30px);transition:opacity 1.1s var(--mv-ease),transform 1.3s var(--mv-ease);transition-delay:var(--d,0s)}
.mv-js [data-reveal].is-in{opacity:1;transform:none}
.mv-js [data-clip]{clip-path:inset(0 0 100% 0);transition:clip-path 1.6s var(--mv-ease);transition-delay:var(--d,0s)}
.mv-js [data-clip].is-in{clip-path:inset(0 0 0 0)}
.mv-words span{transition:opacity .5s ease,color .5s ease}
.mv-js .mv-words span{opacity:.14}
.mv-js .mv-words span.on{opacity:1}

/* ---------- Header ---------- */
.mvh{position:fixed;left:0;right:0;top:0;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem var(--mv-gutter);color:#fff;transition:background .5s var(--mv-ease),color .5s var(--mv-ease),padding .5s var(--mv-ease),box-shadow .5s}
.mvh.is-solid{background:rgba(244,237,225,.93);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--mv-tinta);padding:.85rem var(--mv-gutter);box-shadow:0 1px 0 var(--mv-linea)}
.mvh.is-menu{background:transparent;color:var(--mv-lino);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.mvh__logo{text-decoration:none;display:flex;align-items:center;gap:.8rem;line-height:1}
.mvh__emb{height:3.1rem;width:auto;display:block;transition:height .5s var(--mv-ease)}
.mvh__nom{height:1.35rem;width:auto;display:block;transition:height .5s var(--mv-ease)}
.mvh:not(.is-solid):not(.is-menu) .mvh__emb,.mvh:not(.is-solid):not(.is-menu) .mvh__nom{filter:brightness(1.35) saturate(1.05)}
.mvh.is-solid .mvh__emb{height:2.5rem}
.mvh.is-solid .mvh__nom{height:1.15rem}
.mvh__nav{display:flex;gap:2.4rem;margin-left:auto}
.mvh__nav a{position:relative;text-decoration:none;font:600 .68rem/1 var(--mv-sans);letter-spacing:.22em;text-transform:uppercase;padding:.5rem 0}
.mvh__nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--mv-ease)}
.mvh__nav a:hover::after,.mvh__nav a.is-active::after{transform:scaleX(1);transform-origin:left}
.mvh__cta{padding:.9rem 1.3rem}
.mvh.is-solid .mvh__cta{--bg:var(--mv-tinta);--fg:var(--mv-lino);--bd:var(--mv-tinta)}
.mvh__burger{display:none;width:2.8rem;height:2.8rem;border:0;background:none;color:inherit;cursor:pointer;position:relative}
.mvh__burger span{position:absolute;left:.6rem;right:.6rem;height:1.5px;background:currentColor;transition:transform .5s var(--mv-ease),top .5s var(--mv-ease)}
.mvh__burger span:nth-child(1){top:1.05rem}.mvh__burger span:nth-child(2){top:1.7rem}
.mvh.is-menu .mvh__burger span:nth-child(1){top:1.4rem;transform:rotate(45deg)}
.mvh.is-menu .mvh__burger span:nth-child(2){top:1.4rem;transform:rotate(-45deg)}
.mvmenu{position:fixed;inset:0;z-index:850;background:var(--mv-tinta);color:var(--mv-lino);display:flex;flex-direction:column;justify-content:center;padding:6rem var(--mv-gutter) 3rem;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .8s var(--mv-ease-io),visibility 0s .8s}
.mvmenu.is-open{clip-path:inset(0);visibility:visible;transition:clip-path .8s var(--mv-ease-io),visibility 0s}
.mvmenu a.mvmenu__l{display:block;text-decoration:none;font:400 clamp(2.6rem,11vw,4.6rem)/1.12 var(--mv-serif);padding:.3rem 0;opacity:0;transform:translateY(24px);transition:opacity .6s,transform .8s var(--mv-ease)}
.mvmenu.is-open a.mvmenu__l{opacity:1;transform:none;transition-delay:calc(.25s + var(--k)*.07s)}
.mvmenu a.mvmenu__l:hover{color:var(--mv-oro-l);font-style:italic}
.mvmenu__foot{margin-top:2.5rem;font:500 .8rem/1.7 var(--mv-sans);color:rgba(250,246,238,.6)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:max(100vh,680px);min-height:max(100svh,680px);overflow:hidden;color:#fff;background:#1B1613;display:flex;align-items:center}
.hero__scene{position:absolute;inset:0;transform:scale(1.14);transition:transform 3.4s var(--mv-ease)}
.hero.is-loaded .hero__scene{transform:scale(1)}
.hero__layer{position:absolute;left:0;right:0;top:-7%;height:114%;transform:translate3d(var(--mx,0px),var(--py,0px),0);will-change:transform}
.hero__img{width:100%;height:100%;object-fit:cover;object-position:52% 56%;display:block}
.hero__veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(20,15,12,.72) 0%,rgba(20,15,12,.38) 42%,rgba(20,15,12,0) 74%),linear-gradient(180deg,rgba(20,15,12,.5),rgba(20,15,12,0) 26%,rgba(20,15,12,0) 58%,rgba(20,15,12,.7))}
.hero__grain{position:absolute;inset:0;pointer-events:none;opacity:.13;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.hero__inner{position:relative;z-index:2;width:100%;max-width:var(--mv-max);margin:0 auto;padding:9rem var(--mv-gutter) 11rem;transform:translate3d(0,var(--ty,0),0);opacity:var(--op,1)}
.hero .mv-eyebrow{color:#E6CF9F}
.hero__title{font:400 clamp(3.3rem,7.6vw,8.4rem)/.94 var(--mv-serif);letter-spacing:-.015em;margin:1.8rem 0 0}
.hero__title .ln{display:block;white-space:nowrap;overflow:hidden;padding:.04em 0 .1em;margin-bottom:-.06em}
.hero__title .ln>span{display:block}
.hero__title em{font-style:italic;color:#E6CF9F}
.hero__lead{font:400 clamp(1rem,1.25vw,1.15rem)/1.75 var(--mv-sans);max-width:31rem;margin:2rem 0 0;color:rgba(255,255,255,.88)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.4rem}
.mv-js .hero .ln>span{transform:translateY(112%);transition:transform 1.5s var(--mv-ease);transition-delay:calc(.45s + var(--k)*.14s)}
.mv-js .hero.is-loaded .ln>span{transform:none}
.mv-js .hero [data-hi]{opacity:0;transform:translateY(22px);transition:opacity 1.1s var(--mv-ease),transform 1.3s var(--mv-ease);transition-delay:var(--d,0s)}
.mv-js .hero.is-loaded [data-hi]{opacity:1;transform:none}
.mv-js .mvh{opacity:0;transform:translateY(-14px);transition:opacity 1s .2s,transform 1s .2s var(--mv-ease),background .5s var(--mv-ease),color .5s var(--mv-ease),padding .5s var(--mv-ease),box-shadow .5s}
.mv-js.is-ready .mvh{opacity:1;transform:none}
.hero__facts{position:absolute;left:0;right:0;bottom:0;z-index:3;list-style:none;margin:0;padding:0 var(--mv-gutter);display:grid;grid-template-columns:repeat(4,1fr);max-width:calc(var(--mv-max) + var(--mv-gutter)*2);margin-inline:auto}
.hero__facts li{padding:1.5rem 1.4rem 1.7rem 0;border-top:1px solid rgba(255,255,255,.28)}
.hero__facts b{display:block;font:400 clamp(2rem,3.4vw,3rem)/1 var(--mv-serif)}
.hero__facts b i{font-style:italic;color:#E6CF9F}
.hero__facts span{display:block;margin-top:.55rem;font:600 .62rem/1.4 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.hero__scroll{position:absolute;right:var(--mv-gutter);bottom:9.2rem;z-index:3;display:flex;flex-direction:column;align-items:center;gap:.9rem;text-decoration:none;color:#fff;font:600 .58rem/1 var(--mv-sans);letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl}
.hero__scroll i{display:block;width:1px;height:4.2rem;background:rgba(255,255,255,.3);position:relative;overflow:hidden;writing-mode:horizontal-tb}
.hero__scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:#fff;animation:mv-scroll 2.2s var(--mv-ease-io) infinite}
@keyframes mv-scroll{0%{top:-100%}60%,100%{top:100%}}

/* ---------- Concepto ---------- */
.concept{padding:var(--mv-section) 0 0;background:var(--mv-crema);position:relative}
.concept__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(1rem,2vw,2rem);row-gap:clamp(2rem,4vw,3.5rem)}
.concept__eyebrow{grid-column:1/-1}
.concept__title{grid-column:1/9;font:400 clamp(2.6rem,6vw,6.2rem)/1.02 var(--mv-serif);letter-spacing:-.012em;margin:0}
.concept__title em{font-style:italic;color:var(--mv-oro-d)}
.concept__body{grid-column:9/13;align-self:end;padding-bottom:.8rem}
.concept__body p{font:400 1rem/1.8 var(--mv-sans);color:var(--mv-tierra);margin:0 0 1.2rem}
.concept__link{display:inline-flex;align-items:center;gap:.8rem;margin-top:.6rem;text-decoration:none;font:700 .68rem/1 var(--mv-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mv-tinta);padding-bottom:.7rem;border-bottom:1px solid var(--mv-tinta);transition:color .4s,border-color .4s,gap .5s var(--mv-ease)}
.concept__link:hover{color:var(--mv-oro-d);border-color:var(--mv-oro-d);gap:1.2rem}
.stats{grid-column:1/-1;list-style:none;margin:clamp(1rem,3vw,3rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.stats li{border-top:1px solid var(--mv-linea);padding:1.6rem 1.4rem 0 0}
.stats b{display:block;font:400 clamp(3.2rem,7vw,6.6rem)/.95 var(--mv-serif);letter-spacing:-.02em}
.stats b em{font-style:italic;color:var(--mv-oro-d);font-size:.55em;margin-left:.1em}
.stats strong{font-weight:inherit}
.stats b .dash{font-style:normal;font-size:1em;margin:0 .06em;color:var(--mv-oro-d)}
.stats li>span{display:block;margin-top:.8rem;font:600 .64rem/1.5 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mv-tierra)}
.band{position:relative;height:clamp(320px,50vw,700px);overflow:hidden;margin:clamp(3.5rem,8vw,8rem) 0 0;background:var(--mv-arena)}
.band img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;object-position:50% 55%;display:block;transform:translate3d(0,var(--pp,0),0);will-change:transform}
.band figcaption{position:absolute;left:var(--mv-gutter);bottom:1.4rem;color:#fff;font:600 .62rem/1 var(--mv-sans);letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 12px rgba(0,0,0,.35)}

/* ---------- Diseño (split sticky) ---------- */
.design{background:var(--mv-lino);padding:var(--mv-section) 0}
.design__head{margin-bottom:clamp(2.5rem,6vw,5rem)}
.design__title{font:400 clamp(2.8rem,6.4vw,6rem)/.98 var(--mv-serif);margin:1.4rem 0 0;letter-spacing:-.012em}
.design__title em{font-style:italic;color:var(--mv-oro-d)}
.design__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem);align-items:start}
.step{min-height:68vh;display:flex;flex-direction:column;justify-content:center;opacity:.25;transition:opacity .7s var(--mv-ease)}
.step.is-active{opacity:1}
.step__n{font:italic 400 1.4rem/1 var(--mv-serif);color:var(--mv-oro-d)}
.step h3{font:400 clamp(2.2rem,4vw,3.6rem)/1 var(--mv-serif);margin:1rem 0 1.2rem;letter-spacing:-.01em}
.step p{font:400 1rem/1.8 var(--mv-sans);color:var(--mv-tierra);max-width:26rem;margin:0}
.step__fig{display:none}
.design__sticky{position:sticky;top:12vh;height:76vh;min-height:420px}
.fig{position:absolute;inset:0;overflow:hidden;opacity:0;clip-path:inset(7% 7% 7% 7%);transition:opacity .9s var(--mv-ease),clip-path 1.3s var(--mv-ease);background:var(--mv-arena)}
.fig.is-active{opacity:1;clip-path:inset(0 0 0 0)}
.fig img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.08);transition:transform 2.4s var(--mv-ease)}
.fig.is-active img{transform:scale(1)}
.fig[data-fig="1"] img{object-position:38% 50%}.fig[data-fig="2"] img{object-position:62% 50%}.fig[data-fig="3"] img{object-position:52% 50%}.fig[data-fig="4"] img{object-position:46% 50%}
.fig figcaption{position:absolute;left:1.2rem;bottom:1rem;font:600 .6rem/1 var(--mv-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mv-tierra);background:rgba(250,246,238,.85);padding:.55rem .8rem}

/* ---------- Entorno ---------- */
.env{background:var(--mv-tinta);color:var(--mv-lino);padding:var(--mv-section) 0}
.env .mv-eyebrow{color:var(--mv-oro-l)}
.env__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,7rem);align-items:center}
.env__title{font:400 clamp(2.8rem,6vw,5.8rem)/.98 var(--mv-serif);margin:1.4rem 0 1.4rem;letter-spacing:-.012em}
.env__title em{font-style:italic;color:var(--mv-oro-l)}
.env__lead{font:400 1rem/1.8 var(--mv-sans);color:rgba(250,246,238,.7);max-width:30rem;margin:0 0 2.2rem}
.dist{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.16)}
.dist li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.15rem 0;border-bottom:1px solid rgba(255,255,255,.16);transition:padding .5s var(--mv-ease),color .4s;cursor:default}
.dist li:hover,.dist li.is-hover{padding-left:.9rem;color:var(--mv-oro-l)}
.dist span{font:500 1.05rem/1.3 var(--mv-sans)}
.dist b{font:400 2.1rem/1 var(--mv-serif);white-space:nowrap}
.dist b i{font-style:normal}
.dist b small{font:600 .6rem/1 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase;margin-left:.4rem;opacity:.7}
.env__note{margin:1.2rem 0 0;font:500 .72rem/1.6 var(--mv-sans);color:rgba(250,246,238,.5)}
.map{position:relative;aspect-ratio:900/620;overflow:hidden;background:#EBDDC3;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.map>svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.map__routes path{fill:none;stroke:rgba(122,100,50,.9);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--mv-ease-io);transition-delay:calc(.6s + var(--i)*.18s)}
.map.is-in .map__routes path{stroke-dashoffset:0}
.pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);color:var(--mv-tinta)}
.pin i{display:block;width:.8rem;height:.8rem;border-radius:50%;background:#fff;border:2px solid var(--mv-tinta);transition:transform .4s var(--mv-ease),background .4s}
.pin span{position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);white-space:nowrap;font:700 .62rem/1 var(--mv-sans);letter-spacing:.14em;text-transform:uppercase;background:rgba(250,246,238,.92);padding:.4rem .6rem}
.pin.is-hover i{transform:scale(1.5);background:var(--mv-oro-d)}
.pin--main i{width:1.3rem;height:1.3rem;background:var(--mv-oro-d);border-color:#fff;position:relative}
.pin--main i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--mv-oro-d);animation:mv-ring 2.6s ease-out infinite}
.pin--main span{background:var(--mv-tinta);color:var(--mv-lino)}
.mv-js .map .pin{opacity:0;transition:opacity .8s var(--mv-ease);transition-delay:calc(.4s + var(--i)*.15s)}
.mv-js .map.is-in .pin{opacity:1}
.map__scale{position:absolute;right:1rem;bottom:1rem;font:600 .56rem/1 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mv-tierra);background:rgba(250,246,238,.8);padding:.45rem .6rem}

/* ---------- Galería ---------- */
.gal{background:var(--mv-crema);padding:var(--mv-section) 0}
.gal__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(2rem,4vw,3.4rem)}
.gal__title{font:400 clamp(2.8rem,6vw,5.6rem)/.98 var(--mv-serif);margin:1.4rem 0 0;letter-spacing:-.012em}
.gal__title em{font-style:italic;color:var(--mv-oro-d)}
.gal__ctrl{display:flex;gap:.6rem}
.gal__track{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--mv-gutter);padding:0 var(--mv-gutter) 1rem;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
.gal__track::-webkit-scrollbar{display:none}
.gal__track.is-drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.gal__item{flex:0 0 clamp(250px,27vw,410px);scroll-snap-align:start;margin:0}
.gal__item:nth-child(even){margin-top:clamp(1.5rem,4vw,3.5rem)}
.gal__img{aspect-ratio:4/5;overflow:hidden;background:var(--mv-arena);position:relative}
.gal__img img{width:100%;height:100%;object-fit:cover;object-position:var(--ox,50%) var(--oy,50%);display:block;transform-origin:var(--ox,50%) var(--oy,50%);transform:scale(var(--z,1));transition:transform 1.6s var(--mv-ease);pointer-events:none}
.gal__item:hover .gal__img img{transform:scale(calc(var(--z,1)*1.07))}
.gal__item figcaption{display:flex;justify-content:space-between;margin-top:1rem;font:600 .64rem/1 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mv-tierra)}
.gal__item figcaption b{font:italic 400 1.2rem/1 var(--mv-serif);letter-spacing:0;text-transform:none;color:var(--mv-oro-d)}
.gal__bar{margin:1.6rem var(--mv-gutter) 0;height:1px;background:var(--mv-linea);position:relative}
.gal__bar i{position:absolute;left:0;top:-1px;height:3px;width:var(--w,20%);background:var(--mv-oro-d);transform:translateX(var(--x,0));transition:transform .2s linear}

/* ---------- Calidades ---------- */
.amen{background:var(--mv-lino);padding:var(--mv-section) 0}
.amen__head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,5vw,6rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.amen__title{font:400 clamp(2.8rem,6vw,5.8rem)/.98 var(--mv-serif);margin:1.4rem 0 0;letter-spacing:-.012em}
.amen__title em{font-style:italic;color:var(--mv-oro-d)}
.amen__lead{font:400 1rem/1.8 var(--mv-sans);color:var(--mv-tierra);margin:0;max-width:30rem}
.amen__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--mv-linea);border-left:1px solid var(--mv-linea)}
.amen__grid li{padding:clamp(1.8rem,3vw,2.8rem);border-right:1px solid var(--mv-linea);border-bottom:1px solid var(--mv-linea);transition:background .5s var(--mv-ease),color .5s;position:relative}
.amen__grid li:hover{background:var(--mv-tinta);color:var(--mv-lino)}
.amen__grid .mv-ico{color:var(--mv-oro-d);transition:transform .6s var(--mv-ease),color .4s}
.amen__grid li:hover .mv-ico{transform:translateY(-4px) scale(1.08);color:var(--mv-oro-l)}
.amen__grid h3{font:400 1.9rem/1.05 var(--mv-serif);margin:1.6rem 0 .7rem}
.amen__grid p{font:400 .9rem/1.7 var(--mv-sans);margin:0;color:var(--mv-tierra);transition:color .4s}
.amen__grid li:hover p{color:rgba(250,246,238,.72)}
.opts{margin-top:clamp(2.2rem,4vw,3.6rem);display:grid;grid-template-columns:14rem 1fr;gap:1.2rem 2.5rem;align-items:start}
.opts h3{font:italic 400 1.7rem/1.1 var(--mv-serif);margin:0;color:var(--mv-tinta)}
.opts ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.opts li{border:1px solid var(--mv-linea);padding:.65rem 1rem;font:600 .64rem/1.3 var(--mv-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mv-tierra);background:var(--mv-crema)}
.amen__foot{margin:1.4rem 0 0;font:500 .74rem/1.6 var(--mv-sans);color:var(--mv-piedra);max-width:46rem}
.infog{margin-top:clamp(2rem,4vw,3.5rem);border:1px dashed rgba(34,29,24,.32);aspect-ratio:16/4;display:grid;place-items:center;text-align:center;padding:1.5rem;color:var(--mv-tierra);background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(34,29,24,.03) 14px 28px)}
.infog b{display:block;font:italic 400 1.7rem/1.1 var(--mv-serif);color:var(--mv-tinta)}
.infog span{display:block;margin-top:.6rem;font:600 .62rem/1.5 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase}

/* ---------- Estado del proyecto ---------- */
.prog{background:var(--mv-arena);padding:clamp(4rem,8vw,7rem) 0}
.prog__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.prog__title{font:400 clamp(2.2rem,4.4vw,4rem)/1 var(--mv-serif);margin:1.2rem 0 0}
.prog__title em{font-style:italic;color:var(--mv-oro-d)}
.prog__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.prog__steps::before{content:"";position:absolute;left:0;right:0;top:.55rem;height:1px;background:rgba(34,29,24,.22)}
.prog__steps::after{content:"";position:absolute;left:0;top:.55rem;height:1.5px;background:var(--mv-oro-d);width:0;transition:width 2.2s var(--mv-ease-io) .3s}
.prog.is-in .prog__steps::after{width:62.5%}
.prog__steps li{position:relative;padding-top:2.2rem;padding-right:1rem}
.prog__steps li::before{content:"";position:absolute;left:0;top:0;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--mv-arena);border:1.5px solid rgba(34,29,24,.4);z-index:1}
.prog__steps li.done::before{background:var(--mv-oro-d);border-color:var(--mv-oro-d)}
.prog__steps li.now::before{background:var(--mv-arena);border-color:var(--mv-oro-d);box-shadow:0 0 0 5px rgba(122,100,50,.22)}
.prog__steps b{display:block;font:400 1.6rem/1.1 var(--mv-serif)}
.prog__steps span{display:block;margin-top:.6rem;font:600 .6rem/1.4 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mv-tierra)}

/* ---------- Contacto ---------- */
.contact{display:grid;grid-template-columns:1fr 1fr;background:var(--mv-lino)}
.contact__l{background:#1D1713;color:var(--mv-lino);padding:var(--mv-section) var(--mv-gutter);position:relative;overflow:hidden;isolation:isolate}
.contact__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%;opacity:.42;z-index:-2}
.contact__l::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(29,23,19,.72),rgba(29,23,19,.5) 45%,rgba(29,23,19,.88))}
.contact__l .mv-eyebrow{color:#E6CF9F}
.contact__title{font:400 clamp(2.8rem,6vw,5.6rem)/.98 var(--mv-serif);margin:1.4rem 0 1.4rem;letter-spacing:-.012em;position:relative}
.contact__title em{font-style:italic;color:#E6CF9F}
.contact__lead{font:400 1rem/1.8 var(--mv-sans);color:rgba(250,246,238,.82);max-width:28rem;margin:0 0 2.6rem;position:relative}
.contact__list{list-style:none;margin:0 0 2.4rem;padding:0;position:relative}
.contact__list li{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.22);font:500 .95rem/1.4 var(--mv-sans)}
.contact__list li:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.contact__list .mv-ico{color:#E6CF9F}
.contact__list a{text-decoration:none}
.contact__list a:hover{text-decoration:underline}
.contact__r{padding:var(--mv-section) var(--mv-gutter);display:flex;align-items:center}
.form{width:100%;max-width:34rem;display:grid;gap:1.7rem}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.7rem}
.field{position:relative;display:block}
.field label{display:block;font:600 .6rem/1 var(--mv-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mv-tierra);margin-bottom:.6rem}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(34,29,24,.3);padding:.7rem 0;font:400 1.05rem/1.4 var(--mv-sans);color:var(--mv-tinta);border-radius:0;outline:0;transition:border-color .4s;-webkit-appearance:none;appearance:none}
.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23221D18' stroke-width='1.4'/></svg>");background-repeat:no-repeat;background-position:right .2rem center;padding-right:1.6rem}
.field textarea{resize:vertical;min-height:5.5rem}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--mv-oro-d)}
.field.is-err input,.field.is-err select{border-color:#B0342B}
.field .err{position:absolute;right:0;top:0;font:600 .58rem/1 var(--mv-sans);letter-spacing:.14em;text-transform:uppercase;color:#B0342B;opacity:0;transition:opacity .3s}
.field.is-err .err{opacity:1}
.check{display:flex;gap:.8rem;align-items:flex-start;font:400 .78rem/1.6 var(--mv-sans);color:var(--mv-tierra)}
.check input{margin-top:.25rem;accent-color:var(--mv-oro-d);width:1rem;height:1rem;flex:none}
.check a{color:var(--mv-tinta)}
.form__ok{display:none;padding:1.4rem 1.5rem;border:1px solid var(--mv-oliva);color:var(--mv-oliva);font:600 .8rem/1.6 var(--mv-sans)}
.form.is-sent .form__ok{display:block}
.form__note{font:500 .68rem/1.5 var(--mv-sans);color:var(--mv-piedra);margin:0}

/* ---------- Footer ---------- */
.foot{background:var(--mv-tinta);color:var(--mv-lino);padding:clamp(3.5rem,7vw,6rem) 0 2rem}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.foot__logo{display:block;width:clamp(150px,14vw,200px);height:auto}
.foot__tag{font:400 .92rem/1.7 var(--mv-sans);color:rgba(250,246,238,.6);max-width:22rem;margin:1.2rem 0 0}
.foot h4{font:600 .62rem/1 var(--mv-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mv-oro-l);margin:0 0 1.2rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.foot a{text-decoration:none;font:400 .92rem/1.4 var(--mv-sans);color:rgba(250,246,238,.75);transition:color .3s}
.foot a:hover{color:#fff}
.foot__bar{margin-top:clamp(2.5rem,5vw,4.5rem);padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font:500 .7rem/1.5 var(--mv-sans);color:rgba(250,246,238,.5)}

/* ---------- Aviso de borrador (pestaña lateral, se puede cerrar) ---------- */
.mv-draft{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:800;display:flex;flex-direction:column;align-items:center;gap:.6rem;background:rgba(34,29,24,.92);color:var(--mv-lino);padding:.5rem .3rem .9rem;width:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mv-draft span{writing-mode:vertical-rl;font:600 .54rem/1 var(--mv-sans);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.mv-draft::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:var(--mv-oro-l);flex:none;order:3}
.mv-draft button{background:none;border:0;color:inherit;cursor:pointer;padding:.2rem;font-size:1rem;line-height:1;opacity:.7;order:1}
.mv-draft button:hover{opacity:1}
.mv-draft span{order:2}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .mvh__nav,.mvh__cta{display:none}
  .mvh__burger{display:block;margin-left:auto}
  .concept__title{grid-column:1/-1}
  .concept__body{grid-column:1/-1}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats li{padding-bottom:1.6rem}
  .design__grid{grid-template-columns:1fr}
  .design__sticky{display:none}
  .step{min-height:0;opacity:1;padding:3.5rem 0;border-top:1px solid var(--mv-linea)}
  .step__fig{display:block;margin:2rem 0 0;aspect-ratio:4/5;max-height:70vh;overflow:hidden;background:var(--mv-arena)}
  .step__fig img{width:100%;height:100%;object-fit:cover;display:block}
  .env__grid{grid-template-columns:1fr}
  .amen__head{grid-template-columns:1fr;align-items:start}
  .amen__grid{grid-template-columns:repeat(2,1fr)}
  .opts{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr 1fr}
  .hero__scroll{display:none}
}
@media (max-width:640px){
  .hero__inner{padding-top:7.5rem;padding-bottom:12.5rem}
  .hero__title .ln{white-space:normal}
  .mv-draft{display:none}
  .hero__facts{grid-template-columns:repeat(2,1fr)}
  .hero__facts li{padding:1rem 1rem 1.1rem 0}
  .hero__facts li:nth-child(n+3){display:none}
  .hero__cta .mv-btn{flex:1 1 100%}
  .hero__img{object-position:60% 50%}
  .mvh__emb{height:2.5rem}
  .mvh__nom{height:1.1rem}
  .stats b{font-size:3rem}
  .amen__grid{grid-template-columns:1fr}
  .pin:not(.pin--main) span{display:none}
  .infog{aspect-ratio:16/9}
  .prog__steps{grid-template-columns:1fr;gap:1.6rem}
  .prog__steps::before,.prog__steps::after{display:none}
  .prog__steps li{padding-top:0;padding-left:2.2rem}
  .form__row{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr}
  .gal__head{flex-direction:column;align-items:flex-start}
  .mv-draft{font-size:.54rem}
}
/* ---------- Modal: vídeo del proyecto ---------- */
.mv-vid{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:1.2rem;visibility:hidden;opacity:0;transition:opacity .4s var(--mv-ease),visibility 0s .4s}
.mv-vid.is-open{visibility:visible;opacity:1;transition:opacity .4s var(--mv-ease)}
.mv-vid__backdrop{position:absolute;inset:0;background:rgba(24,18,12,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mv-vid__box{position:relative;width:min(1100px,100%);aspect-ratio:16/9;background:#000;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);transform:scale(.96);transition:transform .45s var(--mv-ease)}
.mv-vid.is-open .mv-vid__box{transform:scale(1)}
.mv-vid__box video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.mv-vid__close{position:absolute;top:-2.6rem;right:0;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .3s,transform .5s var(--mv-ease)}
.mv-vid__close:hover{background:var(--mv-oro-d);border-color:var(--mv-oro-d);transform:rotate(90deg)}
.mv-vid__close:focus-visible{outline:2px solid var(--mv-oro-d);outline-offset:3px}
@media (max-width:720px){
  .mv-vid__close{top:-2.3rem;width:2.3rem;height:2.3rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mv-js [data-reveal],.mv-js [data-clip],.mv-js .hero .ln>span,.mv-js .hero [data-hi],.mv-js .mvh{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .mv-js .mv-words span{opacity:1}
  .hero__scene{transform:none!important;transition:none}
  .hero__scroll i::after,.pin--main i::after{animation:none!important}
}/* End custom CSS */