@import url('/brand.css?v=20261019-bark');
@font-face{font-family:Nunito;src:url('/fonts/nunito-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url('/fonts/nunito-sans-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:'Baloo 2';src:url('/fonts/baloo-2-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--ivory:#F7F4EC;--bark:#3D2C21;--bark-deep:#2E211A;--bark-light:#63492F;--gold:#F2BE32;--clay:#7A5735;--orange:#E0762E;--orange-dark:#C25F1D;--ink:#241A13;--muted:#6B6058;--line:#DCD1C0;--white:#fffdf8;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:var(--ivory);font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1{font-size:clamp(2.7rem,5vw,4.6rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.035em}h3{font-size:1.25rem}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}img{display:block;max-width:100%;object-fit:cover}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a56b0d;outline-offset:4px}.skip{position:fixed;left:16px;top:-80px;z-index:99;background:var(--gold);padding:12px}.skip:focus{top:12px}.site-header{background:linear-gradient(180deg,var(--bark-light) 0%,var(--bark) 58%,#33251C 100%);color:var(--ivory)}.header-inner{max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.15;min-width:160px}.brand-name{font-size:1.75rem;font-weight:700;letter-spacing:.06em}.brand-sub{font-size:.73rem;letter-spacing:.22em;margin-top:5px}.site-header nav{display:flex;gap:28px;font-weight:700;font-size:.95rem}.site-header nav a{text-decoration:none;padding:8px 0}.site-header nav a:hover{color:var(--gold)}.button{border:0;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--orange);color:var(--bark-deep);padding:16px 23px;min-height:50px;text-decoration:none;font-weight:700;line-height:1.3;transition:background .15s}.button:hover{background:var(--orange-dark)}.button.secondary{background:var(--clay);color:white}.button.secondary:hover{background:#30492b}.menu-toggle{display:none}.hero{position:relative;background:var(--bark-deep);isolation:isolate;color:white}.hero-image{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-position:50% 60%}.hero:before{content:none}.hero-inner{max-width:1440px;margin:auto;min-height:650px;padding:70px 5%;display:grid;grid-template-columns:1fr 370px;gap:8%;align-items:center}.hero-copy{max-width:620px}.eyebrow{font-size:.78rem;letter-spacing:.17em;font-weight:700;color:var(--clay);margin-bottom:18px}.hero .eyebrow{color:#f3e9ce}.hero h1{font-family:'Baloo 2',Nunito,sans-serif;font-weight:600;font-size:clamp(3.3rem,5.2vw,5.1rem);line-height:1.05;letter-spacing:-.04em;margin-bottom:25px;position:relative}.hero-copy>p:last-child{font-size:1.2rem;max-width:490px;line-height:1.6}.sun{display:inline-block;color:var(--gold);font:400 .8em Nunito,sans-serif;margin-left:15px;transform:rotate(-12deg)}.booking-card{background:var(--ivory);color:var(--ink);border-radius:20px;padding:28px;box-shadow:0 15px 50px #075a3524}.booking-card h2{font-size:1.6rem;letter-spacing:-.02em;margin-bottom:22px}.date-form{display:grid;gap:14px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:6px;font-size:.85rem;font-weight:700}input,select,textarea{width:100%;min-width:0;min-height:48px;padding:11px 12px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:8px;font-weight:400;font-size:1rem}input[type=date]{font-size:.91rem}textarea{resize:vertical}.date-form .button{width:100%;margin-top:5px}.card-note{font-size:.9rem;font-weight:700;margin:20px 0 0}.card-note>span{background:var(--gold);border-radius:50%;display:inline-grid;place-items:center;width:22px;height:22px;margin-right:5px}.card-note small{display:block;font-weight:400;font-size:.76rem;margin:6px 0 0 30px;color:var(--muted)}.amenity-strip{display:grid;grid-template-columns:repeat(6,1fr);max-width:1320px;margin:auto;padding:38px 4%;gap:24px;text-align:center}.amenity-strip>div{display:flex;flex-direction:column;align-items:center;font-size:.86rem}.amenity-strip svg{width:38px;height:38px;color:var(--clay);margin-bottom:12px}.amenity-strip strong{font-size:.95rem;margin-bottom:2px}.amenity-strip span{color:var(--muted)}.section{max-width:1280px;margin:auto;padding:78px 5%}.villa-intro,.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.rounded-image{border-radius:15px;width:100%;height:440px}.villa-intro p:not(.eyebrow),.location-grid p:not(.eyebrow){font-size:1.08rem;color:var(--muted)}.villa-intro .button{margin-top:10px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-title h2{margin-bottom:0}.section-title>p{color:var(--muted);margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{padding:0;border:0;background:none;text-align:left;color:var(--ink)}.gallery-item img{width:100%;height:280px;border-radius:12px}.gallery-item span{display:flex;justify-content:space-between;padding:12px 3px;font-weight:700}.gallery-item:hover img{filter:brightness(1.06)}.gallery-section>.muted{margin-top:22px}.muted{font-size:.85rem!important;color:var(--muted)}.location-section{background:#e8eddf}.text-link{font-weight:700;color:var(--clay)}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:8%}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-size:1.06rem;font-weight:700}.faq details p{margin:12px 0;color:var(--muted)}.closing{text-align:center;background:linear-gradient(180deg,var(--bark) 0%,#33251C 100%);color:var(--ivory);padding:70px 20px}.closing .eyebrow{color:var(--gold)}.closing h2{font-family:'Baloo 2',Nunito,sans-serif;font-weight:600;font-size:3.5rem}footer{padding:45px 5% 22px}.footer-inner{max-width:1150px;margin:auto;display:flex;justify-content:space-between;gap:40px}.footer-inner p{font-size:.9rem;color:var(--muted)}.footer-inner>div{display:flex;flex-direction:column;gap:8px;font-size:.85rem}.copyright{max-width:1150px;margin:35px auto 0;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}dialog{border:0;border-radius:12px;width:min(95vw,1000px);background:linear-gradient(180deg,var(--bark),#33251C);color:white;padding:15px}dialog::backdrop{background:#08120ee6}#full-photo{height:72vh;max-width:100%;object-fit:contain;margin:auto}.lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px}.lightbox-bottom p{margin:10px 0}.lightbox-top button,.lightbox-bottom button{background:transparent;color:white;border:1px solid #ffffff50;padding:10px 18px;border-radius:6px;min-height:44px}.modal-open{overflow:hidden}.booking-page{padding-top:55px}.booking-page>h1{font-size:clamp(2.7rem,4vw,4rem)}.lead{font-size:1.1rem;color:var(--muted)}.booking-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin:35px 0}.panel{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:28px;margin-bottom:25px}.panel h2{font-size:1.65rem}.panel h3{margin-top:25px}.stay-summary{padding:0;overflow:hidden;align-self:start}.stay-summary>img{width:100%;height:220px;object-position:center 68%}.summary-body{padding:28px}.price-row{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.price-row.total{font-weight:700;font-size:1.25rem;border-top:1px solid var(--line);margin-top:10px}.notice{border-left:3px solid var(--gold);background:#f7edda;padding:16px;margin:22px 0;border-radius:0 8px 8px 0}.error{border-color:#ac412c;color:#773021}.checkbox{display:flex;align-items:flex-start;font-size:.95rem;font-weight:400;margin:20px 0}.checkbox input{width:20px;height:20px;min-height:0;margin:3px 6px 0 0}.terms-copy{white-space:pre-wrap;max-height:300px;overflow:auto;font-size:.9rem;margin:20px 0;background:#FAF3E4;border:1px solid var(--line);border-radius:10px;padding:16px 18px;color:#3E3128}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 14px}.calendar-head button{border:1px solid var(--line);background:var(--ivory);border-radius:5px;min-width:42px;min-height:42px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-day{padding:9px 0;border-radius:5px;font-size:.9rem}.calendar-day.busy{background:#eadbd4;text-decoration:line-through;color:#795749}.calendar-day.open{background:#e7eddf}.calendar-day.unknown{background:#eeeae1;color:#777}.calendar-label{font-size:.7rem;margin-top:12px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.admin-toolbar{display:flex;gap:15px;margin-bottom:25px}.admin-page form{display:grid;gap:14px}.reservation-row{border-top:1px solid var(--line);padding:22px 0}.row-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.row-actions button{padding:10px 15px;min-height:44px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.86rem}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}.prose{max-width:850px}.prose h2{font-size:1.6rem;margin-top:35px}
@media(min-width:1500px){.hero-inner{min-height:700px}}@media(max-width:1100px){.site-header nav{gap:16px;font-size:.83rem}.header-cta{padding:13px 16px;font-size:.86rem}.hero-inner{gap:5%;grid-template-columns:1fr 340px}.amenity-strip{gap:14px}.brand-name{font-size:1.5rem}.brand{min-width:140px}}@media(max-width:800px){.header-inner{padding:20px 6%;flex-wrap:wrap;gap:15px}.header-cta{display:none}.menu-toggle{display:block;background:transparent;border:1px solid #ffffff50;color:var(--ivory);font-size:1.5rem;border-radius:6px;width:45px;height:45px}.site-header nav{display:none;width:100%;flex-direction:column;padding-top:12px;gap:2px}.site-header nav.is-open{display:flex}.site-header nav a{padding:10px}.hero-inner{grid-template-columns:1fr;gap:30px;padding:50px 6% 35px;min-height:0}.hero-image{height:520px;object-position:center 55%}.hero:before{content:none}.hero h1{font-size:3.55rem}.hero h1 br{display:none}.hero-copy{padding-top:90px;max-width:570px}.hero-copy>p:last-child{font-size:1.05rem;margin-bottom:0}.hero-copy .eyebrow{font-size:.75rem}.booking-card{max-width:100%;padding:25px}.amenity-strip{grid-template-columns:repeat(3,1fr);padding:30px 6%;row-gap:30px}.section{padding:50px 6%}.villa-intro,.location-grid,.faq,.booking-layout,.admin-grid{grid-template-columns:1fr;gap:28px}.rounded-image{height:350px}.villa-intro{padding-top:20px}.section-title{align-items:start;flex-direction:column;gap:15px}.section-title>p br{display:none}.gallery-grid{grid-template-columns:1fr 1fr;gap:14px}.gallery-item img{height:240px}.gallery-item span{font-size:.85rem}.location-grid>img{order:-1}.footer-inner{flex-direction:column;gap:20px}.closing{padding:50px 20px}.closing h2{font-size:2.8rem}.booking-layout{margin-top:25px}.panel{padding:23px}.stay-summary{padding:0}.summary-body{padding:23px}.booking-page>h1{font-size:2.8rem}.admin-toolbar{flex-wrap:wrap}.panel h2{font-size:1.45rem}}@media(max-width:380px){.hero h1{font-size:3.1rem}.date-fields{gap:8px}input[type=date]{padding:10px 6px;font-size:.82rem}.amenity-strip{gap:22px 9px}.amenity-strip strong{font-size:.8rem}.amenity-strip span{font-size:.74rem}.gallery-item img{height:195px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Soft tropical depth and updated logo treatment. */
body{
  background:linear-gradient(155deg,#fbf9f3 0%,var(--ivory) 48%,#f0eee5 100%);
}
.site-header{
  background:linear-gradient(100deg,#7A5A3C 0%,#5A4230 40%,#33251C 72%,#241A13 100%);
  box-shadow:0 10px 30px rgba(61,44,33,.22);
}
.header-inner{
  min-height:98px;
  padding-top:16px;
  padding-bottom:16px;
}
.amenity-strip{
  background:linear-gradient(135deg,#fffdf8 0%,#f7f4ec 52%,#e8f1eb 100%);
}
.villa-intro{
  background:radial-gradient(circle at 92% 10%,rgba(7,90,53,.11),transparent 37%),linear-gradient(145deg,#faf8f1,#f5f2e9);
  border-radius:24px;
}
.gallery-section{
  background:linear-gradient(145deg,#f7f4ec 0%,#fdfbf6 52%,#efede3 100%);
  border-radius:24px;
}
.location-section{
  background:linear-gradient(135deg,#e1ede5 0%,#f1efe3 52%,#d9e9de 100%);
}
.faq{
  background:radial-gradient(circle at 5% 15%,rgba(229,172,61,.1),transparent 32%),linear-gradient(145deg,#fbf9f3,#f3f1e9);
  border-radius:24px;
}
.closing{
  background:radial-gradient(circle at 50% -35%,rgba(242,190,50,.24),transparent 48%),linear-gradient(125deg,#4A3626 0%,var(--bark) 52%,#2A1E16 100%);
}
.booking-page,.admin-page,.prose,main.section:not(.villa-intro):not(.gallery-section):not(.faq){
  background:linear-gradient(145deg,rgba(255,253,248,.92),rgba(247,244,236,.96) 52%,rgba(235,239,229,.82));
  border-radius:24px;
}
.booking-card,.panel,.integration-cards>div{
  background:linear-gradient(145deg,#fffefa 0%,#f7f4ec 100%);
  box-shadow:0 14px 36px rgba(7,90,53,.09);
}
footer{
  background:linear-gradient(145deg,#f5f2e9 0%,#faf8f2 55%,#e5eee8 100%);
}
@media(max-width:800px){
  .header-inner{
    min-height:86px;
    padding-top:14px;
    padding-bottom:14px;
  }
  .villa-intro,.gallery-section,.faq,.booking-page,.admin-page,.prose,main.section:not(.villa-intro):not(.gallery-section):not(.faq){
    border-radius:0;
  }
}

/* Keep the hero photography unfiltered; shadows preserve copy contrast. */
.hero:before{content:none}
.hero-copy{text-shadow:0 3px 18px rgba(0,0,0,.78),0 1px 3px rgba(0,0,0,.82)}

.campaign{border-left-width:6px;background:linear-gradient(180deg,#fdf6e8,#f7edda);margin:0 0 18px}
.campaign strong{display:block;font-size:1.08rem;margin-bottom:4px}
.campaign p{margin:0;font-size:.95rem;color:var(--ink)}

.offer-facts{list-style:none;padding:0;margin:20px 0 30px;display:grid;gap:10px;font-size:1.02rem}
.offer-facts li{position:relative;padding-left:20px}
.offer-facts li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.offer-card h2{font-size:1.45rem;margin-bottom:16px}
.offer-card .price-row{font-size:.95rem}
.offer-booking{padding-top:70px}
#book{scroll-margin-top:100px}

.offer-hero:before{content:none}
.offer-hero .hero-image{object-position:center bottom}
.offer-hero .hero-copy{text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.85),0 0 30px rgba(0,0,0,.6)}
.offer-hero .hero-copy p,.offer-hero .eyebrow{text-shadow:-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7),1px 1px 0 rgba(0,0,0,.7),0 2px 10px rgba(0,0,0,.75)}
.offer-hero h1{text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 26px rgba(0,0,0,.65);-webkit-text-stroke:.5px rgba(0,0,0,.22)}
.offer-hero .hero-copy .button{text-shadow:none}
.offer-hero .offer-facts,.offer-hero .hero-copy p{color:#fdfaf3}

.offer-hero .hero-inner{min-height:600px;padding:52px 5% 46px}
.offer-hero h1{font-size:clamp(2.5rem,3.4vw,3.15rem);letter-spacing:-.03em}
.offer-hero .hero-copy{max-width:700px}
.offer-hero .offer-facts{margin:16px 0 22px}

.offer-transfer{font-size:.9rem;color:var(--muted);margin:-6px 0 14px}

/* Night hero photo: the lit pool sits in the bottom fifth of the frame, so anchor
   the crop to the bottom (and 62% across on narrow screens) to keep the water in view. */
.hero-image{object-position:50% 100%}
.stay-summary>img{object-position:center 100%}
@media(max-width:800px){
  .hero-image{object-position:62% 100%}
}

/* Island guides: long-form editorial pages. */
.guide{padding-top:58px}
.guide h1{font-size:clamp(2.3rem,4vw,3.5rem)}
.guide-head{max-width:830px}
.guide-head .lead{font-size:1.12rem;line-height:1.68;color:#463a30;max-width:700px;margin-bottom:0}
.guide-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin:24px 0 0;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.guide-meta span{display:inline-flex;align-items:center;gap:14px}
.guide-body{max-width:790px;margin-top:46px}
.guide-body h2{font-family:'Baloo 2',Nunito,sans-serif;font-weight:600;letter-spacing:-.025em;margin:54px 0 14px;font-size:clamp(1.52rem,2.3vw,1.98rem)}
.guide-body h3{margin:34px 0 10px;font-size:1.1rem}
.guide-body p,.guide-body li{font-size:1.06rem;line-height:1.74;color:#3b3129}
.guide-body p{margin:0 0 18px}
.guide-body ul{margin:0 0 24px;padding-left:20px;display:grid;gap:10px}
.guide-body li{padding-left:4px}
.guide-body a:not(.button){color:var(--clay);font-weight:700}
.guide-note{border-left:3px solid var(--gold);background:#f7edda;border-radius:0 10px 10px 0;padding:18px 22px;margin:30px 0}
.guide-note p{font-size:1rem}
.guide-note p:last-child{margin-bottom:0}
.guide-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0 34px}
.guide-facts div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px}
.guide-facts strong{display:block;font-family:'Baloo 2',Nunito,sans-serif;font-size:1.6rem;line-height:1.1;margin-bottom:4px}
.guide-facts span{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.guide-stay{background:#e8eddf;border-radius:16px;padding:30px;margin:52px 0 0}
.guide-stay h2{margin:0 0 12px;font-size:1.45rem}
.guide-stay p{font-size:1rem;margin-bottom:20px}
.guide-related{max-width:790px;margin:0 auto;padding:0 5% 70px}
.guide-related h2{font-size:1.1rem;letter-spacing:.02em}
.guide-related ul{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.guide-related a{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:.86rem;font-weight:700;text-decoration:none;color:var(--clay);background:var(--white)}
.guide-related a:hover{border-color:var(--clay)}
@media(max-width:800px){
  .guide{padding-top:34px}
  .guide-body{margin-top:32px}
  .guide-body h2{margin-top:40px}
  .guide-facts{grid-template-columns:1fr 1fr}
  .guide-stay{padding:22px}
  .guide-related{padding-bottom:50px}
}
