:root{--ink:#143d35;--deep:#0b2924;--ivory:#f5f0e7;--sand:#d7c6a8;--bronze:#ae8753;--line:rgba(20,61,53,.22);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 15px/1.7 var(--sans)}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:20;background:#fff;padding:.7rem 1rem}
.skip-link:focus{top:1rem}
.site-header{height:82px;position:absolute;z-index:5;top:0;left:0;width:100%;padding:0 5.5vw;color:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.25)}
.brand{font:500 22px/1 var(--serif);letter-spacing:-.04em}
.brand span{font-style:italic}
.site-header nav{display:flex;gap:2rem;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.site-header nav>a{padding:8px 0}
.nav-enquire{border-bottom:1px solid currentColor}
.menu-button{display:none}
.hero{color:#fff;min-height:720px;height:100svh;position:relative;overflow:hidden}
.hero>img{position:absolute;inset:0}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,22,.74),rgba(7,26,22,.16) 68%),linear-gradient(0deg,rgba(7,26,22,.35),transparent 35%)}
.eyebrow{margin:0 0 18px;text-transform:uppercase;font-size:10px;line-height:1.2;letter-spacing:.2em;font-weight:600;color:var(--bronze)}
.hero-copy>p.eyebrow.hero-eyebrow{color:#e4c89c;font-size:10px;letter-spacing:.2em;margin-bottom:22px}
.hero-copy{position:absolute;left:10vw;bottom:10%;max-width:650px}
.hero h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.055em;line-height:.98;margin:0}
.hero h1{font-size:clamp(64px,6.4vw,104px);line-height:.92}
em{font-weight:500}
.hero-lead{font:500 clamp(20px,2.1vw,29px)/1.25 var(--serif);margin:28px 0 10px}
.hero-copy>p:not(.hero-lead){max-width:485px;margin:0;font-size:15px;color:#f5f0e7}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}
.button{display:inline-block;padding:14px 22px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;transition:.25s}
.button-light{background:var(--ivory);color:var(--deep)}
.button:hover{background:var(--bronze);color:#fff}
.text-link{font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px;font-weight:600}
.text-link i{font-style:normal;font-size:15px;margin-left:6px}
.scroll-cue{position:absolute;right:5.5vw;bottom:7%;font-size:9px;text-transform:uppercase;letter-spacing:.18em;writing-mode:vertical-rl}
.scroll-cue span{font-size:18px;margin-top:12px}
.section{padding:140px 9vw}
.intro{display:grid;grid-template-columns:90px minmax(300px,1.2fr) minmax(280px,.8fr);gap:4vw}
.section-mark{font:500 24px var(--serif);color:var(--bronze)}
h2{font-size:clamp(46px,5.5vw,83px)}
.intro-copy{padding-top:75px}
.large-copy{font:500 25px/1.3 var(--serif);margin:0 0 25px}
.intro-copy>p:not(.large-copy){max-width:430px;margin:0 0 25px}
.manifesto{background:var(--deep);position:relative;min-height:720px;color:var(--ivory);display:grid;grid-template-columns:1.1fr .9fr}
.manifesto>img{height:100%;position:absolute;inset:0;width:55%;opacity:.9}
.manifesto-panel{background:var(--deep);z-index:1;grid-column:2;padding:13vw 9vw 8vw 7vw;position:relative;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.manifesto h2{font-size:clamp(38px,4.5vw,66px)}
.manifesto p:last-child{margin-top:35px;max-width:410px;color:#d9ded9}
.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:80px}
.section-top>p{max-width:250px;margin:0}
.house-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}
.house-card figure{height:440px;margin:0 0 30px;position:relative;overflow:hidden}
.house-card figure img{transition:transform .7s ease}
.house-card:hover figure img{transform:scale(1.045)}
.house-card figcaption{position:absolute;bottom:0;right:0;background:var(--ivory);padding:13px 0 0 15px;font:22px var(--serif);color:var(--bronze)}
.house-card h3{font-size:clamp(34px,3.5vw,53px);margin:7px 0 18px}
.house-card>div>p:not(.eyebrow){max-width:320px;margin:0 0 24px;font-size:14px}
.house-card.offset{margin-top:100px}
.experience{background:#e7ded0;display:grid;grid-template-columns:1fr 1fr;padding:0}
.experience-image{min-height:850px}
.experience-copy{padding:130px 10%;align-self:center}
.experience-copy h2{font-size:clamp(42px,4.5vw,68px);margin-bottom:55px}
.experience-list{border-top:1px solid var(--line)}
.experience-list>div{position:relative;display:grid;grid-template-columns:38px 1fr 1.1fr;gap:12px;padding:19px 0;border-bottom:1px solid var(--line)}
.experience-list span{font:italic 16px var(--serif);color:var(--bronze)}
.experience-list h3{font-size:20px;letter-spacing:-.03em}
.experience-list p{font-size:12px;margin:0}
.difference{background:var(--ink);color:var(--ivory);padding:130px 14vw;display:grid;grid-template-columns:1.4fr .6fr;gap:8vw}
.difference h2{font-size:clamp(42px,5vw,72px)}
.difference>p{align-self:end;margin:0;color:#dae1dc}
.location{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}
.location-copy>p:not(.eyebrow){max-width:440px;margin:25px 0}
.location-art{height:650px;position:relative}
.location-art p{position:absolute;bottom:0;left:0;margin:0;background:var(--ivory);padding:24px 25px 0 0;font:42px/.9 var(--serif);letter-spacing:-.06em}
.location-art span{font:10px var(--sans);letter-spacing:.15em;text-transform:uppercase}
.nature{min-height:680px;position:relative;color:white;display:flex;align-items:center}
.nature>img{position:absolute;inset:0}
.nature:after{content:"";position:absolute;inset:0;background:rgba(9,31,27,.5)}
.nature-copy{z-index:1;position:relative;margin-left:10vw;max-width:500px}
.nature .eyebrow{color:#ebc98f}
.nature h2{font-size:clamp(46px,5.2vw,76px)}
.nature-copy>p:last-child{font-size:16px;margin-top:27px}
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:21px 0;font:500 23px/1.25 var(--serif);letter-spacing:-.03em;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary span{color:var(--bronze)}
details[open] summary span{transform:rotate(45deg)}
details p{margin:0 35px 24px 0;max-width:610px;font-size:13px}
.final-cta{min-height:720px;color:#fff;position:relative;display:grid;place-items:center;text-align:center}
.final-cta>img{position:absolute;inset:0}
.final-cta:after{content:"";position:absolute;inset:0;background:rgba(7,30,26,.55)}
.final-cta>div{position:relative;z-index:1;max-width:800px;padding:70px 20px}
.final-cta .eyebrow{color:#e8c794}
.final-cta h2{font-size:clamp(48px,6vw,88px)}
.final-cta p:not(.eyebrow){max-width:490px;margin:24px auto 0}
.final-cta .hero-actions{justify-content:center}
.light{color:#fff}
footer{min-height:180px;background:#08211d;color:#f5f0e7;display:flex;align-items:center;justify-content:space-between;padding:40px 5.5vw;font-size:10px;text-transform:uppercase;letter-spacing:.14em}
footer p{margin:0}
footer>a:last-child{border-bottom:1px solid #d3b077;padding-bottom:4px;color:#d3b077}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--bronze);outline-offset:5px}

@media(max-width:800px){.site-header{height:65px;padding:0 6vw}
.site-header nav{display:none;position:absolute;top:65px;left:0;right:0;background:var(--deep);padding:25px 6vw;flex-direction:column;align-items:flex-start;gap:12px}
.site-header nav.open{display:flex}
.menu-button{display:flex;align-items:center;gap:8px;background:none;border:0;color:#fff;text-transform:uppercase;font:600 10px var(--sans);letter-spacing:.15em}
.menu-button span,.menu-button:after{content:"";display:block;width:18px;height:1px;background:currentColor}
.hero{min-height:690px}
.hero-copy{left:7vw;right:7vw;bottom:12%}
.hero-eyebrow{margin-bottom:18px}
.hero h1{font-size:clamp(59px,18vw,90px)}
.scroll-cue{display:none}
.section{padding:86px 7vw}
.intro{grid-template-columns:40px 1fr;gap:20px}
.intro-copy{grid-column:2;padding-top:12px}
.manifesto{min-height:680px;display:block}
.manifesto>img{width:100%;height:100%}
.manifesto-panel{position:absolute;bottom:0;right:0;width:94%;padding:70px 7vw 45px;clip-path:none;background:rgba(11,41,36,.94)}
.section-top{display:block;margin-bottom:45px}
.section-top>p{margin-top:20px}
.house-grid{display:block}
.house-card,.house-card.offset{margin:0 0 65px}
.house-card figure{height:min(112vw,530px)}
.experience{display:block}
.experience-image{min-height:480px}
.experience-copy{padding:78px 7vw}
.difference{padding:80px 7vw;display:block}
.difference>p{margin-top:35px}
.location{display:flex;flex-direction:column;gap:45px}
.location-art{width:100%;height:480px}
.nature{min-height:600px}
.nature-copy{margin:0 7vw}
.faq{display:block}
.faq-list{margin-top:45px}
.final-cta{min-height:650px}
.hero-actions{gap:18px;flex-wrap:wrap}
footer{padding:40px 7vw;align-items:flex-start;gap:23px;flex-direction:column}
.experience-list>div{grid-template-columns:30px 1fr}
.experience-list p{grid-column:2}
}
