:root{--navy:#101e30;--navy2:#172b3c;--cream:#f5f1e9;--white:#fcfaf6;--gold:#c59a63;--text:#243543;--muted:#61707a;--line:#d9cdbd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3,p,figure,blockquote{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.13}h1 em,h2 em{font-weight:400}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{padding-block:105px}.eyebrow{display:block;color:#a77c49;font-size:.72rem;font-weight:700;letter-spacing:.23em;text-transform:uppercase}.eyebrow.light{color:#e6c293}.skip{position:absolute;top:-80px;left:12px;z-index:20;background:white;padding:8px}.skip:focus{top:10px}.site-header{position:relative;z-index:10;background:var(--navy);color:#f7f0e5;border-bottom:1px solid #c59a6330}.header-inner{width:min(1280px,calc(100% - 48px));margin:auto;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{text-decoration:none;display:flex;flex-direction:column;line-height:1;letter-spacing:.2em;font-size:.62rem;color:#d5b287;min-width:190px}.wordmark strong{font-family:'Playfair Display',Georgia,serif;letter-spacing:.085em;font-size:1.45rem;font-weight:400;color:#fff9ef;margin:5px 0}.wordmark small{font-size:.54rem;letter-spacing:.36em}.site-nav{display:flex;align-items:center;gap:28px}.site-nav a{text-decoration:none;font-size:.88rem;letter-spacing:.035em;color:#e9e5dc;transition:color .2s}.site-nav a:hover,.site-nav a[aria-current]{color:#e2b878}.site-nav .nav-enquire{border:1px solid #bd975e;padding:10px 22px;color:#e9c491;margin-left:10px}.site-nav .nav-enquire:hover{color:var(--navy);background:#d1aa72}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;gap:30px;justify-content:space-between;text-decoration:none;border:1px solid transparent;min-height:55px;padding:12px 23px;font-size:.83rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.button span{font-size:1.2rem}.button-gold{color:var(--navy);background:var(--gold)}.button-gold:hover{background:#dfb77f}.button-dark{color:#fff;background:var(--navy)}.button-dark:hover{background:#29455a}.button-outline{color:#f9f1e6;border-color:#d6b589}.button-outline:hover{background:#d6b589;color:var(--navy)}.text-link{display:inline-flex;gap:25px;text-decoration:none;border-bottom:1px solid #a47a4c;padding-bottom:8px;text-transform:uppercase;letter-spacing:.12em;font-size:.77rem;font-weight:700}.text-link:hover{color:#a37745}
.facts{display:grid;grid-template-columns:repeat(4,1fr);padding-block:38px;border-bottom:1px solid var(--line)}.facts>div{border-left:1px solid var(--line);padding-left:28px}.facts>div:first-child{border-left:0;padding-left:0}.facts strong{font-family:'Playfair Display',Georgia,serif;font-size:2.4rem;font-weight:400;line-height:1;display:block;color:var(--navy)}.facts span{font-size:.78rem;letter-spacing:.055em;color:#69747a;display:block;margin-top:9px}.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end}.home-intro h2,.section h2,.page-intro h2{font-size:clamp(2.8rem,4.6vw,4.9rem);letter-spacing:-.025em;margin:18px 0 0}.home-intro h2 em{color:#a17649}.intro-text{padding-bottom:10px}.intro-text p{font-size:1.17rem;line-height:1.9;color:#4d5c65;max-width:520px;margin-bottom:28px}.feature-images{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:260px 260px;gap:16px;padding-bottom:105px}.image-tile{position:relative;display:block;overflow:hidden;background:#d8d0c4;color:white}.image-tile.tall{grid-row:span 2}.image-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.image-tile:hover img{transform:scale(1.04)}.image-tile:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0716249e)}.image-tile span{position:absolute;z-index:1;bottom:25px;left:28px;right:28px;display:flex;justify-content:space-between;letter-spacing:.15em;font-weight:700;font-size:.76rem}.image-tile b{font-size:1.3rem}.home-experience,.service-extra,.detail-panel{background:var(--navy);color:#f8f3e9}.experience-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.home-experience h2{margin:19px 0 0}.home-experience p{max-width:530px;color:#d5dde0;line-height:1.95;font-size:1.1rem;margin-bottom:30px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-top h2{margin-top:12px}.gallery-teaser{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:14px;height:330px}.gallery-teaser img{width:100%;height:100%;object-fit:cover}.review-band{background:#ebe4d9}.review-band h2{margin:15px 0 35px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-grid blockquote{background:var(--white);padding:33px;min-height:215px;font-family:'Playfair Display',Georgia,serif;font-size:1.45rem;display:flex;flex-direction:column;justify-content:space-between;line-height:1.35}.review-grid cite{font:normal .78rem 'DM Sans',Arial,sans-serif;color:#8b714f;letter-spacing:.05em;margin-top:25px}.contact-banner{background:linear-gradient(90deg,#101e30d9,#101e3055),url('assets/pool-daylight.jpeg') center/cover;color:white;padding:100px 0}.contact-banner h2{font-size:clamp(3.3rem,6vw,6rem);margin:14px 0 29px}
.page-hero{min-height:570px;display:flex;align-items:end;color:#fff;background-size:cover;background-position:center}.page-hero .wrap{padding-bottom:70px}.page-hero h1{font-size:clamp(3.5rem,6vw,6.6rem);margin:16px 0 0;text-shadow:0 3px 20px #071624aa}.villa-hero{background-image:linear-gradient(0deg,#101e30b8,#101e3010 65%),url('assets/pool-daylight.jpeg')}.services-hero{background-image:linear-gradient(0deg,#101e30ce,#101e3026 70%),url('assets/cover.jpeg')}.page-intro{padding-block:94px 75px;text-align:center;max-width:790px}.page-intro h2{margin:15px 0 22px}.page-intro p{font-size:1.12rem;color:#53616a;line-height:1.9}.villa-story{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:8%;padding-block:50px}.villa-story.reverse .story-image{order:2}.story-image{position:relative}.story-image img{width:100%;height:590px;object-fit:cover}.story-image span{position:absolute;bottom:0;left:0;background:var(--navy);color:#e9c99d;padding:14px 20px;letter-spacing:.18em;font-size:.68rem}.story-copy h2{font-size:clamp(2.7rem,4vw,4.4rem);margin:18px 0 25px}.story-copy p{line-height:1.9;color:#53616a}.detail-panel{padding:95px 0;margin-top:65px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%}.detail-grid>div{border-top:1px solid #b8946390;padding-top:27px}.detail-grid h2{font-size:2.6rem;margin:15px 0}.detail-grid p{color:#d5dce0;line-height:1.9}.centered{text-align:center;max-width:760px}.centered h2{margin:15px 0 20px}.centered p{color:#596770;line-height:1.9;margin-bottom:28px}
.page-title{padding-block:95px 55px;text-align:center;max-width:760px}.page-title h1{font-size:clamp(3.5rem,6vw,6rem);margin:15px 0 20px}.page-title p{color:#5a6870;font-size:1.1rem}.gallery-page{padding-bottom:110px}.filter-bar{display:flex;gap:9px;overflow-x:auto;padding:5px 0 17px;border-bottom:1px solid var(--line)}.filter-bar button{white-space:nowrap;border:1px solid #c8b9a5;background:transparent;color:var(--text);padding:9px 16px;font-size:.82rem}.filter-bar button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.photo-count{color:#7c7e79;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin:22px 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-grid button{border:0;padding:0;background:#d8d0c4;aspect-ratio:4/3;overflow:hidden;position:relative}.gallery-grid button:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-grid button:hover img{transform:scale(1.035)}.gallery-grid span{position:absolute;bottom:0;left:0;right:0;color:#fff;text-align:left;padding:22px 15px 11px;background:linear-gradient(transparent,#071624ad);font-size:.78rem}.lightbox{width:min(1100px,96vw);max-height:95vh;border:0;padding:18px;background:var(--navy);color:white}.lightbox::backdrop{background:#07121ced}.lightbox figure{margin:0}.lightbox img{height:min(76vh,780px);width:100%;object-fit:contain}.lightbox figcaption{text-align:center;font-size:.83rem;padding:9px}.lightbox-close,.lightbox-prev,.lightbox-next{border:0;background:#f8f2e9;color:var(--navy);position:absolute;padding:8px 13px}.lightbox-close{top:12px;right:12px;z-index:2}.lightbox-prev,.lightbox-next{top:50%;font-size:2rem;transform:translateY(-50%);line-height:1}.lightbox-prev{left:12px}.lightbox-next{right:12px}
.service-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%}.service-heading h2{font-size:clamp(2.8rem,4vw,4.2rem);margin:18px 0 23px}.service-heading p{color:#65717a;line-height:1.8}.service-list>div{border-top:1px solid var(--line);padding:23px 0}.service-list h3{font-size:1.55rem;margin:0 0 9px}.service-list p{color:#607079;line-height:1.85;margin:0}.service-extra .service-heading p,.service-extra .service-list p{color:#d5dce0}.service-extra .service-list>div{border-color:#69819580}.service-extra h3{color:#f2dfc7}
.contact-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:8%;padding-bottom:85px;align-items:start}.contact-aside img{width:100%;height:380px;object-fit:cover}.contact-aside>div{padding:34px 10px}.contact-aside h2{font-size:2.7rem;margin:14px 0 18px}.contact-aside p{color:#5a6870}.contact-form{background:var(--white);padding:44px;border:1px solid #dfd3c2;box-shadow:0 25px 70px #101e300e}.contact-form h2{font-size:2.25rem;margin-bottom:8px}.contact-form>p{color:#64727a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form label{display:block;margin:16px 0;font-size:.79rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #c7c6bf;background:white;color:var(--navy);border-radius:0;font-size:1rem;text-transform:none;letter-spacing:normal}.contact-form textarea{min-height:125px;resize:vertical}.contact-form .button{margin-top:10px}.contact-form .form-note{font-size:.78rem;line-height:1.7;margin-top:18px}.contact-bottom{border-top:1px solid var(--line);padding:45px 0 100px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-bottom h3{font-size:1.5rem;margin:10px 0}.contact-bottom p{color:#607078;max-width:430px}
.footer{background:#0b1928;color:#d2d7d8;padding:75px 0 25px}.footer-inner{width:min(1180px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px}.footer-brand{font-family:'Playfair Display',Georgia,serif;color:#fff1dc;font-size:1.8rem;letter-spacing:.07em}.footer p{color:#aab5b9}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:7px 25px}.footer nav a{text-decoration:none;font-size:.85rem}.footer nav a:hover{color:#e3b985}.footer-contact span{display:block;text-transform:uppercase;font-size:.7rem;letter-spacing:.2em;color:#c8a370;margin-bottom:10px}.footer-contact a{font-size:.9rem}.footer-bottom{width:min(1180px,calc(100% - 48px));margin:65px auto 0;padding-top:20px;border-top:1px solid #ffffff26;color:#a4afb5;font-size:.75rem}
@media(max-width:900px){.site-nav{gap:16px}.site-nav a{font-size:.78rem}.site-nav .nav-enquire{padding:8px 12px;margin:0}.wordmark{min-width:170px}.home-intro,.experience-inner,.service-layout{gap:6%}.villa-story{gap:5%}}
@media(max-width:700px){.header-inner{min-height:72px}.menu-toggle{display:block;border:1px solid #c5a06c;background:transparent;color:white;padding:7px 12px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:18px 24px 25px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #07162466}.site-nav.open{display:flex}.site-nav a{padding:11px 0;font-size:.95rem}.site-nav .nav-enquire{text-align:center;margin:12px 0 0;padding:11px}.facts{grid-template-columns:1fr 1fr;gap:22px}.facts>div:nth-child(3){border:0;padding-left:0}.home-intro,.experience-inner,.service-layout,.detail-grid,.contact-layout{grid-template-columns:1fr;gap:30px}.section{padding-block:75px}.feature-images{grid-template-rows:210px 210px;padding-bottom:75px}.gallery-teaser{height:230px}.review-grid{grid-template-columns:1fr}.review-grid blockquote{min-height:140px}.page-hero{min-height:500px}.villa-story,.villa-story.reverse{grid-template-columns:1fr;gap:26px}.villa-story.reverse .story-image{order:0}.story-image img{height:420px}.footer-inner{grid-template-columns:1fr 1fr}.footer-contact{grid-column:span 2}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid button:first-child{grid-row:auto;aspect-ratio:4/3}.contact-aside img{height:310px}.contact-aside>div{padding:24px 0}.contact-layout{gap:12px}}
@media(max-width:480px){.wrap,.header-inner,.footer-inner,.footer-bottom{width:calc(100% - 34px)}.facts strong{font-size:1.9rem}.facts span{font-size:.72rem}.feature-images{display:flex;flex-direction:column;gap:12px}.image-tile,.image-tile.tall{height:260px}.section-top{display:block}.section-top .text-link{margin-top:23px}.gallery-teaser{grid-template-columns:1fr 1fr;height:220px}.gallery-teaser img:nth-child(3){display:none}.page-hero{min-height:430px}.page-hero h1{font-size:3.5rem}.page-intro{padding-block:65px 45px}.story-image img{height:300px}.gallery-grid{gap:7px}.gallery-grid span{font-size:.66rem}.form-grid{grid-template-columns:1fr;gap:0}.contact-form{padding:24px}.contact-bottom{grid-template-columns:1fr;gap:22px}.footer-inner{grid-template-columns:1fr}.footer-contact{grid-column:auto}.footer-bottom{margin-top:40px}.lightbox{padding:8px}.lightbox img{height:68vh}}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{min-height:1.5em;margin:15px 0 0;color:#315e4a;font-weight:700}.form-status:empty{display:none}.contact-form button:disabled{opacity:.6;cursor:wait}

/* Clear photo cover and comfortable layouts on phones. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-hero{position:relative;background:var(--navy)}
.home-hero>img{width:100%;height:auto;max-height:760px;object-fit:cover;object-position:center 52%}
.home-intro>*,.experience-inner>*,.service-layout>*,.contact-layout>*,.footer-inner>*{min-width:0}
.footer-contact a,.contact-aside a{overflow-wrap:anywhere}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
@media(max-width:900px){
.header-inner{min-height:72px;gap:16px}.menu-toggle{display:block;min-height:44px;border:1px solid #c5a06c;background:transparent;color:white;padding:7px 12px}
.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:18px 24px 25px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #07162466}
.site-nav.open{display:flex}.site-nav a{padding:11px 0;font-size:.95rem}.site-nav .nav-enquire{text-align:center;margin:12px 0 0;padding:11px}
}
@media(max-width:700px){.home-hero>img{max-height:none}.contact-form input,.contact-form textarea{min-width:0;min-height:48px}.filter-bar button{min-height:44px}}
@media(max-width:480px){
.home-intro h2,.section h2,.page-intro h2,.service-heading h2{font-size:clamp(2.1rem,9vw,2.8rem)}
.page-title h1,.page-hero h1{font-size:clamp(2.5rem,11vw,3.5rem)}
.contact-form h2,.contact-aside h2{font-size:2rem}.button{gap:16px;font-size:.76rem;padding-inline:18px}.contact-form .button{width:100%}.facts>div{padding-left:16px}.wordmark strong{font-size:1.25rem}.wordmark{min-width:0}
}

/* Optional services and quick links. */
.services-heading{max-width:760px;margin-bottom:42px}.services-heading h2{margin:18px 0 24px}.services-heading p{color:#d5dce0;line-height:1.9}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{border:1px solid #69819580;padding:30px;scroll-margin-top:24px}.service-number{display:block;color:#d9b282;font-size:.76rem;letter-spacing:.18em;margin-bottom:22px}.service-card h3{color:#f2dfc7;font-size:1.7rem;margin:0 0 16px}.service-card p{color:#d5dce0;font-size:.95rem;line-height:1.85;margin:0}.services-action{margin-top:38px;display:flex;align-items:center;gap:30px}.services-action p{color:#d5dce0;max-width:520px;font-size:.9rem;margin:0}.services-action .button{flex-shrink:0}
.home-service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:0 0 30px}.home-service-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;border-bottom:1px solid #69819580;text-decoration:none;font-size:.9rem;color:#f2dfc7;padding-block:12px}.home-service-links a:hover{color:white}.home-service-links a:focus-visible,.service-card:target{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:26px}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr;gap:14px}.service-card{padding:24px}.service-number{margin-bottom:16px}.services-action{align-items:start;flex-direction:column;gap:20px}.services-action .button{width:100%}.home-service-links{grid-template-columns:1fr}}

/* Language navigation and right-to-left typography. */
.language-switch{display:flex;align-items:center;gap:5px;flex-shrink:0;direction:ltr}.language-switch a{display:block;padding:7px 8px;text-decoration:none;font:600 12px/1.4 Arial,sans-serif;border:1px solid transparent;border-radius:3px;color:#e9e5dc}.language-switch a[aria-current]{border-color:#bd975e;color:#e9c491}.language-switch a:hover{background:#ffffff15}.language-switch a:focus-visible{outline:2px solid #e9c491;outline-offset:2px}.header-inner{gap:18px}.site-nav{gap:18px}
html[lang=ar] body,html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] .wordmark strong{font-family:Tahoma,Arial,sans-serif}html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{line-height:1.5}html[lang=ar] .eyebrow,html[lang=ar] .wordmark,html[lang=ar] .wordmark strong,html[lang=ar] .wordmark small,html[lang=ar] .site-nav a{letter-spacing:normal}html[lang=ar] em{font-style:normal}html[lang=ar] .facts>div{padding-right:24px;padding-left:0}html[lang=ar] input[type=email],html[lang=ar] input[type=tel],html[lang=ar] a[href^="mailto:"]{direction:ltr}html[lang=ar] .site-nav .nav-enquire{margin-left:0;margin-right:10px}
@media(max-width:1100px) and (min-width:901px){.header-inner{flex-wrap:wrap;padding-block:16px;gap:14px}.site-nav{order:3;width:100%;justify-content:center}}
@media(max-width:900px){.header-inner{position:relative;flex-wrap:wrap;gap:12px;padding-block:14px}.wordmark{margin-inline-end:auto}.menu-toggle{order:2}.language-switch{order:1}.site-nav{order:3;flex-basis:100%}html[lang=ar] .site-nav{text-align:right}}
@media(max-width:400px){.header-inner{width:calc(100% - 24px)}.language-switch{gap:0}.language-switch a{padding:6px}.wordmark strong{font-size:1.05rem}.menu-toggle{font-size:12px}}

/* Approximate neighbourhood map and indicative driving times. */
.location-section{border-top:1px solid var(--line)}.location-section .section-top h2{max-width:760px}.location-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:start}.area-map{margin:0;min-width:0}.area-map iframe{display:block;width:100%;height:360px;border:1px solid var(--line);background:#e7e3da;border-radius:4px}.area-map figcaption{margin-top:12px;font-size:.82rem;color:var(--muted);line-height:1.7}.travel-info dl{margin:0}.travel-info dl>div{padding:22px 0;border-bottom:1px solid var(--line)}.travel-info dt{font-size:1.1rem;font-weight:600}.travel-info dd{margin:7px 0 0;color:#866136;font-size:1.1rem}.travel-note{font-size:.9rem;color:var(--muted);margin:22px 0}.travel-info .text-link{line-height:1.7}.location-section{scroll-margin-top:24px}@media(max-width:700px){.location-grid{grid-template-columns:1fr;gap:16px}.area-map iframe{height:300px}.location-section{padding-block:60px}}

.location-section .section-top h2{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.4}.location-section .section-top{margin-bottom:28px}

.nearby-places{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.nearby-places h3{font:600 1rem/1.5 inherit;font-family:inherit;margin:0 0 12px;font-size:1rem}.nearby-places ul{list-style:none;padding:0;margin:0}.nearby-places li{margin:0;border-bottom:1px solid var(--line)}.nearby-places a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;font-size:.88rem;line-height:1.6;padding:10px 0}.nearby-places a:hover{color:#866136}.nearby-places a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.nearby-places>p{grid-column:1/-1;font-size:.82rem;color:var(--muted);margin:0}.location-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}@media(max-width:700px){.location-grid{grid-template-columns:1fr}.nearby-places{gap:18px}}@media(max-width:420px){.nearby-places{grid-template-columns:1fr}}

.faq-section{border-top:1px solid var(--line);scroll-margin-top:24px}.faq-section h2{font-size:clamp(2rem,4vw,3rem);margin:18px 0 32px}.faq-list{max-width:900px;margin-bottom:30px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list summary{cursor:pointer;font-weight:600;font-size:1.05rem;line-height:1.6;padding-inline-end:18px}.faq-list summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.faq-list p{color:var(--muted);line-height:1.9;margin:14px 0 0;max-width:820px}.footer nav{flex-wrap:wrap}

.availability-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;border-top:1px solid var(--line);scroll-margin-top:24px}.availability-intro h2{font-size:clamp(2rem,4vw,3rem);margin:20px 0}.availability-intro p{color:var(--muted);margin-bottom:28px}.calendar-panel{background:var(--white);border:1px solid var(--line);padding:28px;border-radius:4px;min-width:0}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;direction:ltr}.calendar-header h3{font-family:inherit;font-size:1.2rem;text-align:center;margin:0}.calendar-header button{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;background:transparent;color:var(--navy);flex-shrink:0}.calendar-header button:disabled{opacity:.3;cursor:default}.calendar-header button:focus-visible,.calendar-retry:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center;direction:ltr}.calendar-weekdays{font-size:.72rem;color:var(--muted);margin:25px 0 10px}.calendar-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:3px;font-size:.9rem;direction:ltr;border:1px solid transparent}.calendar-day.free{background:#e8efe7;color:#254b34;border-color:#d1dfd0}.calendar-day.busy{background:#eadbd8;color:#793c31;text-decoration:line-through;border-color:#dfc4bf}.calendar-day.past{color:#a4a5a3;text-decoration:line-through}.calendar-day.unknown{background:#eeeae3;color:#74716d}.calendar-day[aria-current]{outline:2px solid var(--gold);outline-offset:-2px}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;font-size:.75rem}.calendar-legend[hidden]{display:none}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:12px;height:12px;display:inline-block;border-radius:2px}.key-free{background:#d1dfd0}.key-busy{background:#dfc4bf}.availability-status{font-size:.78rem;line-height:1.7;color:var(--muted);margin:18px 0 0}.calendar-retry{margin-top:10px;background:transparent;border:1px solid var(--line);padding:8px 16px;color:var(--navy)}@media(max-width:800px){.availability-section{grid-template-columns:1fr;gap:30px}.calendar-panel{max-width:520px;width:100%;margin-inline:auto}}@media(max-width:400px){.calendar-panel{padding:18px}.calendar-weekdays,.calendar-days{gap:3px}}

/* Welcome and stay enquiry over the main photograph. */
.home-hero{display:grid;min-height:650px;isolation:isolate;align-items:center}
.home-hero>img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 52%;z-index:-2}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#07162425,#0716248c 55%,#07162475);z-index:-1}
.hero-content{padding-block:90px;text-align:center;color:#fff}
.hero-eyebrow{font-size:.73rem;letter-spacing:.25em;font-weight:600;color:#f2d7ae;margin:0 0 24px}
.hero-content h1{font-size:clamp(2.6rem,5.5vw,5.2rem);line-height:1.12;max-width:900px;margin:0 auto;text-shadow:0 2px 24px #07162480;text-wrap:balance}
.hero-subtitle{font-size:clamp(.95rem,1.5vw,1.15rem);margin:23px 0 42px;color:#fff5e5}
.hero-enquiry{display:grid;grid-template-columns:1.25fr 1fr 1fr .85fr auto;align-items:stretch;gap:1px;background:#d6cbbb;box-shadow:0 12px 45px #07162440;text-align:start}
.hero-enquiry label{background:#fffdf7;color:var(--navy);padding:17px 20px 12px;min-width:0;font-size:.7rem;font-weight:700;letter-spacing:.06em}
.hero-enquiry input,.hero-enquiry select{display:block;width:100%;min-width:0;min-height:36px;border:0;border-radius:0;background:transparent;color:var(--navy);font:400 16px/1.3 'DM Sans',Arial,sans-serif;padding:8px 0 0}
.hero-enquiry input:focus-visible,.hero-enquiry select:focus-visible{outline:2px solid #99713e;outline-offset:3px}
.hero-enquiry .button{border:0;justify-content:center;cursor:pointer;font-size:.72rem;padding:20px;white-space:nowrap}
[dir=rtl] .hero-eyebrow{letter-spacing:.08em}
@media(max-width:1000px){.hero-enquiry{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-enquiry .button{grid-column:1/-1;min-height:50px}}
@media(max-width:600px){.home-hero{min-height:700px}.hero-content{padding-block:60px}.hero-eyebrow{font-size:.65rem;margin-bottom:20px}.hero-subtitle{margin:20px 0 30px;line-height:1.6}.hero-enquiry{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-enquiry label{padding:13px 14px 10px}.hero-enquiry label:first-child{grid-column:1/-1}.hero-enquiry label:nth-child(4){grid-column:1/-1}.hero-content h1{font-size:clamp(2.4rem,10vw,3.6rem)}}
.stay-picker{width:min(440px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid #dfd3c2;border-radius:16px;padding:24px;color:var(--navy);background:#fffdf7;box-shadow:0 20px 80px #07162444}
.stay-picker::backdrop{background:#07162499}.stay-picker-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.stay-picker-top h2{font-size:1.5rem;margin:0}.stay-close{width:44px;height:44px;border:0;background:transparent;font-size:1.8rem;cursor:pointer}.stay-hint,.stay-status{font-size:.85rem;line-height:1.6}.stay-step{font-weight:700;margin:14px 0}.stay-picker .calendar-day{width:100%;min-height:40px;border-radius:50%;font:inherit;cursor:pointer}.stay-picker .calendar-day.free{background:transparent;border-color:transparent;color:var(--navy)}.stay-picker .calendar-day.free:hover{border-color:var(--navy)}.stay-picker .calendar-day.busy{background:transparent;border:0;color:#aaa;cursor:not-allowed}.stay-picker .calendar-day.selected{background:var(--navy);color:white}.stay-picker .calendar-day.in-range{background:#e9e1d5}.stay-picker button:focus-visible{outline:2px solid #99713e;outline-offset:2px}.stay-retry{padding:10px 18px;border:1px solid #b89463;background:transparent}.date-selection-status:empty{display:none}.date-selection-status{grid-column:1/-1;margin:0;padding:12px;background:#fffdf7;color:#793c31;font-size:.9rem;line-height:1.6}.hero-enquiry input[readonly],.contact-form input[readonly]{cursor:pointer}

/* Suite details, service arrangements and the local guide. */
.content-lead{max-width:820px;color:var(--muted);line-height:1.9}.suites-section h2,.villa-practical h2,.service-planning h2{font-size:clamp(1.9rem,3.5vw,2.8rem);margin-bottom:24px}.suite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:38px}.suite-card{border:1px solid var(--line);background:var(--white)}.suite-card img{width:100%;height:230px;object-fit:cover}.suite-card>div{padding:24px}.suite-card h3{font-size:1.5rem;margin-bottom:14px}.suite-card p{font-size:.88rem;color:var(--muted);margin:0}.villa-practical{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;border-top:1px solid var(--line)}.villa-practical p{color:var(--muted);line-height:1.9}.villa-practical h3{font-size:1.6rem;margin-top:32px}.villa-practical aside{padding:32px;background:var(--white);border:1px solid var(--line);align-self:start}.villa-practical ul{padding-inline-start:20px;margin-bottom:28px}.villa-practical li{margin-bottom:10px}.service-arrangements{border-top:1px solid #69819580;padding-top:18px;margin:22px 0 0}.service-arrangements dt{font-size:.78rem;font-weight:700;color:#e6c293;margin-top:14px}.service-arrangements dd{margin:6px 0 0;color:#d5dce0;font-size:.87rem;line-height:1.8}.service-planning{max-width:900px}.service-planning p,.service-planning li{color:var(--muted);line-height:1.9}.service-planning ol{padding-inline-start:24px;margin-bottom:28px}.local-guide-teaser{padding:36px;margin-block:32px 64px;background:#eae3d8;border-inline-start:3px solid var(--gold)}.local-guide-teaser p{max-width:800px;margin:12px 0 20px}.guide-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:50px;padding-block:72px}.guide-hero h1{font-size:clamp(2.3rem,4.5vw,4rem);margin:20px 0 26px}.guide-hero figure{margin:0}.guide-hero img{width:100%;height:430px;object-fit:cover}.guide-byline{font-size:.8rem;color:var(--muted)}.local-guide-body{max-width:860px;padding-bottom:80px}.local-guide-body section{padding:32px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.local-guide-body h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:22px}.local-guide-body p{line-height:1.95;color:var(--muted)}.guide-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-top:26px}.guide-closing{margin-top:20px}.guide-hero .content-lead{font-size:1.05rem}@media(max-width:900px){.suite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.villa-practical{gap:30px}.guide-hero{gap:28px}.guide-hero img{height:360px}}@media(max-width:650px){.suite-grid,.villa-practical,.guide-hero{grid-template-columns:1fr}.guide-hero{padding-block:42px}.guide-hero img{height:270px}.suite-card img{height:260px}.local-guide-teaser{padding:24px}.guide-actions{align-items:stretch;flex-direction:column}.guide-actions .button{text-align:center;justify-content:center}.villa-practical aside{padding:24px}}

/* Included hospitality: refined cards, responsive across all languages. */
.included-heading{max-width:760px;margin-bottom:44px}.included-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.2}.included-heading>p{color:#68665f;max-width:620px}.included-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.included-card{position:relative;padding:28px 0 30px;border-top:1px solid #d9d2c4}.included-number{display:block;color:#927b50;font-size:12px;letter-spacing:.15em;margin-bottom:12px}.included-card h3{font-size:21px;margin:0 0 12px;line-height:1.4}.included-card p{margin:0;color:#68665f;line-height:1.85}.included-note{margin:28px 0 0;padding:22px 26px;background:#f2eee5;border-inline-start:3px solid #a38b5c;font-size:14px;line-height:1.85}.included-home-link{display:inline-block;margin-bottom:20px;color:inherit!important}.included-stay{scroll-margin-top:100px}@media(max-width:640px){.included-grid{grid-template-columns:1fr}.included-heading{margin-bottom:28px}.included-note{padding:18px}.included-card{padding:24px 0}}
