:root{
  --bg:#050504;--panel:#11100B;--panel-2:#15130D;--soft:#EEE7D8;--text:#F7F1E7;--muted:#C9BEA8;--gold:#D6BF8A;--violet:#5A3474;--violet-soft:#7A5792;--max:1180px;--radius:28px;--shadow:0 28px 70px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(100% - 48px,var(--max));margin-inline:auto}.section{padding:100px 0}.eyebrow{margin:0 0 14px;color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:900}h1,h2{font-family:Marcellus,Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1;margin:0}h1{font-size:clamp(3.8rem,8vw,7.2rem)}h2{font-size:clamp(2.4rem,4.8vw,5rem)}h3{margin:0 0 12px;font-size:1.2rem;line-height:1.15}p{color:var(--muted)}.section-lead{font-size:1.08rem;max-width:560px}

.site-header{position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:50;width:min(calc(100% - 32px),1320px);height:76px;display:grid;grid-template-columns:190px 1fr auto;align-items:center;padding:0 18px 0 24px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(5,5,4,.78);backdrop-filter:blur(16px)}.brand img{width:85px}.main-nav{display:flex;justify-content:center;gap:24px}.main-nav a{font-size:.88rem;font-weight:800;letter-spacing:.04em}.header-actions{display:flex;align-items:center;gap:16px}.phone{font-size:.9rem}.mini-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900}.mini-cta{min-height:44px;padding:0 20px;background:var(--gold);color:#090807}.btn{min-height:52px;padding:0 24px}.btn-primary{background:var(--gold);color:#090807}.btn-secondary{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.07);color:#fff}.full{width:100%}.nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px}.nav-toggle span{display:block;height:2px;background:#fff;margin:7px 0;border-radius:999px}

.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:150px 0 70px}.hero-video,.hero-overlay{position:absolute;inset:0}.hero-video{background:#11100B url("assets/backgrounds/hero-fallback.svg") center/cover no-repeat;overflow:hidden}.hero-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-width:177.78vh;min-height:100vh;transform:translate(-50%,-50%);border:0;pointer-events:none}.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.48) 45%,rgba(5,5,4,.9) 100%)}.hero-content{position:relative;z-index:2}.hero-logo{width:220px;margin:0 0 24px}.hero-content p:not(.eyebrow){max-width:650px;font-size:1.08rem;color:#F1E7D8}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid rgba(255,255,255,.1);background:#0B0A07}.stat{padding:32px 24px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}.stat:last-child{border-right:0}.stat strong{display:block;font-family:Marcellus,Georgia,serif;color:var(--gold);font-size:clamp(2.6rem,5vw,5.4rem);font-weight:400;line-height:.9}.stat span{display:block;margin-top:10px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900;color:#F7F1E7}

.split{display:grid;grid-template-columns:.86fr 1.14fr;gap:56px;align-items:start}.text-block{max-width:700px}.text-block p{font-size:1.05rem}.intro{background:#050504}.image-mosaic{margin-top:44px;display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:260px;gap:16px}.image-card{position:relative;border-radius:26px;overflow:hidden;background:#11100B;box-shadow:var(--shadow)}.image-card.tall{grid-row:span 2}.image-card.wide{grid-column:span 2}.image-card img{width:100%;height:100%;object-fit:cover}.image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 60%)}.image-card span{position:absolute;left:22px;bottom:18px;z-index:2;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900}

.parallax-band{min-height:520px;display:flex;align-items:center;background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed;position:relative}.parallax-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.28))}.parallax-copy{position:relative;z-index:1;max-width:var(--max)}.parallax-copy h2{max-width:650px}.parallax-copy p:not(.eyebrow){max-width:520px;color:#F1E7D8}.parallax-portal{background-image:url("assets/backgrounds/portal.jpg")}.parallax-laguna{background-image:url("assets/backgrounds/laguna.jpg")}.parallax-clubhouse{background-image:url("assets/backgrounds/clubhouse.jpg")}.parallax-masterplan{background-image:url("assets/backgrounds/masterplan2.jpg")}

.why,.amenities{background:var(--soft);color:#15130D}.why p,.amenities p,.why .section-lead,.amenities .section-lead{color:#665A48}.why .eyebrow,.amenities .eyebrow{color:var(--violet)}.section-title{margin-bottom:38px;max-width:760px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-card{min-height:230px;background:#fffaf0;border:1px solid rgba(0,0,0,.08);border-radius:24px;padding:28px;box-shadow:0 22px 60px rgba(28,20,12,.08)}.info-card span{display:block;margin-bottom:42px;color:var(--violet);font-size:.72rem;font-weight:900;letter-spacing:.16em}.info-card p{margin-bottom:0}

.visual-section{background:#050504}.visual-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:center}.visual-split.reverse{grid-template-columns:1.15fr .85fr}.visual-split.reverse .visual-copy{order:2}.visual-split.reverse .visual-image{order:1}.visual-image{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12)}.visual-image img{width:100%;height:560px;object-fit:cover}.spec-table{margin-top:28px;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;background:rgba(255,255,255,.05)}.spec-table div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.spec-table div:last-child{border-bottom:0}.spec-table span{color:var(--muted)}

.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.amenity-grid article{background:#fffaf0;border:1px solid rgba(0,0,0,.08);border-radius:24px;overflow:hidden;box-shadow:0 22px 60px rgba(28,20,12,.08)}.amenity-grid img{width:100%;aspect-ratio:16/10;object-fit:cover}.amenity-grid div{padding:22px}.amenity-grid p{margin-bottom:0}

.gallery-section{background:#070604}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#11100B}

.location{background:#070604}.clean-list{padding:0;margin:24px 0;list-style:none}.clean-list li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#F7F1E7}.map-link{display:inline-flex;margin-top:4px;color:var(--gold);font-weight:900;text-decoration:underline;text-underline-offset:5px}.map-box{border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow);background:#11100B}.map-box iframe{display:block;width:100%;min-height:460px}

.contact{background:#050504}.contact-grid{display:grid;grid-template-columns:.85fr .75fr;gap:64px;align-items:start}.contact-data{display:grid;gap:18px;margin-top:28px}.contact-data>a{font-weight:900;color:#fff}.social-row,.footer-social{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.social-row a,.footer-social a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06)}.social-row svg,.footer-social svg{width:21px;height:21px;fill:currentColor}.lead-form{padding:30px;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}.lead-form label{display:block;margin-bottom:14px;color:#F7F1E7;font-weight:800;font-size:.88rem}.lead-form input,.lead-form textarea{width:100%;margin-top:8px;padding:15px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.24);color:#fff;font:inherit;outline:none}.lead-form textarea{min-height:130px;resize:vertical}

.site-footer{padding:38px 0;background:#000;border-top:1px solid rgba(255,255,255,.1)}.footer-grid{display:grid;grid-template-columns:220px 1fr auto;gap:20px;align-items:center}.footer-grid img{width:190px}.footer-grid p{margin:0;color:#fff;text-align:center}.whatsapp-float,.back-top{position:fixed;z-index:80;border:0;display:grid;place-items:center;border-radius:999px;box-shadow:0 18px 44px rgba(0,0,0,.34);cursor:pointer}.whatsapp-float{right:20px;bottom:20px;width:58px;height:58px;background:#25d366;color:#071006}.whatsapp-float svg{width:30px;height:30px;fill:currentColor}.back-top{right:20px;bottom:88px;width:46px;height:46px;background:var(--gold);color:#090807;font-size:20px;font-weight:900;opacity:0;visibility:hidden}.back-top.show{opacity:1;visibility:visible}

@media (max-width:1100px){.site-header{grid-template-columns:170px 1fr 42px}.header-actions{display:none}.nav-toggle{display:block;justify-self:end}.main-nav{position:fixed;top:78px;left:12px;right:12px;display:none;flex-direction:column;align-items:flex-start;padding:22px;border-radius:22px;background:rgba(5,5,4,.96);border:1px solid rgba(255,255,255,.12)}body.menu-open .main-nav{display:flex}.split,.contact-grid,.visual-split,.visual-split.reverse{grid-template-columns:1fr}.visual-split.reverse .visual-copy,.visual-split.reverse .visual-image{order:initial}.cards-grid,.amenity-grid{grid-template-columns:repeat(2,1fr)}.stats-strip{grid-template-columns:repeat(3,1fr)}.image-mosaic{grid-template-columns:1fr 1fr}.image-card.tall{grid-row:auto}.image-card.wide{grid-column:span 2}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.container{width:calc(100% - 28px)}.site-header{top:10px;height:62px;width:calc(100% - 20px);padding-left:16px}.brand img{width:70px}.hero{min-height:92svh;padding:118px 0 44px}.hero-logo{width:170px}h1{font-size:clamp(3rem,15vw,4.8rem)}h2{font-size:clamp(2rem,10vw,3.2rem)}.hero-buttons{display:grid;grid-template-columns:1fr}.btn{width:100%;min-height:48px}.stats-strip{grid-template-columns:1fr 1fr}.stat{padding:22px 14px}.stat strong{font-size:3.3rem}.section{padding:72px 0}.cards-grid,.amenity-grid,.gallery-grid,.image-mosaic{grid-template-columns:1fr}.image-card,.image-card.wide{grid-column:auto;height:220px}.info-card{min-height:auto;padding:22px;border-radius:20px}.info-card span{margin-bottom:24px}.spec-table div{grid-template-columns:1fr;gap:6px;padding:18px}.visual-image img{height:320px}.parallax-band{min-height:430px;background-attachment:scroll}.map-box iframe{min-height:360px}.lead-form{padding:20px;border-radius:22px}.footer-grid{grid-template-columns:1fr;justify-items:start}.footer-grid p{text-align:left}.whatsapp-float{right:14px;bottom:14px;width:54px;height:54px}.back-top{right:14px;bottom:78px}}


/* ===== Mejora integral de diseño ===== */
.site-header.scrolled{
  background:rgba(5,5,4,.94);
  box-shadow:0 18px 60px rgba(0,0,0,.28);
}
.main-nav a{
  position:relative;
}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:2px;
  transform:scaleX(0);
  transform-origin:left;
  background:var(--gold);
  transition:transform .22s ease;
}
.main-nav a:hover::after{
  transform:scaleX(1);
}
.hero-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.hero-badges span{
  display:inline-flex;
  min-height:36px;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
  color:#F7F1E7;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.04em;
}
.stats-strip{
  position:relative;
  z-index:2;
}
.stat{
  transition:background .22s ease, transform .22s ease;
}
.stat:hover{
  background:rgba(255,255,255,.04);
  transform:translateY(-2px);
}
.primary-stat{
  background:linear-gradient(180deg,rgba(214,191,138,.12),rgba(255,255,255,0));
}
.range-stat strong{
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:10px;
}
.range-stat em{
  font-style:normal;
}
.range-stat small{
  font-family:Inter,Arial,sans-serif;
  color:#F7F1E7;
  font-size:1rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cta-band{
  padding:70px 0;
  background:
    radial-gradient(circle at 84% 12%,rgba(90,52,116,.26),transparent 34%),
    linear-gradient(135deg,#11100B,#050504);
  border-block:1px solid rgba(255,255,255,.1);
}
.cta-grid{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:34px;
}
.cta-grid h2{
  font-size:clamp(2.2rem,4.2vw,4.5rem);
}
.cta-grid p:not(.eyebrow){
  max-width:620px;
  margin-bottom:0;
}
.cta-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.image-card,
.visual-image,
.amenity-grid article,
.gallery-grid img,
.map-box{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.image-card:hover,
.visual-image:hover,
.amenity-grid article:hover,
.gallery-grid img:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 80px rgba(0,0,0,.34);
  border-color:rgba(214,191,138,.35);
}
.visual-image img,
.amenity-grid img,
.gallery-grid img,
.image-card img{
  filter:saturate(.92) contrast(1.02);
}
.amenity-grid article{
  display:flex;
  flex-direction:column;
}
.amenity-grid div{
  flex:1;
}
.gallery-grid img{
  cursor:pointer;
}
.services-section{
  background:#EEE7D8;
  color:#15130D;
}
.services-section .eyebrow{
  color:var(--violet);
}
.services-section p{
  color:#665A48;
}
.service-line{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.08);
  box-shadow:0 22px 60px rgba(28,20,12,.08);
}
.service-line div{
  background:#fffaf0;
  padding:28px 24px;
  min-height:220px;
}
.service-line strong{
  display:block;
  color:#15130D;
  font-size:1.05rem;
  margin-bottom:14px;
}
.service-line span{
  display:block;
  color:#665A48;
  font-size:.92rem;
  line-height:1.5;
}
.lead-form select{
  width:100%;
  margin-top:8px;
  padding:15px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.24);
  color:#fff;
  font:inherit;
  outline:none;
}
.lead-form small{
  display:block;
  margin-top:12px;
  color:rgba(255,255,255,.58);
}
.btn,
.mini-cta,
.whatsapp-float,
.back-top{
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.btn:hover,
.mini-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.whatsapp-float:hover,
.back-top:hover{
  transform:translateY(-3px);
}
.footer-social a:hover,
.social-row a:hover{
  background:rgba(214,191,138,.16);
  border-color:rgba(214,191,138,.38);
}

@media (max-width:1100px){
  .cta-grid{
    grid-template-columns:1fr;
  }
  .cta-actions{
    justify-content:flex-start;
  }
  .service-line{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:720px){
  .hero-badges{
    gap:8px;
  }
  .hero-badges span{
    width:100%;
    justify-content:center;
    min-height:34px;
    font-size:.72rem;
  }
  .cta-band{
    padding:56px 0;
  }
  .cta-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .service-line{
    grid-template-columns:1fr;
  }
  .service-line div{
    min-height:auto;
    padding:22px;
  }
  .range-stat strong{
    gap:6px;
  }
}


/* ===== Hero self-hosted video ===== */
.hero-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

/* Ya no se usa iframe de YouTube en el hero */
.hero-video iframe{
  display:none;
}


/* ===== Footer Libson Real Estate ===== */
.footer-grid{
  grid-template-columns:220px 1fr auto auto;
}
.libson-footer-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
}
.libson-footer-logo:hover{
  transform:translateY(-2px);
}
.libson-footer-logo img{
  width:138px;
  max-height:30px;
  object-fit:contain;
}

@media (max-width:720px){
  .libson-footer-logo{
    padding:0;
    border:0;
    background:transparent;
  }
  .libson-footer-logo img{
    width:150px;
    max-height:36px;
  }
}


/* ===== Galería 20 imágenes: 4 filas x 5 columnas ===== */
.gallery-grid{
  grid-template-columns:repeat(5,1fr);
}
.gallery-grid img{
  height:130px;
}

@media (max-width:1100px){
  .gallery-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media (max-width:720px){
  .gallery-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .gallery-grid img{
    height:180px;
  }
}

@media (max-width:460px){
  .gallery-grid{
    grid-template-columns:1fr;
  }
  .gallery-grid img{
    height:220px;
  }
}


/* ===== Lightbox galería ===== */
.gallery-grid img{
  cursor:zoom-in;
}

.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:999;
  display:grid;
  place-items:center;
  padding:56px 92px;
  background:rgba(0,0,0,.92);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, visibility .24s ease;
}

.gallery-lightbox.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

body.lightbox-open{
  overflow:hidden;
}

.lightbox-figure{
  margin:0;
  width:min(100%,1180px);
  max-height:calc(100vh - 130px);
  display:grid;
  place-items:center;
}

.lightbox-figure img{
  width:auto;
  max-width:100%;
  max-height:calc(100vh - 170px);
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  background:#11100B;
}

.lightbox-figure figcaption{
  margin-top:14px;
  color:#F7F1E7;
  font-size:.9rem;
  text-align:center;
  opacity:.78;
}

.lightbox-close,
.lightbox-nav{
  position:absolute;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .22s ease, transform .22s ease, border-color .22s ease;
}

.lightbox-close:hover,
.lightbox-nav:hover{
  background:rgba(214,191,138,.18);
  border-color:rgba(214,191,138,.4);
  transform:scale(1.04);
}

.lightbox-close{
  top:22px;
  right:22px;
  width:48px;
  height:48px;
  border-radius:999px;
  font-size:34px;
  line-height:1;
}

.lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:56px;
  height:74px;
  border-radius:999px;
  font-size:52px;
  line-height:1;
  font-family:Georgia,serif;
}

.lightbox-nav:hover{
  transform:translateY(-50%) scale(1.04);
}

.lightbox-prev{
  left:22px;
}

.lightbox-next{
  right:22px;
}

.lightbox-counter{
  position:absolute;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#F7F1E7;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
}

@media (max-width:720px){
  .gallery-lightbox{
    padding:52px 14px 68px;
  }

  .lightbox-figure{
    max-height:calc(100vh - 140px);
  }

  .lightbox-figure img{
    max-height:calc(100vh - 190px);
    border-radius:14px;
  }

  .lightbox-close{
    top:12px;
    right:12px;
    width:42px;
    height:42px;
    font-size:30px;
  }

  .lightbox-nav{
    top:auto;
    bottom:14px;
    width:48px;
    height:48px;
    font-size:38px;
    transform:none;
  }

  .lightbox-nav:hover{
    transform:scale(1.04);
  }

  .lightbox-prev{
    left:14px;
  }

  .lightbox-next{
    right:14px;
  }

  .lightbox-counter{
    bottom:20px;
  }
}


/* =========================================================
   Ajuste responsive final SIN desplazamiento horizontal
   ========================================================= */

/* Evita overflow horizontal general */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body.nav-open{
  overflow:hidden;
}

/* Header y menú por encima del contenido */
.site-header{
  z-index:700;
}

/* Hero video self-hosted */
.hero-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

/* Botones flotantes visibles en mobile */
.whatsapp-float,
.back-top{
  position:fixed !important;
  z-index:650 !important;
  display:grid !important;
  place-items:center !important;
  pointer-events:auto !important;
  -webkit-tap-highlight-color:transparent;
}

.whatsapp-float{
  right:max(14px, env(safe-area-inset-right)) !important;
  bottom:calc(16px + env(safe-area-inset-bottom)) !important;
}

.back-top{
  right:max(14px, env(safe-area-inset-right)) !important;
  bottom:calc(82px + env(safe-area-inset-bottom)) !important;
}

.back-top.show{
  opacity:1 !important;
  visibility:visible !important;
}

/* Menú mobile corregido: no se corta y tiene scroll interno si hace falta */
@media (max-width:1100px){
  .site-header{
    z-index:700;
  }

  .main-nav{
    position:fixed;
    top:calc(76px + env(safe-area-inset-top));
    left:12px;
    right:12px;
    width:auto;
    max-height:calc(100svh - 96px - env(safe-area-inset-top));
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:18px;
    border-radius:22px;
    background:rgba(5,5,4,.98);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 30px 80px rgba(0,0,0,.46);
    z-index:690;
  }

  .main-nav a{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .main-nav a:last-child{
    border-bottom:0;
  }

  .nav-toggle{
    position:relative;
    z-index:710;
  }
}

/* Mobile sin carruseles ni desplazamiento lateral */
@media (max-width:720px){
  .container{
    width:calc(100% - 28px);
    max-width:100%;
  }

  .site-header{
    top:10px;
    width:calc(100% - 20px);
    height:64px;
    grid-template-columns:auto 1fr 44px;
    gap:10px;
    padding:0 12px 0 14px;
    border-radius:999px;
  }

  .brand{
    display:flex;
    align-items:center;
    min-width:0;
  }

  .brand img{
    width:74px;
    max-height:48px;
    object-fit:contain;
  }

  .nav-toggle{
    justify-self:end;
    width:44px;
    height:44px;
  }

  .main-nav{
    top:calc(78px + env(safe-area-inset-top));
    left:10px;
    right:10px;
    max-height:calc(100svh - 96px - env(safe-area-inset-top));
  }

  .main-nav a{
    font-size:.95rem;
    letter-spacing:.03em;
  }

  .hero{
    min-height:100svh;
    padding:118px 0 42px;
  }

  .hero-content{
    width:calc(100% - 28px);
  }

  .hero-content h1{
    font-size:clamp(2.65rem, 13vw, 4.2rem);
  }

  .hero-content p:not(.eyebrow){
    font-size:.96rem;
    line-height:1.48;
  }

  .hero-buttons{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .btn{
    width:100%;
    min-height:46px;
    font-size:.9rem;
  }

  .stats-strip{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    overflow:visible !important;
  }

  .stat{
    width:100%;
    min-width:0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .stat:last-child{
    border-bottom:0;
  }

  .cards-grid,
  .amenity-grid,
  .service-line,
  .gallery-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    overflow:visible !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .info-card,
  .amenity-grid article,
  .service-line div,
  .gallery-grid img{
    width:100%;
    min-width:0 !important;
    max-width:100%;
    flex:none !important;
  }

  .gallery-grid img{
    height:220px !important;
  }

  .image-mosaic{
    display:grid !important;
    grid-template-columns:1fr !important;
    overflow:visible !important;
  }

  .image-card,
  .image-card.wide{
    width:100%;
    grid-column:auto;
  }

  .whatsapp-float{
    width:58px !important;
    height:58px !important;
  }

  .back-top{
    width:48px !important;
    height:48px !important;
  }

  .footer-grid{
    grid-template-columns:1fr !important;
    justify-items:start;
    gap:18px;
    padding-bottom:86px;
  }

  .footer-grid p{
    text-align:left;
  }
}

@media (max-width:460px){
  .gallery-grid{
    grid-template-columns:1fr !important;
  }

  .gallery-grid img{
    height:220px !important;
  }
}

/* Lightbox por encima de todo */
.gallery-lightbox{
  z-index:1000 !important;
}


/* =========================================================
   Ajuste mobile: hero más centrado verticalmente
   ========================================================= */
@media (max-width:720px){
  .hero{
    min-height:100svh;
    align-items:center;
    padding:96px 0 34px;
  }

  .hero-content{
    transform:translateY(5vh);
  }

  .hero-content h1{
    margin-bottom:14px;
  }

  .hero-content p:not(.eyebrow){
    max-width:94%;
    margin-bottom:18px;
  }

  .hero-buttons{
    margin-top:18px;
  }
}

@media (max-width:420px){
  .hero-content{
    transform:translateY(4vh);
  }

  .hero-content h1{
    font-size:clamp(2.55rem, 12.5vw, 3.85rem);
  }
}
