@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{scroll-behavior:smooth}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--ivory:#FAF7F2;--cream:#F0ECE4;--stone:#E4DDD4;--gold:#B5986A;--gold-light:#C9AD82;--gold-pale:rgba(181,152,106,.08);--ink:#111111;--charcoal:#3D3D3B;--warm-gray:#7a7168;--light-gray:#C8C5BF;--white:#FFFDF9;--deep:#0C0C0C;--success:#5A8A6A;--caution:#B8864A;--serif:"DM Serif Display",Georgia,serif;--sans:"Inter",-apple-system,Helvetica Neue,sans-serif}body{font-family:var(--sans);color:var(--charcoal);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;font-weight:400}.label{font-size:11px;text-transform:uppercase;letter-spacing:3.5px;font-weight:600;color:var(--warm-gray)}.label-gold{font-size:11px;text-transform:uppercase;letter-spacing:3.5px;font-weight:600;color:var(--gold)}h2.section-title{font-family:var(--serif);font-size:30px;color:var(--ink);margin-bottom:18px;line-height:1.2;letter-spacing:-.3px}.body-text{font-size:15px;line-height:1.8;color:var(--charcoal);max-width:680px;letter-spacing:.1px}.body-text+.body-text{margin-top:12px}.thin-rule{width:100%;height:1px;background:var(--stone);margin:0}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon svg{stroke-linecap:round;stroke-linejoin:round;fill:none}nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#fffdf9f0;backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.04);transition:box-shadow .3s}nav.scrolled{box-shadow:0 1px 20px #0000000a}.nav-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:68px}.nav-brand{text-decoration:none;display:flex;align-items:center}.nav-logo{height:36px;width:auto;display:block}.nav-links{display:flex;gap:36px;list-style:none;align-items:center;height:68px}.nav-links>li{display:flex;align-items:center;height:100%}.nav-links a{font-size:12px;font-weight:500;color:var(--charcoal);text-decoration:none;text-transform:uppercase;letter-spacing:2.5px;transition:color .2s}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--gold)}.nav-dropdown{position:relative;cursor:pointer}.nav-dropdown>a{display:inline-flex;align-items:baseline;gap:5px}.nav-chevron{position:relative;top:-1px;transition:transform .2s;flex-shrink:0}.nav-dropdown:hover .nav-chevron{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);list-style:none;background:#fffdf9fa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--stone);border-top:none;border-radius:0 0 8px 8px;padding:8px 0;min-width:170px;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;box-shadow:0 8px 24px #0000000f}.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;display:flex}.nav-dropdown-menu li{padding:0}.nav-dropdown-menu a{display:block;padding:10px 24px;font-size:12px;font-weight:500;color:var(--charcoal);text-decoration:none;text-transform:uppercase;letter-spacing:2px;white-space:nowrap;transition:color .15s,background .15s}.nav-dropdown-menu a:hover{color:var(--gold);background:#00000008}.nav-dropdown-menu a[aria-current=page],.mobile-menu-links a[aria-current=page]{color:var(--gold)}.hero-toc-label{font-size:11px;text-transform:uppercase;letter-spacing:3px;color:#ffffff80;font-weight:600;margin-top:40px;padding-bottom:0}.hero-toc-inner{max-width:900px;margin:0 auto;padding:0 36px;text-align:left}.hero-toc-inner:after{content:"";display:block;width:40px;height:1px;background:var(--gold);margin-top:10px;opacity:.5}.hc-unit{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--warm-gray);font-weight:500}.tier-resort{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fff;border-radius:8px;text-decoration:none;color:inherit;transition:background .15s}.tier-resort:hover{background:var(--stone)}.tier-resort-thumb{width:48px;height:36px;border-radius:6px;overflow:hidden;flex-shrink:0}.tier-resort-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tier-resort-info{flex:1;min-width:0}.tier-resort-name{font-size:14px;font-weight:500;color:var(--ink)}.tier-resort-meta{font-size:11px;color:var(--warm-gray);margin-top:2px}.tier-resort-right{text-align:right;flex-shrink:0}.tier-resort-price{font-size:14px;color:var(--gold);font-weight:600}.tier-resort-stars{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--warm-gray);font-weight:500;margin-top:2px}.guide-img{margin:0;overflow:hidden;border-radius:14px}.guide-img img{width:100%;height:240px;object-fit:cover;object-position:center;display:block}.show-all-btn{display:block;margin:24px auto 0;padding:10px 28px;background:none;border:1px solid var(--stone);border-radius:24px;font-size:13px;color:var(--charcoal);cursor:pointer;transition:all .2s;font-family:var(--sans)}.show-all-btn:hover{border-color:var(--gold);color:var(--gold)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.show-extras [class*=-extra]{animation:fadeSlideIn .3s ease forwards}.hero{margin-top:68px;height:60vh;min-height:440px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.92) contrast(1.08) saturate(1.12)}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,#0c0c0ceb,#0c0c0c8c,#0c0c0c40)}.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 32px 56px;width:100%}.hero-top-row{display:flex;align-items:center;gap:20px;margin-bottom:24px}.resort-logo-wrap{padding:14px 20px;background:#0c0c0c80;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:12px;min-height:76px;display:flex;align-items:center;justify-content:center}.resort-logo-wrap img{height:auto;min-height:44px;max-height:80px;width:auto;max-width:260px;object-fit:contain;display:block}.resort-logo-wrap.logo-dark{background:#ffffff2e;border:1px solid rgba(255,255,255,.25)}.hero-breadcrumb{font-size:11px;text-transform:uppercase;letter-spacing:3px;color:#fff9;font-weight:500;text-shadow:0 1px 8px rgba(0,0,0,.5)}.hero-breadcrumb a{color:#ffffffb3;text-decoration:none;transition:color .2s}.hero-breadcrumb a:hover{color:#ffffffd9}.hero-breadcrumb .sep{margin:0 10px;opacity:.3}.hero h1{font-family:var(--serif);font-size:clamp(38px,5.5vw,64px);color:#fff;line-height:1.08;margin-bottom:14px;letter-spacing:-.5px;text-shadow:0 2px 24px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.4)}.hero-sub{font-size:16px;color:#ffffffd9;font-weight:400;max-width:580px;line-height:1.7;letter-spacing:.3px;text-shadow:0 1px 12px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.3)}.hero-badges{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#0c0c0c80;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);padding:8px 16px;border-radius:100px;font-size:12px;color:#fffffff2;font-weight:500;letter-spacing:1px;text-shadow:0 1px 4px rgba(0,0,0,.3)}.hero-badge .icon svg{width:14px;height:14px;stroke:#fffc;stroke-width:1.5}.quick-facts{background:var(--deep);color:#fff;overflow-x:auto}.quick-facts-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex}.qf-item{flex:1;padding:20px 24px;border-right:1px solid rgba(255,255,255,.1);min-width:140px}.qf-item:last-child{border-right:none}.property-detail{text-align:center;margin-bottom:16px;font-size:11px;color:var(--warm-gray);letter-spacing:.4px}.property-detail span{margin:0 4px}.property-detail .pd-label{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;color:var(--light-gray)}.property-detail .pd-value{font-weight:500;color:var(--charcoal)}.qf-label{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:#ffffff80;margin-bottom:4px;font-weight:600}.qf-value{font-size:15px;font-weight:600;letter-spacing:.5px;color:#fff}.qf-value.gold{color:var(--gold-light)}.content-wrap{max-width:1200px;margin:0 auto;padding:0 32px;width:100%}.content-grid{display:grid;grid-template-columns:1fr 380px;gap:48px;padding:64px 0}.main-content{min-width:0}.section{margin-bottom:60px;scroll-margin-top:100px}.section .label{margin-bottom:10px;display:block}.positioning{margin-bottom:32px;padding:40px 0;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone);text-align:center}.positioning p{font-size:19px;font-style:italic;font-family:var(--serif);color:var(--charcoal);line-height:1.75;max-width:680px;margin:0 auto;letter-spacing:.2px}.page-toc{text-align:center;margin-bottom:40px;line-height:2}.page-toc-label{font-size:10px;text-transform:uppercase;letter-spacing:2.5px;color:var(--warm-gray);font-weight:600;display:block;margin-bottom:6px}.page-toc a{font-size:12px;color:var(--charcoal);text-decoration:none;letter-spacing:.3px;transition:color .2s}.page-toc a:hover{color:var(--gold)}.page-toc .toc-num{font-size:10px;color:var(--light-gray);font-weight:600;margin-right:2px;letter-spacing:.5px}.page-toc .toc-sep{margin:0 8px;color:var(--stone);font-size:10px}.pulse-card{background:var(--deep);border-radius:16px;padding:28px 32px;margin-bottom:36px;display:flex;align-items:center;gap:28px;color:#fff;position:relative;overflow:hidden}.pulse-chart-area{width:160px;height:64px;flex-shrink:0}.pulse-chart-area svg{width:100%;height:100%;overflow:visible}.pulse-chart-mobile{display:none}.pulse-body{flex:1}.pulse-brand-row{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.pulse-brand{font-size:10px;text-transform:uppercase;letter-spacing:3.5px;color:var(--gold-light);font-weight:600}.pulse-headline{font-family:var(--serif);font-size:21px;line-height:1.3;margin-bottom:8px;color:#fff}.pulse-detail{font-size:13px;color:#ffffffa6;line-height:1.65;letter-spacing:.2px}.pulse-detail strong{color:#fff}.pulse-trend{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:12px;font-weight:600;padding:4px 12px;background:#5a8a6a26;border-radius:100px;color:#7dba90;letter-spacing:.5px}@keyframes travelPulse{0%{stroke-dashoffset:30}to{stroke-dashoffset:0}}.pulse-glow{animation:travelPulse 2s linear infinite}.pulse-updated{font-size:11px;color:#ffffff59;letter-spacing:.3px;margin-left:auto;font-style:italic}.pulse-divider{display:none}.awards-strip{margin-bottom:52px;padding:28px 0;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--stone)}.awards-count{flex-shrink:0;text-align:center;min-width:80px}.awards-count .count-num{font-family:var(--serif);font-size:36px;color:var(--ink);line-height:1}.awards-count .count-label{font-size:10px;text-transform:uppercase;letter-spacing:2.5px;color:var(--warm-gray);font-weight:500;margin-top:2px}.awards-divider{width:1px;height:48px;background:var(--stone);flex-shrink:0}.awards-row{display:flex;gap:24px;flex:1;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:4px 0;position:relative;mask-image:linear-gradient(to right,black 0%,black 80%,transparent 100%);-webkit-mask-image:linear-gradient(to right,black 0%,black 80%,transparent 100%)}.awards-row::-webkit-scrollbar{display:none}.award-item{display:flex;align-items:center;gap:10px;flex-shrink:0}.award-icon{width:28px;height:28px;border-radius:50%;background:var(--gold-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0}.award-icon svg{width:14px;height:14px;stroke:var(--gold);stroke-width:1.5;fill:none}.award-text .award-name{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;letter-spacing:.1px}.award-text .award-org{font-size:11px;color:var(--warm-gray);letter-spacing:.3px}.scales-container{margin-top:28px;display:flex;flex-direction:column;gap:14px}.scale-row{position:relative;padding-bottom:18px}.scale-header{display:flex;justify-content:space-between;margin-bottom:28px}.scale-label-left,.scale-label-right{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--charcoal);font-weight:600}.scale-track{position:relative;height:6px;background:var(--cream);border-radius:3px}.scale-fill{position:absolute;left:0;top:0;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gold-light),var(--gold));transition:width .8s cubic-bezier(.22,1,.36,1)}.scale-marker{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:3}.scale-marker.primary .marker-dot{width:14px;height:14px;background:var(--gold);border:2px solid var(--white);border-radius:50%;box-shadow:0 2px 8px #b5986a4d}.scale-marker.reference .marker-dot{width:8px;height:8px;background:var(--white);border:2px solid var(--stone);border-radius:50%}.marker-label{position:absolute;white-space:nowrap;letter-spacing:.2px;left:50%;transform:translate(-50%)}.scale-marker.primary .marker-label{bottom:calc(100% + 6px);font-size:10px;font-weight:700;color:var(--gold);top:auto}.scale-marker.reference .marker-label{top:calc(100% + 6px);font-size:10px;font-weight:400;color:var(--warm-gray)}.scale-marker.flip-right .marker-label{left:auto;right:-4px;transform:none}.scale-marker.flip-left .marker-label{left:-4px;transform:none}.scale-legend{display:flex;gap:20px;margin-top:20px;padding:16px 0 0 2px;border-top:1px solid var(--cream)}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--warm-gray);letter-spacing:.3px}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.primary{background:var(--gold);border:2px solid var(--white);box-shadow:0 0 0 1px var(--gold)}.legend-dot.reference{background:var(--white);border:2px solid var(--stone)}.villa-cats{margin-top:24px;display:flex;flex-direction:column;gap:3px}.villa-cat{border-radius:10px;overflow:hidden;border:1px solid var(--stone);background:#fff}.villa-cat-header{display:grid;grid-template-columns:auto 1fr auto auto;gap:0 16px;align-items:center;padding:20px 24px;cursor:pointer;transition:background .15s;user-select:none}.villa-cat-header:hover{background:var(--ivory)}.villa-cat-badge-col{display:flex;flex-direction:column;align-items:center;gap:5px;grid-row:span 2;align-self:center}.villa-cat-badge{font-size:10px;text-transform:uppercase;letter-spacing:2px;padding:5px 0;border-radius:100px;font-weight:600;width:96px;text-align:center;flex-shrink:0}.villa-cat-badge.beach{background:#f0ece4;color:#8a7d68}.villa-cat-badge.overwater{background:#e4eef0;color:#5a7a82}.villa-cat-badge.family{background:#ede4f0;color:#6a5a7a}.villa-cat-badge.signature{background:#f5edde;color:#8a7030}.cat-pool-tag{display:flex;align-items:center;justify-content:center;gap:3px;font-size:9px;font-weight:600;letter-spacing:.3px;line-height:1}.cat-pool-tag svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.cat-pool-tag.yes{color:var(--success)}.cat-pool-tag.mixed{color:var(--caution)}.cat-name{font-weight:600;font-size:15px;color:var(--ink);letter-spacing:.2px;line-height:1.2}.cat-meta{font-size:12px;color:var(--warm-gray);display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:3px;letter-spacing:.2px;grid-column:2}.cat-meta .sep{color:var(--stone)}.cat-size-vs{color:var(--success);font-weight:600;font-size:11px;letter-spacing:.3px}.villa-cat-right{display:flex;align-items:center;gap:16px;grid-row:span 2;align-self:center}.villa-cat-price{text-align:right}.villa-cat-price .from-label{font-size:10px;color:var(--warm-gray);text-transform:uppercase;letter-spacing:2px;font-weight:500}.villa-cat-price .from-price{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.3px}.villa-cat-toggle{width:28px;height:28px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;transition:transform .3s}.villa-cat-toggle svg{width:14px;height:14px;stroke:var(--warm-gray);stroke-width:1.5;fill:none;transition:transform .3s}.villa-cat.open .villa-cat-toggle svg{transform:rotate(180deg)}.villa-cat-body{max-height:0;overflow:hidden;transition:max-height .4s ease;background:var(--ivory)}.villa-cat.open .villa-cat-body{max-height:800px}.villa-cat-body-inner{padding:0 24px 18px}.villa-photos-strip{display:flex;gap:8px;padding:14px 24px;border-bottom:1px solid var(--stone);overflow-x:auto;scrollbar-width:none}.villa-photos-strip::-webkit-scrollbar{display:none}.villa-photos-strip img{height:80px;border-radius:6px;flex-shrink:0;cursor:pointer;transition:transform .15s}.villa-photos-strip img:hover{transform:scale(1.03)}.villa-photos-empty{font-size:11px;color:var(--warm-gray);font-style:italic;padding:14px 24px;border-bottom:1px solid var(--stone);letter-spacing:.3px}.villa-sub-row{display:grid;grid-template-columns:1fr 80px 70px 70px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--stone);font-size:14px}.villa-sub-row:last-child{border-bottom:none}.villa-sub-row .vs-name{font-weight:500;color:var(--ink);letter-spacing:.1px}.villa-sub-row .vs-size{font-size:12px;color:var(--warm-gray);letter-spacing:.5px;text-align:right}.villa-sub-row .vs-pool{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;text-align:right}.villa-sub-row .vs-pool.yes{color:var(--success)}.villa-sub-row .vs-pool.no{color:var(--light-gray)}.villa-sub-row .vs-price{font-weight:600;color:var(--ink);text-align:right}.villas-note{font-size:12px;color:var(--warm-gray);margin-top:16px;font-style:italic;letter-spacing:.2px}.villas-cta{text-align:center;padding:24px;background:var(--ivory);border-radius:0 0 10px 10px;margin-top:3px;border:1px solid var(--stone)}.villas-cta p{font-size:14px;color:var(--warm-gray);margin-bottom:10px;max-width:none;letter-spacing:.2px}.villas-cta a{font-size:14px;font-weight:600;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-light);padding-bottom:2px;letter-spacing:.5px;transition:opacity .2s}.villas-cta a:hover{opacity:.7}.restaurant-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.resto-card{background:#fff;border:1px solid var(--stone);border-radius:12px;overflow:hidden;transition:box-shadow .2s;display:flex;flex-direction:column}.resto-card:hover{box-shadow:0 8px 32px #0000000a}.resto-img{width:100%;height:160px;background:linear-gradient(135deg,var(--cream),var(--stone));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.resto-img img{width:100%;height:100%;object-fit:cover;object-position:center}.resto-img-placeholder{font-size:11px;color:var(--warm-gray);text-transform:uppercase;letter-spacing:2px;font-weight:500;display:flex;align-items:center;gap:8px}.resto-img-placeholder .icon svg{width:18px;height:18px;stroke:var(--light-gray);stroke-width:1.5}.resto-header{padding:18px 20px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.resto-name{font-family:var(--serif);font-size:18px;color:var(--ink);line-height:1.3;letter-spacing:.1px}.resto-cuisine{font-size:10px;text-transform:uppercase;letter-spacing:2px;padding:4px 10px;border-radius:100px;font-weight:600;white-space:nowrap;background:var(--ivory);color:var(--warm-gray);flex-shrink:0;border:1px solid var(--stone)}.resto-body{padding:12px 20px 20px;flex:1;display:flex;flex-direction:column}.resto-desc{font-size:13px;color:var(--charcoal);line-height:1.7;margin-bottom:12px;letter-spacing:.1px}.resto-meta{display:flex;flex-direction:column;gap:5px;margin-top:auto}.resto-meta-row{display:flex;gap:8px;align-items:baseline}.resto-meta-label{font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--warm-gray);font-size:10px;min-width:56px;flex-shrink:0}.resto-meta-value{font-size:13px;color:var(--charcoal);letter-spacing:.1px}.resto-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid var(--cream)}.resto-included{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;padding:4px 10px;border-radius:4px}.resto-included.all{background:#e4f0ea;color:#5a8a6a}.resto-included.fb{background:#e8edf5;color:#5a6a8a}.resto-included.alc{background:#f5f0e8;color:#8a7a5a}.resto-included.supp{background:#f0e8e8;color:#8a5a5a}.resto-menu-link{font-size:12px;color:var(--warm-gray);text-decoration:none;font-style:italic;letter-spacing:.3px;transition:color .2s}.resto-menu-link:hover{color:var(--gold)}a.resto-menu-link{color:var(--gold);font-style:normal;font-weight:500}.resto-credit{font-size:11px;color:var(--warm-gray);margin-top:6px;letter-spacing:.2px;font-style:italic}.meal-table{width:100%;border-collapse:collapse;margin-top:24px;font-size:14px}.meal-table th{text-align:left;padding:14px 18px;background:var(--deep);color:#ffffffe6;font-size:11px;text-transform:uppercase;letter-spacing:2.5px;font-weight:500}.meal-table th:first-child{border-radius:8px 0 0}.meal-table th:last-child{border-radius:0 8px 0 0}.meal-table td{padding:16px 18px;border-bottom:1px solid var(--cream);letter-spacing:.1px}.meal-table tr:hover td{background:var(--ivory)}.meal-table .check{color:var(--success);font-weight:600}.meal-table .cross{color:var(--light-gray)}.meal-cards{display:none;margin-top:20px;flex-direction:column;gap:8px}.meal-card{background:#fff;border:1px solid var(--stone);border-radius:10px;padding:12px 16px}.meal-card-header{display:flex;justify-content:space-between;align-items:center}.meal-card-name{font-weight:600;font-size:13px;color:var(--ink)}.meal-card-price{font-size:12px;font-weight:600;color:var(--gold);letter-spacing:.2px}.meal-card-dining{font-size:11px;color:var(--charcoal);margin-top:4px;letter-spacing:.2px}.meal-card-extras{display:flex;gap:10px;margin-top:4px;font-size:10px;letter-spacing:.2px}.meal-card-extra{color:var(--light-gray)}.meal-card-extra.on{color:var(--success);font-weight:600}.meal-plan-name{font-weight:600;color:var(--ink)}.amenity-featured{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.amenity-feat-card{background:#fff;border:1px solid var(--stone);border-radius:12px;padding:28px;transition:box-shadow .2s}.amenity-feat-card:hover{box-shadow:0 8px 32px #0000000a}.af-icon-wrap{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.af-icon-wrap svg{width:22px;height:22px;stroke-width:1.5;fill:none}.af-icon-wrap.warm{background:#b5986a14}.af-icon-wrap.warm svg{stroke:var(--gold)}.af-icon-wrap.cool{background:#5a7a8214}.af-icon-wrap.cool svg{stroke:#5a7a82}.af-icon-wrap.purple{background:#6a5a7a14}.af-icon-wrap.purple svg{stroke:#6a5a7a}.af-name{font-family:var(--serif);font-size:19px;color:var(--ink);margin-bottom:10px;letter-spacing:.1px}.af-desc{font-size:14px;color:var(--charcoal);line-height:1.7;margin-bottom:14px;letter-spacing:.1px}.af-highlights{display:flex;flex-wrap:wrap;gap:6px}.af-tag{font-size:11px;padding:4px 12px;border-radius:100px;font-weight:500;letter-spacing:.5px;border:1px solid}.af-tag.warm{background:#b5986a0f;color:var(--gold);border-color:#b5986a33}.af-tag.cool{background:#5a7a820f;color:#5a7a82;border-color:#5a7a8233}.af-tag.purple{background:#6a5a7a0f;color:#6a5a7a;border-color:#6a5a7a33}.amenity-checklist{margin-top:24px;background:var(--ivory);border-radius:12px;padding:28px;border:1px solid var(--cream)}.amenity-checklist-title{font-size:11px;text-transform:uppercase;letter-spacing:3px;color:var(--warm-gray);font-weight:600;margin-bottom:16px}.amenity-check-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px 24px}.amenity-check{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--charcoal);padding:5px 0;letter-spacing:.2px}.amenity-check .icon svg{width:14px;height:14px;stroke:var(--gold);stroke-width:1.5}.reef-header{margin:24px 0}.reef-header h4{font-size:17px;color:var(--ink);font-weight:600;letter-spacing:.2px}.reef-header p{font-size:13px;color:var(--warm-gray);max-width:none;letter-spacing:.3px;margin-top:2px}.reef-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}.reef-col-label{font-size:11px;text-transform:uppercase;letter-spacing:2.5px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid}.reef-col.present .reef-col-label{color:var(--success);border-color:#5a8a6a33}.reef-col.absent .reef-col-label{color:var(--warm-gray);border-color:var(--cream)}.reef-species{display:flex;align-items:center;gap:12px;padding:10px 0}.reef-species .sp-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.reef-species .sp-icon svg{width:18px;height:18px}.reef-col.present .sp-icon{background:#5a8a6a14}.reef-col.present .sp-icon svg{fill:var(--success);stroke:none}.reef-col.absent .sp-icon{background:var(--cream)}.reef-col.absent .sp-icon svg{fill:var(--light-gray);stroke:none}.sp-info .sp-name{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:.1px}.sp-info .sp-note{font-size:11px;color:var(--warm-gray);letter-spacing:.3px}.reef-col.absent .sp-info .sp-name{color:var(--warm-gray)}.transfer-map-container{margin-top:24px;border-radius:12px;overflow:hidden;border:1px solid var(--stone)}.transfer-details-grid{display:grid;grid-template-columns:1fr 1fr}.transfer-option{padding:24px}.transfer-option:first-child{background:var(--ivory);border-right:1px solid var(--stone)}.transfer-option:last-child{background:#fff}.transfer-option-label{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:var(--warm-gray);font-weight:600;margin-bottom:8px}.transfer-option-title{font-weight:600;font-size:16px;color:var(--ink);margin-bottom:4px;letter-spacing:.2px}.transfer-option-meta{font-size:13px;color:var(--warm-gray);line-height:1.6;letter-spacing:.2px}.transfer-option-price{font-family:var(--serif);font-size:24px;color:var(--ink);margin-top:10px}.transfer-option-price .unit{font-family:var(--sans);font-size:12px;color:var(--warm-gray);letter-spacing:.5px}.transfer-note{padding:16px 24px;background:var(--ivory);font-size:13px;color:var(--warm-gray);border-top:1px solid var(--stone);display:flex;align-items:center;gap:8px;letter-spacing:.2px}.transfer-note .icon svg{width:16px;height:16px;stroke:var(--caution);stroke-width:1.5}.resort-map{margin-top:28px;border-radius:12px;overflow:hidden;border:1px solid var(--stone)}.resort-map img{width:100%;display:block}.resort-map-caption{padding:14px 20px;background:var(--ivory);font-size:12px;color:var(--warm-gray);text-align:center;font-style:italic;letter-spacing:.3px}.verdict-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.verdict-card{padding:28px;border-radius:12px}.verdict-card.good{background:#5a8a6a0f;border:1px solid rgba(90,138,106,.15)}.verdict-card.caveat{background:#b8864a0f;border:1px solid rgba(184,134,74,.15)}.verdict-card h4{font-size:11px;font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:3px}.verdict-card.good h4{color:var(--success)}.verdict-card.caveat h4{color:var(--caution)}.verdict-card li{font-size:14px;line-height:1.9;color:var(--charcoal);margin-left:16px;letter-spacing:.1px}.inclusions-card{background:#fff;border:1px solid var(--stone);border-radius:16px;overflow:hidden;margin-bottom:60px}.inclusions-header{background:var(--deep);padding:24px 32px;color:#fff}.inclusions-header .inc-label{font-size:10px;text-transform:uppercase;letter-spacing:3.5px;opacity:.4;margin-bottom:6px;font-weight:500}.inclusions-header h3{font-family:var(--serif);font-size:24px;letter-spacing:.2px}.inclusions-header .inc-sub{font-size:14px;opacity:.5;margin-top:4px;letter-spacing:.3px}.inclusions-grid{display:grid;grid-template-columns:1fr 1fr}.inc-col{padding:28px 32px}.inc-col:first-child{border-right:1px solid var(--cream)}.inc-col-label{font-size:11px;text-transform:uppercase;letter-spacing:3px;font-weight:600;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid}.inc-col.ours .inc-col-label{color:var(--gold);border-color:#b5986a4d}.inc-col.theirs .inc-col-label{color:var(--warm-gray);border-color:var(--cream)}.inc-item{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.55;padding:7px 0;letter-spacing:.1px}.inc-item .ic{flex-shrink:0;width:20px;text-align:center}.inc-item .ic svg{width:14px;height:14px;stroke-width:2}.inc-col.ours .ic svg{stroke:var(--gold)}.inc-col.theirs .ic svg{stroke:var(--light-gray)}.inc-col.theirs .inc-item{color:var(--warm-gray)}.main-content .faq-list{max-width:720px}.faq-item{border-bottom:1px solid var(--stone);padding:18px 0}.faq-item:first-child{border-top:1px solid var(--stone)}.faq-q{font-family:var(--serif);font-size:17px;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;letter-spacing:-.1px}.faq-q::-webkit-details-marker{display:none}.faq-q:after{content:"+";font-size:20px;color:var(--gold);flex-shrink:0;margin-left:16px;transition:transform .2s}.faq-item[open] .faq-q:after{content:"−"}.faq-a{font-size:15px;line-height:1.8;color:var(--charcoal);max-width:640px;overflow:hidden;display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease,padding .25s ease;padding-top:0}.faq-a>*,.faq-a{min-height:0}.faq-item[open] .faq-a.expanded{grid-template-rows:1fr;padding-top:12px}.faq-item-static{padding:24px 0;border-bottom:1px solid var(--stone)}.faq-item-static:first-child{padding-top:0}.faq-item-static:last-child{border-bottom:none}.faq-q-static{font-family:var(--serif);font-size:17px;color:var(--ink);margin-bottom:8px;line-height:1.3}.faq-a-static{font-size:14px;color:var(--charcoal);line-height:1.7}.sidebar{position:relative}.sidebar-sticky{position:sticky;top:92px}.booking-card{background:#fff;border:1px solid var(--stone);border-radius:16px;padding:32px;box-shadow:0 4px 24px #00000008;margin-bottom:24px}.booking-card-label{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:var(--warm-gray);margin-bottom:6px;font-weight:500}.booking-price{font-family:var(--serif);font-size:38px;color:var(--ink);line-height:1.1;letter-spacing:-.5px}.booking-price .per{font-family:var(--sans);font-size:14px;color:var(--warm-gray);letter-spacing:.5px}.booking-form{display:flex;flex-direction:column;gap:10px;margin:20px 0 4px}.booking-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-field{display:flex;flex-direction:column;gap:4px}.booking-field label{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--warm-gray);font-weight:600}.booking-field input,.booking-field select{width:100%;padding:11px 14px;border:1px solid var(--stone);border-radius:8px;font-family:var(--sans);font-size:13px;color:var(--ink);background:var(--ivory);transition:border-color .2s;letter-spacing:.2px;appearance:none;-webkit-appearance:none}.booking-field input:focus,.booking-field select:focus{outline:none;border-color:var(--gold);background:#fff}.booking-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239A9A96' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.mobile-season-guide{display:none}.season-guide{margin-top:16px;padding:16px;background:var(--ivory);border-radius:10px;border:1px solid var(--cream)}.season-guide-title{font-size:10px;text-transform:uppercase;letter-spacing:2.5px;color:var(--warm-gray);font-weight:600;margin-bottom:10px}.season-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:12px;letter-spacing:.2px}.season-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.season-dot.peak,.season-dot.high{background:#c4856a}.season-dot.shoulder{background:var(--gold)}.season-dot.low{background:var(--success)}.season-months{color:var(--charcoal);font-weight:500}.season-label{color:var(--warm-gray);font-weight:400;margin-left:auto;white-space:nowrap}.btn-primary{display:block;width:100%;padding:16px;background:var(--gold);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;text-align:center;text-decoration:none;letter-spacing:1px;transition:all .2s}.btn-primary:hover{background:var(--gold-light);transform:translateY(-1px)}.btn-secondary{display:block;width:100%;padding:14px;background:transparent;color:var(--ink);border:1px solid var(--stone);border-radius:10px;font-size:13px;font-weight:600;font-family:var(--sans);cursor:pointer;text-align:center;text-decoration:none;margin-top:10px;letter-spacing:1px;transition:all .2s}.btn-secondary:hover{background:var(--ivory);border-color:var(--charcoal)}.offer-card{margin:20px 0;padding:20px;background:var(--ivory);border:1px solid var(--gold-light);border-radius:12px}.offer-badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2.5px;color:var(--gold);margin-bottom:8px}.offer-title{font-family:var(--serif);font-size:22px;color:var(--ink);line-height:1.2;margin-bottom:6px}.offer-detail{font-size:13px;color:var(--warm-gray);line-height:1.6;letter-spacing:.2px}.offer-price{font-size:15px;font-weight:600;color:var(--ink);margin-top:10px;letter-spacing:.2px}.offer-price .was{text-decoration:line-through;color:var(--warm-gray);font-weight:400}.offer-price .save{display:inline-block;background:var(--gold);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;margin-left:8px;letter-spacing:1px}.similar-card{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--cream)}.similar-card:last-child{border-bottom:none}.similar-thumb{width:64px;height:64px;border-radius:8px;background:var(--cream);flex-shrink:0;overflow:hidden}.similar-thumb img{width:100%;height:100%;object-fit:cover;object-position:center}.similar-info .name{font-weight:600;font-size:14px;color:var(--ink);letter-spacing:.1px}.similar-info .atoll{font-size:12px;color:var(--warm-gray);letter-spacing:.3px}.similar-info .from-price{font-size:13px;color:var(--gold);font-weight:600;margin-top:2px}.similar-info .from-price.special-price{font-size:11px;letter-spacing:.5px}.exp-categories{margin-top:28px;display:flex;flex-direction:column;gap:0}.exp-cat{padding:28px 0;border-bottom:1px solid var(--cream)}.exp-cat:first-child{padding-top:0}.exp-cat:last-child{border-bottom:none}.exp-cat-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px}.exp-cat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.exp-cat-icon svg{width:20px;height:20px;stroke-width:1.5;fill:none}.exp-cat-icon.sea{background:#5a7a8214}.exp-cat-icon.sea svg{stroke:#5a7a82}.exp-cat-icon.land{background:#b5986a14}.exp-cat-icon.land svg{stroke:var(--gold)}.exp-cat-icon.wellness{background:#6a5a7a14}.exp-cat-icon.wellness svg{stroke:#6a5a7a}.exp-cat-icon.family{background:#5a8a6a14}.exp-cat-icon.family svg{stroke:var(--success)}.exp-cat-title{font-family:var(--serif);font-size:19px;color:var(--ink);line-height:1.3}.exp-cat-sub{font-size:13px;color:var(--warm-gray);margin-top:2px;letter-spacing:.2px}.exp-items{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;margin-left:56px}.exp-item{display:flex;align-items:baseline;gap:10px;padding:6px 0;font-size:14px;color:var(--charcoal);letter-spacing:.1px;line-height:1.5}.exp-item:before{content:"";width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:6px}.exp-cat.sea .exp-item:before{background:#5a7a82}.exp-cat.land .exp-item:before{background:var(--gold)}.exp-cat.wellness .exp-item:before{background:#6a5a7a}.exp-cat.family .exp-item:before{background:var(--success)}.exp-item .exp-note{display:block;font-size:11px;color:var(--warm-gray);letter-spacing:.3px;margin-top:1px}.exp-highlight{background:var(--ivory);border:1px solid var(--cream);border-radius:10px;padding:18px 20px;margin:20px 0 0 56px;display:flex;align-items:flex-start;gap:12px}.exp-highlight-icon{flex-shrink:0;margin-top:2px}.exp-highlight-icon svg{width:16px;height:16px;stroke:var(--gold);stroke-width:1.5;fill:none}.exp-highlight-text{font-size:13px;color:var(--charcoal);line-height:1.65;letter-spacing:.1px}.exp-highlight-text strong{color:var(--ink)}.family-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:24px;margin-bottom:24px}.family-card{background:var(--cream);border-radius:10px;padding:16px 18px}.family-card-icon{width:24px;height:24px;color:var(--gold);margin-bottom:8px}.family-card-icon svg{width:100%;height:100%;stroke-width:1.5;fill:none}.family-card-title{font-family:var(--serif);font-size:15px;color:var(--ink);margin-bottom:2px}.family-card-detail{font-size:12px;color:var(--warm-gray);line-height:1.5}.family-wow{margin-bottom:16px}.family-wow-label,.family-villas-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--warm-gray);font-weight:600;margin-bottom:8px}.family-wow-list,.family-villas-list{display:flex;flex-wrap:wrap;gap:6px}.family-wow-pill{font-size:12px;color:var(--gold);background:var(--gold-pale);padding:4px 12px;border-radius:20px;font-weight:500}.family-villa-name{font-size:13px;color:var(--charcoal);background:var(--cream);padding:6px 14px;border-radius:8px}.lightbox-overlay{position:fixed;inset:0;z-index:1000;background:#0c0c0ceb;backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;flex-direction:column;padding:40px}.lightbox-overlay.active{display:flex}.lightbox-close{position:absolute;top:24px;right:32px;width:40px;height:40px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox-close svg{width:20px;height:20px;stroke:#ffffffb3;stroke-width:1.5;fill:none}.lightbox-title{font-family:var(--serif);font-size:22px;color:#fff;margin-bottom:20px;letter-spacing:.2px}.lightbox-grid{display:flex;align-items:center;justify-content:center;max-width:900px;width:100%;max-height:80vh;padding:4px}.lightbox-grid img{max-height:75vh;max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:8px}.lightbox-empty{text-align:center;color:#fff6;font-size:14px;padding:60px 20px;letter-spacing:.3px}.lightbox-empty svg{width:40px;height:40px;stroke:#ffffff26;stroke-width:1;fill:none;margin-bottom:12px;display:block;margin-inline:auto}.reef-rating{display:inline-flex;align-items:center;gap:8px;background:#5a8a6a14;border:1px solid rgba(90,138,106,.2);border-radius:8px;padding:10px 16px;margin-bottom:16px}.reef-rating-score{font-family:var(--serif);font-size:24px;color:var(--success);line-height:1}.reef-rating-text .reef-rating-label{font-size:12px;font-weight:600;color:var(--success);letter-spacing:.3px}.reef-rating-text .reef-rating-note{font-size:11px;color:var(--warm-gray);letter-spacing:.3px}.tablet-sticky{display:none;position:fixed;top:68px;left:0;right:0;z-index:90;background:#fffdf9f5;backdrop-filter:blur(16px);border-bottom:1px solid var(--stone);box-shadow:0 2px 12px #0000000a}.tablet-sticky-inner{max-width:1200px;margin:0 auto;padding:10px 32px;display:flex;align-items:center;gap:24px}.ts-price{font-family:var(--serif);font-size:22px;color:var(--ink);white-space:nowrap}.ts-price .ts-per{font-family:var(--sans);font-size:12px;color:var(--warm-gray);font-weight:400}.ts-offer{flex:1;display:flex;align-items:center;gap:12px;padding:0 20px;border-left:1px solid var(--stone);border-right:1px solid var(--stone)}.ts-offer-title{font-weight:600;font-size:13px;color:var(--ink);white-space:nowrap}.ts-offer-save{font-size:10px;font-weight:700;color:#fff;background:var(--success);padding:2px 8px;border-radius:4px;letter-spacing:.5px;white-space:nowrap}.ts-offer-detail{font-size:11px;color:var(--warm-gray);white-space:nowrap}.ts-cta{flex-shrink:0}.ts-cta .btn-primary{padding:10px 24px;font-size:12px;width:auto}.ts-value{font-size:8px;color:var(--gold);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-align:center;margin-top:3px}.mobile-sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99;background:var(--white);border-top:1px solid var(--stone);padding:12px 20px calc(12px + env(safe-area-inset-bottom,0));box-shadow:0 -4px 20px #0000000f;-webkit-transform:translateZ(0);transform:translateZ(0)}.mobile-sticky-inner{display:flex;align-items:center;gap:14px}.mobile-sticky-price{flex:1}.mobile-sticky-price .ms-from{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--warm-gray);font-weight:500}.mobile-sticky-price .ms-amount{font-family:var(--serif);font-size:22px;color:var(--ink);line-height:1.1}.mobile-sticky-price .ms-unit{font-size:11px;color:var(--warm-gray)}.mobile-sticky .btn-primary{flex:none;width:auto;padding:14px 28px;font-size:13px}.drawer-backdrop{display:none;position:fixed;inset:0;z-index:100;background:#0006;opacity:0;transition:opacity .3s;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.drawer-backdrop.visible{display:block;opacity:1}.mobile-drawer{display:none;position:fixed;bottom:0;left:0;right:0;z-index:101;background:var(--white);border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:0 -8px 40px #0000001f;padding:28px 24px 32px;transform:translateY(100%);transition:transform .35s cubic-bezier(.22,1,.36,1)}.mobile-drawer.open{transform:translateY(0)}body.drawer-open .mobile-sticky,body.drawer-open .tablet-sticky{opacity:0;pointer-events:none;transition:opacity .2s}.mobile-drawer-handle{width:40px;height:4px;background:var(--stone);border-radius:2px;margin:0 auto 20px}.mobile-drawer .booking-form{margin:0;grid-template-rows:1fr;opacity:1}.mobile-drawer .booking-form>div{overflow:visible}.booking-form{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1),margin .4s,opacity .4s;opacity:0;margin:0;overflow:hidden}.booking-form>div{overflow:hidden}.booking-form.visible{grid-template-rows:1fr;opacity:1;margin:20px 0 4px}.booking-form-inner{display:flex;flex-direction:column;gap:10px}.booking-email-row{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1),margin .4s,opacity .4s;opacity:0;margin:0;overflow:hidden}.booking-email-row>div{overflow:hidden}.booking-email-row.visible{grid-template-rows:1fr;opacity:1;margin-top:10px}.booking-email-inner{display:flex;gap:8px}.booking-email-inner input{flex:1;padding:12px 14px;border:1px solid var(--stone);border-radius:8px;font-family:var(--sans);font-size:13px;color:var(--ink);background:var(--ivory);letter-spacing:.2px}.booking-email-inner input:focus{outline:none;border-color:var(--gold);background:#fff}.booking-email-inner button{padding:12px 20px;background:var(--gold);color:#fff;border:none;border-radius:8px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.5px;white-space:nowrap;transition:background .2s}.booking-email-inner button:hover{background:var(--gold-light)}.btn-primary-fade{transition:opacity .3s,max-height .3s;max-height:60px;overflow:hidden}.btn-primary-fade.hidden{opacity:0;max-height:0;margin:0;padding:0}footer{background:var(--deep);color:#fff6;padding:52px 32px;margin-top:0;border-top:1px solid var(--stone)}.footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.footer-top{display:flex;align-items:flex-start;gap:64px}.footer-brand-col{flex-shrink:0;min-width:160px}.footer-brand{text-decoration:none;display:inline-block}.footer-logo{height:36px;width:auto;display:block}.footer-tagline{font-size:12px;color:#ffffff4d;line-height:1.5;margin-top:12px;max-width:180px}.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-left:auto}.footer-col-title{font-size:11px;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:2.5px;margin-bottom:12px}.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.footer-col a{font-size:13px;color:#fff6;text-decoration:none;transition:color .2s}.footer-col a:hover{color:var(--gold-light)}.footer-badges{display:flex;align-items:center;justify-content:center;gap:32px;padding:20px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.footer-badge{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;color:#ffffff73;letter-spacing:1.5px;text-transform:uppercase}.footer-badge .iata-logo{height:20px;width:auto}.footer-badge .atia-badge-icon{width:18px;height:18px;stroke:#fff6}.footer-legal{display:flex;align-items:center;justify-content:center;gap:8px}.footer-legal a{font-size:12px;color:#ffffff59;text-decoration:none;letter-spacing:.3px;transition:color .2s}.footer-legal a:hover{color:var(--gold-light)}.footer-legal-sep{color:#ffffff26;font-size:12px}.footer-bottom{text-align:center}footer p{font-size:13px;letter-spacing:.3px}.page-wrap{display:flex;flex-direction:column;min-height:100vh}.page-main{flex:1;overflow-x:clip}.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;z-index:102}.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .3s,opacity .3s}.mobile-menu-overlay{display:none;position:fixed;inset:0;z-index:101;background:#0c0c0c66;backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .3s}.mobile-menu-overlay.active{opacity:1;pointer-events:auto}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:320px;max-width:85vw;background:var(--white);box-shadow:-8px 0 40px #0000001f;transform:translate(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column}.mobile-menu-overlay.active .mobile-menu{transform:translate(0)}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--cream)}.mobile-menu-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--charcoal);transition:color .2s}.mobile-menu-close:hover{color:var(--gold)}.mobile-menu-links{list-style:none;padding:16px 0;flex:1}.mobile-menu-links li{border-bottom:1px solid var(--cream)}.mobile-menu-links a{display:block;padding:18px 24px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;letter-spacing:1px;text-transform:uppercase;transition:color .2s,background .2s}.mobile-menu-links a:hover{color:var(--gold);background:var(--ivory)}@media(max-width:1280px){.content-wrap{padding:0 24px}.content-grid{gap:32px;grid-template-columns:1fr 340px}.booking-card{padding:24px}.season-guide{padding:14px}.season-row{font-size:11px}.season-label{font-size:10px}}@media(max-width:1100px){.content-grid{grid-template-columns:1fr;gap:32px;padding:40px 0}.sidebar{display:none}.tablet-sticky,.mobile-drawer{display:block}.mobile-season-guide{display:block;margin-top:32px;margin-bottom:32px}.mobile-season-guide .season-guide{margin-top:0}.quick-facts{margin-bottom:0}}@media(max-width:900px){html,body{width:100%}.content-wrap{overflow-x:clip}.content-wrap{padding:0 20px;max-width:100%;width:100%;overflow-x:clip}.content-grid{grid-template-columns:1fr;gap:32px;padding:40px 0}.main-content{min-width:0;overflow-x:clip}.section{margin-bottom:40px;overflow-x:clip}.tablet-sticky,.nav-links{display:none}.nav-hamburger{display:flex}.mobile-menu-overlay{display:block}.nav-inner{padding:0 16px;height:56px}.nav-logo{height:30px}.hero{height:55vh;min-height:380px;margin-top:56px;width:100%}.hero:after{background:linear-gradient(to top,#0c0c0cf2,#0c0c0c99 55%,#0c0c0c4d)}.hero-content{padding:0 20px 32px}.hero h1{font-size:30px}.hero-sub{font-size:13px;max-width:none;font-weight:400}.hero-badges{gap:6px;flex-wrap:wrap}.hero-badge{font-size:10px;padding:6px 10px}.hero-top-row{gap:10px;margin-bottom:12px}.resort-logo-wrap{padding:8px 12px;flex-shrink:0;max-width:200px;min-height:48px;display:flex;align-items:center;justify-content:center}.resort-logo-wrap img{height:auto;min-height:32px;max-height:56px;max-width:100%;object-fit:contain}.hero-breadcrumb{font-size:9px;letter-spacing:1.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-facts{overflow:hidden}.quick-facts-inner{padding:0;flex-wrap:wrap}.qf-item{min-width:0;flex:1 1 33.33%;padding:12px 14px;border-right:1px solid rgba(255,255,255,.08)}.qf-label{font-size:9px;letter-spacing:1.5px;color:#ffffff80}.qf-value{font-size:13px}.positioning{padding:24px 0}.positioning p{font-size:15px;max-width:100%}.page-toc{margin-bottom:24px;line-height:2.2}.page-toc-label{display:block;margin-bottom:2px;margin-right:0}.page-toc a{font-size:11px}.pulse-card{padding:24px 20px;gap:20px}.awards-strip{flex-direction:row;gap:12px;padding:16px 0;overflow:hidden}.awards-count{min-width:56px}.awards-count .count-num{font-size:26px}.awards-count .count-label{font-size:8px;letter-spacing:1.5px}.awards-divider{width:1px;height:36px}.awards-row{gap:16px}.award-item{min-width:120px}.award-name{font-size:12px}.award-org{font-size:10px}.scales-container{gap:12px;padding:0 2px}.scale-row{padding-bottom:16px}.scale-header{margin-bottom:24px}.scale-label-left,.scale-label-right{font-size:10px;letter-spacing:1.5px}.scale-marker.primary .marker-label{font-size:9px}.scale-marker.reference .marker-label{font-size:8px}.scale-marker.primary .marker-dot{width:12px;height:12px}.scale-marker.reference .marker-dot{width:6px;height:6px}.villa-cat-header{grid-template-columns:auto 1fr auto;padding:14px 16px;gap:0 12px}.villa-cat-badge-col{gap:3px}.villa-cat-badge{width:auto;padding:4px 10px;font-size:9px;letter-spacing:1.5px}.cat-pool-tag{font-size:8px;gap:2px}.cat-pool-tag svg{width:8px;height:8px}.cat-name{font-size:13px}.cat-meta{font-size:10px;gap:4px}.cat-size-vs{font-size:9px}.villa-cat-right{grid-row:span 2;gap:8px}.villa-cat-price .from-label{font-size:9px;letter-spacing:1.5px}.villa-cat-price .from-price{font-size:15px}.villa-cat-toggle{width:22px;height:22px}.villa-cat-toggle svg{width:12px;height:12px}.villa-cat-body-inner{padding:0 16px 14px}.villa-sub-row{grid-template-columns:1fr 60px 60px;gap:8px;padding:10px 0;font-size:12px}.villa-sub-row .vs-size{display:none}.villa-sub-row .vs-pool{font-size:9px;letter-spacing:1px}.villa-photos-strip{padding:10px 16px;gap:6px}.villa-photos-strip img{height:56px}.villa-photos-empty{padding:10px 16px;font-size:10px}.restaurant-grid{grid-template-columns:1fr 1fr}.resto-img{height:140px}.exp-items{grid-template-columns:1fr;margin-left:0;gap:4px}.exp-item{font-size:13px}.exp-highlight{margin-left:0;padding:14px 16px}.exp-cat-header{gap:10px}.exp-cat-icon{width:34px;height:34px}.exp-cat-title{font-size:17px}.exp-cat-sub{font-size:12px}.meal-table{display:none}.meal-cards{display:flex}.reef-rating{padding:8px 12px}.reef-rating-score{font-size:20px}.transfer-details-grid{grid-template-columns:1fr}.transfer-option{padding:16px}.transfer-option:first-child{border-right:none;border-bottom:1px solid var(--stone)}.inclusions-grid{grid-template-columns:1fr}.inc-col:first-child{border-right:none;border-bottom:1px solid var(--cream)}.amenity-featured,.verdict-grid,.reef-columns{grid-template-columns:1fr}.amenity-check-grid{grid-template-columns:1fr 1fr}.lightbox-title{font-size:18px}.lightbox-overlay{padding:20px}.lightbox-close{top:16px;right:16px}.lightbox-grid img{max-height:65vh}.booking-card{padding:20px 18px;border-radius:12px}.booking-price{font-size:30px}.booking-form-row{grid-template-columns:1fr}.season-guide{padding:12px}.season-row{font-size:10px;padding:3px 0}.season-months{font-size:10px}.mobile-sticky,.mobile-drawer{display:block}body:has(.mobile-sticky){padding-bottom:calc(72px + env(safe-area-inset-bottom,0))}footer{padding:32px 20px;margin-top:0}.footer-inner{gap:20px}.footer-top{flex-direction:column;gap:24px;align-items:center;text-align:center}.footer-brand-col{min-width:auto}.footer-tagline{max-width:none;text-align:center}.footer-cols{grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;margin-left:0;width:100%}.footer-col a{font-size:12px}.footer-badges{gap:20px}footer p{font-size:11px}}@media(max-width:640px){[class$=-hero-stat],[class*="-hero-stat "]{display:flex!important;justify-content:space-around!important;gap:8px!important;margin-top:24px!important;flex-wrap:nowrap!important}[class$=-hero-stat]>div,[class*="-hero-stat "]>div{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}[class$=-hero-stat] .num,[class*="-hero-stat "] .num{font-size:20px!important}[class$=-hero-stat] .lbl,[class*="-hero-stat "] .lbl{font-size:8px!important;letter-spacing:1.2px!important}[class$=-toc],[class*="-toc "]{position:static!important}.hero-toc-inner{padding:0 4px}.tier-resort{padding:0;border-radius:8px;overflow:hidden}.tier-resort-thumb{width:56px;height:100%;border-radius:0;align-self:stretch}.tier-resort-info{padding:8px 0}.tier-resort-right{padding-right:12px}}@media(max-width:600px){.restaurant-grid{grid-template-columns:1fr}.resto-card{border-radius:10px}.pulse-card{flex-direction:column;text-align:center;padding:24px;gap:16px}.pulse-chart-desktop{display:none}.pulse-chart-mobile{display:block;width:100%;height:auto;flex-shrink:1}.pulse-chart-mobile svg{width:100%;height:auto;aspect-ratio:160/64}.pulse-divider{display:block;width:100%;border:none;border-top:1px solid rgba(255,255,255,.1);margin:0}.resto-body{padding:14px}.resto-desc{font-size:13px}}img[data-placeholder]{object-fit:contain!important;background:var(--cream)}
