:root{--az:#000033;--az2:#003b52;--gold:#b59663;--line:#e8e1d6;--sand:#f6f2ea}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased}
/* Global responsive header: logo centered above navigation */
.header{position:relative!important;min-height:112px!important;height:112px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:0 24px 13px!important;background:#000033!important;border:0!important;z-index:1000!important}
.header .brand-logo{position:absolute!important;top:10px!important;left:50%!important;transform:translateX(-50%)!important;height:52px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.header .brand-logo img,.header .brand-logo .official-header-logo{width:145px!important;max-height:48px!important;object-fit:contain!important}
.header .navigation{display:flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;width:100%!important;flex-wrap:nowrap!important;margin:0!important}
.header .navigation a{font-size:9px!important;letter-spacing:1.15px!important;white-space:nowrap!important;color:#fff!important;text-decoration:none!important;transition:color .25s ease,opacity .25s ease,transform .25s ease!important}
.header .navigation a:hover{color:#d9bd89!important;transform:translateY(-1px)}
.header .reserve-top{background:var(--gold)!important;color:#fff!important;padding:11px 16px!important}
.topbar{position:relative!important;background:var(--az)!important;height:32px!important}
/* smooth page entrance */
body{animation:pageIn .55s ease both}
@keyframes pageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* reveal system */
[data-reveal],.reveal-on-scroll{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-visible,.reveal-on-scroll.is-visible{opacity:1;transform:none}
[data-reveal="left"]{transform:translateX(-42px)}[data-reveal="right"]{transform:translateX(42px)}[data-reveal="scale"]{transform:scale(.96)}
[data-reveal].is-visible{transform:none}
/* image motion */
.lux-card,.feature-card,.hotel-card,.offer-card,.experience-card,.restaurant-card,.home-card,.hotel-home-card,.home-event-card,.home-value{will-change:transform;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.lux-card:hover,.feature-card:hover,.hotel-card:hover,.offer-card:hover,.experience-card:hover,.restaurant-card:hover,.home-card:hover,.hotel-home-card:hover,.home-event-card:hover,.home-value:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(0,0,0,.11)}
.lux-card img,.restaurant-card img,.hotel-card img,.home-card-media,.home-welcome-media,.home-dog-media,.hotel-home-card .photo,.home-event-card .photo,.story-image,.page-hero:after{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.lux-card:hover img,.restaurant-card:hover img,.hotel-card:hover img,.home-card:hover .home-card-media,.hotel-home-card:hover .photo,.home-event-card:hover .photo{transform:scale(1.045)}
/* Secondary pages: visual hero per section */
.page-hero{overflow:hidden!important;min-height:430px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:150px 7% 75px!important}
.page-hero:after{transform:scale(1.02)}
.page-nosotros .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.28)),url('../habitaciones/habitacion_4_1.jpg')!important}
.page-ofertas .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.25)),url('../images/promo-9499.jpg')!important}
.page-experiencias .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.25)),url('../habitaciones/habitacion_6_1.jpg')!important}
.page-eventos .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.25)),url('../habitaciones/habitacion_3_2.jpg')!important}
.page-bodas .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.22)),url('../habitaciones/habitacion_7_2.jpg')!important}
.page-spa .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.22)),url('../habitaciones/habitacion_5_2.jpg')!important}
.page-sostenibilidad .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.25)),url('../habitaciones/habitacion_2_1.jpg')!important}
.page-restaurantes .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.25)),url('../habitaciones/habitacion_8_1.jpg')!important}
.page-servicios .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.25)),url('../habitaciones/habitacion_1_2.jpg')!important}
.page-habitaciones .page-hero:after,.page-habitacion .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.2)),url('../habitaciones/habitacion_4_1.jpg')!important}
.page-hotel .page-hero:after{background-image:linear-gradient(90deg,rgba(0,0,51,.88),rgba(0,0,51,.2)),url('../habitaciones/habitacion_3_1.jpg')!important}
/* Hero video and glass cotizador */
.hero.v27-hero-video{height:760px!important;min-height:760px!important}
.hero-video{object-fit:cover!important;width:100%!important;height:100%!important}
.hero-video-shade{background:linear-gradient(180deg,rgba(0,0,51,.46),rgba(0,0,51,.12) 28%,rgba(0,0,0,.02) 56%,rgba(0,0,0,.20))!important}
.booking-wrapper{position:absolute!important;left:50%!important;bottom:18px!important;top:auto!important;transform:translateX(-50%)!important;width:min(94%,1180px)!important;max-width:1180px!important;margin:0!important;z-index:50!important;pointer-events:auto!important}
.booking{background:rgba(255,255,255,.16)!important;backdrop-filter:blur(18px) saturate(125%)!important;-webkit-backdrop-filter:blur(18px) saturate(125%)!important;border:1px solid rgba(255,255,255,.42)!important;border-top:2px solid rgba(255,255,255,.62)!important;box-shadow:0 16px 45px rgba(0,0,0,.23)!important;border-radius:5px!important}
.booking-field input,.booking-field select{background:rgba(255,255,255,.88)!important;transition:background .25s ease,box-shadow .25s ease,transform .25s ease!important}
.booking-field input:focus,.booking-field select:focus{background:#fff!important;box-shadow:0 0 0 3px rgba(255,255,255,.24)!important;transform:translateY(-1px)}
.booking-button{transition:transform .25s ease,box-shadow .25s ease,background .25s ease!important}.booking-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.hero-scroll{transition:opacity .3s ease,transform .3s ease}.hero-scroll:hover{transform:translateY(-4px)}
/* Better spacing and touch targets */
a,button,input,select{touch-action:manipulation}
.home-block,.local-page{content-visibility:auto;contain-intrinsic-size:700px}
/* reduce motion accessibility */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal],.reveal-on-scroll{opacity:1!important;transform:none!important}}
@media(max-width:1100px){.header{height:118px!important}.header .navigation{gap:10px!important}.header .navigation a{font-size:7.5px!important}.header .reserve-top{padding:9px 11px!important}.hero.v27-hero-video{height:720px!important;min-height:720px!important}.booking-wrapper{width:96%!important}}
@media(max-width:760px){
 .topbar{display:none!important}.header{height:76px!important;min-height:76px!important;padding:0!important;background:rgba(0,0,51,.78)!important;backdrop-filter:blur(14px)!important}.header .brand-logo{top:8px!important;height:48px!important}.header .brand-logo img,.header .brand-logo .official-header-logo{width:112px!important;max-height:42px!important}.header .navigation{display:none!important}.menu-button{display:block!important;position:absolute!important;right:18px!important;top:20px!important;color:#fff!important;z-index:5!important}
 .hero.v27-hero-video{height:730px!important;min-height:730px!important}.hero-video{min-height:730px!important}.hero-scroll{bottom:275px!important;font-size:9px!important}.booking-wrapper{bottom:10px!important;width:94%!important}.booking{padding:12px!important}.booking-title{font-size:19px!important;margin-bottom:9px!important}.booking-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.booking-field label{font-size:9px!important}.booking-field input,.booking-field select{height:38px!important;font-size:11px!important;padding:0 9px!important}.booking-button{grid-column:1/-1!important;height:42px!important}
 .page-hero{min-height:380px!important;padding:125px 25px 55px!important}.page-hero h1{font-size:43px!important;line-height:1.05!important}.page-hero p{font-size:12px!important;line-height:1.75!important}.subnav-local{justify-content:flex-start!important;gap:17px!important;padding:12px 16px!important}
 .local-page{padding:58px 20px!important}.local-page h2{font-size:39px!important}.story-grid,.detail-layout,.hotel-grid,.offer-grid,.feature-grid,.experience-grid,.restaurant-grid{grid-template-columns:1fr!important}.story-image{min-height:290px!important;order:-1}.number-grid{grid-template-columns:1fr 1fr!important}.capacity{grid-template-columns:1fr 1fr!important}.photo-mosaic{grid-template-columns:1fr 1fr!important;grid-auto-rows:170px!important}.cta-panel{display:block!important;padding:30px!important}.cta-panel a{display:inline-block;margin-top:12px}.restaurant-card{grid-template-columns:120px 1fr!important}.restaurant-card img{width:120px!important;height:150px!important}.lux-card img{height:210px!important}
 .home-welcome,.home-dog,.home-hotels-grid,.home-cards,.home-events-grid{grid-template-columns:1fr!important}.home-welcome-media,.home-dog-media{min-height:300px!important;order:-1}.home-values-grid{grid-template-columns:1fr!important}.home-value{border-right:0!important;border-bottom:1px solid #e2dacd}.home-value:last-child{border-bottom:0}.home-block{padding:62px 18px!important}.home-heading h2{font-size:39px!important}.home-welcome-copy,.home-dog-copy{padding:42px 26px!important}.hotel-home-card{min-height:410px!important}.home-event-card{min-height:370px!important}.professional-banner-wrap{padding:24px 14px 0!important}.value-banner,.promo-banner-local{grid-template-columns:1fr!important}.value-banner .visual,.promo-banner-local .visual{min-height:175px!important}.value-banner .copy,.promo-banner-local .copy{padding:28px!important}.value-banner h3,.promo-banner-local h3{font-size:35px!important}
}

.page-leaving{opacity:0!important;transform:translateY(-4px)!important;transition:opacity .18s ease,transform .18s ease!important}
.page-index .header{position:absolute!important;top:32px!important;left:0!important;right:0!important;background:linear-gradient(180deg,rgba(0,0,51,.62),rgba(0,0,51,.12))!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
.page-index .topbar{position:absolute!important;top:0!important;left:0!important;right:0!important;z-index:1001!important;background:rgba(0,0,51,.50)!important;backdrop-filter:blur(10px)!important}
@media(max-width:760px){.page-index .header{top:0!important;height:76px!important;background:rgba(0,0,51,.60)!important}}
