:root{--ink:#233a31;--paper:#f4f1e8;--olive:#69745a;--line:#d4d5c6;--gold:#c3aa77}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}header{position:sticky;top:0;background:var(--paper);z-index:4;border-bottom:1px solid var(--line)}nav{max-width:1400px;margin:auto;display:flex;align-items:center;gap:28px;padding:20px 5%}.brand{font:24px Georgia,serif;text-decoration:none;margin-right:auto}.brand small{display:block;font:9px Arial;letter-spacing:3px;margin-top:6px}nav>a:not(.brand){font-size:12px;text-decoration:none}button,.button{cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:white;padding:13px 24px;text-decoration:none;display:inline-block;font-size:13px}.ghost{background:transparent;color:inherit}.lang{padding:8px 12px}.hero{min-height:660px;display:grid;grid-template-columns:1.05fr 1fr}.hero-copy{padding:90px 10% 70px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:3px}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.12}h1{font-size:clamp(46px,5.2vw,78px);margin:28px 0}h2{font-size:clamp(36px,4vw,56px);margin:18px 0 28px}h3{font-size:30px}p{max-width:650px}.hero-copy p{color:#5a655b;max-width:440px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.art{position:relative;background:#bec5ad;overflow:hidden;display:flex;align-items:end;padding:30px}.art:before,.art:after{content:'';position:absolute;width:150%;height:90%;border-radius:50%;border:1px solid #8c9d7c;transform:rotate(-26deg);left:-20%;top:25%;box-shadow:0 0 0 30px #b6c1a5,0 0 0 31px #8c9d7c,0 0 0 70px #b6c1a5,0 0 0 71px #8c9d7c}.art:after{width:60%;height:70%;top:10%;left:50%;background:#a4b394;box-shadow:none}.art span{z-index:1;background:var(--paper);padding:8px 14px;font-size:11px}.stats{display:flex;justify-content:space-around;padding:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:18px}.stats b{font:30px Georgia;display:block}.stats span{font-size:12px}.section{max-width:1300px;margin:auto;padding:90px 5%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.muted{color:#667064}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px}.card{border-top:1px solid var(--ink);padding-top:24px}.card .num{font-size:11px;color:var(--olive)}.card a{font-size:13px;text-underline-offset:7px}.dark{background:var(--ink);color:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}ul{padding-left:18px}li{margin:12px 0}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.gallery button{min-height:240px;color:var(--ink);background:#e1e3d4;border:0;text-align:left;display:flex;align-items:end}.gallery button:first-child{grid-row:span 2}.gallery small{display:block;font-size:10px;opacity:.65}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font:23px Georgia}.booking{background:#e7e9db;padding:45px}.booking form{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.booking label{font-size:12px;display:block}.booking input,.booking select,.booking textarea{width:100%;padding:12px;border:1px solid #afb9a7;background:var(--paper);color:var(--ink)}.wide{grid-column:1/-1}.notice{font-size:12px}.status{padding:15px;border-left:3px solid var(--olive)}footer{padding:50px 5%;display:flex;justify-content:space-between;font-size:12px;border-top:1px solid var(--line)}dialog{border:0;background:var(--paper);color:var(--ink);max-width:620px;width:90%;padding:35px}dialog::backdrop{background:#14241ecc}.mobile-cta{display:none}.review{background:#e8dfc9;font-size:11px;text-align:center;padding:5px}textarea{min-height:120px}@media(max-width:800px){nav{gap:12px}nav>a:not(.brand){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 7%}.art{min-height:260px}.intro,.split{grid-template-columns:1fr;gap:25px}.cards{grid-template-columns:1fr}.section{padding:55px 7%}.stats{flex-wrap:wrap}.gallery{grid-template-columns:1fr 1fr}.gallery button:first-child{grid-column:1/-1;grid-row:auto}.booking{padding:24px}.booking form{grid-template-columns:1fr}.wide{grid-column:auto}footer{padding-bottom:100px;gap:20px;flex-wrap:wrap}.mobile-cta{display:block;position:fixed;bottom:12px;right:12px;left:12px;text-align:center;z-index:3}}
:root .estate-hero{min-width:0;overflow:hidden;background:#bdc3ac;display:flex;align-items:center}.estate-hero img{width:100%;height:100%;min-height:500px;object-fit:cover} @media(max-width:800px){.estate-hero img{min-height:260px;height:300px}}
.hero-kicker{font-size:12px;letter-spacing:1px;text-transform:uppercase}.estate-hero img{object-position:50% 50%;filter:saturate(.85)}.estate-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.estate-detail>img{width:100%;height:360px;object-fit:cover}.wellness{background:#e5e5d6}.photo-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin-top:36px}.photo-grid button{border:0;background:transparent;color:var(--ink);padding:0;text-align:left}.photo-grid img{width:100%;height:280px;object-fit:cover;display:block}.photo-grid button:first-child{grid-row:span 2}.photo-grid button:first-child img{height:610px}.photo-grid span{display:block;padding:12px 0;font-size:13px}.photo-grid button:last-child{grid-column:1/-1}.photo-grid button:last-child img{height:300px}.direct-booking{background:#e5e5d6;padding:50px;display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}.direct-booking h2{font-size:42px}.lightbox-top,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-top h3{font-size:24px}.lightbox-top button{font-size:25px;padding:4px 15px}#photo-dialog{max-width:1000px}#large-photo{width:100%;max-height:65vh;object-fit:contain;background:#e0e1d2}.lightbox-controls{margin-top:15px}.status textarea{margin-bottom:20px}.nav-book{white-space:nowrap} @media(max-width:800px){.estate-detail,.direct-booking{grid-template-columns:1fr;gap:28px}.direct-booking{padding:25px}.photo-grid{grid-template-columns:1fr 1fr;gap:16px}.photo-grid button:first-child{grid-column:1/-1;grid-row:auto}.photo-grid button:first-child img{height:270px}.photo-grid img{height:180px}.photo-grid button:last-child img{height:230px}.nav-book{display:none!important}.estate-detail>img{height:260px}.hero{min-height:0}.hero-copy{padding-top:45px}.hero-copy h1{font-size:49px}.booking h2{font-size:36px}.stats b{font-size:24px}.direct-booking h2{font-size:35px}}
.pool-panorama{position:relative;margin:50px 5% 0;height:570px;overflow:hidden}.pool-panorama>img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.pool-panorama>div{position:absolute;bottom:0;left:0;right:0;padding:80px 40px 20px;color:white;background:linear-gradient(transparent,rgba(12,27,17,.75))}.pool-panorama h2{font-size:44px}.photo-grid button:last-child{grid-column:auto}.photo-grid button:last-child img{height:280px}@media(max-width:800px){.pool-panorama{height:350px;margin:25px 0 0}.pool-panorama>img{object-position:50% 70%}.pool-panorama>div{padding:70px 24px 10px}.pool-panorama h2{font-size:32px}.photo-grid button:last-child img{height:180px}}

.skip-link{position:fixed;top:-100px;left:16px;z-index:20;background:var(--ink);color:white;padding:12px 20px}.skip-link:focus{top:12px}input,select,textarea{min-width:0}footer a{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
