:root{--card:#fff;--button:var(--green);--button-text:#fff;--font-heading:"Playfair Display",serif;--font-body:"DM Sans",sans-serif;--space-section:clamp(58px,7vw,90px);color-scheme:light}
.payment-card{margin:90px auto;max-width:700px;padding:32px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.home-image-strip{max-width:1280px;margin:0 auto var(--space-section);padding:0 5vw;display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.home-image-strip img{width:100%;height:clamp(220px,32vw,430px);object-fit:cover;border-radius:12px}.home-image-strip img:only-child{grid-column:1/-1}
body{font-family:var(--font-body);background:var(--paper);color:var(--ink)}h1,h2,h3{font-family:var(--font-heading)}.button,.nav-cta{background:var(--button);color:var(--button-text)}
.stay-container{padding-top:28px}.stay-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px}.stay-heading .stay-title{margin-bottom:6px}.stay-rate{font-size:1.35rem;white-space:nowrap}.stay-rate small,.v43-booking h2 small{font:500 .8rem var(--font-body);color:var(--muted)}.v43-stay-main{grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr);gap:clamp(32px,4vw,58px)}.v43-booking{background:var(--card);border:1px solid var(--line);box-shadow:0 14px 38px rgba(20,32,25,.1);padding:24px;top:96px}.v43-booking h2{font-size:1.65rem}.approval-note{padding:12px 14px;background:var(--cream);border-radius:9px;font-size:.9rem}.date-summary,.guest-trigger{width:100%;display:grid;grid-template-columns:1fr 1fr;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:0;color:var(--ink);cursor:pointer}.date-summary span{padding:11px 13px}.date-summary span+span{border-left:1px solid var(--line)}.date-summary small,.guest-trigger span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.date-summary strong,.guest-trigger strong{display:block;font-size:.88rem;margin-top:2px}.guest-select{position:relative}.guest-trigger{display:block;padding:11px 13px}.guest-popover{position:absolute;z-index:12;top:calc(100% + 7px);left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 15px;box-shadow:0 18px 45px #0002}.guest-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.guest-row small{display:block;color:var(--muted);font-size:.76rem}.counter{display:flex;align-items:center;gap:10px}.counter button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);font-size:1.2rem;cursor:pointer}.counter button:disabled{opacity:.35}.counter output{min-width:20px;text-align:center}.guest-done,.clear-dates{border:0;background:none;color:var(--green);font-weight:700;padding:10px 0;cursor:pointer}.quote-box{background:var(--cream);border-color:var(--line)}.quote-title,.quote-box dl div{display:flex;justify-content:space-between;gap:14px}.quote-box dl{margin:10px 0}.quote-box dl div{padding:5px 0}.quote-box dt,.quote-box dd{margin:0}.quote-total{border-top:1px solid var(--line);margin-top:7px;padding-top:10px!important;font-weight:700}.guest-details{display:grid;gap:12px}.platform-links{display:grid;gap:9px;border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.platform-links p{font-size:.86rem;color:var(--muted);margin:0}.platform-links a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;background:var(--card);border:1px solid var(--button);color:var(--button);border-radius:9px;padding:12px 14px;font-weight:700}.arrival-detail{background:var(--cream);padding:14px 16px;border-radius:9px;margin:10px 0}.arrival-detail p{white-space:pre-line;margin:5px 0 0}
.booking-date-section{border-bottom:0!important;padding-top:20px!important}.booking-calendar-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.booking-calendar-head h2{margin:0!important}.calendar-nav{display:flex;gap:8px}.calendar-nav button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);cursor:pointer}.booking-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px)}.booking-month h3{text-align:center;font:700 1rem var(--font-body);margin-bottom:14px}.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.booking-weekdays span{text-align:center;color:var(--muted);font-size:.72rem;padding:5px}.booking-day{aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:var(--ink);font:500 .85rem var(--font-body);cursor:pointer;position:relative}.booking-day:hover:not(:disabled),.booking-day:focus-visible{outline:2px solid var(--button);outline-offset:0}.booking-day.outside{visibility:hidden}.booking-day.unavailable:not(.checkout-only){color:var(--muted);text-decoration:line-through;opacity:.48}.booking-day:disabled{cursor:not-allowed}.booking-day.in-range{border-radius:0;background:color-mix(in srgb,var(--green) 15%,var(--card))}.booking-day.selected{background:var(--button);color:var(--button-text);border-radius:50%}.booking-day.checkout-only{border:1px dashed var(--muted)}.calendar-foot{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:18px;padding-top:14px;font-size:.78rem;color:var(--muted)}.calendar-foot p{flex:1 1 100%;margin:0}.calendar-foot span{display:flex;align-items:center;gap:6px}.calendar-foot i{width:12px;height:12px;border:1px solid var(--line);display:inline-block}.legend-unavailable{background:var(--cream);position:relative}.legend-unavailable:after{content:"";display:block;border-top:1px solid currentColor;transform:rotate(-35deg);margin-top:5px}.clear-dates{margin-left:auto}.clear-dates:disabled{opacity:.4}
.theme-switcher{display:flex;gap:3px;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--card)}.theme-switcher button{border:0;background:transparent;color:var(--muted);border-radius:999px;padding:6px 9px;font:600 .72rem var(--font-body);cursor:pointer}.theme-switcher button[aria-pressed=true]{background:var(--button);color:var(--button-text)}
html[data-layout=modern] .hero{margin:18px 3vw 0;border-radius:18px;min-height:620px}html[data-layout=modern] .property-card{border-radius:15px}html[data-layout=modern] .property-image{height:230px}html[data-layout=modern] .intro{align-items:center}html[data-layout=editorial] .hero{min-height:760px;align-items:center;background-position:center}html[data-layout=editorial] .hero-copy{max-width:690px}html[data-layout=editorial] .property-grid{grid-template-columns:repeat(2,1fr);gap:38px}html[data-layout=editorial] .property-image{height:360px}html[data-layout=editorial] .intro{grid-template-columns:.7fr 1.3fr}html[data-layout=compact]{--space-section:52px}html[data-layout=compact] .hero{min-height:500px;padding:6vw}html[data-layout=compact] .property-grid{grid-template-columns:repeat(4,1fr);gap:15px;max-width:1450px}html[data-layout=compact] .property-image{height:190px}html[data-layout=compact] .card-body{padding:17px}html[data-layout=compact] .intro,html[data-layout=compact] .section-head,html[data-layout=compact] .contact,html[data-layout=compact] .promise{padding-top:58px;padding-bottom:58px}html[data-spacing=compact] .page-container{padding-top:28px;padding-bottom:28px}html[data-spacing=compact] .button{padding:12px 19px}html[data-spacing=compact] .contact-form{padding:25px}html[data-spacing=compact] .stay-main{margin-top:35px}
html[data-theme=dark],html[data-resolved-theme=dark]{color-scheme:dark;--paper:#111714;--cream:#18211d;--card:#1d2722;--ink:#f3f1e9;--muted:#b6c0b9;--line:#3b4841;--button:#d0ad65;--button-text:#172019;--green:#d0ad65;--gold:#e0bd76;--accent-text:#f0cd86}html[data-theme=dark] .hero,html[data-resolved-theme=dark] .hero{color:#fff}html[data-theme=dark] input,html[data-theme=dark] textarea,html[data-theme=dark] select,html[data-resolved-theme=dark] input,html[data-resolved-theme=dark] textarea,html[data-resolved-theme=dark] select{background:var(--card);color:var(--ink);border-color:var(--line)}html[data-theme=dark] .site-header,html[data-theme=dark] .site-header nav.mobile-open,html[data-resolved-theme=dark] .site-header,html[data-resolved-theme=dark] .site-header nav.mobile-open{background:color-mix(in srgb,var(--paper) 94%,transparent)}html[data-theme=dark] .property-card,html[data-theme=dark] .contact-form,html[data-resolved-theme=dark] .property-card,html[data-resolved-theme=dark] .contact-form{background:var(--card)}
@media(prefers-color-scheme:dark){html[data-theme=system]{color-scheme:dark;--paper:#111714;--cream:#18211d;--card:#1d2722;--ink:#f3f1e9;--muted:#b6c0b9;--line:#3b4841;--button:#d0ad65;--button-text:#172019;--green:#d0ad65;--gold:#e0bd76}html[data-theme=system] input,html[data-theme=system] textarea,html[data-theme=system] select{background:var(--card);color:var(--ink);border-color:var(--line)}html[data-theme=system] .site-header,html[data-theme=system] .site-header nav.mobile-open{background:color-mix(in srgb,var(--paper) 94%,transparent)}html[data-theme=system] .property-card,html[data-theme=system] .contact-form{background:var(--card)}}
@media(max-width:1050px){html[data-layout=compact] .property-grid{grid-template-columns:repeat(2,1fr)}}
.business-hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.business-hero-actions>a:not(.button){color:#fff;font-weight:700}.business-solutions{padding-top:var(--space-section);padding-bottom:var(--space-section)}.business-solutions>.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:36px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.benefit-grid article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}.benefit-grid h3{font-size:1.3rem}.benefit-grid p{color:var(--muted);margin-bottom:0}.corporate-disclaimer{margin-top:28px;background:var(--cream)!important}.corporate-process{background:var(--cream)}.corporate-process .page-container{padding-top:var(--space-section);padding-bottom:var(--space-section)}.corporate-process ol{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.corporate-process li{background:var(--card);border:1px solid var(--line);padding:20px;display:flex;gap:13px}.corporate-process li>strong{display:grid;place-items:center;background:var(--button);color:var(--button-text);width:34px;height:34px;border-radius:50%;flex:none}.corporate-process b{display:block;margin-bottom:5px}.corporate-process span{color:var(--muted)}.corporate-enquiry-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(460px,1.25fr);gap:clamp(35px,6vw,80px);padding-top:var(--space-section);padding-bottom:var(--space-section);align-items:start}.corporate-form-card{background:var(--card)}
@media(max-width:900px){.business-solutions>.section-heading,.corporate-enquiry-layout{grid-template-columns:1fr}.benefit-grid{grid-template-columns:repeat(2,1fr)}.corporate-process ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.v43-stay-main{grid-template-columns:1fr}.v43-booking{position:static}.stay-heading{align-items:start}.booking-date-section{order:2}.theme-switcher{margin:6px 12px}.site-header nav.mobile-open .theme-switcher{display:flex}.property-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:650px){.stay-heading{display:block}.stay-rate{display:block;margin-top:12px}.booking-months{grid-template-columns:1fr}.booking-months .booking-month:nth-child(2){display:none}.booking-calendar-head{align-items:center}.booking-calendar-head h2{font-size:1.7rem}.booking-day{min-width:38px;min-height:38px}.calendar-foot{align-items:flex-start}.v43-booking{margin-inline:-2vw;padding:19px}.property-grid{grid-template-columns:1fr!important}.hero{margin:0!important;border-radius:0!important}.guest-popover{position:fixed;z-index:80;left:4vw;right:4vw;top:auto;bottom:18px}.benefit-grid,.corporate-process ol{grid-template-columns:1fr}.corporate-enquiry-layout{display:block}.corporate-form-card{margin-top:28px;padding:20px}.corporate-v43-hero{min-height:500px}}
