/* FONT AZUR — revisión V4
   Patrón estructural de Mar Alta preservado.
   Tipografía principal: Arial / Helvetica (exactamente la plantilla madre).
   Una única tipografía en todo el sitio: Arial / Helvetica / sans-serif.
   Identidad cromática aprobada: #2A3F54 / #87AAA9 / #EEEAE2 / #F8F8F5.
*/
:root {
  --dark:#2A3F54;
  --dark-2:#354c62;
  --dark-3:#20364b;
  --cream:#F8F8F5;
  --sand:#EEEAE2;
  --soft:#EEEAE2;
  --accent:#87AAA9;
  --accent-2:#DCE9E5;
  --text:#2A3F54;
  --muted:#5e6f7a;
  --fa-font-primary:Arial,Helvetica,sans-serif;
  
}
body{font-family:var(--fa-font-primary);background:var(--cream);color:var(--dark)}
button,input,textarea,select{font-family:inherit}
.eyebrow{font-family:var(--fa-font-primary);color:#547e82;font-size:.69rem;font-weight:700;letter-spacing:.16em}
.section-title{font-family:var(--fa-font-primary);color:var(--dark);font-weight:800;letter-spacing:-.054em}
.section-text{font-family:var(--fa-font-primary)}
.section-light{background:var(--cream)}
.section-soft{background:var(--sand)}
.intro.section-light{background:var(--sand)}
#equipamientos.section-soft{background:var(--sand)}
#galeria.section-light{background:var(--cream)}
#equipamientos .amenity{background:var(--cream)}
#equipamientos .amenity-icon{background:#e5eeea;border-color:#c7dad5;color:var(--dark)}
.amenities-head .section-title,.amenities-head .section-text{color:var(--dark)}
.gallery-section .slider-dot{background:#c1cfca}
.gallery-section .slider-dot[aria-current='true']{background:var(--dark)}
.nav-links a:hover,.nav-links a.active{color:#DCE9E5}
.nav-cta:hover{background:#e0efec}
.btn-primary:hover{background:#3c566a}

/* HEADER. Ajuste controlado para dejar aire en el sticky. */
.nav-inner{min-height:82px!important}
.logo img.brand-logo{width:103px!important;max-width:103px!important;height:62px!important;max-height:62px!important;object-fit:contain}
.navbar.scrolled .nav-inner{min-height:74px!important}
.navbar.scrolled .logo img.brand-logo{width:91px!important;max-width:91px!important;height:54px!important;max-height:54px!important}
.footer .logo img.brand-logo{width:112px;max-width:112px;height:auto;max-height:70px}

/* HERO. Una jerarquía clara, sin recuadros promocionales ni fuentes serif. */
.hero.hero-video-section{
  position:relative;
  display:flex;
  align-items:center;
  min-height:810px;
  padding:150px 0 140px;
  background-color:#2A3F54;
  background-image:linear-gradient(90deg,rgba(25,43,59,.8),rgba(36,55,70,.4) 65%,rgba(36,55,70,.28)),url('../assets/img/hero-poster.webp');
  overflow:hidden;
}
.hero.hero-video-section::before{background:linear-gradient(90deg,rgba(24,42,58,.75) 0%,rgba(31,48,62,.28) 56%,rgba(31,48,62,.17) 100%)}
.hero.hero-video-section>.container{position:relative;z-index:2;width:min(1180px,calc(100% - 48px))}
.hero.hero-video-section .hero-content{max-width:640px;padding:0;margin:0}
.hero.hero-video-section .hero-content .eyebrow{margin:0 0 25px;color:#DCE9E5;letter-spacing:.17em;font-size:.68rem}
.hero.hero-video-section .hero-content .eyebrow:before{background:var(--accent);width:36px}
.hero.hero-video-section .hero-content h1{margin:0;line-height:1}
.hero.hero-video-section .hero-title-main{
  font-family:var(--fa-font-primary);
  display:block;
  margin:0;
  font-size:clamp(4rem,7.15vw,7rem);
  font-weight:800;
  line-height:.99;
  letter-spacing:-.075em;
  white-space:nowrap;
  color:#fff;
}
.hero.hero-video-section .hero-title-sub{
  font-family:var(--fa-font-primary);
  display:block;
  max-width:610px;
  margin:27px 0 0;
  color:#fff;
  font-size:clamp(1.75rem,2.75vw,2.65rem);
  line-height:1.17;
  letter-spacing:-.045em;
  font-weight:600;
}
.hero.hero-video-section .hero-kicker{
  display:block;
  font-family:var(--fa-font-primary);
  margin:16px 0 0!important;
  color:#e8efed;
  font-size:clamp(.98rem,1.25vw,1.18rem)!important;
  font-weight:400;
  letter-spacing:-.008em;
  line-height:1.55!important;
}
/* Mismo eje de lectura y espacio generoso, pero cero bordes, pastillas o líneas. */
.hero.hero-video-section .hero-meta{
  display:flex;
  align-items:baseline;
  gap:36px;
  flex-wrap:wrap;
  margin:32px 0 0;
  padding:0;
  border:0;
  background:none;
}
.hero.hero-video-section .hero-status{
  display:inline-block;
  padding:0;
  border:0;
  background:none;
  color:#DCE9E5;
  font-family:var(--fa-font-primary);
  font-size:.77rem;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.55;
  text-transform:uppercase;
  white-space:nowrap;
}
.hero.hero-video-section .hero-price-editorial{
  display:inline-flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  margin:0;
  border:0;
  box-shadow:none;
  background:none;
  backdrop-filter:none;
  color:#fff;
  font-family:var(--fa-font-primary);
  line-height:1.2;
}
.hero.hero-video-section .price-prefix{font-family:inherit;font-size:.92rem;font-weight:400;color:#e4eeea;letter-spacing:0}
.hero.hero-video-section .hero-price-editorial strong{
  font-family:var(--fa-font-primary);
  font-size:clamp(1.3rem,1.8vw,1.68rem);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.035em;
  color:#fff;
  text-shadow:none;
}
.hero.hero-video-section .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}
.hero.hero-video-section .hero-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:172px;
  min-height:48px;
  padding:12px 19px;
  font-family:var(--fa-font-primary);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.035em;
  line-height:1.4;
  text-transform:uppercase;
  border-radius:2px;
}
.hero.hero-video-section .hero-actions .btn-primary{background:#fff;color:var(--dark)}
.hero.hero-video-section .hero-actions .btn-primary:hover{background:#DCE9E5;color:var(--dark)}
.hero.hero-video-section .hero-actions .btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}
.hero.hero-video-section .hero-actions .btn-outline-light:hover{background:rgba(255,255,255,.14)}
/* Mantener la tarjeta original de la plantilla madre sin competir con los mensajes aprobados. */
.hero.hero-video-section .hero-card{
  position:absolute;
  bottom:77px;
  right:max(32px,calc((100vw - 1180px)/2));
  width:316px;
  padding:22px 24px;
  background:rgba(248,248,245,.97);
  color:var(--dark);
  box-shadow:0 12px 44px rgba(20,33,45,.15);
}
.hero.hero-video-section .hero-card small{color:#567b7e;font-family:var(--fa-font-primary);font-size:.65rem;margin-bottom:10px}
.hero.hero-video-section .hero-card h3{font-size:1.22rem;line-height:1.22;letter-spacing:-.025em}
.hero.hero-video-section .hero-card p{font-size:.81rem;line-height:1.53;margin-top:11px}
.hero.hero-video-section .hero-card-line{margin:16px 0}
.hero.hero-video-section .hero-mini-data strong{font-size:.96rem;white-space:nowrap}
.hero.hero-video-section .hero-mini-data span{font-size:.56rem;letter-spacing:0}
.hero.hero-video-section .hero-scroll{color:#fff}

/* GALERÍA: encabezado alineado al contenedor real del slider. */
#galeria.gallery-section .gallery-intro{
  display:block!important;
  max-width:none!important;
  width:100%!important;
  margin:0 0 28px!important;
  padding:0 2px!important;
  text-align:left!important;
}
#galeria.gallery-section .gallery-intro .eyebrow{margin:0 0 13px;text-align:left;color:#547e82}
#galeria.gallery-section .gallery-intro .section-title{
  width:100%;max-width:100%;text-align:left!important;
  margin:0 0 10px;padding:0;
  font-size:clamp(2rem,3.3vw,3.15rem);
  line-height:1.1;
  letter-spacing:-.055em;
}
#galeria.gallery-section .gallery-intro p{
  text-align:left!important;
  margin:0;max-width:560px;
  color:#5e6f7a;
  font-family:var(--fa-font-primary);
  font-size:.94rem;line-height:1.55;
}
#galeria.gallery-section .photo-slide figcaption{font-family:var(--fa-font-primary);font-size:.78rem;text-align:left;font-weight:700}
#galeria.gallery-section .slider-count{font-family:var(--fa-font-primary)}

/* Tipologías, bloques y pies: integrar paleta sin rediseñar los componentes madre. */
#viviendas.plans{background:var(--dark)}
#viviendas .plans-head .section-title{color:#fff}
#viviendas .plans-head .eyebrow{color:#DCE9E5}
#viviendas .plan-content small,#viviendas .plan-content p{font-family:var(--fa-font-primary)}
.quality-section{background:#EEEAE2}
.quality-inner .section-title{color:var(--dark)}
.directions-head .eyebrow{color:#547e82}
.footer{background:#20364b}

@media(max-width:1120px){
  .hero.hero-video-section .hero-card{right:26px;width:280px;padding:18px 20px;bottom:45px}
  .hero.hero-video-section .hero-content{max-width:560px}
  .hero.hero-video-section .hero-title-main{font-size:clamp(3.6rem,7vw,5.5rem)}
  .hero.hero-video-section .hero-title-sub{font-size:clamp(1.6rem,3vw,2.25rem)}
}
@media(max-width:990px){
  .hero.hero-video-section{display:block;min-height:0;padding:135px 0 68px}
  .hero.hero-video-section .hero-content{max-width:680px}
  .hero.hero-video-section .hero-card{position:relative;right:auto;bottom:auto;margin:36px 24px 8px;width:min(380px,calc(100% - 48px));padding:22px}
  .hero.hero-video-section .hero-scroll{display:none}
}
@media(max-width:760px){
  .nav-inner{min-height:74px!important}
  .logo img.brand-logo{width:95px!important;max-width:95px!important;height:56px!important;max-height:56px!important}
  .navbar.scrolled .logo img.brand-logo{width:87px!important;max-width:87px!important;height:50px!important;max-height:50px!important}
  .hero.hero-video-section{padding:121px 0 58px}
  .hero.hero-video-section .hero-content .eyebrow{margin-bottom:21px}
  .hero.hero-video-section .hero-title-main{font-size:clamp(3.15rem,11vw,5.6rem);white-space:normal;letter-spacing:-.07em}
  .hero.hero-video-section .hero-title-sub{margin-top:23px;font-size:clamp(1.65rem,5.7vw,2.25rem);line-height:1.19}
  .hero.hero-video-section .hero-kicker{margin-top:15px!important;font-size:1rem!important}
  .hero.hero-video-section .hero-meta{gap:11px 26px;margin-top:26px;align-items:baseline}
  .hero.hero-video-section .hero-actions{margin-top:30px;gap:11px}
  .hero.hero-video-section .hero-actions .btn{min-width:0;flex:1 1 195px}
  #galeria.gallery-section .gallery-intro{margin-bottom:24px!important}
  #galeria.gallery-section .gallery-intro .section-title{font-size:clamp(1.9rem,6vw,2.65rem)}
}
@media(max-width:480px){
  .hero.hero-video-section{padding:115px 0 45px}
  .hero.hero-video-section>.container{width:calc(100% - 42px)}
  .hero.hero-video-section .hero-title-main{font-size:clamp(2.85rem,12vw,4.2rem)}
  .hero.hero-video-section .hero-title-sub{font-size:clamp(1.55rem,6.2vw,1.85rem)}
  .hero.hero-video-section .hero-meta{display:flex;align-items:flex-start;flex-direction:column;gap:10px}
  .hero.hero-video-section .hero-price-editorial strong{font-size:1.5rem}
  .hero.hero-video-section .hero-actions{flex-direction:column}
  .hero.hero-video-section .hero-actions .btn{width:100%;flex:0 0 auto}
  .hero.hero-video-section .hero-card{margin:30px 21px 12px;width:calc(100% - 42px)}
}


/* V5 — Única familia tipográfica, con hero de escala editorial equilibrada. */
html,body{font-family:Arial,Helvetica,sans-serif}
.hero.hero-video-section{padding-top:140px;padding-bottom:120px;min-height:790px}
.hero.hero-video-section>.container{width:min(1180px,calc(100% - 48px))}
.hero.hero-video-section .hero-content{max-width:580px}
.hero.hero-video-section .hero-content .eyebrow{font-size:.68rem;letter-spacing:.145em;margin-bottom:24px;font-weight:700}
.hero.hero-video-section .hero-title-main{
  font-size:clamp(3.5rem,6.25vw,5.65rem);
  font-weight:800;letter-spacing:-.067em;line-height:.99;
}
.hero.hero-video-section .hero-title-sub{
  margin-top:27px;max-width:570px;
  font-size:clamp(1.56rem,2.15vw,2.12rem);
  font-weight:500;letter-spacing:-.035em;line-height:1.19;
}
.hero.hero-video-section .hero-kicker{
  margin-top:17px!important;
  font-size:clamp(1rem,1.12vw,1.08rem)!important;
  line-height:1.5!important;letter-spacing:0;
}
.hero.hero-video-section .hero-meta{
  margin-top:32px;display:flex;align-items:baseline;flex-wrap:wrap;
  gap:14px 28px;
}
.hero.hero-video-section .hero-status{
  font-size:.74rem;letter-spacing:.13em;font-weight:700;line-height:1.4;
}
.hero.hero-video-section .hero-price-editorial{
  gap:7px;font-size:1.05rem;font-weight:400;
}
.hero.hero-video-section .price-prefix{font-size:.94rem;font-weight:400;}
.hero.hero-video-section .hero-price-editorial strong{
  font-size:1.45rem;font-weight:700;letter-spacing:-.027em;
}
.hero.hero-video-section .hero-actions{gap:12px;margin-top:34px}
.hero.hero-video-section .hero-actions .btn{min-height:47px;padding:11px 21px;font-size:.72rem;letter-spacing:.045em}
/* Responsive refinements without touching the sections previously approved. */
@media(max-width:1120px) and (min-width:991px){
  .hero.hero-video-section .hero-content{max-width:510px}
  .hero.hero-video-section .hero-title-main{font-size:clamp(3.3rem,6.2vw,4.6rem)}
  .hero.hero-video-section .hero-title-sub{font-size:clamp(1.5rem,2.45vw,1.9rem)}
}
@media(max-width:990px){
  .hero.hero-video-section{min-height:0;padding:126px 0 68px}
  .hero.hero-video-section .hero-content{max-width:680px}
}
@media(max-width:760px){
  .hero.hero-video-section{padding:116px 0 56px}
  .hero.hero-video-section .hero-content .eyebrow{margin-bottom:20px}
  .hero.hero-video-section .hero-title-main{font-size:clamp(3.05rem,10.7vw,5rem)}
  .hero.hero-video-section .hero-title-sub{font-size:clamp(1.47rem,5.2vw,2rem);line-height:1.2;margin-top:22px}
  .hero.hero-video-section .hero-kicker{margin-top:14px!important;font-size:1rem!important}
  .hero.hero-video-section .hero-meta{margin-top:26px;gap:11px 23px}
  .hero.hero-video-section .hero-price-editorial strong{font-size:1.35rem}
  .hero.hero-video-section .hero-actions{margin-top:29px}
}
@media(max-width:480px){
  .hero.hero-video-section{padding:109px 0 43px}
  .hero.hero-video-section .hero-title-main{font-size:clamp(2.75rem,11.5vw,4rem)}
  .hero.hero-video-section .hero-title-sub{font-size:clamp(1.35rem,5.9vw,1.8rem)}
  .hero.hero-video-section .hero-meta{gap:8px 17px;align-items:baseline}
  .hero.hero-video-section .hero-price-editorial strong{font-size:1.3rem}
}
