
:root{--blue:#5686b6;--navy:#0d2d50;--navy2:#092440;--sky:#edf5fc;--text:#687381;--gold:#f4ae13;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--text);background:#fff}
a{text-decoration:none;color:inherit}img{width:100%;display:block;image-rendering:auto}.container{width:min(1180px,92%);margin:auto}
.eyebrow{text-transform:uppercase;letter-spacing:2px;font:600 12px "DM Sans";color:#6f7782;text-align:center}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:#102c4c;margin:0}h2{font-size:48px;line-height:1.02}.section{padding:90px 0}.center{text-align:center}
.topbar{background:#6793bd;color:#fff;font-size:12px}.topbar .container{height:34px;display:flex;justify-content:space-between;align-items:center}.top-left,.social{display:flex;gap:22px}
.header{background:#5686b6;color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 4px 18px #0001}.nav{height:92px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:"Playfair Display";font-size:28px;font-weight:700;line-height:.72;letter-spacing:.5px}.logo small{display:block;font:600 10px "DM Sans";letter-spacing:3px;margin-top:10px}.menu{display:flex;gap:35px;align-items:center;font-size:14px;font-weight:600}.book-btn,.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 27px;border:1px solid #ffffff55;color:#fff;font-weight:700;transition:.3s}.book-btn:hover{background:#fff;color:var(--navy)}.btn{background:var(--navy);border-color:var(--navy)}.btn:hover{transform:translateY(-2px);background:#174b7e}
.hero{min-height:620px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden;background:linear-gradient(90deg,#061a2da8,#061a2d22),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2000&q=90') center/cover}
.hero:after,.promo:after{content:"";position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(155deg,transparent 34%,#4f83b9cc 35%,#4f83b9cc 68%,transparent 69%);pointer-events:none}.hero .container{position:relative;z-index:2}.script{font-family:"Playfair Display";font-style:italic;font-size:24px}.hero h1{font-size:76px;max-width:650px;color:#fff;line-height:.9;margin:10px 0 18px}.hero p{max-width:590px;line-height:1.8;color:#f5f7fb;margin-bottom:28px}
.services h2,.villas h2{max-width:650px;margin:12px auto 48px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.service-card{height:410px;position:relative;overflow:hidden}.service-card img{height:100%;object-fit:cover;transition:.6s}.service-card:hover img{transform:scale(1.06)}.service-label{position:absolute;left:22px;right:22px;bottom:22px;background:#fff;color:#102c4c;font:700 22px "Playfair Display";padding:23px}.service-label span{position:absolute;right:0;top:0;height:100%;width:64px;background:#102c4c;color:#6fa0d0;display:grid;place-items:center}
.villas{background:linear-gradient(#f3f8fded,#f3f8fded),repeating-linear-gradient(135deg,#fff 0,#fff 70px,#e7f0f9 70px,#e7f0f9 140px)}.villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.villa{background:#fff;box-shadow:0 15px 35px #17355213;transition:.35s}.villa:hover{transform:translateY(-8px)}.villa-image{height:255px;position:relative}.villa-image img{height:100%;object-fit:cover}.badge{position:absolute;top:18px;left:18px;background:#5686b6;color:#fff;padding:9px 13px;font-size:11px;font-weight:700}.badge.sale{background:#ef5b42}.heart{position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center;color:#fff}.villa-body{padding:25px}.stars{color:var(--gold);letter-spacing:2px}.location{font-size:12px;margin:7px 0}.villa h3{font-size:27px;margin:5px 0}.price{font-size:20px;color:#4d83b7}.desc{font-size:13px;min-height:42px;line-height:1.6}.features{display:flex;justify-content:space-between;background:#eef5fc;padding:15px;margin-top:20px;font-size:10px;text-transform:uppercase}.villa .btn{width:100%;margin-top:15px;padding:13px}
.comfort-shell{display:grid;grid-template-columns:1.05fr .95fr;min-height:610px;margin-top:48px;background:#0d2d50;box-shadow:0 22px 55px #102d4c20;overflow:hidden}
.comfort-photo{position:relative;min-height:610px;background:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=95') center/cover}
.comfort-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,#0d2d50 100%)}
.comfort-badge{position:absolute;z-index:2;left:35px;bottom:35px;background:#fff;padding:24px 28px;width:260px;box-shadow:0 12px 30px #0002}
.comfort-badge strong{display:block;font:700 23px "Playfair Display";color:#102c4c;margin-bottom:6px}.comfort-badge span{font-size:12px;line-height:1.6}
.comfort-content{padding:65px 58px;color:#dbe8f4;position:relative}.comfort-content:before{content:"";position:absolute;width:120px;height:120px;border:1px solid #6f9bc8;right:35px;top:30px;border-radius:50%;opacity:.35}
.comfort-content .eyebrow{text-align:left;color:#8fb7dc}.comfort-content h2{color:#fff;font-size:48px;margin:12px 0 18px}.comfort-content>p{line-height:1.8;font-size:14px;max-width:520px}
.comfort-features{display:grid;grid-template-columns:1fr 1fr;margin-top:35px;border-top:1px solid #ffffff22;border-left:1px solid #ffffff22}
.comfort-item{padding:25px 22px;border-right:1px solid #ffffff22;border-bottom:1px solid #ffffff22;transition:.3s}.comfort-item:hover{background:#ffffff0d}
.comfort-icon{font-size:26px;color:#8fc3ee;margin-bottom:12px}.comfort-item h4{margin:0 0 7px;color:#fff;font:700 16px "DM Sans"}.comfort-item p{font-size:11px;line-height:1.6;margin:0;color:#b9cada}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:42px}.exp img{height:220px;object-fit:cover}.exp h3{font:700 18px "DM Sans";color:#5a9dd0;margin:15px 0 8px}.exp p{font-size:12px;line-height:1.7}.exp .btn{padding:12px 20px;font-size:12px}
.reviews{background:#f2f7fc}.review-wrap{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:28px;align-items:stretch}.review-intro{text-align:left}.review-intro .eyebrow{text-align:left}.review-intro h2{font-size:46px;margin:10px 0}.review{background:#fff;padding:30px;box-shadow:0 12px 30px #1839580e;position:relative}.review .quote{position:absolute;right:25px;top:15px;font:700 60px Georgia;color:#e2edf8}.person{display:flex;gap:13px;align-items:center;margin-bottom:18px}.person img{width:50px;height:50px;border-radius:50%;object-fit:cover}.person strong{color:#102c4c}.review p{font-size:13px;line-height:1.8}
.offers-intro{max-width:680px;margin:14px auto 0;text-align:center;font-size:13px;line-height:1.8}
.offers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.offer-card{height:430px;position:relative;overflow:hidden;background:#0d2d50;box-shadow:0 16px 36px #102d4c1c}
.offer-card img{height:100%;object-fit:cover;transition:transform .75s ease}
.offer-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#071e38f2 0%,#0a294c9e 40%,transparent 72%)}
.offer-card:hover img{transform:scale(1.07)}
.offer-content{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:#fff;transition:transform .35s ease}
.offer-card:hover .offer-content{transform:translateY(-7px)}
.offer-no{display:block;color:#9fc7eb;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.offer-content h3{font:700 27px "Playfair Display";color:#fff;margin:0 0 10px}
.offer-content p{font-size:12px;line-height:1.7;color:#e5eef6;min-height:58px;margin:0 0 18px}
.offer-link{display:inline-flex;align-items:center;gap:16px;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #ffffff70;padding-bottom:7px}
.offer-link span{font-size:18px;color:#8fc3ee}
.promo{height:430px;position:relative;display:grid;place-items:center;text-align:center;background:linear-gradient(#071a2d77,#071a2d77),url('https://images.unsplash.com/photo-1613490493576-7fde63acd811?auto=format&fit=crop&w=2000&q=90') center/cover;overflow:hidden}.promo-content{position:relative;z-index:2;color:#fff}.promo h2{font-size:60px;color:#fff;max-width:750px}.promo .script{font-size:30px}.promo .btn{margin-top:25px}
.footer{background:#082746;color:#dbe7f2;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:45px}.footer h4{color:#fff;font-family:"Playfair Display";font-size:20px;margin:0 0 18px}.footer p,.footer a{font-size:12px;line-height:2;display:block}.footer-bottom{border-top:1px solid #ffffff18;margin-top:45px;padding-top:20px;font-size:11px;display:flex;justify-content:space-between}
.reveal{opacity:0;transform:translateY(35px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu{display:none}.service-grid,.offers-grid{grid-template-columns:repeat(2,1fr)}.offer-card{height:390px}.villa-grid,.exp-grid,.review-wrap{grid-template-columns:1fr}.comfort-shell{grid-template-columns:1fr}.comfort-photo{min-height:450px}.comfort-content{padding:45px 35px}.hero h1{font-size:56px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.top-left span:nth-child(2),.social{display:none}.nav{height:74px}.logo{font-size:22px}.book-btn{padding:12px 16px;font-size:12px}.hero{min-height:560px}.hero h1{font-size:48px}.section{padding:65px 0}h2{font-size:38px}.service-grid,.offers-grid,.footer-grid{grid-template-columns:1fr}.offer-card{height:420px}.comfort-features{grid-template-columns:1fr}.comfort-content h2{font-size:38px}.service-card{height:360px}.promo h2{font-size:42px}}

.logo-img{width:270px;height:auto;display:block}.custom-logo-link img{width:270px;height:auto}
.menu ul{list-style:none;margin:0;padding:0;display:flex;gap:35px;align-items:center}.menu li{margin:0}
.menu li:last-child a{display:inline-flex;padding:16px 27px;border:1px solid #ffffff55}
@media(max-width:900px){.logo-img,.custom-logo-link img{width:220px}.menu ul{display:none}}

/* Our Villas page — same Playfair Display + DM Sans approved design */
.inner-hero{min-height:560px;background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}.inner-hero .container{width:100%}.inner-hero h1{font:700 68px/1.04 "Playfair Display",Georgia,serif;color:#fff;margin:12px 0 22px;max-width:780px}.inner-hero p{max-width:650px;font-size:15px;line-height:1.8;color:#edf4fa;margin:0 0 30px}.inner-hero .script{color:#fff}.narrow{max-width:820px}.center{text-align:center}.villa-intro{background:#f5f9fc}.villa-intro p{font-size:14px;line-height:1.9}.villa-listing{padding-top:40px}.villa-feature{display:grid;grid-template-columns:1.08fr .92fr;min-height:570px;margin:0 0 75px;background:#fff;box-shadow:0 20px 55px rgba(15,47,79,.10)}.villa-feature.reverse{grid-template-columns:.92fr 1.08fr}.villa-feature.reverse .vf-image{order:2}.villa-feature.reverse .vf-content{order:1}.vf-image{position:relative;overflow:hidden;min-height:570px}.vf-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.villa-feature:hover .vf-image img{transform:scale(1.045)}.vf-image span{position:absolute;left:25px;top:25px;background:#fff;color:#102f50;padding:11px 16px;font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.vf-content{padding:62px 55px;display:flex;flex-direction:column;justify-content:center}.vf-content h2{font-size:45px;margin:10px 0 18px}.vf-content>p{font-size:13px;line-height:1.85;margin-bottom:27px}.villa-specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dfe8ef;border-left:1px solid #dfe8ef;margin-bottom:26px}.villa-specs div{padding:16px;border-right:1px solid #dfe8ef;border-bottom:1px solid #dfe8ef}.villa-specs b,.villa-specs small{display:block}.villa-specs b{color:#102f50;font-size:12px;margin-bottom:4px}.villa-specs small{font-size:10px}.price-note{font-size:11px;margin-bottom:22px}.price-note strong{font:700 21px "Playfair Display";color:#4e8fc4;margin-left:8px}.vf-content .btn{align-self:flex-start}.villa-benefits{background:#0d2d50;color:#c8d7e4}.villa-benefits h2{color:#fff}.villa-benefits .eyebrow{color:#8fb7dc}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;border-top:1px solid #ffffff24;border-left:1px solid #ffffff24}.benefit-grid>div{padding:35px 28px;border-right:1px solid #ffffff24;border-bottom:1px solid #ffffff24}.benefit-grid i{font-style:normal;font-size:30px;color:#8fc3ee}.benefit-grid h4{font:700 18px "DM Sans";color:#fff;margin:15px 0 8px}.benefit-grid p{font-size:11px;line-height:1.7;margin:0}.villa-book-cta{min-height:480px;background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}.villa-book-cta .container{width:100%}.villa-book-cta h2{font-size:55px;color:#fff;margin:12px 0 18px}.villa-book-cta p{color:#e6eff7;margin-bottom:28px}.btn.light{background:#fff;color:#102f50}@media(max-width:900px){.inner-hero h1{font-size:50px}.villa-feature,.villa-feature.reverse{grid-template-columns:1fr}.villa-feature.reverse .vf-image,.villa-feature.reverse .vf-content{order:initial}.vf-image{min-height:440px}.benefit-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.inner-hero{min-height:500px}.inner-hero h1{font-size:39px}.vf-image{min-height:330px}.vf-content{padding:38px 25px}.vf-content h2{font-size:34px}.villa-specs,.benefit-grid{grid-template-columns:1fr}.villa-book-cta h2{font-size:39px}}

/* Complete-site pages */
.section-copy{max-width:760px;margin:15px auto 40px;line-height:1.85}.pale{background:#f5f9fc}
.detail-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #dfe8ef}.detail-grid div{padding:25px 18px;border-right:1px solid #dfe8ef}.detail-grid div:last-child{border:0}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{font-size:10px;text-transform:uppercase;letter-spacing:1px}.detail-grid strong{color:#102f50;margin-top:7px;font-size:13px}
.two-col,.split-photo,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.editor-note{background:#f5f9fc;padding:45px}.editor-note h3{font-size:27px}.photo-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-trio img,.content-photo{height:390px;object-fit:cover}.split-photo img{height:520px;object-fit:cover}.pool-feature{background:#f5f9fc}
.mini-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery-tile{position:relative;height:250px;overflow:hidden}.gallery-tile img{height:100%;object-fit:cover;transition:.5s}.gallery-tile:hover img{transform:scale(1.06)}.gallery-tile span,.gallery-item span{position:absolute;left:15px;bottom:15px;background:#fff;color:#102f50;padding:8px 12px;font-size:11px;font-weight:700}
.map-placeholder{min-height:330px;background:#eaf1f7;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#102f50;font:700 26px "Playfair Display"}.map-placeholder small{font:400 12px "DM Sans";margin-top:8px;color:#73808c}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.experience-card{background:#fff;box-shadow:0 15px 35px #102f5015;overflow:hidden}.experience-card img{height:290px;object-fit:cover}.experience-card>div{padding:25px}.experience-card h3{font-size:24px;margin:0 0 10px}.experience-card p{font-size:12px;line-height:1.7}.experience-card a{color:#4e8fc4;font-weight:700;font-size:12px}
.location-cards,.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.location-cards>div,.about-grid>div{background:#fff;padding:32px;box-shadow:0 12px 30px #102f5010}.location-cards h3,.about-grid h3{font-size:22px}
.gallery-filters{text-align:center;margin:30px 0 40px}.gallery-filters button{border:1px solid #d9e4ed;background:#fff;padding:11px 18px;margin:4px;color:#102f50;cursor:pointer}.gallery-filters button.active{background:#102f50;color:#fff}.gallery-masonry{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery-item{position:relative;height:270px;overflow:hidden}.gallery-item img{height:100%;object-fit:cover;transition:.5s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item.hidden{display:none}
.bbr-lightbox{position:fixed;inset:0;background:#06111dec;z-index:99999;display:none;align-items:center;justify-content:center;padding:45px}.bbr-lightbox.open{display:flex}.bbr-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.bbr-lightbox button{position:absolute;right:25px;top:15px;border:0;background:none;color:#fff;font-size:48px;cursor:pointer}
.seasonal{margin-top:55px;background:#f5f9fc;padding:35px;text-align:center}.seasonal h3{font-size:27px}.seasonal span{display:inline-block;padding:10px 18px;margin:5px;border:1px solid #d8e4ee}
.contact-grid{align-items:start}.contact-form{background:#f5f9fc;padding:45px}.contact-form h3{font-size:30px}.form-note{font-size:11px;line-height:1.7}.booking-flow{text-align:center}.flow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#dfe8ef;margin:45px 0}.flow-grid>div{background:#fff;padding:30px 12px}.flow-grid b{font-size:12px;color:#4e8fc4}.flow-grid h3{font:700 15px "DM Sans"}.booking-placeholder{padding:60px;background:#0d2d50;color:#fff}.booking-placeholder h3{color:#fff;font-size:32px}
@media(max-width:900px){.detail-grid{grid-template-columns:repeat(3,1fr)}.two-col,.split-photo,.contact-grid{grid-template-columns:1fr}.experience-grid,.location-cards,.about-grid{grid-template-columns:1fr 1fr}.gallery-masonry,.mini-gallery{grid-template-columns:1fr 1fr}.flow-grid{grid-template-columns:1fr}.photo-trio{grid-template-columns:1fr}}
@media(max-width:600px){.detail-grid,.experience-grid,.location-cards,.about-grid,.gallery-masonry,.mini-gallery{grid-template-columns:1fr}.detail-grid div{border-right:0;border-bottom:1px solid #dfe8ef}.gallery-item{height:330px}}


/* V2.3 — proper WordPress desktop dropdown navigation */
.header .nav{overflow:visible}
.header .menu{display:block;flex:1;margin-left:34px;min-width:0}
.header .menu>ul.bbr-main-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:flex-end;gap:28px}
.header .menu>ul.bbr-main-menu>li{position:relative;margin:0;padding:0;flex:0 0 auto}
.header .menu>ul.bbr-main-menu>li>a{display:flex;align-items:center;min-height:92px;padding:0;color:#fff;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.header .menu>ul.bbr-main-menu>li.menu-item-has-children>a:after{content:"⌄";font-size:13px;margin-left:7px;transform:translateY(-2px)}
.header .menu>ul.bbr-main-menu>li:last-child>a{min-height:auto;padding:15px 22px;border:1px solid rgba(255,255,255,.45)}
.header .menu>ul.bbr-main-menu>li:last-child>a:hover{background:#fff;color:#0d2d50}
.header .menu .sub-menu{display:block!important;position:absolute;top:calc(100% - 1px);left:0;width:255px;margin:0;padding:10px 0;list-style:none;background:#fff;box-shadow:0 18px 45px rgba(8,39,70,.20);opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:99999}
.header .menu li:hover>.sub-menu,.header .menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.header .menu .sub-menu li{display:block;width:100%;margin:0;padding:0;border-bottom:1px solid #edf2f6}
.header .menu .sub-menu li:last-child{border-bottom:0}
.header .menu .sub-menu li a{display:block!important;min-height:0!important;width:100%;padding:13px 20px!important;border:0!important;background:#fff!important;color:#0d2d50!important;font-size:13px!important;font-weight:600!important;line-height:1.4;white-space:normal;text-decoration:none;transition:background .2s ease,color .2s ease,padding-left .2s ease}
.header .menu .sub-menu li a:hover,.header .menu .sub-menu li.current-menu-item>a{background:#edf5fc!important;color:#5686b6!important;padding-left:25px!important}
@media (max-width:1200px){.header .menu>ul.bbr-main-menu{gap:18px}.header .menu>ul.bbr-main-menu>li>a{font-size:13px}.logo-img,.custom-logo-link img{width:235px}}
@media (max-width:900px){.header .menu{display:none}}
