*,
*::before,
*::after{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
margin:0;
font-family:Arial, Helvetica, sans-serif;
color:#222;
background:#eef2f8;
}

img{
max-width:100%;
}

#inicio,
#desarrollos,
#contacto-asesor,
#titulo-formulario-cita,
#titulo-formulario-alcazar,
#titulo-formulario-altavia,
#titulo-formulario-amira{
scroll-margin-top:90px;
}

.site-header{
position:sticky;
top:0;
z-index:1000;
background:#1f3a5f;
color:#fff;
box-shadow:0 1px 0 rgba(0,0,0,0.12);
}

.site-header__inner{
max-width:none;
width:100%;
margin:0;
min-height:76px;
padding:0 28px;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
}

.site-header__logo{
display:inline-flex;
align-items:center;
min-height:44px;
color:#fff;
text-decoration:none;
font-weight:700;
font-size:1rem;
letter-spacing:0.01em;
flex-shrink:0;
}

.site-header__toggle{
display:none;
appearance:none;
border:0;
background:transparent;
width:44px;
height:44px;
padding:0;
margin:0;
cursor:pointer;
flex-shrink:0;
align-items:center;
justify-content:center;
}

.site-header__toggle-box{
display:flex;
flex-direction:column;
justify-content:center;
gap:5px;
width:22px;
}

.site-header__toggle-box span{
display:block;
height:2px;
width:100%;
background:#fff;
border-radius:1px;
}

.site-header__nav ul{
display:flex;
align-items:center;
gap:28px;
list-style:none;
margin:0;
padding:0;
}

.site-header__nav a{
display:inline-flex;
align-items:center;
min-height:44px;
color:#fff;
text-decoration:none;
font-weight:600;
font-size:0.95rem;
}

.site-header__nav-home{
display:none;
}

.hero{
position:relative;
z-index:1;
min-height:min(68vh, 620px);
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:#fff;
padding:48px 24px;
overflow:hidden;
background:#1a2433;
}

.hero::before{
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,0.42);
z-index:1;
}

.hero video,
.hero__bg{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:0;
}

.hero__content{
position:relative;
z-index:2;
max-width:40rem;
width:100%;
margin:0 auto;
}

.hero h1{
font-size:clamp(1.7rem, 4.6vw, 2.55rem);
line-height:1.22;
margin:0 0 0.6em;
font-weight:700;
overflow-wrap:break-word;
word-break:normal;
}

.hero p{
font-size:clamp(1rem, 2.2vw, 1.25rem);
line-height:1.45;
margin:0;
overflow-wrap:break-word;
}

.hero .btn-agendar-visita{
margin-top:18px;
width:auto;
max-width:100%;
}

.section{
max-width:1200px;
margin:auto;
padding:80px 20px;
}

.section-desarrollos .desarrollos-intro{
margin-bottom:40px;
}

.section-desarrollos .desarrollos-intro h2,
.layout-grid-area-dev > h2{
margin-top:0;
margin-bottom:0.65em;
font-size:clamp(1.4rem, 3.2vw, 2rem);
line-height:1.25;
color:#1f3a5f;
}

.layout-grid-area-dev .galeria + h2,
.layout-grid-area-dev video + h2{
margin-top:2rem;
}

.section-desarrollos .desarrollos-intro p{
margin:0;
max-width:70ch;
font-size:1rem;
line-height:1.65;
}

.section-desarrollos{
padding-bottom:48px;
}

.section-agenda{
padding-top:48px;
}

.cards{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:24px;
}

.card{
display:flex;
flex-direction:column;
height:100%;
background:#fff;
border-radius:8px;
overflow:hidden;
box-shadow:0 8px 20px rgba(0,0,0,0.1);
transition:transform 0.2s ease, box-shadow 0.2s ease;
}

.card-link{
display:flex;
flex-direction:column;
flex:1;
min-height:0;
text-decoration:none;
color:inherit;
}

.card-mini-slider{
position:relative;
display:block;
width:100%;
aspect-ratio:16 / 10;
overflow:hidden;
border-radius:0;
background:#e8ecf4;
}

.card-mini-slider__layer{
position:absolute;
inset:0;
opacity:0;
transition:opacity 0.45s ease;
z-index:0;
pointer-events:none;
}

.card-mini-slider__layer--visible{
opacity:1;
z-index:1;
}

.card-mini-slider__layer img,
.card img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.card h3{
padding:16px 16px 10px;
margin:0;
min-height:76px;
display:flex;
align-items:flex-end;
color:#1f3a5f;
font-size:clamp(1rem, 1.5vw, 1.15rem);
line-height:1.35;
overflow-wrap:break-word;
}

.card-meta{
padding:0 15px 12px;
margin:-4px 0 0;
color:#1f3a5f;
font-size:14px;
line-height:1.55;
}

.card-cta,
.formulario button{
display:block;
width:100%;
text-align:center;
background:#1f3a5f;
color:#fff;
padding:14px 22px;
min-height:48px;
border:none;
border-radius:8px;
text-decoration:none;
font-size:16px;
font-weight:600;
cursor:pointer;
transition:background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.formulario button{
min-height:46px;
height:46px;
padding:10px 16px;
font-size:15px;
}

.card-cta{
margin-top:auto;
border-radius:0;
}

.card-cta:hover,
.formulario button:hover{
background:#2a5080;
}

.card-cta:active,
.formulario button:active{
background:#182f52;
transform:translateY(1px);
}

.formulario button:disabled{
opacity:0.72;
cursor:wait;
}

@media (hover:hover){
.card:hover,
.mini-slider:hover{
transform:translateY(-3px);
box-shadow:0 12px 26px rgba(31,58,95,0.14);
}
}

.asesor{
background:#1f3a5f;
color:#f3f7ff;
text-align:center;
padding:80px 20px;
}

.asesor img{
width:160px;
height:160px;
object-fit:cover;
object-position:center top;
border-radius:50%;
display:block;
margin:0 auto 15px;
}

.asesor h2{
font-size:clamp(1.4rem, 3vw, 2rem);
margin:0 0 0.45em;
}

.asesor > p{
font-size:1rem;
line-height:1.5;
max-width:40rem;
margin:0 auto 12px;
}

.asesor-redes{
margin-top:18px;
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
}

.asesor-redes a,
.asesor-redes .asesor-instagram{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:10px 16px;
border-radius:20px;
text-decoration:none;
font-size:14px;
font-weight:600;
opacity:0.9;
transition:opacity 0.2s ease, background 0.2s ease;
box-sizing:border-box;
}

.asesor-redes a:hover{
opacity:1;
}

.asesor-whatsapp{
background:#e8f8ee;
color:#1f6f4a;
}

.asesor-facebook{
background:#eaf2ff;
color:#2d5da8;
}

.asesor-instagram{
background:#fde8ea;
color:#a63d45;
}

.asesor-telefono{
margin:4px 0 12px;
font-size:13px;
}

.asesor-telefono span{
color:rgba(243,247,255,0.78);
font-weight:normal;
letter-spacing:0.03em;
cursor:default;
pointer-events:none;
}

.asesor-correo{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
margin:0 0 14px;
padding:8px 10px;
font-size:13px;
color:rgba(243,247,255,0.72);
}

footer{
background:#111;
color:#fff;
text-align:center;
padding:32px 20px;
font-size:0.95rem;
line-height:1.7;
overflow-wrap:break-word;
}

.footer-redes{
display:flex;
justify-content:center;
align-items:center;
gap:12px;
flex-wrap:wrap;
margin:0 0 16px;
}

.footer-redes a{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:10px 16px;
border-radius:20px;
text-decoration:none;
font-size:14px;
font-weight:600;
opacity:0.95;
transition:opacity 0.2s ease, background 0.2s ease;
box-sizing:border-box;
}

.footer-redes a:hover{
opacity:1;
}

.footer-copy{
margin:0;
}

.formulario{
display:flex;
flex-direction:column;
gap:10px;
margin-top:10px;
max-width:400px;
margin-left:auto;
margin-right:auto;
}

.form-field{
position:relative;
display:flex;
flex-direction:column;
gap:0;
}

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

.formulario input{
width:100%;
min-height:44px;
height:44px;
padding:8px 12px;
border-radius:8px;
border:1px solid #b7c0ce;
font-size:15px;
background:#fff;
}

.formulario-seo-wrap{
max-width:none;
width:100%;
margin-left:auto;
margin-right:auto;
margin-top:28px;
}

.formulario-seo{
text-align:left;
}

.formulario-seo h2{
font-size:clamp(1.15rem, 2.2vw, 1.45rem);
line-height:1.4;
margin:0 0 16px;
font-weight:700;
color:#1f3a5f;
max-width:70ch;
}

.formulario-seo-rule{
border:none;
border-top:1px solid rgba(31,58,95,0.22);
margin:0 0 18px;
}

.formulario-seo p{
margin:0 0 14px;
font-size:1rem;
line-height:1.65;
color:#333;
max-width:70ch;
}

.formulario-seo p:last-child{
margin-bottom:0;
}

.amenidades-section{
max-width:980px;
margin:34px auto 0;
text-align:center;
}

.amenidades-section h2{
margin:0 0 18px;
font-size:clamp(1.2rem, 2.4vw, 1.6rem);
color:#1f3a5f;
}

.amenidades-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:16px 18px;
}

.amenidad-item{
background:transparent;
border-radius:12px;
padding:8px;
box-shadow:none;
text-align:center;
}

.amenidad-item img{
width:100%;
height:auto;
aspect-ratio:16 / 10;
object-fit:contain;
display:block;
border-radius:10px;
background:#eef2f8;
}

.amenidad-item h3{
margin:8px 0 6px;
font-size:1rem;
color:#1f3a5f;
}

.amenidad-item p{
margin:0;
font-size:1rem;
line-height:1.45;
color:#444;
}

.ubicacion-section{
max-width:980px;
margin:28px auto 0;
padding:0;
}

.ubicacion-section h2{
margin:0 0 10px;
font-size:clamp(1.15rem, 2.2vw, 1.5rem);
font-weight:700;
line-height:1.28;
color:#1f3a5f;
text-align:center;
}

.ubicacion-section__intro{
margin:0 auto 14px;
max-width:42rem;
font-size:1rem;
line-height:1.55;
color:#444;
text-align:center;
}

.ubicacion-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:12px;
margin:0;
padding:0;
}

.ubicacion-card{
background:#fff;
border-radius:12px;
padding:14px 14px 15px;
box-shadow:0 4px 18px rgba(31,58,95,0.07);
border:1px solid rgba(31,58,95,0.06);
text-align:left;
transition:box-shadow 0.22s ease, border-color 0.22s ease;
}

.ubicacion-card:hover{
box-shadow:0 8px 26px rgba(31,58,95,0.1);
border-color:rgba(31,58,95,0.1);
}

.ubicacion-card__icon{
width:36px;
height:36px;
border-radius:10px;
background:rgba(31,58,95,0.07);
color:#1f3a5f;
display:flex;
align-items:center;
justify-content:center;
margin:0 0 8px;
flex-shrink:0;
}

.ubicacion-card__icon svg{
width:20px;
height:20px;
display:block;
}

.ubicacion-card h3{
margin:0 0 6px;
font-size:0.94rem;
font-weight:700;
line-height:1.3;
color:#1f3a5f;
}

.ubicacion-card p{
margin:0;
font-size:0.95rem;
line-height:1.45;
color:#4a4a4a;
}

.ubicacion-map{
margin-top:18px;
border-radius:12px;
overflow:hidden;
box-shadow:0 4px 18px rgba(31,58,95,0.07);
border:1px solid rgba(31,58,95,0.06);
line-height:0;
aspect-ratio:16 / 9;
}

.ubicacion-map iframe{
width:100%;
height:100%;
min-height:280px;
display:block;
border:0;
}

.whatsapp{
position:fixed;
right:max(16px, env(safe-area-inset-right, 0px));
bottom:max(16px, calc(16px + env(safe-area-inset-bottom, 0px)));
width:56px;
height:56px;
background:#25D366;
color:#fff;
padding:0;
border-radius:50%;
text-decoration:none;
font-weight:bold;
z-index:900;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
box-shadow:0 4px 14px rgba(0,0,0,0.18);
transition:transform 0.2s ease, box-shadow 0.2s ease;
}

.whatsapp:hover{
transform:translateY(-2px);
box-shadow:0 8px 18px rgba(0,0,0,0.22);
}

.whatsapp:active{
transform:translateY(0);
box-shadow:0 4px 12px rgba(0,0,0,0.2);
}

.whatsapp img{
display:block;
width:32px;
height:32px;
object-fit:contain;
pointer-events:none;
}

.layout-dos-columnas{
position:relative;
z-index:1;
display:grid;
grid-template-columns:minmax(0,1fr) 280px;
grid-template-areas:
"layout-dev layout-form"
"layout-asesoria layout-form"
"layout-rest layout-form";
align-items:start;
background:#eef2f8;
}

.layout-dos-columnas > *{
min-width:0;
}

.layout-grid-area-dev{grid-area:layout-dev;}
.layout-grid-area-form{grid-area:layout-form;}
.layout-grid-area-rest{grid-area:layout-rest;}
.layout-grid-area-asesoria{grid-area:layout-asesoria;}

.layout-dos-columnas .section{
max-width:none;
margin-left:0;
margin-right:0;
padding-left:28px;
padding-right:20px;
}

.section-agenda-cuerpo{
padding-top:0;
}

.layout-dos-columnas__sidebar{
padding:12px 20px 80px 8px;
position:sticky;
top:88px;
align-self:start;
z-index:40;
max-height:calc(100vh - 88px - 72px);
overflow:auto;
-webkit-overflow-scrolling:touch;
}

.layout-dos-columnas__sidebar .formulario{
margin-top:0;
max-width:none;
width:100%;
}

.formulario-panel{
background:#fff;
border-radius:12px;
box-shadow:0 8px 24px rgba(31,58,95,0.1);
padding:14px 14px 16px;
border:1px solid rgba(31,58,95,0.08);
width:100%;
max-width:400px;
margin-left:auto;
margin-right:auto;
}

.formulario-panel-titulo{
margin:0 0 8px;
font-size:1rem;
font-weight:700;
color:#1f3a5f;
text-align:center;
line-height:1.3;
}

.formulario-panel-intro{
margin:0 0 10px;
font-size:13px;
line-height:1.45;
color:#555;
text-align:center;
}

.formulario-exito{
text-align:center;
padding:4px 2px 0;
}

.formulario-exito-title{
margin:4px 0 8px;
font-size:1.15rem;
font-weight:700;
color:#1f3a5f;
}

.formulario-exito p{
margin:0 0 12px;
font-size:14px;
line-height:1.5;
color:#444;
}

.formulario-exito-cerrar{
display:inline-flex;
align-items:center;
justify-content:center;
width:100%;
min-height:46px;
height:46px;
padding:0 16px;
border:0;
border-radius:8px;
background:#1f3a5f;
color:#fff;
font-size:15px;
font-weight:600;
cursor:pointer;
font-family:inherit;
}

.formulario-exito-cerrar:hover{
background:#2a5080;
}

.form-privacy-note{
font-size:12px;
line-height:1.4;
opacity:0.7;
margin-top:6px;
}

.asesoria-confianza{
background:#f5f7fb;
padding:88px 24px;
}

.layout-dos-columnas .asesoria-confianza{
padding-left:28px;
padding-right:20px;
}

.asesoria-confianza__container{
max-width:1200px;
margin:0 auto;
display:grid;
grid-template-columns:1.15fr 0.85fr;
gap:48px;
align-items:start;
}

.asesoria-confianza__eyebrow,
.asesoria-contacto__eyebrow{
display:block;
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.12em;
color:#1f3a5f;
}

.asesoria-confianza__title{
font-family:Arial, Helvetica, sans-serif;
font-size:clamp(32px, 4vw, 48px);
line-height:1.1;
margin-top:12px;
margin-bottom:20px;
max-width:700px;
color:#1f3a5f;
font-weight:700;
}

.asesoria-confianza__intro{
font-size:18px;
line-height:1.6;
max-width:650px;
margin:0;
color:#5a6570;
}

.asesoria-confianza__beneficios{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:16px;
margin-top:32px;
}

.asesoria-beneficio{
padding:18px 20px;
border:1px solid rgba(0,0,0,0.08);
border-radius:12px;
background:rgba(255,255,255,0.65);
}

.asesoria-beneficio__title{
display:block;
font-weight:700;
font-size:15px;
color:#1f3a5f;
}

.asesoria-beneficio__text{
display:block;
font-size:14px;
line-height:1.5;
margin-top:6px;
color:#555;
}

.asesoria-contacto{
background:#ffffff;
border:1px solid rgba(0,0,0,0.08);
border-radius:16px;
padding:32px;
box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.asesoria-contacto__nombre{
font-size:28px;
font-weight:700;
line-height:1.2;
margin-top:8px;
color:#1f3a5f;
}

.asesoria-contacto__cargo{
font-size:15px;
font-weight:600;
margin-top:4px;
color:#1f3a5f;
}

.asesoria-contacto__descripcion{
font-size:16px;
line-height:1.6;
margin-top:22px;
margin-bottom:0;
color:#444;
}

.asesoria-contacto__respuesta{
font-size:13px;
line-height:1.5;
margin-top:12px;
margin-bottom:0;
opacity:0.75;
font-weight:400;
color:#444;
}

.asesoria-contacto__acciones{
display:flex;
gap:12px;
margin-top:26px;
}

.asesoria-contacto__acciones .btn{
min-height:48px;
display:inline-flex;
align-items:center;
justify-content:center;
padding:0 22px;
border-radius:10px;
font-weight:700;
text-decoration:none;
box-sizing:border-box;
cursor:pointer;
transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.asesoria-contacto__visita{
background:#1f3a5f;
color:#fff;
border:1px solid #1f3a5f;
}

.asesoria-contacto__visita:hover{
background:#2a5080;
border-color:#2a5080;
}

.asesoria-contacto__whatsapp{
background:#fff;
color:#1f3a5f;
border:1px solid #1f3a5f;
}

.asesoria-contacto__whatsapp:hover{
background:rgba(31,58,95,0.06);
}

.asesoria-contacto__datos{
margin-top:24px;
padding-top:20px;
border-top:1px solid rgba(0,0,0,0.08);
font-size:14px;
line-height:1.7;
color:#444;
}

.asesoria-contacto__datos a{
color:#1f3a5f;
text-decoration:none;
}

.asesoria-contacto__datos a:hover{
text-decoration:underline;
}

.container{
max-width:1000px;
margin:auto;
padding:20px;
}

.seo-text{
background:#eef2f8;
box-sizing:border-box;
}

.seo-text.top{
padding:12px 0 6px;
}

.seo-text.top .container{
padding-top:12px;
padding-bottom:8px;
}

.seo-text.bottom{
padding:40px 0 48px;
margin:0;
border-top:1px solid rgba(31,58,95,0.15);
}

.seo-text.bottom .container{
padding-top:4px;
}

.seo-text p{
margin:0;
font-size:15px;
line-height:1.65;
color:#1f3a5f;
text-align:left;
max-width:70ch;
}

.seo-text.top p{
font-size:17px;
line-height:1.7;
}

.seo-text.bottom h2{
font-size:clamp(1.15rem, 2.2vw, 1.45rem);
line-height:1.4;
margin:0 0 16px;
font-weight:700;
color:#1f3a5f;
text-align:left;
}

.seo-text.bottom h2:not(:first-child){
margin-top:28px;
}

.seo-text.bottom h3{
font-size:1rem;
line-height:1.4;
margin:24px 0 10px;
font-weight:700;
color:#1f3a5f;
text-align:left;
}

.seo-text.bottom h3:first-child{
margin-top:0;
}

.seo-text.bottom p + p{
margin-top:20px;
}

.seo-text a{
color:#1f3a5f;
font-weight:700;
}

.nearby{
background:linear-gradient(180deg, #f2f5fa 0%, #eef2f8 55%);
padding:56px 0 64px;
border-top:1px solid rgba(31,58,95,0.1);
box-sizing:border-box;
}

.nearby .container{
padding-top:8px;
padding-bottom:8px;
}

.nearby-kicker{
margin:0 0 10px;
font-size:0.8rem;
font-weight:700;
letter-spacing:0.14em;
text-transform:uppercase;
color:rgba(31,58,95,0.65);
text-align:center;
}

.nearby h2{
margin:0 auto 18px;
max-width:42rem;
font-size:clamp(1.35rem, 2.8vw, 1.65rem);
font-weight:700;
line-height:1.25;
color:#1f3a5f;
text-align:center;
}

.nearby-intro{
margin:0 auto 44px;
max-width:40rem;
font-size:16px;
line-height:1.7;
color:#1f3a5f;
text-align:center;
}

.nearby-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:22px 20px;
}

.nearby-item{
background:#fff;
border-radius:16px;
padding:26px 22px 28px;
box-shadow:0 6px 28px rgba(31,58,95,0.09);
border:1px solid rgba(31,58,95,0.07);
transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.nearby-item:hover{
transform:translateY(-4px);
box-shadow:0 16px 44px rgba(31,58,95,0.14);
border-color:rgba(31,58,95,0.14);
}

.nearby-item h2,
.nearby-item h3{
margin:0 0 16px;
font-size:1.05rem;
font-weight:700;
color:#1f3a5f;
line-height:1.3;
}

.nearby-item ul{
margin:0;
padding:0;
list-style:none;
}

.nearby-item li{
position:relative;
padding:8px 0 8px 18px;
font-size:14px;
line-height:1.5;
color:#2a3f5c;
border-bottom:1px solid rgba(31,58,95,0.06);
}

.nearby-item li:last-child{
border-bottom:none;
padding-bottom:0;
}

.nearby-item li::before{
content:"";
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:6px;
height:6px;
border-radius:50%;
background:#1f3a5f;
opacity:0.55;
}

.nearby-item a{
color:#1f3a5f;
font-weight:600;
text-decoration:none;
}

.nearby-item a:hover{
text-decoration:underline;
}

.galeria{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:24px;
}

.galeria-modelos{
grid-template-columns:repeat(2, minmax(0, 1fr));
}

.galeria-amenidades{
margin-top:8px;
grid-template-columns:1fr;
}

.mini-slider{
position:relative;
display:flex;
flex-direction:column;
height:100%;
background:#fff;
border-radius:8px;
overflow:hidden;
box-shadow:0 8px 20px rgba(0,0,0,0.1);
border:1px solid rgba(31,58,95,0.06);
transition:transform 0.2s ease, box-shadow 0.2s ease;
}

.mini-slider-media{
position:relative;
width:100%;
aspect-ratio:16 / 10;
overflow:hidden;
background:#e8ecf4;
}

.mini-slider-media img,
.mini-slider img{
display:none;
width:100%;
height:100%;
object-fit:cover;
cursor:pointer;
}

.mini-slider img.activa{
display:block;
}

.slider-nav{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:3;
width:44px;
height:44px;
border:none;
border-radius:8px;
background:rgba(0,0,0,0.45);
color:#fff;
font-size:26px;
line-height:1;
cursor:pointer;
align-items:center;
justify-content:center;
padding:0;
font-family:Arial, Helvetica, sans-serif;
display:flex;
transition:background 0.2s;
}

.slider-nav:hover{
background:rgba(0,0,0,0.7);
}

.slider-nav-prev{
left:8px;
}

.slider-nav-next{
right:8px;
}

.mini-slider-info{
background:#fff;
padding:16px 16px 14px;
color:#1f3a5f;
flex:1;
display:flex;
flex-direction:column;
}

.mini-slider-info h3{
margin:0 0 10px;
color:#1f3a5f;
font-size:clamp(1rem, 1.5vw, 1.15rem);
line-height:1.35;
}

.mini-slider-info ul{
margin:0;
padding-left:18px;
color:#1f3a5f;
line-height:1.55;
}

.layout-grid-area-dev video{
margin-top:8px;
border-radius:10px;
width:100%;
height:auto;
aspect-ratio:16 / 9;
object-fit:cover;
background:#1a2433;
display:block;
}

.lightbox{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,0.88);
z-index:2000;
align-items:center;
justify-content:center;
padding:50px 16px 16px;
box-sizing:border-box;
}

.lightbox.abierta{
display:flex;
}

.lightbox img{
max-width:100%;
max-height:calc(100vh - 70px);
width:auto;
height:auto;
object-fit:contain;
border-radius:8px;
cursor:pointer;
position:relative;
z-index:1;
}

.lightbox-nav{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:2001;
width:48px;
height:52px;
border:none;
border-radius:8px;
background:rgba(255,255,255,0.95);
color:#222;
font-size:30px;
line-height:1;
cursor:pointer;
align-items:center;
justify-content:center;
padding:0;
font-family:Arial, Helvetica, sans-serif;
box-shadow:0 2px 10px rgba(0,0,0,0.25);
display:none;
transition:background 0.2s;
}

.lightbox-nav:hover{
background:#fff;
}

.lightbox-nav-prev{
left:12px;
}

.lightbox-nav-next{
right:12px;
}

.lightbox-cerrar{
position:absolute;
top:12px;
right:12px;
z-index:2002;
width:44px;
height:44px;
border:none;
border-radius:50%;
background:rgba(255,255,255,0.95);
color:#222;
font-size:28px;
line-height:1;
cursor:pointer;
padding:0;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
box-shadow:0 2px 10px rgba(0,0,0,0.25);
}

.lightbox-cerrar:hover{
background:#fff;
}

@media (max-width: 800px){
.asesoria-confianza{
padding:56px 18px;
}

.layout-dos-columnas .asesoria-confianza{
padding:56px 18px;
}

.asesoria-confianza__container{
grid-template-columns:1fr;
gap:32px;
}

.asesoria-contacto{
padding:24px 20px;
}

.asesoria-contacto__acciones{
display:grid;
grid-template-columns:1fr;
gap:10px;
}

.asesoria-contacto__acciones .btn{
width:100%;
}
}

@media (max-width: 520px){
.asesoria-confianza__beneficios{
grid-template-columns:1fr;
}
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
.card-link:focus-visible{
outline:2px solid #2a5080;
outline-offset:2px;
}

.site-header a:focus-visible,
.site-header button:focus-visible{
outline-color:#fff;
}

.whatsapp:focus-visible{
outline:2px solid #fff;
outline-offset:3px;
}

.card-link:focus-visible{
outline-offset:-2px;
}

@media (max-width: 1100px){
.cards{
grid-template-columns:repeat(2, minmax(0, 1fr));
}

.ubicacion-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 768px){
.site-header__inner{
min-height:64px;
padding:0 16px;
}

.site-header__toggle{
display:inline-flex;
}

.site-header__nav{
display:none;
position:absolute;
left:0;
right:0;
top:100%;
width:100%;
background:#1f3a5f;
padding:8px 16px 16px;
box-shadow:0 8px 16px rgba(0,0,0,0.12);
}

.site-header__nav.is-open{
display:block;
}

.site-header__nav ul{
flex-direction:column;
align-items:stretch;
gap:0;
}

.site-header__nav a{
width:100%;
min-height:48px;
padding:12px 8px;
}

.site-header__nav-home{
display:block;
}

.layout-dos-columnas{
grid-template-columns:1fr;
grid-template-areas:
"layout-dev"
"layout-asesoria"
"layout-form"
"layout-rest";
}

.layout-dos-columnas .asesoria-confianza{
padding:56px 16px;
}

.layout-dos-columnas .section{
padding-left:16px;
padding-right:16px;
}

.layout-dos-columnas__sidebar{
padding:0 16px 32px;
position:static;
max-height:none;
overflow:visible;
}

.formulario{
gap:12px;
max-width:400px;
}

.formulario input,
.formulario button,
.formulario-exito-cerrar{
min-height:46px;
height:46px;
font-size:16px;
}

.formulario input{
padding:12px 14px;
}

.formulario-panel{
box-shadow:0 6px 22px rgba(31,58,95,0.08);
padding:16px 14px;
max-width:400px;
}

.formulario-panel-titulo{
font-size:1.05rem;
margin-bottom:8px;
}

.hero{
min-height:0;
padding:40px 16px 44px;
}

.hero .btn-agendar-visita{
width:100%;
max-width:360px;
}

.section{
padding:56px 16px;
}

.section-desarrollos{
padding-bottom:32px;
}

.section-agenda{
padding-top:32px;
}

.section-desarrollos .desarrollos-intro{
margin-bottom:32px;
}

.cards{
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:20px;
}

.asesor{
padding:56px 16px;
}

.amenidades-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}

.ubicacion-section{
margin-top:26px;
}

.ubicacion-section__intro{
margin-bottom:12px;
}

.ubicacion-grid{
grid-template-columns:1fr;
gap:11px;
}

.ubicacion-card{
padding:13px 14px 14px;
}

.ubicacion-map{
margin-top:14px;
aspect-ratio:4 / 3;
}

.ubicacion-map iframe{
min-height:260px;
}

.whatsapp{
width:52px;
height:52px;
right:max(16px, env(safe-area-inset-right, 0px));
bottom:max(16px, calc(16px + env(safe-area-inset-bottom, 0px)));
}

.whatsapp img{
width:28px;
height:28px;
}

footer{
padding:24px 16px 28px;
font-size:0.9rem;
}

.container{
padding:16px;
}

.galeria,
.galeria-modelos{
grid-template-columns:1fr;
gap:14px;
}

.galeria-amenidades{
margin-top:20px;
}

.slider-nav,
.lightbox-nav{
display:none !important;
}

.seo-text.top{
padding:8px 0 4px;
}

.seo-text.top .container{
padding-top:8px;
padding-bottom:4px;
}

.seo-text.bottom{
padding:28px 0 36px;
}

.nearby{
padding:36px 0 40px;
}

.nearby-intro{
margin-bottom:32px;
font-size:15px;
}

.nearby-grid{
grid-template-columns:1fr;
gap:16px;
}

.nearby-item{
padding:22px 18px 24px;
}
}

@media (min-width: 769px) and (max-width: 1024px){
.nearby-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 640px){
.amenidades-grid{
grid-template-columns:1fr;
}

.cards{
grid-template-columns:1fr;
}
}

@media (prefers-reduced-motion: reduce){
html{
scroll-behavior:auto;
}

.card,
.card-cta,
.formulario button,
.whatsapp,
.asesor-redes a,
.ubicacion-card,
.card-mini-slider__layer,
.mini-slider,
.nearby-item,
.slider-nav,
.lightbox-nav{
transition:none;
}

.card:hover,
.mini-slider:hover,
.nearby-item:hover{
transform:none;
}
}
