*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbf8f1;color:#0A243F;font-family:"DM Sans",Arial,sans-serif}body.no-scroll{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.container{width:min(1370px,calc(100% - 70px));margin:auto}.skip-link{position:absolute;left:-10000px;z-index:300}.skip-link:focus{left:10px;top:10px;background:#fff;padding:10px}.utility{height:39px;background:#071524;color:#d4e1e2;position:relative;z-index:80;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.utility-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.utility-left,.utility-right{display:flex;align-items:center;gap:19px}.utility a,.utility-link{color:inherit;border:0;background:transparent;padding:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.utility a:hover,.utility-link:hover{color:#fff}.member-mini{border:0;background:none;color:#E2A956;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.top-book{border:0;background:#DAA353;color:#fff;padding:13px 19px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.utility-popover{position:absolute;z-index:100;background:#fff;color:#09202e;box-shadow:0 22px 55px rgba(0,0,0,.22)}.collection-menu{left:35px;top:35px;padding:18px;width:240px}.collection-menu strong,.collection-menu span,.collection-menu em{display:block}.collection-menu strong{letter-spacing:.1em;font-size:12px}.collection-menu span{font-size:12px;color:#4e616c;margin:6px 0}.collection-menu em{font-style:normal;font-size:10px;line-height:1.5;color:#76858d}.currency-menu{right:185px;top:35px;width:360px;padding:10px;max-height:520px;overflow:auto}.menu-head{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 11px;border-bottom:1px solid rgba(10,28,42,.13);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.menu-head small{font-size:9px;color:#667780;text-transform:none}.currency-menu button{width:50%;display:inline-grid;grid-template-columns:40px 45px 1fr;align-items:center;border:0;background:#fff;padding:10px 8px;text-align:left;color:#09202e}.currency-menu button:hover,.language-menu button:hover{background:#edf3f2}.currency-menu b{font-size:14px;color:#DAA353}.currency-menu span{font-weight:700;font-size:11px}.currency-menu small{font-size:10px;color:#6c7d85}.language-menu{right:105px;top:35px;width:165px;padding:7px}.language-menu button{display:flex;justify-content:space-between;width:100%;border:0;background:#fff;padding:9px 10px;color:#09202e;text-align:left;font-size:11px;font-weight:700}.language-menu span{font-weight:400;color:#53646d}.header{height:94px;background:rgba(251,248,241,.96);backdrop-filter:blur(13px);position:sticky;top:0;z-index:70;border-bottom:1px solid rgba(10,28,42,.08)}.nav{height:100%;display:grid;grid-template-columns:auto auto 1fr auto;gap:25px;align-items:center}.menu-button{border:0;background:transparent;width:30px;padding:7px 0;display:flex;flex-direction:column;gap:5px}.menu-button i{width:24px;height:1px;background:#0A243F;display:block}.brand{height:62px;position:relative;display:flex;align-items:center;gap:7px;min-width:180px}.brand img{height:57px;width:57px;object-fit:contain}.brand>span{font-family:"Playfair Display",Georgia,serif;font-size:20px;letter-spacing:.09em;white-space:nowrap}.brand small{position:absolute;bottom:0;left:64px;font-size:5px;letter-spacing:.21em;color:#DAA353;font-weight:700;white-space:nowrap}.nav-links{display:flex;justify-content:center;gap:20px;font-size:9px;letter-spacing:.095em;font-weight:700;text-transform:uppercase;white-space:nowrap}.nav-links a:hover{color:#DAA353}.nav-book{background:#DAA353;color:#fff;border:0;padding:16px 18px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.nav-book b{font-size:14px;margin-left:5px}.mega-menu{position:fixed;left:0;right:0;top:0;z-index:120;background:#081a29;color:#fff;transform:translateY(-105%);transition:transform .4s ease;padding:25px 40px 45px}.mega-menu.open{transform:translateY(0)}.mega-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:17px;text-transform:uppercase;letter-spacing:.13em;font-size:10px}.mega-top button{border:0;background:transparent;color:#fff;font-size:35px}.mega-grid{display:grid;grid-template-columns:1fr .9fr .4fr;gap:40px;padding-top:32px}.mega-links a{display:flex;align-items:baseline;gap:15px;padding:10px 0;font-family:"Playfair Display",Georgia,serif;font-size:30px}.mega-links a:hover{color:#DAA353}.mega-links span{font:11px "DM Sans",sans-serif;color:#DAA353}.mega-image{height:420px;position:relative;overflow:hidden}.mega-image img{width:100%;height:100%;object-fit:cover}.mega-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent)}.mega-image div{position:absolute;z-index:1;bottom:26px;left:27px}.mega-image p{font-size:10px;letter-spacing:.17em;color:#DAA353}.mega-image h2{font:500 39px/1 "Playfair Display",Georgia,serif;margin:0}.mega-extra{display:flex;flex-direction:column;gap:14px;padding-top:10px;font-size:12px}.mega-extra a,.mega-extra button{border:0;background:none;color:#d1dee0;text-align:left;font:inherit}.mega-extra a:hover,.mega-extra button:hover{color:#fff}.screen{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:110}.screen.show{display:block}.hero{height:min(815px,calc(100vh - 133px));min-height:620px;position:relative;overflow:hidden;background:#152b36}.hero>img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,24,.8),rgba(3,14,24,.22) 68%),linear-gradient(0deg,rgba(3,14,24,.5),transparent 43%)}.hero-content{height:100%;position:relative;z-index:2;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:94px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;margin:0 0 18px}.eyebrow.gold{color:#E2A956}.eyebrow.teal{color:#DAA353}.hero h1,.heading h2,.intro-grid h2,.destination-copy h2,.dining-copy h2,.wellness-layout h2,.celebration-copy h2,.membership-layout h2,.newsletter-layout h2,.booking-step h2,.simple-dialog h2,.map-dialog h2{font:500 clamp(46px,5vw,78px)/.99 "Playfair Display",Georgia,serif;letter-spacing:-.04em;margin:0}.hero h1{font-size:clamp(57px,7vw,106px);max-width:750px}.hero-content>p:not(.eyebrow){font-size:18px;line-height:1.75;max-width:540px;color:#e6edef;margin:26px 0 30px}.hero-actions{display:flex;gap:24px;align-items:center}.button{border:0;padding:16px 21px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px)}.outline-light{border:1px solid rgba(255,255,255,.85);background:transparent;color:#fff}.outline-light:hover{background:#fff;color:#0A243F}.dark{background:#0A243F;color:#fff}.dark:hover{background:#DAA353}.light{background:#fff;color:#0A243F}.full{width:100%}.small{padding:11px 13px}.line-link{display:inline-flex;align-items:center;gap:10px;border:0;background:none;color:#DAA353;border-bottom:1px solid #DAA353;padding:0 0 6px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.line-link span{font-size:16px}.line-link.light{color:#fff;border-color:#fff}.button-link{cursor:pointer}.hero-side{position:absolute;z-index:2;right:30px;bottom:52px;color:#fff;font-size:9px;letter-spacing:.15em;writing-mode:vertical-rl;display:flex;gap:12px;align-items:center}.hero-side i{height:62px;background:#fff;width:1px}.booking-widget{position:relative;z-index:20;width:min(1200px,calc(100% - 40px));margin:-49px auto 0}.booking-row{width:100%;background:#fff;box-shadow:0 23px 53px rgba(4,24,35,.2);display:grid;grid-template-columns:1.1fr 1.6fr 1.1fr auto}.booking-cell{border:0;border-right:1px solid rgba(7,25,37,.13);background:#fff;text-align:left;padding:18px 20px;min-height:96px;display:flex;flex-direction:column;justify-content:center}.booking-cell label{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#61717a;font-weight:700;margin-bottom:8px}.booking-cell strong{font:500 16px "Playfair Display",Georgia,serif;color:#0A243F}.booking-cell small{font-size:10px;color:#71818a;margin-top:4px}.destination-selector{cursor:pointer}.date-cell{padding-top:13px}.date-toggle{display:flex;gap:10px;margin:0 0 7px}.date-toggle button{padding:0;border:0;background:transparent;font-size:9px;color:#708087}.date-toggle button.active{color:#DAA353;text-decoration:underline}.date-inputs{display:flex;align-items:center;gap:7px}.date-inputs input{border:0;padding:0;width:calc(50% - 12px);font:500 13px "DM Sans",sans-serif;color:#0A243F;outline:none}.date-inputs span{font-size:14px;color:#DAA353}.flexible-inputs{display:flex;gap:5px}.flexible-inputs button{background:transparent;border:0;padding:0;font-size:11px;color:#0A243F}.guests-cell{cursor:pointer}.availability-btn{border:0;background:#DAA353;color:#fff;padding:0 24px;text-transform:uppercase;font-size:10px;letter-spacing:.11em;font-weight:700}.guests-popover{position:absolute;z-index:25;right:0;top:108px;background:#fff;width:360px;padding:20px;box-shadow:0 22px 55px rgba(4,24,35,.22)}.popover-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(7,25,37,.13);padding-bottom:14px;text-transform:uppercase;font-size:10px;letter-spacing:.11em}.popover-title button{border:0;background:none;font-size:25px}.room-card{padding:15px 0;border-bottom:1px solid rgba(7,25,37,.13)}.room-card-head{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.room-card-head button{border:0;background:none;color:#9b5959;font-size:10px}.counter-row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;color:#52626a}.counter{display:flex;align-items:center;gap:12px}.counter button{width:27px;height:27px;border:1px solid rgba(7,25,37,.2);background:#fff;border-radius:50%;font-size:17px}.counter b{min-width:12px;text-align:center}.add-room{border:0;background:none;padding:16px 0;color:#DAA353;font-size:11px;font-weight:700}.section{padding:133px 0}.section-sand{padding:114px 0;background:#f0e8d9}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end}.intro-copy{max-width:550px}.intro-copy p{color:#50606a;line-height:1.83;margin:0 0 18px}.heading{margin-bottom:42px}.heading>p:not(.eyebrow){max-width:570px;margin:18px 0 0;line-height:1.75;color:#52616a}.heading.split{display:flex;justify-content:space-between;align-items:end;gap:28px}.offer-grid,.experience-grid,.event-grid,.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.offer{min-height:440px;display:flex;align-items:flex-end;position:relative;overflow:hidden;color:#fff}.offer img,.experience-grid img{position:absolute;width:100%;height:100%;object-fit:cover}.offer:after,.experience-grid article:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,14,23,.88),transparent 65%)}.offer>div,.experience-grid article>div{position:relative;z-index:1;padding:28px}.offer p,.experience-grid p{color:#E2A956;font-size:9px;letter-spacing:.15em;font-weight:700;margin:0 0 8px}.offer h3,.experience-grid h3{font:500 34px/1.1 "Playfair Display",Georgia,serif;margin:0 0 10px}.offer span,.experience-grid span{display:block;font-size:13px;line-height:1.55;color:#e3eaeb}.offer button{background:none;border:0;border-bottom:1px solid #fff;color:#fff;padding:0 0 6px;margin-top:16px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.villa-stage{display:grid;grid-template-columns:1.2fr .8fr;background:#fff}.villa-image{height:570px;position:relative;overflow:hidden}.villa-image img,.dining-images img,.wellness-image img,.community-image img,.destination-visual img{width:100%;height:100%;object-fit:cover}.villa-image span,.wellness-image span{position:absolute;right:9px;bottom:9px;background:rgba(255,255,255,.9);padding:5px 7px;font-size:8px;letter-spacing:.08em}.villa-panel{padding:55px 50px;display:flex;flex-direction:column;justify-content:center}.villa-panel h3{font:500 45px/1.05 "Playfair Display",Georgia,serif;margin:0 0 15px}.villa-panel>p:not(.eyebrow){line-height:1.75;color:#53636c}.villa-details{border-top:1px solid rgba(7,25,37,.15);border-bottom:1px solid rgba(7,25,37,.15);padding:15px 0;margin:21px 0;display:flex;gap:14px;flex-wrap:wrap;font-size:10px;font-weight:700;text-transform:uppercase;color:#61717a}.villa-details span+span:before{content:"·";margin-right:14px;color:#DAA353}.price{display:flex;align-items:end;gap:8px}.price small,.price span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#708087}.price strong{color:#DAA353;font:500 36px "Playfair Display",Georgia,serif}.villa-buttons{margin-top:26px;display:flex;align-items:center;gap:22px}.villa-switcher{display:flex;border-top:1px solid rgba(7,25,37,.13);margin-top:20px}.villa-switcher button{flex:1;background:transparent;border:0;border-bottom:2px solid transparent;padding:17px 10px;text-transform:uppercase;font-size:10px;letter-spacing:.1em;color:#6b7a82;font-weight:700}.villa-switcher button.active{border-color:#DAA353;color:#DAA353}.destination-section{display:grid;grid-template-columns:1fr 1fr;min-height:585px;background:#071a29;color:#fff}.destination-visual{position:relative;overflow:hidden}.destination-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent)}.destination-visual p{position:absolute;z-index:1;bottom:35px;left:35px;font:500 28px/1.1 "Playfair Display",Georgia,serif;letter-spacing:.06em}.destination-copy{padding:86px clamp(30px,8vw,130px);display:flex;flex-direction:column;justify-content:center}.destination-copy>p:not(.eyebrow){color:#c6d6d9;line-height:1.83}.destination-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-top:1px solid rgba(255,255,255,.2);margin:24px 0;padding-top:19px}.destination-facts b{display:block;color:#DAA353;font:500 26px "Playfair Display",Georgia,serif}.destination-facts span{display:block;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#cad9dc;margin-top:5px}.section-dark{padding:125px 0;background:#071523;color:#fff}.section-dark h2{color:#fff}.light-copy{max-width:460px;line-height:1.8;color:#c4d3d6;margin:0}.experience-grid article{height:475px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.experience-grid article>div{padding:29px}.experience-grid h3{font-size:41px}.leisure-section{background:#fbf8f1}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.activity-grid article{height:285px;overflow:hidden;position:relative;background:#18313d}.activity-grid img{width:100%;height:100%;object-fit:cover;transition:.4s}.activity-grid article:hover img{transform:scale(1.05)}.activity-grid:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent)}.activity-grid span,.activity-grid h3{position:absolute;z-index:1;color:#fff}.activity-grid span{top:17px;left:17px;font-size:10px;color:#E2A956}.activity-grid h3{left:18px;bottom:13px;right:18px;margin:0;font:500 27px/1.1 "Playfair Display",Georgia,serif}.dining-section{padding:124px 0;background:#fff}.dining-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}.dining-images{height:620px;position:relative}.dining-images img{transition:.3s}.image-dots{position:absolute;z-index:1;right:20px;bottom:20px;display:flex;gap:9px}.image-dots button{width:9px;height:9px;padding:0;border-radius:50%;border:1px solid #fff;background:transparent}.image-dots button.active{background:#fff}.dining-copy>p:not(.eyebrow){color:#53636c;line-height:1.8}.dining-menu{border-top:1px solid rgba(7,25,37,.15);margin-top:25px}.dining-menu button{width:100%;border:0;border-bottom:1px solid rgba(7,25,37,.15);background:transparent;padding:17px 0;display:flex;justify-content:space-between;font:500 24px "Playfair Display",Georgia,serif;color:#6d7b82}.dining-menu button.active{color:#0A243F}.dining-menu span{font:400 20px "DM Sans",sans-serif;color:#DAA353}.wellness-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.wellness-layout>div>p:not(.eyebrow){line-height:1.8;color:#53636c}.wellness-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(7,25,37,.15);margin:26px 0}.wellness-list span{padding:12px 0;border-bottom:1px solid rgba(7,25,37,.15);font-size:11px;font-weight:700;color:#52616a}.wellness-list span:before{content:"✦";color:#DAA353;margin-right:8px}.wellness-image{height:570px;position:relative}.celebrations-section{height:635px;position:relative;color:#fff;overflow:hidden}.celebration-image,.celebration-image img,.celebration-shade{position:absolute;inset:0;width:100%;height:100%}.celebration-image img{object-fit:cover}.celebration-shade{background:linear-gradient(90deg,rgba(3,14,23,.82),rgba(3,14,23,.13))}.celebration-copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;margin-left:max(35px,calc((100% - 1370px)/2));width:min(510px,calc(100% - 65px))}.celebration-copy>p:not(.eyebrow){color:#e6efef;line-height:1.8}.event-grid article{background:#fff}.event-grid img{width:100%;height:255px;object-fit:cover}.event-grid article>div{padding:23px}.event-grid small,.journal-grid small{font-size:9px;letter-spacing:.13em;color:#DAA353;font-weight:700}.event-grid h3,.journal-grid h3{font:500 31px/1.1 "Playfair Display",Georgia,serif;margin:9px 0}.event-grid p{font-size:13px;line-height:1.6;color:#5c6c75;margin:0}.sustainability-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.sustain-image{height:500px;background:#2a444c}.sustain-image img{width:100%;height:100%;object-fit:cover}.sustainability-grid>div>p:not(.eyebrow){line-height:1.8;color:#c4d2d5}.sustain-points{border-top:1px solid rgba(255,255,255,.2);margin:25px 0;display:grid;grid-template-columns:1fr 1fr}.sustain-points span{border-bottom:1px solid rgba(255,255,255,.2);padding:12px 4px;font-size:11px;color:#e0e8e8}.sustain-points span:before{content:"✓";color:#E2A956;margin-right:8px}.community-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.community-layout>div>p:not(.eyebrow){line-height:1.82;color:#52616a}.community-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.community-tags span{border:1px solid rgba(7,25,37,.2);padding:8px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#51616a}.community-image{height:515px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:205px;gap:14px}.gallery-card{position:relative;overflow:hidden;border:0;padding:0;background:#20404c}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-card:hover img{transform:scale(1.05)}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 55%)}.gallery-card span{position:absolute;z-index:1;bottom:14px;left:14px;color:#fff;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.gallery-card.tall{grid-row:span 2;grid-column:span 2}.gallery-card.wide{grid-column:span 2}.filter-set{display:flex;gap:14px;flex-wrap:wrap}.filter-set button{background:transparent;border:0;padding:0 0 5px;color:#65757d;text-transform:uppercase;font-size:9px;letter-spacing:.1em;font-weight:700}.filter-set button.active{color:#DAA353;border-bottom:1px solid #DAA353}.gallery-card.hidden{display:none}.journal-grid article{background:#f0e8d9}.journal-grid img{height:255px;width:100%;object-fit:cover}.journal-grid div{padding:21px}.journal-grid h3{font-size:28px}.journal-grid a{font-size:10px;color:#DAA353;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.membership-section{background:#0a202e;color:#fff;padding:89px 0}.membership-layout{display:grid;grid-template-columns:.2fr 1fr auto;gap:35px;align-items:center}.membership-mark{border:1px solid #DAA353;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;color:#DAA353;font-size:30px}.membership-layout>div>p:not(.eyebrow){color:#cbd9db;max-width:540px;line-height:1.75}.newsletter-section{background:#DAA353;color:#fff;padding:85px 0}.newsletter-layout{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}.newsletter-layout h2{color:#fff}.newsletter-layout form label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.newsletter-layout form>div{display:flex;border-bottom:1px solid #fff;margin-top:9px}.newsletter-layout input{flex:1;border:0;background:transparent;color:#fff;padding:12px 0;outline:none}.newsletter-layout input::placeholder{color:#c6e5e7}.newsletter-layout button{border:0;background:transparent;color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}.newsletter-layout form p{font-size:12px;margin:9px 0 0;min-height:18px}footer{background:#06131f;color:#b9c7ca;padding:74px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:55px}.footer-brand img{width:170px;height:115px;object-fit:contain;object-position:left;filter:brightness(1.12)}.footer-brand p{font-size:13px;line-height:1.7;max-width:280px}.footer-grid h3{font-size:9px;color:#E2A956;letter-spacing:.16em;text-transform:uppercase;margin:0 0 17px}.footer-grid a{display:block;font-size:13px;margin:0 0 10px}.footer-grid a:hover{color:#fff}.socials{display:flex;gap:8px;margin-top:18px}.socials a{width:27px;height:27px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;font-size:9px;text-transform:uppercase}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:21px;display:flex;justify-content:space-between;font-size:10px}.footer-bottom button{background:none;border:0;color:inherit;padding:0;font-size:10px}.dialog{border:0;padding:0;max-width:min(920px,calc(100% - 32px));box-shadow:0 30px 80px rgba(0,0,0,.32)}.dialog::backdrop{background:rgba(2,12,19,.78)}.dialog-close{position:absolute;z-index:3;top:12px;right:16px;background:transparent;border:0;color:#172d37;font-size:31px}.booking-dialog{width:min(930px,calc(100% - 32px));background:#fbf8f1;max-height:92vh;overflow:auto}.booking-dialog-layout{padding:54px}.booking-progress{display:flex;align-items:center;width:165px;margin-bottom:27px}.booking-progress span{border:1px solid #9dafb5;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:9px;color:#7c8b91}.booking-progress span.active{background:#DAA353;color:#fff;border-color:#DAA353}.booking-progress i{height:1px;background:#c1cdcf;flex:1}.booking-step{display:none}.booking-step.active{display:block}.booking-step h2{font-size:48px}.dialog-copy{color:#53636c;line-height:1.75}.available-villas{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:25px 0}.available-villa{border:1px solid rgba(7,25,37,.15);background:#fff;text-align:left;padding:0;overflow:hidden}.available-villa.selected{outline:2px solid #DAA353}.available-villa img{width:100%;height:135px;object-fit:cover}.available-villa>div{padding:13px}.available-villa small{color:#DAA353;font-size:9px;letter-spacing:.1em}.available-villa h3{font:500 21px "Playfair Display",Georgia,serif;margin:5px 0}.available-villa p{font-size:11px;color:#61717a;margin:0}.available-villa strong{display:block;color:#DAA353;font:500 23px "Playfair Display",Georgia,serif;margin-top:10px}.dialog-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:23px;gap:20px}.dialog-bottom small{font-size:11px;color:#61717a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.booking-step label{display:block;margin:14px 0}.booking-step label>span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.11em;font-weight:700;margin-bottom:7px}.booking-step input,.booking-step textarea{width:100%;border:1px solid rgba(7,25,37,.18);background:#fff;padding:11px;outline-color:#DAA353}.checkbox{display:flex!important;align-items:flex-start;gap:9px;font-size:12px;color:#5b6b73}.checkbox span{font-size:12px!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;margin:0!important}.checkbox input{width:auto!important;margin-top:3px}.text-button{border:0;background:none;color:#DAA353;text-transform:uppercase;letter-spacing:.11em;font-weight:700;font-size:10px}.review-card{background:#f0e8d9;padding:20px;margin:21px 0}.review-card h3{margin:0 0 11px;font:500 28px "Playfair Display",Georgia,serif}.review-card p{margin:7px 0;font-size:13px;color:#4e5f68}.map-dialog,.simple-dialog{padding:51px;max-width:760px}.map-dialog h2,.simple-dialog h2{font-size:47px}.map-dialog img{width:100%;margin:25px 0 13px}.map-dialog p,.simple-dialog p{line-height:1.7;color:#57666f}.gallery-full{max-width:100%;display:block;max-height:89vh;object-fit:contain;background:#000}.simple-dialog form{display:grid;gap:11px;margin-top:22px}.simple-dialog input{padding:12px;border:1px solid rgba(7,25,37,.2)}.simple-dialog #membershipMessage{color:#DAA353;font-size:12px;min-height:17px}.calendar-list{margin:22px 0;border-top:1px solid rgba(7,25,37,.15)}.calendar-list div{display:flex;gap:20px;padding:13px 0;border-bottom:1px solid rgba(7,25,37,.15)}.calendar-list b{color:#DAA353;font-size:11px}.cookie{position:fixed;z-index:200;left:22px;bottom:22px;max-width:510px;background:#fff;box-shadow:0 20px 55px rgba(0,0,0,.22);padding:17px;display:flex;gap:16px;align-items:center}.cookie p{font-size:12px;line-height:1.6;margin:0;color:#51616a}.cookie>div{display:flex;gap:7px;flex-shrink:0}
@media(max-width:1180px){.nav-links{gap:11px;font-size:8px}.brand{min-width:157px}.brand>span{font-size:17px}.nav{gap:14px}.mega-grid{grid-template-columns:1.1fr 1fr}.mega-extra{display:none}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:span 3}.booking-row{grid-template-columns:1.1fr 1.6fr 1fr}.availability-btn{grid-column:span 3;padding:18px}.guests-popover{top:204px}}
@media(max-width:760px){.container{width:min(100% - 32px,1370px)}.utility{height:34px}.utility-left a,.utility-left .utility-link,.member-mini{display:none}.utility-inner{justify-content:flex-end}.utility-right{gap:12px}.top-book{padding:10px 13px}.currency-menu{right:50px;width:315px}.language-menu{right:25px}.header{height:76px}.nav{grid-template-columns:auto 1fr auto}.brand{justify-self:center;min-width:0;height:55px}.brand img{height:45px;width:45px}.brand>span{font-size:16px}.brand small{left:51px;font-size:4px}.nav-links{display:none}.nav-book{padding:13px 12px;font-size:9px}.mega-menu{padding:20px 24px 34px}.mega-grid{grid-template-columns:1fr;padding-top:20px}.mega-image{display:none}.mega-links a{font-size:28px;padding:7px 0}.hero{height:660px;min-height:0}.hero-content{padding-bottom:65px}.hero h1{font-size:57px}.hero-content>p:not(.eyebrow){font-size:15px}.hero-side{display:none}.booking-widget{width:calc(100% - 26px);margin-top:-25px}.booking-row{grid-template-columns:1fr 1fr}.booking-cell{min-height:83px;padding:14px;border-bottom:1px solid rgba(7,25,37,.13)}.date-cell{grid-column:span 2}.availability-btn{grid-column:span 2;padding:17px}.guests-popover{top:228px;width:100%}.section{padding:82px 0}.section-sand{padding:72px 0}.intro-grid,.villa-stage,.dining-layout,.wellness-layout,.community-layout,.sustainability-grid,.newsletter-layout{grid-template-columns:1fr;gap:32px}.heading.split{display:block}.heading.split>.line-link,.filter-set{margin-top:21px}.offer-grid,.experience-grid,.event-grid,.journal-grid{grid-template-columns:1fr}.offer{min-height:375px}.villa-image{height:370px}.villa-panel{padding:36px 24px}.villa-panel h3{font-size:38px}.villa-switcher{overflow:auto}.villa-switcher button{min-width:175px}.destination-section{grid-template-columns:1fr}.destination-visual{min-height:340px}.destination-copy{padding:72px 31px}.experience-grid article{height:370px}.activity-grid{grid-template-columns:1fr 1fr}.activity-grid article{height:190px}.activity-grid h3{font-size:21px}.dining-images{height:410px}.dining-copy{grid-row:2}.wellness-image{height:420px}.celebrations-section{height:570px}.celebration-copy{margin-left:30px;width:calc(100% - 60px)}.event-grid img,.journal-grid img{height:220px}.sustain-image,.community-image{height:390px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:145px}.gallery-card.tall{grid-column:span 2;grid-row:span 2}.gallery-card.wide{grid-column:span 2}.membership-layout{grid-template-columns:auto 1fr}.membership-layout>button{grid-column:span 2;justify-self:start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.footer-brand{grid-column:span 2}.footer-bottom{display:block;line-height:2}.booking-dialog-layout{padding:43px 22px 28px}.available-villas{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.map-dialog,.simple-dialog{padding:43px 24px 26px}.cookie{left:12px;right:12px;bottom:12px;max-width:none;display:block}.cookie>div{margin-top:12px}.dialog-bottom{flex-wrap:wrap}.dialog-bottom .button{margin-left:auto}}
@media(max-width:420px){.activity-grid{grid-template-columns:1fr}.activity-grid article{height:205px}.hero h1{font-size:48px}.hero-actions{flex-direction:column;align-items:flex-start}.destination-facts{grid-template-columns:1fr 1fr}.sustain-points,.wellness-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}


/* Warm editorial footer inspired by the supplied reference */
footer.sun-footer{
  position:relative;
  background:#e4d6cd;
  color:#101a25;
  padding:92px 0 0;
}
.sun-footer-grid{
  display:grid;
  grid-template-columns:1.05fr .88fr .78fr .72fr 1.02fr 1.8fr;
  gap:30px;
  align-items:start;
  padding-bottom:62px;
}
.sun-footer-brand{
  padding-top:4px;
}
.sun-footer-brand img{
  display:block;
  width:155px;
  height:118px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.2));
}
.sun-footer-brand p{
  margin:9px 0 0;
  color:#27323b;
  font:600 11px/1.55 "DM Sans",Arial,sans-serif;
  letter-spacing:.08em;
}
.sun-footer-brand p span{
  color:#6d7479;
  font-size:8px;
  letter-spacing:.14em;
}
.sun-footer-column h3,
.sun-footer-action h3{
  color:#0a141d;
  font:700 13px/1 "DM Sans",Arial,sans-serif;
  letter-spacing:.16em;
  margin:8px 0 19px;
}
.sun-footer-column a{
  display:block;
  color:#111b24;
  font-size:13px;
  line-height:1.55;
  margin:0 0 9px;
}
.sun-footer-column a:hover{
  color:#DAA353;
}
.sun-contact-column .sun-contact-label{
  display:block;
  color:#727a7d;
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
  margin:11px 0 3px;
}
.sun-contact-column a{
  margin-bottom:0;
}
.sun-footer-action{
  display:flex;
  flex-direction:column;
  gap:31px;
}
.sun-footer-action section{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  column-gap:25px;
}
.sun-footer-action h3{
  grid-column:1 / -1;
}
.sun-footer-action p{
  margin:0;
  max-width:315px;
  color:#1e2932;
  font-size:13px;
  line-height:1.55;
}
.sun-newsletter-form{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr 160px;
  align-items:center;
  gap:28px;
  margin-top:22px;
}
.sun-newsletter-form input{
  width:100%;
  padding:11px 0 13px;
  border:0;
  border-bottom:1px solid #111b24;
  background:transparent;
  color:#111b24;
  outline:none;
  font:600 11px "DM Sans",Arial,sans-serif;
  letter-spacing:.16em;
}
.sun-newsletter-form input::placeholder{
  color:#7d858a;
}
.sun-newsletter-form button,
.sun-outline-button{
  border:1.3px solid #101a25;
  border-radius:999px;
  background:transparent;
  color:#101a25;
  min-height:47px;
  padding:0 24px;
  font:700 10px "DM Sans",Arial,sans-serif;
  letter-spacing:.22em;
  transition:.2s;
}
.sun-newsletter-form button:hover,
.sun-outline-button:hover{
  background:#101a25;
  color:#e4d6cd;
}
.sun-footer-action small{
  grid-column:1 / -1;
  min-height:16px;
  color:#DAA353;
  font-size:11px;
  margin-top:6px;
}
.sun-membership{
  border-top:1px solid rgba(16,26,37,.38);
  padding-top:26px;
}
.sun-membership .sun-outline-button{
  align-self:end;
  min-width:160px;
}
.sun-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:center;
  border-top:1px solid rgba(16,26,37,.45);
  padding:20px 0 24px;
}
.sun-socials{
  display:flex;
  align-items:center;
  gap:22px;
}
.sun-socials a{
  color:#111b24;
  display:grid;
  place-items:center;
  min-width:15px;
  height:25px;
  font-size:20px;
  font-weight:700;
}
.sun-socials a:nth-child(4){
  font-size:17px;
}
.sun-socials a:nth-child(5){
  font-size:14px;
  width:29px;
  height:20px;
  border-radius:5px;
  background:#111b24;
  color:#e4d6cd;
}
.sun-legal{
  display:flex;
  align-items:center;
  gap:21px;
  color:#343d43;
  font-size:10px;
}
.sun-legal a,
.sun-legal button{
  color:#343d43;
  border:0;
  background:transparent;
  padding:0;
  font-size:10px;
}
.sun-legal a:hover,
.sun-legal button:hover{
  color:#DAA353;
}
.help-widget{
  position:fixed;
  z-index:95;
  right:35px;
  bottom:27px;
  display:flex;
  align-items:end;
  gap:11px;
}
.help-bubble{
  width:74px;
  height:74px;
  border:0;
  border-radius:50%;
  background:#05080b;
  color:#fff;
  box-shadow:0 12px 25px rgba(0,0,0,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1px;
}
.help-bubble span{
  display:block;
  width:19px;
  height:16px;
  border:2px solid #fff;
  border-radius:2px;
  transform:skewY(-4deg);
}
.help-bubble span+span{
  margin-left:-12px;
  transform:translateY(6px) skewY(-4deg);
}
.help-card{
  min-width:262px;
  max-width:300px;
  background:#fff;
  color:#444d53;
  box-shadow:0 10px 25px rgba(0,0,0,.16);
  border-radius:14px 14px 3px 14px;
  padding:19px 21px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.help-card strong{font-size:13px;font-weight:500;}
.help-card span{font-size:11px;color:#748089;line-height:1.45;}
.help-card a{font-size:10px;color:#DAA353;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-top:4px;}
.help-x{
  position:absolute;
  left:-34px;
  top:5px;
  border:0;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#a9afb1;
  color:#fff;
  font-size:24px;
  line-height:1;
}
.help-widget.collapsed .help-card,
.help-widget.collapsed .help-x{
  display:none;
}
@media(max-width:1180px){
  .sun-footer-grid{
    grid-template-columns:1.1fr 1fr 1fr 1fr;
  }
  .sun-footer-action{
    grid-column:span 2;
    max-width:610px;
  }
}
@media(max-width:760px){
  footer.sun-footer{padding-top:62px;}
  .sun-footer-grid{
    grid-template-columns:1fr 1fr;
    gap:31px 22px;
    padding-bottom:39px;
  }
  .sun-footer-brand{grid-column:span 2;}
  .sun-footer-brand img{width:140px;height:105px;}
  .sun-footer-action{grid-column:span 2;max-width:none;}
  .sun-footer-action section{grid-template-columns:1fr;}
  .sun-footer-action p{max-width:none;}
  .sun-newsletter-form{grid-template-columns:1fr;margin-top:17px;gap:13px;}
  .sun-newsletter-form button,.sun-outline-button{width:100%;}
  .sun-footer-bottom{display:block;}
  .sun-socials{margin-bottom:15px;gap:17px;}
  .sun-legal{display:block;line-height:2;}
  .help-widget{right:17px;bottom:17px;}
  .help-bubble{width:59px;height:59px;}
  .help-card{min-width:220px;max-width:245px;padding:15px;}
  .help-x{left:-25px;width:23px;height:23px;font-size:18px;}
}
@media(max-width:420px){
  .sun-footer-grid{grid-template-columns:1fr;}
  .sun-footer-brand,.sun-footer-action{grid-column:auto;}
}


@media(max-width:760px){
  .hero-controls{
    bottom:22px;
    gap:12px;
  }
  .hero-arrow{
    width:36px;
    height:36px;
    font-size:22px;
  }
  .hero-dots{
    gap:8px;
  }
  .hero-dots button{
    width:9px;
    height:9px;
  }
}


/* Automatic cinematic hero image loop — no visible controls */
.hero{
  position:relative;
  min-height:100svh;
  overflow:hidden;
}
.hero-media-slider{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:scale(1.08);
  transition:opacity 1.6s ease, visibility 1.6s ease, transform 7s ease;
}
.hero-slide.active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}
.hero-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.hero-controls,
.hero-dots,
.hero-arrow{
  display:none !important;
}

/* Reliable help popup close interaction */
.help-widget{
  z-index:150;
}
.help-card{
  position:relative;
  padding-right:47px;
}
.help-x{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  left:auto !important;
  width:26px !important;
  height:26px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#a6adb1 !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1 !important;
  z-index:2 !important;
  cursor:pointer !important;
}
.help-widget.collapsed .help-card{
  display:none;
}
.help-widget.collapsed .help-x{
  display:none;
}




/* Private editor remains hidden from public visitors */
.editor-toolbar,
.cookie,
#cookieBanner{
  display:none !important;
}
body.editor-active [data-editor-id]{
  outline:1px dashed rgba(5,127,141,.65);
  outline-offset:4px;
  cursor:text;
}
body.editor-active img[data-editor-image-id]{
  outline:2px dashed rgba(232,202,112,.9);
  outline-offset:5px;
  cursor:pointer;
}


/* Clean floating chat icon */
.help-bubble{
  display:grid !important;
  place-items:center !important;
}
.help-bubble span{
  display:none !important;
}
.help-icon{
  width:32px;
  height:32px;
  overflow:visible;
}
.help-icon path{
  fill:none;
  stroke:#ffffff;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* Gaia do Mar official navy + gold brand treatment */
:root{
  --gaia-navy:#0A243F;
  --gaia-gold:#DAA353;
  --gaia-gold-light:#E2A956;
  --gaia-ivory:#FBF8F1;
}
.header{
  height:112px;
  background:rgba(251,248,241,.97);
  border-bottom:1px solid rgba(10,36,63,.12);
}
.brand-centered-nav{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
}
.brand-logo-only{
  min-width:0 !important;
  width:82px;
  height:104px;
  display:grid;
  place-items:center;
  justify-self:center;
  overflow:visible;
}
.brand-logo-only img{
  width:auto !important;
  height:96px !important;
  max-width:82px;
  object-fit:contain;
  filter:none !important;
}
.nav-links-left{justify-content:flex-end;}
.nav-links-right{justify-content:flex-start;}
.nav-links a:hover{color:var(--gaia-gold);}
.nav-book,.top-book,.utility-book{background:var(--gaia-navy);}
.nav-book:hover,.top-book:hover,.utility-book:hover{background:var(--gaia-gold);color:var(--gaia-navy);}
.line-link,.eyebrow.teal,.price strong,.villa-tabs button.active,.filter-set button.active,.journal-grid a,.card-link{color:var(--gaia-gold);}
.line-link,.villa-tabs button.active,.filter-set button.active{border-color:var(--gaia-gold);}
.sun-footer-brand img{
  width:145px !important;
  height:176px !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:none !important;
}
.footer-brand img{
  width:145px !important;
  height:176px !important;
  object-fit:contain !important;
  filter:none !important;
}
@media(max-width:1180px){
  .header{height:101px;}
  .brand-centered-nav{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;gap:13px;}
  .brand-logo-only{width:70px;height:94px;}
  .brand-logo-only img{height:86px !important;max-width:70px;}
  .nav-links{font-size:7.5px;gap:10px;}
}
@media(max-width:760px){
  .header{height:78px;}
  .brand-centered-nav{grid-template-columns:auto 1fr auto;}
  .nav-links-left,.nav-links-right{display:none;}
  .brand-logo-only{width:55px;height:72px;justify-self:center;}
  .brand-logo-only img{height:66px !important;max-width:55px;}
  .nav-book{justify-self:end;}
  .sun-footer-brand img,.footer-brand img{width:120px !important;height:145px !important;}
}


/* v10 header refinement: centered, larger logo symbol only */
.header{
  height:122px !important;
}
.nav.brand-centered-nav{
  display:grid !important;
  grid-template-columns:auto 1fr auto 1fr auto;
  align-items:center;
  gap:22px;
}
.brand.brand-logo-only{
  min-width:0 !important;
  width:126px !important;
  height:126px !important;
  display:grid !important;
  place-items:center !important;
  justify-self:center !important;
  padding:0 !important;
  gap:0 !important;
}
.brand.brand-logo-only img{
  width:auto !important;
  max-width:126px !important;
  height:118px !important;
  object-fit:contain !important;
  display:block !important;
}
.brand.brand-logo-only > span,
.brand.brand-logo-only small{
  display:none !important;
}
.nav-links-left{
  justify-content:flex-end !important;
}
.nav-links-right{
  justify-content:flex-start !important;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:18px;
}
@media (max-width: 1180px){
  .header{height:110px !important;}
  .nav.brand-centered-nav{gap:12px;grid-template-columns:auto 1fr auto 1fr auto;}
  .brand.brand-logo-only{width:110px !important;height:110px !important;}
  .brand.brand-logo-only img{max-width:110px !important;height:102px !important;}
  .nav-links{gap:10px;font-size:8px;}
}
@media (max-width: 760px){
  .header{height:88px !important;}
  .nav.brand-centered-nav{grid-template-columns:auto 1fr auto;}
  .nav-links-left,.nav-links-right{display:none !important;}
  .brand.brand-logo-only{width:76px !important;height:76px !important;}
  .brand.brand-logo-only img{max-width:76px !important;height:70px !important;}
}


/* v11: truly centered, balanced header */
.header{height:122px !important;}
.nav.brand-centered-nav{
  position:relative !important;
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 112px !important;
  align-items:center !important;
  gap:18px !important;
}
.nav.brand-centered-nav .menu-button{grid-column:1;justify-self:start;}
.nav.brand-centered-nav .nav-links-left{grid-column:2;justify-content:flex-end !important;padding-right:82px;}
.nav.brand-centered-nav .nav-links-right{grid-column:3;justify-content:flex-start !important;padding-left:82px;}
.nav.brand-centered-nav .nav-book{grid-column:4;justify-self:end;min-width:108px;}
.brand.brand-logo-only{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:126px !important;
  height:126px !important;
  min-width:0 !important;
  display:grid !important;
  place-items:center !important;
  z-index:3 !important;
}
.brand.brand-logo-only img{width:auto !important;height:118px !important;max-width:126px !important;object-fit:contain !important;}
.nav-links{display:flex;align-items:center;gap:21px !important;}
.nav-links a{text-align:center;}
@media(max-width:1180px){
  .header{height:108px !important;}
  .nav.brand-centered-nav{grid-template-columns:38px minmax(0,1fr) minmax(0,1fr) 96px !important;gap:10px !important;}
  .nav.brand-centered-nav .nav-links-left{padding-right:67px;}
  .nav.brand-centered-nav .nav-links-right{padding-left:67px;}
  .nav-links{gap:11px !important;font-size:7.6px !important;}
  .brand.brand-logo-only{width:106px !important;height:106px !important;}
  .brand.brand-logo-only img{height:99px !important;max-width:106px !important;}
  .nav.brand-centered-nav .nav-book{min-width:94px;padding-left:10px;padding-right:10px;}
}
@media(max-width:760px){
  .header{height:88px !important;}
  .nav.brand-centered-nav{display:grid !important;grid-template-columns:44px 1fr 84px !important;}
  .nav.brand-centered-nav .nav-links-left,.nav.brand-centered-nav .nav-links-right{display:none !important;}
  .nav.brand-centered-nav .menu-button{grid-column:1;}
  .nav.brand-centered-nav .nav-book{grid-column:3;min-width:82px;}
  .brand.brand-logo-only{width:76px !important;height:76px !important;}
  .brand.brand-logo-only img{height:70px !important;max-width:76px !important;}
}

/* v11 private visual editor */
.editor-launcher{
  position:fixed;right:22px;bottom:112px;z-index:230;width:48px;height:48px;border:0;border-radius:50%;background:var(--gaia-gold,#DAA353);color:var(--gaia-navy,#0A243F);font-size:22px;box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.editor-panel{
  position:fixed;top:0;right:0;bottom:0;width:min(390px,94vw);z-index:240;background:#f8f5ef;color:#102738;box-shadow:-18px 0 45px rgba(0,0,0,.24);overflow:auto;border-left:1px solid rgba(10,36,63,.15);
}
.editor-panel[hidden],.editor-launcher[hidden]{display:none !important;}
.editor-panel-header{position:sticky;top:0;z-index:2;background:#0A243F;color:#fff;padding:18px 18px 15px;display:flex;justify-content:space-between;align-items:center;}
.editor-panel-header div{display:flex;flex-direction:column;gap:3px}.editor-panel-header span{font-size:9px;color:#E2A956;letter-spacing:.16em}.editor-panel-header strong{font:500 24px "Playfair Display",serif}.editor-panel-header button{border:0;background:transparent;color:#fff;font-size:30px;}
.editor-tabs{position:sticky;top:76px;z-index:2;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid rgba(10,36,63,.14)}
.editor-tabs button{border:0;background:#fff;padding:12px 4px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#64747c}.editor-tabs button.active{color:#0A243F;background:#f0e7d8;border-bottom:2px solid #DAA353}
.editor-status{padding:10px 16px;background:#eaf0f1;color:#4d606a;font-size:11px;line-height:1.4}
.editor-pane{display:none;padding:18px}.editor-pane.active{display:block}.editor-pane h3{font:600 18px "Playfair Display",serif;margin:5px 0 14px}.editor-empty{padding:20px;border:1px dashed rgba(10,36,63,.25);background:#fff}.editor-empty strong{display:block;font-size:13px}.editor-empty p,.editor-help{font-size:11px;line-height:1.55;color:#667780}.editor-help code{background:#e9eceb;padding:1px 4px}
.editor-field,.editor-range,.editor-upload{display:block;margin:0 0 15px}.editor-field>span,.editor-range>span,.editor-upload>span{display:block;margin-bottom:7px;font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#53656e}
.editor-field input,.editor-field textarea,.editor-field select,.editor-upload input,.editor-inline-field input{width:100%;border:1px solid rgba(10,36,63,.2);background:#fff;padding:10px;outline-color:#DAA353}.editor-field textarea{resize:vertical;line-height:1.45}.editor-inline-field{display:grid;grid-template-columns:1fr auto}.editor-inline-field button{border:0;background:#0A243F;color:#fff;padding:0 12px;font-size:10px}
.editor-format-row{display:flex;gap:6px;margin:0 0 14px}.editor-format-row button{border:1px solid rgba(10,36,63,.18);background:#fff;min-height:34px;padding:0 12px}.editor-action-row{display:flex;gap:8px}.editor-action-row button,.editor-action-grid button,.editor-primary,.editor-danger{border:0;padding:11px 13px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.editor-primary{background:#0A243F;color:#fff}.editor-danger{background:#9a3b3b;color:#fff}.editor-action-row button:not(.editor-primary),.editor-action-grid button{background:#e5e8e7;color:#18303e}.editor-wide{width:100%;display:block;margin-bottom:12px}.editor-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:15px}
.editor-image-preview{height:165px;background:#d9dedc;margin-bottom:15px;display:grid;place-items:center;overflow:hidden}.editor-image-preview img{width:100%;height:100%;object-fit:cover}.editor-range input{width:100%}.editor-range b{float:right;color:#DAA353}.editor-color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:17px}.editor-color-grid label{font-size:9px;text-transform:uppercase;font-weight:700;color:#53656e}.editor-color-grid input{display:block;width:100%;height:42px;border:0;margin-top:6px;background:none}
.editor-section-list{display:flex;flex-direction:column;gap:6px;margin-top:17px}.editor-section-item{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(10,36,63,.14);background:#fff;padding:9px 10px;text-align:left}.editor-section-item.active{border-color:#DAA353;background:#fff8ea}.editor-section-item.hidden-section{opacity:.52}.editor-section-item span{font-size:11px}.editor-section-item small{font-size:8px;color:#76858c}
.editor-publish-note{margin-top:20px;padding:14px;background:#ece5d9}.editor-publish-note strong{font-size:12px}.editor-publish-note p{font-size:11px;line-height:1.55;margin-bottom:0}.editor-panel-footer{position:sticky;bottom:0;background:#0A243F;color:#fff;padding:11px 15px;display:flex;justify-content:space-between;align-items:center}.editor-panel-footer span{font-size:9px;color:#cbd6d8}.editor-panel-footer span.saved{color:#E2A956}.editor-panel-footer button{border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;padding:7px 10px;font-size:9px;text-transform:uppercase}
body.editor-active{padding-right:min(390px,94vw)}body.editor-active [data-editor-text-id]{outline:1px dashed rgba(218,163,83,.72);outline-offset:3px;cursor:text}body.editor-active img[data-editor-image-id]{outline:2px dashed rgba(218,163,83,.9);outline-offset:4px;cursor:crosshair}body.editor-active main>section,body.editor-active main>.booking-widget{position:relative}body.editor-active .editor-selected-text{outline:2px solid #DAA353 !important}body.editor-active .editor-selected-image{outline:3px solid #DAA353 !important}body.editor-active .editor-hidden-section{display:none !important}
@media(max-width:760px){body.editor-active{padding-right:0}.editor-panel{width:100vw}.editor-launcher{right:14px;bottom:92px}}


/* v12 reliable visual image editor */
.editor-upload-button{
  display:block;
  margin:0 0 6px;
  border:1px solid rgba(10,36,63,.2);
  background:#fff;
  padding:0;
  cursor:pointer;
}
.editor-upload-button input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}
.editor-upload-button span{
  display:block;
  background:var(--gaia-navy,#0A243F);
  color:#fff;
  padding:13px 15px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:700;
  text-align:center;
}
.editor-upload-button:hover span{background:var(--gaia-gold,#DAA353);color:var(--gaia-navy,#0A243F)}
.editor-file-name{margin:0 0 17px;color:#6b7b83;font-size:10px;text-align:center}
.editor-subheading{font:600 13px "DM Sans",Arial,sans-serif !important;text-transform:uppercase;letter-spacing:.1em;color:#0A243F;border-top:1px solid rgba(10,36,63,.14);padding-top:14px;margin:17px 0 12px !important}
.editor-image-preview{position:relative}
.editor-image-preview img{transform-origin:center center;transition:none !important}
body.editor-active img[data-editor-image-id]{touch-action:none;user-select:none;-webkit-user-drag:none}
body.editor-active img.editor-managed-image{will-change:transform,object-position}
.editor-status.error{background:#f7dddd;color:#842f2f}
.editor-status.success{background:#e3f1e9;color:#28603f}


/* Editor upgrades: inline text editing + villa panel */
body.editor-active [contenteditable="true"]{
  outline:2px solid #057f8d !important;
  outline-offset:4px;
  cursor:text;
  background:rgba(5,127,141,.07);
}
.editor-villa-switch{
  display:flex;
  gap:6px;
  margin:0 0 14px;
}
.editor-villa-switch button{
  flex:1;
  border:1px solid rgba(7,25,37,.25);
  background:#fff;
  padding:9px 0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5b6b73;
}
.editor-villa-switch button.active{
  background:#057f8d;
  border-color:#057f8d;
  color:#fff;
}


/* Editor upgrades v13: text alignment buttons + drag-to-move text */
.editor-align-row{
  display:flex;
  gap:6px;
  margin:0 0 14px;
}
.editor-align-row button{
  flex:1;
  border:1px solid rgba(7,25,37,.25);
  background:#fff;
  padding:9px 0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5b6b73;
}
.editor-align-row button.active{
  background:#057f8d;
  border-color:#057f8d;
  color:#fff;
}
body.editor-active .editor-selected-text:not([contenteditable]){
  user-select:none;
  cursor:move;
}

/* Hidden text elements: gone for visitors, faded while editing */
.editor-hidden-element{
  display:none !important;
}
body.editor-active .editor-hidden-element{
  display:revert !important;
  opacity:.3;
  text-decoration:line-through;
}

/* ---- Legal links in the footer, and the cookie-settings button ---- */
.sun-legal-links{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}
.sun-legal-links a,.sun-legal-pref{
  display:inline-flex;align-items:center;min-height:44px;padding:6px 0;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:inherit;background:none;border:0;opacity:.82;
}
.sun-legal-links a:hover,.sun-legal-pref:hover{opacity:1;color:#DAA353}
