:root{--pez-navy:#0a2540;--pez-gold:#c5a880;--pez-cream:#f8f5f0;--pez-aqua:#0ea5e9}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{overflow-x:hidden}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--pez-aqua);outline-offset:3px}
#inicio{isolation:isolate}
#inicio .hero-photo{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;opacity:.45;transition:opacity .7s ease,background-image .3s ease;pointer-events:none}
#inicio .hero-photo-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,rgba(0,15,34,.92) 5%,rgba(0,15,34,.82) 52%,rgba(0,15,34,.61) 100%);pointer-events:none}
#inicio>.absolute{z-index:0}
#inicio .max-w-\[1440px\]{z-index:1}
#inicio .hero-photo{filter:saturate(.92)}
#inicio h1{line-height:1.13!important}
#inicio #heroBookingBar{scroll-margin-top:110px}
#villas article{transform:translateY(0);transition:transform .35s ease,box-shadow .35s ease}
#villas article:hover{transform:translateY(-5px)}
#villaModal{z-index:70!important}
#villaModal>div{max-height:min(90vh,900px)}
#villaModal button{cursor:pointer}
.pez-modal-cover{width:100%;height:230px;border-radius:16px;object-fit:cover;margin-bottom:22px}
.pez-modal-photo-row{display:flex;gap:8px;overflow-x:auto;margin-top:10px;padding-bottom:5px}
.pez-modal-photo-row img{width:98px;height:70px;border-radius:10px;object-fit:cover;cursor:pointer;transition:filter .2s}
.pez-modal-photo-row img:hover{filter:brightness(.8)}
.pez-modal-close{position:absolute;right:12px;top:12px}
.pez-booking-summary{background:#f8f5f0;border-radius:15px;padding:22px;margin:18px 0}
.pez-booking-summary dt{font-size:11px;color:#697587;letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin-top:12px}
.pez-booking-summary dd{font-size:15px;font-weight:600;color:#0a2540}
.pez-booking-note{font-size:13px;color:#5c6671;line-height:1.7}
.pez-action-line{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pez-action-line a,.pez-action-line button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 19px;border-radius:10px;font-size:13px;font-weight:700;gap:7px;transition:filter .2s}
.pez-action-line a:hover,.pez-action-line button:hover{filter:brightness(1.1)}
.pez-btn-navy{background:var(--pez-navy);color:white}.pez-btn-green{background:#15803d;color:white}.pez-btn-pale{background:#f0f3ff;color:#0a2540}
.pez-gallery-section{padding:90px 24px;background:linear-gradient(165deg,#fff 0%,#faf9f6 75%)}
.pez-gallery-wrap{max-width:1344px;margin:auto}
.pez-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px}
.pez-kicker{font-size:11px;font-weight:800;letter-spacing:.17em;color:#a48862;font-family:'Plus Jakarta Sans',sans-serif}
.pez-gallery-head h2{font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,50px);line-height:1.15;color:#0a2540;margin:10px 0 15px}
.pez-gallery-head p{color:#566477;font-size:15px;line-height:1.7;max-width:590px}
.pez-gallery-cta{display:inline-flex;gap:9px;align-items:center;text-decoration:none;background:#0a2540;color:white;border-radius:10px;padding:14px 20px;font-size:13px;font-weight:700;white-space:nowrap}
.pez-gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 25px}
.pez-filter{padding:11px 18px;font-size:13px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#435268;font-weight:700;cursor:pointer}
.pez-filter.active{background:#0a2540;color:#fff;border-color:#0a2540}
.pez-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:14px}
.pez-gallery-item{border:0;display:block;position:relative;background:#ecedf1;border-radius:15px;overflow:hidden;cursor:pointer;padding:0;aspect-ratio:4/3}
.pez-gallery-item img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .5s ease}
.pez-gallery-item:hover img{transform:scale(1.065)}
.pez-gallery-item:after{content:'↗';position:absolute;top:10px;right:10px;background:rgba(255,255,255,.85);color:#0a2540;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;opacity:0;transition:opacity .2s}
.pez-gallery-item:hover:after{opacity:1}
.pez-gallery-item span{position:absolute;left:12px;bottom:12px;color:white;text-shadow:0 2px 5px #0009;font-weight:700;font-size:12px}
.pez-gallery-empty{grid-column:1/-1;padding:32px;color:#607086;border:1px dashed #cdd4dd;border-radius:15px;text-align:center}
.pez-gallery-more{display:block;margin:25px auto 0;border:1px solid #d7dde5;background:white;border-radius:9px;padding:12px 22px;color:#0a2540;font-size:13px;font-weight:700}
.pez-lightbox[hidden]{display:none!important}
.pez-lightbox{position:fixed;z-index:100;inset:0;background:rgba(1,12,25,.96);display:flex;align-items:center;justify-content:center;padding:55px 80px}
.pez-lightbox img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:6px}
.pez-lightbox button{position:absolute;border:0;cursor:pointer;background:#ffffff23;color:white;border-radius:999px;display:grid;place-items:center;width:48px;height:48px;font-size:35px}
.pez-lightbox-close{top:16px;right:16px}.pez-lightbox-prev{left:14px;top:50%}.pez-lightbox-next{right:14px;top:50%}
.pez-lightbox-counter{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);color:white;font:600 12px 'Plus Jakarta Sans',sans-serif}
.pez-mobile-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #e2e7ec;background:white;border-radius:9px;color:#0a2540}
.pez-mobile-menu{display:none;padding:10px 24px 18px;background:white;border-top:1px solid #eff2f6;box-shadow:0 12px 22px #09233c17}
.pez-mobile-menu a{padding:13px 4px;display:block;color:#0a2540;font-weight:700;text-decoration:none;font-size:14px}
.pez-mobile-menu[hidden]{display:none!important}
.pez-toast{position:fixed;z-index:120;bottom:100px;left:50%;transform:translateX(-50%);border-radius:12px;box-shadow:0 14px 50px #0a25404d;background:#0a2540;color:white;padding:15px 22px;font:600 13px 'Plus Jakarta Sans',sans-serif;min-width:220px;text-align:center}
#villas article img,#editorialImg1,#editorialImg2{background:#e8eff4}
@media(max-width:1279px){.pez-mobile-toggle{display:inline-flex}.pez-mobile-menu:not([hidden]){display:block}header .h-20{height:74px}header .h-20>a{flex-shrink:0}}
@media(max-width:767px){#inicio{padding-top:116px!important;padding-bottom:58px!important}#inicio h1{font-size:clamp(35px,8.5vw,48px)!important;line-height:1.18!important}#inicio .font-body-lg{font-size:16px!important}#inicio .lg\:col-span-4{display:grid;grid-template-columns:repeat(3,1fr)}#inicio .lg\:col-span-4>div{padding:12px;flex-direction:column;text-align:center;gap:9px}#inicio .lg\:col-span-4 .font-headline-lg{font-size:28px!important}#inicio .lg\:col-span-4 .material-symbols-outlined{display:none}#inicio .lg\:col-span-4 .font-label-sm{font-size:9px!important}#inicio .max-w-\[1440px\]{padding-left:18px;padding-right:18px}header .h-20{padding-left:15px;padding-right:15px}header .h-20>a{padding:0 10px!important}header .h-20 .flex.items-center.gap-3.shrink-0>a:last-of-type{font-size:12px;padding:0 12px;height:41px}header .font-headline-sm{font-size:17px!important}header .flex.items-center.gap-3.shrink-0>div.rounded-full{display:none}.pez-gallery-section{padding:65px 18px}.pez-gallery-head{display:block}.pez-gallery-cta{margin-top:20px}.pez-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pez-gallery-item{border-radius:10px}.pez-lightbox{padding:60px 15px}.pez-lightbox button{width:38px;height:38px}.pez-lightbox-prev{left:5px}.pez-lightbox-next{right:5px}.pez-gallery-item span{font-size:10px}}
@media(max-width:390px){header .h-20 img{max-width:25px}header .h-20 .font-label-sm{font-size:8px}header .h-20 .flex.items-center.gap-3.shrink-0>a:last-of-type{font-size:11px!important;padding:0 8px!important}#inicio .font-headline-lg{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
