:root{--green:#163f39;--paper:#f7f4ec;--ink:#233e36;--muted:#59695d;--cream:#f7edcf;--line:#d4d9cb;color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #e5ac52;outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,p,figure{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}em{font-weight:400}a{text-decoration:none}.skip-link{position:absolute;left:1rem;top:-6rem;padding:1rem;background:var(--paper);z-index:10}.skip-link:focus{top:1rem}.hero{position:relative;min-height:760px;min-height:max(760px,94svh);color:white;display:flex;flex-direction:column;isolation:isolate;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;height:100%;z-index:-2}.hero-photo{object-position:center 65%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(9,36,33,.53),rgba(9,36,33,.07) 85%),linear-gradient(0deg,rgba(9,36,33,.44),transparent 40%,rgba(9,36,33,.22))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:2.2rem 5vw}.wordmark{font-family:Georgia,'Times New Roman',serif;font-size:2rem;letter-spacing:.18em;line-height:1.1}.wordmark span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;letter-spacing:.19em;margin-top:.45rem}.top-book{font-size:.9375rem;border-bottom:1px solid #ffffff80;padding:.7rem 0;white-space:nowrap}.top-book span{margin-left:1.7rem}.hero-content{padding:5.8rem 7vw 6rem;margin:auto 0}.eyebrow{font-size:.75rem;letter-spacing:.17em;font-weight:600;line-height:1.8}.hero h1{font-size:clamp(3.8rem,7.8vw,8rem);line-height:1.01;letter-spacing:-.045em;margin:1.5rem 0}.hero h1 em{color:var(--cream)}.hero-description{font-size:1.125rem;line-height:1.7;margin-bottom:2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;min-height:58px;padding:1.1rem 1.5rem;border-radius:2px;font-size:1rem;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-cream{background:var(--cream);color:var(--green)}.button-cream:hover{background:white}.hero-bottom{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 5vw;border-top:1px solid #ffffff38;font-size:.875rem}.hero-bottom a span{margin-left:1.5rem}main{max-width:1500px;margin:auto;padding:0 7vw}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;padding:6rem 0 2.4rem;align-items:center}h2{font-size:clamp(2.3rem,3.9vw,4rem);line-height:1.12;letter-spacing:-.035em}.intro h2{margin-top:1rem}.intro-copy{font-size:1.0625rem;line-height:1.8;color:var(--muted)}.intro-copy .occupancy{font-size:.9375rem;margin-top:1.25rem;color:var(--ink)}.amenities{list-style:none;padding:1.8rem 0;margin:0 0 2.7rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-block:1px solid var(--line);font-size:.875rem}.amenities li::before{content:'✧';margin-right:.6rem;color:#557363}.gallery{display:grid;grid-template-columns:1.15fr 1fr .85fr;grid-template-rows:300px 260px;gap:1rem}.gallery figure{position:relative;overflow:hidden;background:#d8dfd1}.gallery img{height:100%;transition:transform .6s}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:3rem 1.3rem 1.3rem;background:linear-gradient(transparent,rgba(9,30,22,.64));color:white;font-size:.875rem}.room{grid-column:1/3}.terrace{grid-column:1;grid-row:2}.bathroom{grid-column:3;grid-row:1/3}.island{grid-column:2;grid-row:2}.island img{object-position:45% center}.booking{padding:5rem 0;display:flex;justify-content:space-between;align-items:center;gap:2rem}.booking h2{margin-top:1rem}.booking-action{max-width:280px}.button-green{background:var(--green);color:var(--paper);width:100%}.button-green:hover{background:#275a50}.booking-action p{font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:1rem}footer{background:var(--green);color:#eeeede;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:2rem 5vw;font-size:.875rem}footer>span:first-child{font-size:.75rem;letter-spacing:.08em}footer small{font-size:.75rem;color:#c3cdc5}
@media(min-width:1600px){main{padding:0 5rem}.hero-content{padding-left:max(7vw,calc((100vw - 1400px)/2))}}
@media(max-width:800px){.hero{min-height:730px;min-height:92svh}.hero-content{padding:5rem 6vw}.topbar{padding:1.6rem 6vw}.wordmark{font-size:1.6rem}.wordmark span{font-size:.65rem}.top-book{font-size:.875rem}.top-book span{margin-left:.5rem}.hero h1{font-size:clamp(3.8rem,11vw,6rem)}.hero-bottom{padding:1.4rem 6vw}.hero-bottom>span{display:none}.hero-bottom a{margin-left:auto}.hero-photo{object-position:60% center}main{padding:0 6vw}.intro{grid-template-columns:1fr;gap:1.8rem;padding-top:3.5rem}.intro-copy{max-width:580px}.amenities{display:grid;grid-template-columns:1fr 1fr;line-height:1.6;margin-bottom:1.5rem}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:280px 260px 230px;gap:.75rem}.room{grid-column:1/3;grid-row:1}.terrace{grid-column:1;grid-row:2}.bathroom{grid-column:2;grid-row:2}.island{grid-column:1/3;grid-row:3}.island img{object-position:center 55%}.booking{padding:3.5rem 0;align-items:flex-start;flex-direction:column;gap:1.8rem}.booking-action{max-width:none}footer{flex-direction:column;align-items:flex-start;gap:.85rem;padding:2rem 6vw}}
@media(max-width:420px){.hero-content{padding-top:4rem;padding-bottom:4rem}.hero h1{font-size:3.6rem}.hero-description{font-size:1rem}.eyebrow{font-size:.75rem;letter-spacing:.1em}.top-book{font-size:.8125rem}.hero-content .button{min-width:220px}.amenities{grid-template-columns:1fr}.gallery{grid-template-rows:240px 210px 200px}.gallery figcaption{font-size:.8125rem;padding:2.5rem .75rem .85rem}.wordmark{font-size:1.4rem}.wordmark span{font-size:.625rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.brand{display:flex;align-items:center;gap:1rem}.brand-symbol{position:relative;display:block;width:78px;height:84px;overflow:hidden;border-radius:2px;background:#e4ddcb;flex-shrink:0}.brand-symbol img{position:absolute;width:140px;height:auto;max-width:none;left:-34px;top:-48px}.brand-name{font-size:1.625rem;font-weight:400;letter-spacing:.22em;line-height:1.3}.brand-name>span{display:block;font-size:.875rem;letter-spacing:.46em;margin-top:.35rem}.hero-bookings{display:flex;gap:1rem;flex-wrap:wrap}.booking-platform{font-size:.875rem;margin-top:1rem;line-height:1.5}.gallery-label{margin-bottom:1rem}.booking{display:block}.booking-intro{font-size:1rem;color:var(--muted);line-height:1.7;max-width:620px;margin-top:1.3rem}.bungalow-options{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.2rem}.bungalow-card{border:1px solid var(--line);padding:2rem;position:relative}.bungalow-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:2rem;line-height:1.2;margin:0 0 2rem;padding-right:3rem}.bungalow-letter{position:absolute;right:2rem;top:1.4rem;font-family:Georgia,'Times New Roman',serif;font-size:4.5rem;color:#c4c9b6}.bungalow-card .button{max-width:340px}
@media(max-width:600px){.brand{gap:.65rem}.brand-symbol{width:60px;height:64px}.brand-symbol img{width:108px;left:-26px;top:-37px}.brand-name{font-size:1.15rem;letter-spacing:.16em}.brand-name>span{font-size:.75rem;letter-spacing:.35em}.topbar{gap:.75rem}.top-book{font-size:.8125rem}.top-book span{margin-left:.25rem}.hero-bookings{flex-direction:column;align-items:flex-start}.hero-bookings .button{width:100%;max-width:310px}.hero-content{padding-top:3rem;padding-bottom:3rem}.bungalow-options{grid-template-columns:1fr}.bungalow-card{padding:1.5rem}.bungalow-card h3{font-size:1.8rem}.bungalow-letter{right:1.5rem}.hero-description{max-width:340px}}

/* Property galleries stay inside their own booking cards. */
.selection{padding:4.5rem 0 0}.selection-heading{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:2.5rem}.selection-heading h2{margin-top:1rem}.selection-heading>p{font-size:1.0625rem;line-height:1.8;color:var(--muted);max-width:460px}.stay-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem;align-items:stretch}.stay-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);background:#fffdf8;scroll-margin-top:1.5rem}.stay-b{background:#f0eee4}.stay-heading{padding:1.8rem 1.8rem 1.6rem}.stay-heading h3{font-family:Georgia,'Times New Roman',serif;font-size:3rem;line-height:1.1;font-weight:400;letter-spacing:-.025em;margin:.65rem 0}.stay-heading h3 em{color:#826c48}.stay-heading>p:last-child{font-size:.9375rem;line-height:1.5;color:var(--muted)}.stay-main{position:relative}.stay-main img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.stay-b .stay-main img{object-position:50% 67%}.stay-main figcaption{position:absolute;bottom:0;left:0;right:0;padding:2.5rem 1rem 1rem;color:white;background:linear-gradient(transparent,#122d25b3);font-size:.875rem;line-height:1.5}.stay-details{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.6rem .6rem 0}.stay-details figure{min-width:0}.stay-details img{height:auto;aspect-ratio:4/3;object-fit:cover}.stay-details figcaption{padding:.65rem .35rem;font-size:.8125rem;color:var(--muted);line-height:1.5}.stay-booking{padding:1.1rem 1.8rem 1.8rem;flex:1;display:flex;flex-direction:column;gap:1.2rem}.stay-booking>p{font-size:1rem;line-height:1.7;color:var(--muted);flex:1}.stay-booking .button{gap:1rem;font-size:.9375rem}.stay-booking small{font-size:.8125rem;line-height:1.6;color:var(--muted)}.island-setting{padding:4.5rem 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center}.setting-copy h2{margin-top:1rem}.setting-copy>p:last-child{margin-top:1.2rem;font-size:1rem;line-height:1.7;color:var(--muted)}.setting-photos{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.setting-photos img{height:auto;aspect-ratio:3/4;object-fit:cover}.brand-symbol{height:80px}
@media(max-width:800px){.selection{padding-top:3rem}.selection-heading{grid-template-columns:1fr;gap:1.3rem}.stay-options{grid-template-columns:1fr;gap:2rem}.stay-heading{padding:1.5rem}.stay-booking{padding:1.1rem 1.5rem 1.5rem}.stay-main img{aspect-ratio:4/3}.island-setting{grid-template-columns:1fr;gap:1.8rem;padding:3rem 0}.setting-photos img{aspect-ratio:4/3}.hero-content{padding-top:2.5rem;padding-bottom:2.5rem}}
@media(max-width:600px){.brand-symbol{height:62px}.stay-heading h3{font-size:2.6rem}.stay-booking .button{font-size:.875rem;padding:1rem;gap:.5rem}.stay-details figcaption{font-size:.8125rem}}

.brand .brand-logo{display:block;width:124px;height:auto;object-fit:contain;background:none;flex-shrink:0}.topbar .brand{background:none}
@media(max-width:600px){.brand .brand-logo{width:108px}}

.contact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding:3rem 0 4rem;border-top:1px solid var(--line)}.contact h2{font-size:clamp(2rem,3vw,3rem)}.contact p{margin-top:1rem;font-size:1rem;line-height:1.7;color:var(--muted)}.contact-email{display:inline-block;justify-self:start;padding:.75rem 0;font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.5;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em;overflow-wrap:anywhere;max-width:100%}.contact-email:hover{color:#275a50}
@media(max-width:800px){.contact{grid-template-columns:minmax(0,1fr);gap:1rem;padding:2.5rem 0 3rem}}

/* Company registration address follows the existing footer content. */
footer{flex-wrap:wrap}
.company-address{flex:0 0 100%;width:100%;margin:0;padding-top:1.25rem;border-top:1px solid #ffffff38;font-style:normal;line-height:1.7;overflow-wrap:break-word}
.company-address-label{display:block;margin-bottom:.35rem;font-size:.75rem;color:#c3cdc5}
@media(max-width:800px){.company-address{flex-basis:auto}}
