:root{--esp:#1c130e;--esp2:#2a1d15;--taupe:#8c7b6b;--sand:#d9cbb8;--gold:#d6b26a;--gold2:#a8803a}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{background:var(--esp);color:var(--sand);font:17px/1.7 Georgia,'Iowan Old Style','Palatino Linotype',serif}
img,video{display:block;width:100%}
h1,h2,h3,h4{font-weight:400;color:#f1e6d2;line-height:1.15}
h1{font-size:clamp(2.2rem,6vw,4.6rem)}h2{font-size:clamp(1.8rem,4vw,3rem)}h3{font-size:clamp(1.4rem,2.6vw,2rem)}
.eyebrow{letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-bottom:.8rem}
.nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:.8rem 4vw;background:linear-gradient(#1c130ecc,#1c130e00);backdrop-filter:blur(6px)}
.brand img{width:130px}.nav nav{display:flex;gap:1.6rem;align-items:center;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.nav a{color:var(--sand);text-decoration:none}
.btn{display:inline-block;padding:.9rem 2rem;background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--esp)!important;text-decoration:none;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;border:1px solid var(--gold);transition:.3s}
.btn:hover{filter:brightness(1.12);transform:translateY(-2px)}.btn.small{padding:.5rem 1.1rem}
.btn.ghost{background:none;color:var(--gold)!important}
.hero{position:relative;height:min(100vh,860px);min-height:560px;overflow:hidden;display:flex;align-items:flex-end}
.hero img{position:absolute;inset:0;height:100%;object-fit:cover;animation:zoom 22s ease-out forwards}
@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.12)}}
.veil{position:absolute;inset:0;background:linear-gradient(transparent 30%,#1c130ef0)}
.hero-t{position:relative;padding:0 6vw min(10vh,90px);max-width:900px}.hero-t h1{margin-bottom:1rem}.sub{margin-bottom:2rem;max-width:34rem}
.intro{max-width:760px;margin:0 auto;padding:min(12vh,100px) 6vw;text-align:center;font-size:1.35rem;color:#eadfca}
.head{text-align:center;max-width:720px;margin:0 auto 3.5rem;padding:0 6vw}
.video-feature,.feature{display:grid;grid-template-columns:1.3fr 1fr;gap:5vw;align-items:center;padding:min(6vh,50px) 6vw}
.video-feature video,.feature video,.feature img{box-shadow:0 30px 60px #0008;border:1px solid #d6b26a33}
.feature video{max-height:80vh;object-fit:cover}
.feature.flip{grid-template-columns:1fr 1.3fr}.feature.flip img{order:2}
.link{display:inline-block;margin-top:1rem;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold)}
.collection,.bespoke,.journey,.space,.enquire{padding:min(10vh,90px) 0}
.bespoke,.space{background:var(--esp2)}
.grid{columns:3 280px;column-gap:1.6rem;padding:0 4vw}
figure{break-inside:avoid;margin-bottom:1.6rem;position:relative;overflow:hidden;background:#000}
figure img{transition:transform 1.2s}figure:hover img{transform:scale(1.04)}
figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:1rem 1.2rem;background:linear-gradient(transparent,#1c130ee6);font-size:.95rem;opacity:0;transition:.4s}
figure:hover figcaption{opacity:1}@media(hover:none){figcaption{opacity:1}}
figcaption a{color:var(--gold);text-decoration:none;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}
.wide{margin:1.6rem 4vw 0}
.journey ol{list-style:none;padding:0 6vw;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;max-width:1200px;margin:auto}
.journey li{border-top:1px solid var(--gold2);padding-top:1.2rem}.journey span{color:var(--gold);font-size:.8rem;letter-spacing:.2em}
.rooms{columns:2 300px;column-gap:1.4rem;padding:0 4vw}.rooms img{margin-bottom:1.4rem}
.enquire{text-align:center}.contact{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding:0 6vw}
.qr{width:170px;margin:3rem auto 0;border:6px solid #f1e6d2}
footer{text-align:center;padding:min(6vh,50px) 0;color:var(--taupe);font-size:.85rem}footer img{width:120px;margin:0 auto 1rem}
.js .reveal{opacity:0;transform:translateY(30px);transition:1s}.js .reveal.in{opacity:1;transform:none}
@media(max-width:760px){.nav nav a:not(.btn){display:none}.video-feature,.feature,.feature.flip{grid-template-columns:1fr}.feature.flip img{order:0}.brand img{width:100px}}
h2,h3{margin-bottom:.9rem}.eyebrow+h3,.eyebrow+h2{margin-top:0}
.feature video.tall{max-width:360px;margin:auto}
.hero-logo{width:min(380px,70vw);height:auto;margin:0 0 1.4rem}
.brand img{width:190px!important}
figcaption em{font-style:normal;color:#f1e6d2;margin-left:auto;margin-right:1.2rem;font-size:.95rem}
.hero img.hero-logo{position:static;animation:none;height:auto}
@media(max-width:760px){.brand img{width:130px!important}.hero-logo{width:min(300px,78vw)}}
.veil{background:linear-gradient(#1c130e80,#1c130e4d 40%,#1c130ef5)!important}
.hero-logo{filter:drop-shadow(0 2px 10px #000a)}
.hero-t h1{text-shadow:0 2px 20px #0009}
.portraits{padding:10vh 0}.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;padding:0 4vw;max-width:1200px;margin:auto}.pgrid figure{margin:0}.pgrid img{aspect-ratio:1/1;object-fit:cover}

.note{text-align:center;padding:22px 6vw;border-bottom:1px solid rgba(200,160,90,.35);background:#1a120c}.note p{margin:0;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:#c9a45c}

.feature.flip img{order:0}.feature.flip>img,.feature.flip>.strip{order:2}
@media(max-width:760px){.feature.flip>img,.feature.flip>.strip{order:0}}
.strip{display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#c9a45c #1c130e;min-width:0}
.strip>*{flex:0 0 auto;scroll-snap-align:center;height:min(62vh,520px);width:auto;max-width:86vw;object-fit:contain;background:#120c08;border:1px solid #d6b26a33;box-shadow:none}
.feature .strip video{max-height:none;max-width:86vw;height:min(62vh,520px);object-fit:contain;margin:0}
.sets{display:grid;gap:3.2rem;padding:3rem 4vw 0;max-width:1300px;margin:auto}
.set .strip{padding-bottom:.4rem}
.set .cap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem 1rem;padding:.9rem .2rem 0}
.set .cap .t{font-size:1.25rem;color:#f1e6d2}
.set .cap em{flex-basis:100%;order:3;font-style:normal;color:#c9a45c;font-size:.95rem}
.set .cap a{color:var(--gold);text-decoration:none;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}
figcaption{flex-wrap:wrap;align-items:baseline}
figcaption em{order:3;flex-basis:100%;margin:.2rem 0 0!important;font-size:.85rem}
@media(max-width:760px){.strip>*{height:min(46vh,380px);max-width:90vw}.feature .strip video{height:min(46vh,380px);max-width:90vw}figcaption{padding:2.2rem 1rem .8rem}}
.strip>img{height:auto;width:auto;max-height:min(62vh,520px);max-width:86vw;align-self:center}
.strip>video{width:auto;align-self:center}
@media(max-width:760px){.strip>img{max-height:min(46vh,380px);max-width:90vw}}
.sets>*,.feature>*,.set{min-width:0;max-width:100%}.sets{grid-template-columns:minmax(0,1fr)}
.feature{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.feature.flip{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
@media(max-width:760px){.feature,.feature.flip{grid-template-columns:minmax(0,1fr)}}
.strip{scrollbar-width:none}.strip::-webkit-scrollbar{display:none}
.dots{display:flex;justify-content:center;gap:.55rem;padding:.7rem 0 .2rem}
.feature .dots{grid-column:auto}
.dots button{width:7px;height:7px;padding:0;border-radius:50%;border:0;background:#c9a45c55;cursor:pointer;transition:.3s}
.dots button.on{background:#d6b26a;width:20px;border-radius:4px}
.media{min-width:0}.feature.flip>.media{order:2}@media(max-width:760px){.feature.flip>.media{order:0}}

body{font:300 16.5px/1.75 'Jost','Helvetica Neue',Arial,sans-serif;letter-spacing:.02em;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Playfair Display','Didot','Times New Roman',serif;font-weight:400;letter-spacing:.005em}
.eyebrow,.nav nav,.btn,.link,figcaption a,.set .cap a,.note p{font-family:'Jost',sans-serif;font-weight:400}
figcaption,.set .cap .t{font-family:'Jost',sans-serif;font-weight:400;letter-spacing:.06em}
.set .cap .t{font-size:1.1rem}figcaption{font-size:.92rem}
.intro{font-weight:300;font-size:1.3rem;line-height:1.7;letter-spacing:.02em}
.set .cap em,figcaption em{font-family:'Jost',sans-serif;font-weight:300;letter-spacing:.08em}
.page{padding:9rem 6vw 4rem;max-width:1100px;margin:0 auto}
.page h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;color:var(--gold);margin:.4rem 0 1.4rem}
.page h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;color:var(--sand);margin:2.6rem 0 .8rem}
.page p{max-width:720px}.page .lead{font-size:1.15rem;color:var(--sand)}
.page a:not(.btn){color:var(--gold)}
.pgal{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin:2rem 0}
.pgal figure{margin:0}.pgal img{width:100%;height:auto;display:block}.pgal figcaption{padding:.6rem 0;font-size:.9rem;color:var(--taupe)}.pgal em{display:block;color:var(--gold);font-style:normal}
.pcta{margin:3rem 0 1rem;display:flex;flex-wrap:wrap;gap:.8rem}
.fnav{margin:.8rem 0 0;font-size:.8rem}.fnav a{color:var(--taupe);text-decoration:none;margin:0 .6rem;display:inline-block}
@media(max-width:600px){.page{padding-top:7rem}}
.brand img,footer img{height:auto}
.pgal figure{position:relative}
.pgal figcaption,.page figure figcaption{position:static!important;opacity:1!important;display:block!important;background:none!important;padding:.6rem 0!important;color:var(--sand)}
.pgal figcaption em{margin:.2rem 0 0!important}
.page img{max-width:100%;height:auto}
.page>figure{margin:2rem 0;max-width:720px}
.pgal figure,.page figure{background:none!important;overflow:visible!important}.pgal figcaption{background:none!important}
