@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');:root{--navy:#163152;--green:#9DBB39;--sky:#008FCC;--ink:#18334b;--paper:#f4f8f9;--line:#d9e6eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);font-family:Montserrat,'Segoe UI',Arial,sans-serif;background:#fff}button,input,select{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer}.container{width:min(1240px,calc(100% - 42px));margin:auto}.skip{position:absolute;top:-80px;left:20px;padding:10px;background:#fff;z-index:99}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:20;background:rgba(22,49,82,.97);color:#fff;box-shadow:0 3px 16px #10243628}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:75px;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:900;letter-spacing:.7px}.brand img{width:53px;height:53px;border-radius:9px;object-fit:cover}.brand small{display:block;font-size:9px;font-weight:700;color:#a9dfe9;letter-spacing:1px;margin-top:5px}.main-nav{display:flex;align-items:center;gap:18px}.main-nav a{font-size:10px;white-space:nowrap;font-weight:800;letter-spacing:.45px;padding:12px 2px}.main-nav a:hover{color:#d6f472}.menu-btn{display:none;border:1px solid #ffffff66;border-radius:8px;background:transparent;color:#fff;font-size:26px;padding:4px 9px}.hero{background:var(--navy)}.hero picture{display:block}.hero picture img{display:block;width:100%;height:auto;max-height:750px;object-fit:contain}.hero-cta{display:flex;justify-content:center;gap:12px;padding:15px 20px;background:#0d3047}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:45px;border-radius:8px;padding:12px 22px;font-size:12px;line-height:1.45;font-weight:800;letter-spacing:.3px;text-align:center;transition:.15s}.button:hover{transform:translateY(-1px);filter:brightness(1.04)}.button-green{background:var(--green);color:#122941}.button-navy{background:var(--navy);color:#fff}.button-light{background:#e8f1f3;color:var(--navy)}.button-outline{border:1px solid #cbe8ee;background:transparent;color:#fff}.section{padding:92px 0}.eyebrow{font-size:11px;font-weight:900;letter-spacing:2px;color:#008a9a;text-transform:uppercase}.project{background:#fff}.project-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.project-text h1{font-size:clamp(36px,4.9vw,69px);line-height:1.09;letter-spacing:-2.5px;margin:19px 0 26px;color:var(--navy)}.project-text h1 span{color:#149b39}.project-text p{font-size:15px;color:#586b7a;line-height:1.85}.project-text p.intro{font-size:19px;color:#223a4d;font-weight:600}.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.project-photo{border-radius:20px;overflow:hidden;box-shadow:0 30px 55px #1c4a5a22}.project-photo img{display:block;width:100%;height:580px;object-fit:cover}.benefits{padding-top:85px}.section-title{max-width:760px;margin-bottom:35px}.section-title h2,.tour h2,.location h2{font-size:clamp(30px,3.7vw,48px);line-height:1.16;letter-spacing:-1.5px;color:var(--navy);margin:12px 0 18px}.section-title p{color:#617581;font-size:15px;line-height:1.75}.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.benefit-grid article{background:#f2f7f8;padding:28px;border-radius:15px;border:1px solid #e2ecee}.benefit-icon{display:grid;place-items:center;width:55px;height:55px;background:#d9edf2;color:#006f95;border-radius:12px;font-size:29px}.benefit-grid h3{font-size:16px;color:var(--navy);margin:18px 0 8px}.benefit-grid p{font-size:13px;line-height:1.75;color:#66798b;margin:0}.lots{background:var(--paper)}.map-embed{border:1px solid #cee0e9;box-shadow:0 16px 55px #1631521f;background:#fff;border-radius:16px;overflow:hidden}.map-embed iframe{display:block;width:100%;height:920px;border:0}.map-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:23px 0}.map-pop{font-weight:800;font-size:11px;color:var(--navy);text-decoration:underline}.tour{background:linear-gradient(118deg,#082d4c,#095b75);color:#fff}.tour-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:45px}.tour h2{color:#fff}.tour p{color:#d0eaf0;line-height:1.8;max-width:560px}.tour .eyebrow{color:#c8e86b}.tour-view{aspect-ratio:16/10;border:1px solid #ffffff44;background:radial-gradient(circle at 60% 30%,#288bad,#06354d);border-radius:20px;display:grid;place-content:center;text-align:center}.big-360{font-size:clamp(70px,10vw,120px);font-weight:900;color:#e0ffad}.tour-view p{font-size:11px;letter-spacing:2px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.photo-grid a{position:relative;display:block;overflow:hidden;border-radius:13px;aspect-ratio:1.35;background:#dbeef0}.photo-grid a:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.photo-grid a:hover img{transform:scale(1.04)}.photo-grid span{position:absolute;bottom:0;left:0;right:0;padding:24px 15px 14px;color:#fff;font-size:11px;font-weight:900;background:linear-gradient(transparent,#102d39c9)}.video-placeholder{margin-top:20px;display:flex;align-items:center;gap:16px;padding:22px;border:1px dashed #bccfd3;border-radius:12px;color:#536879;font-size:13px}.video-placeholder span{font-size:28px;color:var(--sky)}.location{background:#f4f8f9}.location-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px}.location-grid>img{width:100%;border-radius:15px;object-fit:cover;max-height:460px;box-shadow:0 18px 45px #15344b24}.location p,.location li{line-height:1.8;color:#607587}.location ul{padding-left:23px}.location-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.location small{color:#71818a}footer{background:#0d2945;color:#d6e5eb;padding:50px 0 40px}.footer-content{display:flex;justify-content:space-between;gap:50px}.footer-content strong{color:#fff;font-size:19px}.footer-content p{font-size:12px;line-height:2}.float-actions{position:fixed;right:16px;bottom:15px;z-index:22;display:grid;justify-items:stretch;gap:6px;width:190px;padding:10px;background:rgba(255,255,255,.94);border:1px solid #cbdde2;border-radius:14px;box-shadow:0 8px 35px #102b4360;backdrop-filter:blur(8px)}.float-actions>button{border:0;border-radius:7px;background:#163152;color:#fff;font-weight:800;font-size:10px;padding:11px 8px}.float-actions>button:first-child{background:#008fcc}.float-actions>button:nth-child(2){background:#7b9b26}.wa-floats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.wa-floats a{background:#1fae59;color:#fff;border-radius:8px;display:flex;gap:4px;justify-content:center;align-items:center;padding:9px 3px;font-weight:800;font-size:10px}.wa-symbol{font-size:18px}.float-actions small{text-align:center;font-size:9px;line-height:1.4;color:#405260}dialog{max-width:min(96vw,510px);width:510px;border:0;border-radius:16px;padding:27px;box-shadow:0 30px 100px #0008;color:var(--navy)}dialog::backdrop{background:#061b2cc4;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:start;justify-content:space-between;gap:15px}.dialog-header h2{font-size:25px;letter-spacing:-.8px;margin:8px 0 0}.dialog-header button,#closeLightbox{background:#edf3f5;border:0;border-radius:8px;font-size:28px;padding:0 10px}.modal-desc{font-size:12px;color:#617584;line-height:1.7}#leadForm{display:grid;gap:8px}#leadForm>label{font-size:12px;font-weight:800;margin-top:6px}#leadForm input:not([type=checkbox]),#leadForm select{border:1px solid #d0e0e4;border-radius:8px;padding:11px 13px;min-height:44px;width:100%;background:#fff;color:var(--navy)}#visitFields,#lotFields{display:grid;gap:8px}#visitFields label,#lotFields label{font-size:12px;font-weight:800;margin-top:6px}.privacy{margin:10px 0 0;font-size:11px;line-height:1.7;color:#526676}.privacy label{display:flex;align-items:start;gap:9px}.privacy input{margin-top:4px}.full{width:100%}#leadForm>small{font-size:10px;color:#6a7c8c;line-height:1.6}.form-status{font-size:12px;color:#b54e00;margin:0;line-height:1.6}#lightbox{max-width:min(96vw,1400px);width:auto;padding:13px;background:#102334}#lightbox img{max-width:90vw;max-height:84vh;object-fit:contain;display:block}#closeLightbox{position:absolute;right:18px;top:18px}.skip:focus-visible,.button:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #8bcbe4;outline-offset:3px}[hidden]{display:none!important}@media(max-width:1050px){.main-nav{gap:10px}.main-nav a{font-size:9px}.brand{font-size:15px}.project-grid{gap:28px}.project-photo img{height:480px}}@media(max-width:760px){.container{width:min(100% - 28px,600px)}.menu-btn{display:block}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#163152;padding:18px 20px;flex-direction:column;align-items:stretch;box-shadow:0 16px 23px #0004}.main-nav.active{display:flex}.main-nav a{font-size:12px}.hero picture img{max-height:none}.hero-cta{flex-wrap:wrap}.hero-cta .button{flex:1;min-width:155px}.section{padding:65px 0}.project-grid,.tour-grid,.location-grid{grid-template-columns:1fr}.project-text h1{font-size:clamp(36px,9vw,52px)}.project-photo img{height:auto}.benefits{padding-top:60px}.benefit-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr 1fr}.map-embed iframe{height:1100px}.footer-content{flex-direction:column}.float-actions{width:145px;right:8px;bottom:8px;padding:7px}.float-actions>button{font-size:9px;padding:9px 5px}.wa-floats{grid-template-columns:1fr}.wa-floats a{padding:5px 4px}.float-actions small{font-size:8px}.location-grid>img{max-height:360px}}@media(max-width:460px){.benefit-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.photo-grid a:first-child{grid-column:auto;grid-row:auto;aspect-ratio:1.35}.photo-grid a{aspect-ratio:1.35}.map-actions .button{flex:1}.map-embed iframe{height:1180px}.brand img{width:45px;height:45px}.brand{font-size:13px}.brand small{font-size:8px}.float-actions{width:127px}.hero-cta{padding:12px 8px}.hero-cta .button{font-size:10px;padding:10px 8px}dialog{padding:18px}}

/* V5 cambios puntuales solicitados */
.brand small{font-size:clamp(12px,1.05vw,17px)!important;font-weight:850;letter-spacing:.04em;line-height:1.3}
.benefit-icon{color:#008fcc;display:inline-flex;align-items:center;justify-content:center}
.benefit-icon svg{width:33px;height:33px;filter:drop-shadow(0 1px 0 #9dbb39)}
@media(max-width:650px){.brand small{font-size:12px!important}}

/* V6: visor del plano con relación más cuadrada y altura suficiente */
.map-embed iframe{height:1070px}
@media(max-width:760px){.map-embed iframe{height:1450px}}
@media(max-width:460px){.map-embed iframe{height:1530px}}
.wa-floats{grid-template-columns:1fr}
.wa-floats a{font-size:12px;padding:9px 6px}
.wa-symbol{display:inline-flex;align-items:center;justify-content:center}
.footer-v6{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,5vw,85px);align-items:start}
.footer-v6 section{min-width:0}
.footer-v6 h2{font-size:clamp(20px,2vw,27px);color:#fff;margin:0 0 8px}
.footer-v6 h3{color:#b8d769;font-size:15px;margin:0 0 24px}
.footer-v6 h4{font-size:15px;color:#fff;margin:22px 0 12px}
.footer-v6 p{font-size:13px;line-height:1.75;margin:10px 0;overflow-wrap:anywhere}
.footer-v6 p strong{font-size:13px;color:#e9f5fa}
.footer-v6 a{color:#dcf4fc;text-decoration:none}
.footer-v6 a:hover{text-decoration:underline}
.footer-v6 .footer-description{margin:20px 0 24px;font-size:14px}
.foot-ico{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:8px;border:1px solid #587c91;border-radius:50%;color:#b4db55;font-weight:800}
.social-list{display:flex;flex-direction:column;gap:13px}
.social-list a{display:flex;align-items:center;gap:9px;font-size:13px}
.social-ico{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;color:#fff;font-size:17px;font-weight:800;flex:none}
.social-ico.fb{background:#1877f2}.social-ico.tk{background:#091b29}.social-ico.ig{background:linear-gradient(135deg,#efb54b,#db2668,#5e4fcc)}
@media(max-width:760px){.footer-v6{grid-template-columns:1fr;gap:30px}}

.visit-layout{display:grid;grid-template-columns:1fr;gap:26px;align-items:center}.visit-content{display:grid;gap:16px}.visit-card{background:#f2f7f8;padding:24px;border-radius:15px;border:1px solid #e2ecee}.visit-card h3{margin:0 0 10px;font-size:19px;color:var(--navy)}.visit-card p{margin:0;color:#66798b;line-height:1.8}.visit-card .button{margin-top:14px}.visit-side{display:grid;gap:10px;justify-items:center}.visit-side img{width:min(100%,420px);height:auto;display:block;filter:drop-shadow(0 20px 35px rgba(0,0,0,.14))}.visit-side small{font-size:12px;color:#607587;line-height:1.7;text-align:center}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.video-card{background:#f7fbfc;border:1px solid #d8e6ea;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(16,43,67,.08)}.video-card video{display:block;width:100%;height:240px;object-fit:cover;background:#111}.video-card h3{font-size:16px;color:var(--navy);margin:14px 16px 8px}.video-card p{font-size:13px;color:#627786;line-height:1.7;margin:0 16px 16px}.location-figure{margin:0}.location-figure img{width:100%;border-radius:15px;object-fit:cover;max-height:460px;box-shadow:0 18px 45px #15344b24;display:block}.location-figure figcaption{font-size:12px;color:#607587;line-height:1.7;margin-top:10px}@media(max-width:900px){.visit-layout,.video-grid{grid-template-columns:1fr}}@media(max-width:760px){.location-grid>.location-figure img{max-height:360px}}

/* Visor 360 incorporado: únicamente sustituye el recuadro de próximamente. */
.tour .tour-embedded{display:block;overflow:hidden;min-height:340px;background:#082d4c}
.tour .tour-embedded iframe{display:block;width:100%;height:100%;min-height:340px;border:0}
@media(max-width:760px){.tour .tour-embedded{min-height:360px}.tour .tour-embedded iframe{min-height:360px}}

/* V14: ajustes exclusivos de móvil; escritorio e inventario sin cambios. */
@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .tour { max-width: 100%; overflow-x: clip; }
  .tour .tour-grid { grid-template-columns: minmax(0, 1fr); min-width: 0; max-width: 100%; }
  .tour .tour-grid > div { min-width: 0; max-width: 100%; }
  .tour .tour-embedded {
    box-sizing: border-box;
    width: 100%; max-width: 100%; min-width: 0;
    height: 360px; min-height: 0;
    aspect-ratio: auto; overflow: hidden;
    position: relative;
  }
  .tour .tour-embedded iframe {
    display: block; position: absolute; inset: 0;
    box-sizing: border-box; width: 100%; max-width: 100%;
    height: 100%; min-height: 0; border: 0;
    touch-action: none;
  }
  .float-actions {
    position: fixed !important;
    left: auto !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    z-index: 999 !important;
    max-width: calc(100vw - 16px);
  }
}

/* V15: únicamente enfatizar Agenda tu visita y destacar su acceso en el menú. */
#agenda-visita{scroll-margin-top:90px;background:linear-gradient(135deg,#e8f4f7 0%,#ffffff 43%,#f2f8e6 100%);position:relative;overflow:hidden;border-top:5px solid #9DBB39;border-bottom:5px solid #008FCC}
#agenda-visita .visit-schedule{position:relative;z-index:1}
#agenda-visita .section-title{max-width:100%;margin-bottom:28px;background:linear-gradient(118deg,#163152 0%,#124b70 72%,#008FCC 100%);border-radius:20px;padding:clamp(23px,4vw,44px);box-shadow:0 18px 45px rgba(22,49,82,.17);border-left:7px solid #9DBB39}
#agenda-visita .section-title .eyebrow{display:inline-block;color:#d9f68b;background:rgba(157,187,57,.14);padding:7px 12px;border:1px solid rgba(157,187,57,.46);border-radius:99px;letter-spacing:1.4px}
#agenda-visita .section-title h2{color:#fff;font-size:clamp(27px,3.4vw,43px);letter-spacing:-.7px;margin:18px 0 13px}
#agenda-visita .section-title p{color:#e1f0f6;font-size:clamp(14px,1.3vw,17px);line-height:1.8;max-width:850px;margin:0}
#agenda-visita .visit-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#agenda-visita .visit-card{background:#fff;border:1px solid #d3e4e8;border-top:5px solid #008FCC;border-radius:17px;box-shadow:0 10px 30px rgba(22,49,82,.09);padding:26px}
#agenda-visita .visit-card:nth-child(2){border-top-color:#9DBB39}
#agenda-visita .visit-card:last-child{grid-column:1/-1;background:linear-gradient(110deg,#edf7e8,#ecf7fc);border-top-color:#163152}
#agenda-visita .visit-card h3{color:#163152;font-size:clamp(17px,1.6vw,21px)}
#agenda-visita .visit-card p{color:#3f5d6e;font-size:14px;line-height:1.9}
#agenda-visita .visit-card strong{color:#163152}
#agenda-visita .visit-card .button-green{background:#9DBB39;color:#163152;font-size:13px;font-weight:900;box-shadow:0 7px 18px rgba(110,147,31,.18)}
.main-nav a[href="#agenda-visita"]{color:#d7f39d;border:1px solid rgba(157,187,57,.6);border-radius:8px;padding:10px 9px;background:rgba(157,187,57,.10)}
.main-nav a[href="#agenda-visita"]:hover{background:#9DBB39;color:#163152}
@media (min-width:761px){.main-nav{gap:clamp(6px,.8vw,14px)}.main-nav a{font-size:clamp(8px,.77vw,10px);letter-spacing:.15px}}
@media (max-width:760px){#agenda-visita .visit-content{grid-template-columns:1fr}#agenda-visita .visit-card:last-child{grid-column:auto}#agenda-visita .section-title{border-radius:16px;padding:25px 20px}#agenda-visita .visit-card{padding:21px}#agenda-visita{scroll-margin-top:72px}.main-nav a[href="#agenda-visita"]{padding:12px}}

/* V16: all navigation items share the approved Agenda tu visita appearance. */
.main-nav a, .main-nav a[href="#agenda-visita"] {
  color:#d7f39d; border:1px solid rgba(157,187,57,.6); border-radius:8px;
  padding:10px 9px; background:rgba(157,187,57,.10);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
  text-align:center;
}
.main-nav a:hover, .main-nav a:focus-visible, .main-nav a[href="#agenda-visita"]:hover {
  background:#9DBB39; color:#163152; border-color:#9DBB39;
}
@media (max-width:760px){.main-nav a, .main-nav a[href="#agenda-visita"] {padding:12px}}
/* V16: photo viewer confines touch gestures to the photograph, not the page. */
#lightbox { width: min(96vw,1400px); max-width:none; height: min(92dvh,950px); max-height:92dvh;
  padding:0; overflow:hidden; background:#102334; border:0; border-radius:12px; }
#lightbox .photo-zoom-area {position:absolute; inset:0; overflow:hidden; display:flex;align-items:center;justify-content:center;touch-action:none;overscroll-behavior:contain;cursor:grab;}
#lightbox .photo-zoom-area:active {cursor:grabbing;}
#lightbox #lightboxImage {position:absolute;display:block;max-width:none;max-height:none;width:auto;height:auto;object-fit:contain;transform-origin:center center;will-change:transform;pointer-events:none;user-select:none;-webkit-user-drag:none;}
#lightbox .photo-zoom-tools {position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3;background:rgba(22,49,82,.84);padding:7px;border-radius:12px;}
#lightbox .photo-zoom-tools button {background:#fff;color:#163152;border:0;border-radius:8px;min-width:43px;min-height:43px;font-size:25px;font-weight:800;}
#lightbox #closeLightbox {position:absolute;z-index:4;right:12px;top:12px;min-width:43px;min-height:43px;line-height:1;background:#fff;color:#163152;}


/* BICONST web V1.1: solo botones flotantes en pantallas móviles. */
@media (max-width: 760px) {
  .float-actions {
    left: auto !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    width: 164px !important;
    max-width: calc(100vw - 20px) !important;
    padding: 9px !important;
    gap: 7px;
  }
  .float-actions > button {
    font-size: 11px !important;
    padding: 12px 7px !important;
    min-height: 39px;
  }
  .float-actions .wa-floats a {
    font-size: 12px !important;
    padding: 10px 6px !important;
    min-height: 39px;
  }
}
