:root{--ink:#171510;--paper:#f5f1e8;--gold:#b88a3b;--cream:#fffaf1;--line:rgba(23,21,16,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif}body:has(dialog[open]){overflow:hidden}img,video{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{height:90px;padding:8px clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(18,16,12,.64);color:#fff;position:absolute;inset:0 0 auto;z-index:10;border-bottom:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px)}.brand img{width:88px;height:72px;object-fit:contain}.topbar nav{display:flex;align-items:center;gap:30px;font-size:.77rem;text-transform:uppercase;letter-spacing:.09em}.nav-cta{border:1px solid #d8b56f;padding:13px 20px}.menu{display:none;background:none;border:0;color:inherit;font:600 .8rem Montserrat;text-transform:uppercase;letter-spacing:.1em}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;font-weight:600;color:#e7c47c}.eyebrow.dark{color:#94702f}
.hero{height:max(760px,100vh);position:relative;color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-media{position:absolute;inset:0;height:100%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,4,.68),rgba(8,7,4,.17) 72%),linear-gradient(0deg,rgba(8,7,4,.64),transparent 60%)}.hero-copy{position:relative;width:min(1180px,88vw);padding-bottom:150px}.hero h1,.intro h2,.section-head h2,.more-stays h2,.reviews h2,.locations h2,.contact h2,.enquiry-heading h2{font:600 clamp(3.4rem,7vw,7.6rem)/.84 'Cormorant Garamond',serif;margin:18px 0}.hero-copy>p:last-child{font-size:1.05rem;line-height:1.8;max-width:610px;color:#f2eee7}.search-bar{position:absolute;z-index:2;left:50%;bottom:54px;transform:translateX(-50%);width:min(1180px,92vw);display:grid;grid-template-columns:1.2fr 1fr 1fr .85fr auto;background:#fff;color:var(--ink);box-shadow:0 18px 60px rgba(0,0,0,.28)}.search-bar label{padding:18px 22px;border-right:1px solid #ded8cd;display:flex;flex-direction:column;justify-content:center;min-width:0}.search-bar label span{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:#8a8173;margin-bottom:8px}.search-bar label strong{font-size:.9rem}.search-bar input,.search-bar select{width:100%;border:0;background:transparent;color:#29261f;outline:none}.search-bar button{border:0;background:#191713;color:#fff;padding:0 30px;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;cursor:pointer}.search-bar button:hover{background:var(--gold)}
.intro{padding:125px 8vw;text-align:center}.intro h2{font-size:clamp(3rem,6vw,6rem);line-height:.94}.lead{max-width:760px;margin:28px auto 0;font-size:1.05rem;line-height:1.9;color:#5e584d}.signature-services{padding:105px 7vw;background:#fffaf3;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;border-block:1px solid rgba(184,138,59,.22)}.service-intro h2{font:600 clamp(3rem,5vw,5.6rem)/.9 'Cormorant Garamond',serif;margin:18px 0}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:46px 1fr 1.25fr;gap:22px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.service-list span,.property-number{font:600 1.35rem 'Cormorant Garamond';color:var(--gold)}.service-list h3{font:600 1.8rem 'Cormorant Garamond';margin:0}.service-list p{margin:0;color:#665f53;line-height:1.7;font-size:.92rem}
.stays{padding:110px 6vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:52px}.section-head h2{font-size:clamp(3rem,5vw,5.3rem);margin:10px 0}.section-head>p{max-width:440px;line-height:1.75;color:#6a6255}.property-card{display:grid;grid-template-columns:1.25fr .75fr;min-height:610px;background:#eee5d6;margin-bottom:32px}.property-card.reverse{grid-template-columns:.75fr 1.25fr}.property-card.reverse .property-image{order:2}.property-image{position:relative;border:0;padding:0;cursor:pointer;overflow:hidden;background:#ddd}.property-image img{height:100%;min-height:610px;transition:transform .7s ease}.property-image:hover img{transform:scale(1.025)}.property-image span{position:absolute;right:20px;bottom:20px;background:rgba(255,255,255,.94);padding:12px 16px;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.property-copy{padding:54px;display:flex;flex-direction:column;justify-content:center}.property-copy h3{font:600 clamp(2.6rem,4vw,4.2rem)/.9 'Cormorant Garamond';margin:5px 0 25px}.property-copy>p:not(.property-number){line-height:1.8;color:#5d564b}.property-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.property-tags span{border:1px solid rgba(23,21,16,.22);padding:8px 10px;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.property-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.property-bottom p{font-size:.77rem;text-transform:uppercase;letter-spacing:.08em}.property-bottom strong{font:600 2rem 'Cormorant Garamond';color:#8c6727}.outline{border:1px solid var(--ink);background:transparent;padding:12px 15px;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;cursor:pointer}.outline:hover{background:var(--ink);color:#fff}.more-stays{background:#735323;color:#fff;text-align:center;padding:120px 8vw}.more-stays h2{font-size:clamp(3.4rem,6vw,6.4rem)}.more-stays>p:not(.eyebrow){max-width:700px;margin:0 auto 35px;line-height:1.9;color:#f2e7d3}.button{border:0;padding:16px 24px;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;cursor:pointer}.light-button{background:#fff;color:var(--ink)}.dark-button{background:var(--ink);color:#fff;width:100%}.button:hover{background:#d9b56d;color:#171510}
.reviews{padding:115px 8vw;background:#fffaf3;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:center}.reviews h2{font-size:clamp(3.2rem,5vw,5.6rem)}.review-feature{border-block:1px solid var(--line);padding:38px 0}.review-feature .quote{font:600 5rem/1 'Cormorant Garamond';color:var(--gold)}.review-feature p{font:500 clamp(1.6rem,2.5vw,2.5rem)/1.25 'Cormorant Garamond';margin:0 0 28px}.review-feature a{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:5px}.experience{background:#171510;color:#fff;padding:110px 5vw}.section-head.light>p{color:#bbb2a4}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.video-grid figure{margin:0}.video-grid video{height:560px;background:#29251e}.video-grid figcaption{display:flex;gap:18px;padding:18px 0;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem}.video-grid figcaption span{color:#d7ad63}.locations{padding:120px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.locations h2{font-size:clamp(3rem,5vw,5.3rem)}.location-list{border-top:1px solid var(--line)}.location-list span{display:block;padding:22px 4px;border-bottom:1px solid var(--line);font:500 1.6rem 'Cormorant Garamond'}.contact{padding:130px 7vw;text-align:center;background:#856129;color:#fff}.contact h2{font-size:clamp(3.5rem,7vw,7rem)}.contact>p:not(.eyebrow){max-width:620px;margin:0 auto 30px;line-height:1.8}.socials{display:flex;justify-content:center;gap:14px;margin:35px 0}.socials a{border:1px solid rgba(255,255,255,.55);padding:15px 22px;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}footer{padding:38px 6vw;background:#100f0c;color:#aaa;display:flex;align-items:center;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}footer img{width:100px;height:100px;object-fit:cover;border-radius:50%;background:#fffaf3;border:2px solid #c3923e;padding:3px}
dialog{border:0;padding:0;max-width:none}dialog::backdrop{background:rgba(10,9,7,.82);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:20px;top:14px;z-index:3;border:0;background:rgba(255,255,255,.9);width:42px;height:42px;border-radius:50%;font-size:1.7rem;cursor:pointer}.gallery-dialog{width:min(1180px,96vw);height:min(880px,94vh);background:#171510;color:#fff}.gallery-stage{height:65%;position:relative}.gallery-stage>img{height:100%;object-fit:contain;background:#0d0c0a}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.88);width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:1.2rem}.gallery-arrow.previous{left:18px}.gallery-arrow.next{right:18px}.gallery-meta{display:flex;justify-content:space-between;align-items:center;padding:22px 30px}.gallery-meta p{margin:0 0 4px;color:#c9a45f;font-size:.75rem}.gallery-meta h3{font:600 2.1rem 'Cormorant Garamond';margin:0}.gallery-meta .outline{border-color:#fff;color:#fff}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:0 30px 24px}.gallery-thumbs button{border:2px solid transparent;padding:0;min-width:110px;background:none;opacity:.55;cursor:pointer}.gallery-thumbs button.active{border-color:#d7ad63;opacity:1}.gallery-thumbs img{height:76px}.enquiry-dialog{width:min(760px,94vw);max-height:94vh;padding:50px;background:var(--cream);overflow:auto}.enquiry-heading h2{font-size:clamp(2.8rem,5vw,4.8rem);margin:12px 0}.enquiry-heading>p:last-child{color:#635c51;line-height:1.6}.enquiry-dialog form{display:grid;gap:18px;margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.enquiry-dialog label{display:grid;gap:8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.enquiry-dialog input,.enquiry-dialog select,.enquiry-dialog textarea{width:100%;border:1px solid #d5cbbb;background:#fff;padding:14px;color:var(--ink);font-size:.9rem;text-transform:none;letter-spacing:0}.form-success{background:#e8dfce;padding:18px;display:grid;gap:8px}.form-success[hidden]{display:none}.form-success span{font-size:.82rem;line-height:1.5}.form-success a{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;text-decoration:underline}
@media(max-width:800px){.topbar{height:74px;padding:6px 18px}.brand img{width:68px;height:58px}.menu{display:block}.topbar nav{display:none;position:absolute;top:74px;left:0;right:0;background:#171510;flex-direction:column;align-items:stretch;padding:25px}.topbar nav.open{display:flex}.topbar nav a{padding:10px}.hero{height:820px;align-items:flex-end}.hero-copy{padding-bottom:330px}.hero h1{font-size:4.1rem}.hero-copy>p:last-child{font-size:.92rem}.search-bar{bottom:25px;grid-template-columns:1fr 1fr}.search-bar label{padding:14px}.search-bar label:first-child{grid-column:1/-1}.search-bar button{grid-column:1/-1;padding:17px}.intro,.stays,.experience,.locations,.contact,.reviews,.more-stays{padding:78px 22px}.signature-services{padding:78px 22px;grid-template-columns:1fr;gap:35px}.service-list article{grid-template-columns:34px 1fr;gap:14px}.service-list article p{grid-column:2}.section-head{display:block}.section-head>p{margin-top:24px}.property-card,.property-card.reverse{display:flex;flex-direction:column;min-height:0}.property-card.reverse .property-image{order:0}.property-image img{height:340px;min-height:0}.property-copy{padding:36px 24px}.property-copy h3{font-size:3rem}.property-bottom{align-items:flex-start;flex-direction:column}.reviews{grid-template-columns:1fr;gap:20px}.video-grid{grid-template-columns:1fr;gap:35px}.video-grid video{height:520px}.locations{grid-template-columns:1fr;gap:35px}footer{flex-direction:column;gap:18px;text-align:center}.gallery-dialog{height:94vh}.gallery-stage{height:55%}.gallery-meta{align-items:flex-start;gap:18px}.gallery-meta h3{font-size:1.5rem}.gallery-meta .outline{display:none}.gallery-thumbs{padding-inline:18px}.enquiry-dialog{padding:45px 22px 28px}.form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media{display:none}.hero{background:url('assets/apartments/apartment-3/47074.webp') center/cover}.property-image img{transition:none}}

.brand{width:76px;height:76px;border-radius:50%;overflow:hidden;flex:0 0 76px;background:#fffaf3;border:2px solid #d5ad62;box-shadow:0 4px 18px rgba(0,0,0,.22)}
.brand img{width:100%;height:100%;object-fit:cover;border-radius:50%}
@media(max-width:800px){.brand{width:60px;height:60px;flex-basis:60px}.brand img{width:100%;height:100%}}
