@font-face{font-family:Work Sans;src:url('../fonts/WorkSans-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Work Sans;src:url('../fonts/WorkSans-300.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:EB Garamond;src:url('../fonts/EBGaramond-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--charcoal:#221f1d;--sandstone:#f6f1ec;--champagne:#9d8b72;--pink:#cfb8af;--gutter:clamp(24px,6vw,100px);color-scheme:dark;background:var(--charcoal);color:var(--sandstone);font-family:'Work Sans',Arial,sans-serif;font-weight:300}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}body.menu-open{overflow:hidden}h1,h2,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}[hidden]{display:none!important}:is(a,button):focus-visible{outline:2px solid var(--sandstone);outline-offset:7px}.editorial:not(.enquire) :focus-visible{outline-color:var(--charcoal)}::selection{background:var(--pink);color:var(--charcoal)}.skip-link{position:fixed;top:16px;left:16px;padding:16px;background:var(--sandstone);color:var(--charcoal);transform:translateY(-180%);z-index:20}.skip-link:focus{transform:none}.masthead{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:26px var(--gutter);z-index:5;background:linear-gradient(#0006,transparent)}.brand img{width:110px;height:auto}.masthead-actions{display:flex;align-items:center;gap:44px;font-size:11px;letter-spacing:.08em}.member-link{padding:15px 0;border-bottom:1px solid #f6f1ec70}.menu-button,.menu-close{border:0;background:none;min-height:44px;padding:10px 0;display:flex;gap:20px;align-items:center;font-size:12px;letter-spacing:.08em}.menu-button span{font-size:17px}.scene{position:relative;isolation:isolate;overflow:hidden;min-height:760px;height:100svh;background:#37312b;display:flex;align-items:flex-end;padding:100px var(--gutter)}.scene-media,.scene-shade{position:absolute;inset:0;z-index:-1}.scene-media img,.scene-media video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.scene-media video{opacity:1;pointer-events:none}.scene-media video.is-autoplay-blocked{visibility:hidden}.scene-shade{background:linear-gradient(180deg,#17130e18 15%,#17130e26 35%,#17130ed9 100%)}.hero{min-height:700px;padding-bottom:145px}.hero .scene-shade{background:linear-gradient(180deg,#17130e33,#17130e12 25%,#17130e66 50%,#17130ed9)}.hero-copy{max-width:1100px}.eyebrow{font-size:10px;letter-spacing:.19em;line-height:1.8;font-weight:400}.hero-copy .eyebrow{margin-bottom:30px}.hero h1,.scene h2,.editorial h2{font-family:'EB Garamond',Georgia,serif;font-weight:400;letter-spacing:-.035em;text-wrap:balance}.hero h1{font-size:clamp(72px,8.3vw,140px);line-height:.95}.hero-intro{margin-top:30px;font-size:14px;line-height:1.8;letter-spacing:.01em}.scene-next{position:absolute;left:var(--gutter);bottom:40px;display:flex;gap:50px;align-items:center;padding:12px 0;font-size:10px;letter-spacing:.1em}.scene-next span:last-child{font-size:24px;font-weight:300}.scene-index{position:absolute;right:var(--gutter);bottom:53px;font-size:9px;letter-spacing:.16em;color:#f6f1ecd9}.editorial{background:var(--sandstone);color:var(--charcoal);padding:100px var(--gutter) 90px}.section-heading{display:flex;align-items:center;gap:30px;margin-bottom:75px}.small-rule{height:1px;background:#9d8b7266;flex:1}.editorial-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(50px,9vw,180px)}.editorial h2{font-size:clamp(46px,4.8vw,78px);line-height:1.04}.editorial-copy{max-width:440px;padding-top:5px}.editorial-copy p{font-size:15px;line-height:1.9;margin-bottom:24px}.editorial-copy .lead{font-family:'EB Garamond',Georgia,serif;font-size:29px;line-height:1.3;margin-bottom:28px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:11px;font-weight:400;border-bottom:1px solid var(--champagne);padding:16px 0;min-height:48px;line-height:1.5}.text-link span,.outline-link span{font-size:18px}.philosophy-signoff{margin-top:95px;border-top:1px solid #9d8b7266;padding-top:24px;display:flex;gap:30px;justify-content:space-between;font-size:9px;letter-spacing:.18em}.scene-copy{max-width:1050px}.scene-copy .eyebrow{margin-bottom:30px}.scene h2{font-size:clamp(55px,6vw,100px);line-height:1.03}.scene-copy>p:last-child:not(.eyebrow){margin-top:30px;line-height:1.9;font-size:14px}.place-scene .scene-media img,.place-scene .scene-media video{object-position:center 58%}.connection{padding-bottom:125px}.enquire{background:var(--charcoal);color:var(--sandstone);text-align:center;padding-top:110px;padding-bottom:125px}.enquire-key{width:26px;height:auto;margin:0 auto 46px}.enquire .eyebrow{color:var(--pink);margin-bottom:30px}.enquire h2{font-size:clamp(64px,7vw,105px);line-height:.97}.enquire>p:not(.eyebrow){font-size:14px;margin-top:30px}.enquire-actions{display:flex;align-items:center;justify-content:center;gap:44px;margin-top:42px}.outline-link{border:1px solid var(--champagne);display:flex;justify-content:space-between;gap:50px;padding:18px 25px;font-size:11px;min-height:56px}.site-footer{padding:50px var(--gutter) 35px;background:var(--charcoal);border-top:1px solid #9d8b724d;display:grid;grid-template-columns:1fr 2fr;gap:40px}.footer-brand img{width:130px;height:auto}.site-footer nav{display:flex;gap:10px 28px;flex-wrap:wrap;align-content:center;justify-content:flex-end;font-size:11px}.site-footer nav a{padding:12px 0;min-height:44px}.footer-notes{grid-column:1/-1;border-top:1px solid #9d8b7233;padding-top:25px;display:flex;justify-content:space-between;align-items:flex-start;gap:25px;color:var(--pink);font-size:9px;line-height:1.7}.footer-notes>span:nth-child(2){max-width:320px}.footer-notes>a{white-space:nowrap;padding-bottom:12px}.menu-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;margin:0;padding:40px var(--gutter) 60px;background:var(--charcoal);color:var(--sandstone);overflow:auto}.menu-dialog::backdrop{background:var(--charcoal)}.menu-top{display:flex;justify-content:space-between;align-items:center;gap:24px}.menu-top .eyebrow{color:var(--pink)}.menu-close span{font-size:30px;font-weight:300}.menu-links{display:grid;gap:14px;max-width:1000px;margin:65px auto 45px}.menu-links a{font:400 clamp(36px,6vw,80px)/1.2 'EB Garamond',Georgia,serif;display:flex;align-items:center;gap:35px;padding:12px 0}.menu-links a>span{font:400 10px 'Work Sans',sans-serif;letter-spacing:.1em;color:var(--pink)}.menu-access{max-width:1000px;margin:auto;border-top:1px solid #9d8b7277;padding-top:25px;display:flex;gap:45px;font-size:12px}.menu-access a{padding:15px 0}.text-link:hover,.member-link:hover{border-color:currentColor}.outline-link:hover{background:var(--sandstone);color:var(--charcoal)}
@media(min-width:1600px){.editorial{padding-top:140px;padding-bottom:130px}.editorial-grid{max-width:1500px;margin:auto}.section-heading{max-width:1500px;margin:0 auto 80px}}
@media(max-width:800px){.masthead{padding-top:24px}.brand img{width:92px}.masthead-actions{gap:24px}.member-link{font-size:10px}.scene{min-height:650px;padding-bottom:105px}.hero{padding-bottom:145px}.hero h1{font-size:clamp(65px,12vw,100px)}.hero-copy .eyebrow{font-size:9px;letter-spacing:.12em}.hero-intro{font-size:13px}.scene-index{display:none}.scene-next{bottom:40px}.editorial{padding-top:65px;padding-bottom:65px}.section-heading{margin-bottom:45px}.editorial-grid{grid-template-columns:1fr;gap:40px}.editorial h2{font-size:clamp(43px,8vw,62px)}.editorial-copy{max-width:550px}.editorial-copy .lead{font-size:27px}.philosophy-signoff{margin-top:55px;font-size:8px;gap:15px;letter-spacing:.08em}.scene h2{font-size:clamp(46px,8.5vw,75px)}.scene-copy>p:last-child:not(.eyebrow){font-size:13px}.enquire{padding-top:75px;padding-bottom:85px}.enquire h2{font-size:clamp(57px,10vw,80px)}.enquire-actions{gap:25px;flex-wrap:wrap}.site-footer{grid-template-columns:1fr;gap:35px;padding-bottom:85px}.footer-brand img{width:110px}.site-footer nav{justify-content:flex-start;gap:5px 25px}.footer-notes{flex-direction:column;gap:15px}.menu-dialog{padding-top:25px}.menu-links{margin-top:50px;gap:15px}.menu-links a{gap:20px}.menu-access{gap:24px;flex-wrap:wrap}}
@media(max-width:380px){.masthead-actions{gap:15px}.member-link{max-width:55px;line-height:1.6}.hero h1{font-size:61px}.hero-copy .eyebrow{max-width:230px}.philosophy-signoff{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){.outline-link{transition:background .25s,color .25s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media(forced-colors:active){.scene-media,.scene-shade{display:none}.scene,.enquire,.site-footer,.menu-dialog{background:Canvas;color:CanvasText}.outline-link{border:1px solid ButtonText}}

/* Measured motion: reveal masks reverse when a section leaves the viewport. */
.reveal-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em;max-width:100%}
.reveal-line{display:block;transform:translateY(115%);transition:transform 1500ms cubic-bezier(.22,1,.36,1)}
.text-reveal.is-revealed .reveal-line{transform:none}
.text-reveal:focus-within .reveal-line,section:focus-within .reveal-line{transform:none;transition:none}
.menu-dialog{transform:translateY(-105%);transition:transform 1125ms cubic-bezier(.76,0,.24,1)}
.menu-dialog.is-open{transform:none}
.menu-dialog::backdrop{background:#221f1d99}
.menu-links a{overflow:hidden;display:block}
.menu-links a>.menu-label{display:flex;align-items:center;gap:35px;font:inherit;color:inherit;letter-spacing:inherit;transform:translateY(120%);transition:transform 400ms cubic-bezier(.22,1,.36,1)}
.menu-label>span{font:400 10px 'Work Sans',sans-serif;letter-spacing:.1em;color:var(--pink)}
.menu-dialog.is-open .menu-label{transform:none;transition-duration:1500ms;transition-delay:600ms}
.menu-dialog.is-open .menu-links a:nth-child(2) .menu-label{transition-delay:750ms}
.menu-dialog.is-open .menu-links a:nth-child(3) .menu-label{transition-delay:900ms}
.menu-dialog.is-open .menu-links a:nth-child(4) .menu-label{transition-delay:1050ms}
.menu-dialog.is-open .menu-links a:focus-visible .menu-label{transform:none;transition:none}
@media(max-width:800px){.menu-links a>.menu-label{gap:20px}}
@media(prefers-reduced-motion:reduce){.reveal-line,.menu-dialog,.menu-links a>.menu-label{transform:none!important;transition:none!important}}

/* Navigation remains available throughout the long-form experience. */
.masthead{position:fixed;transition:transform 450ms cubic-bezier(.22,1,.36,1),background-color 300ms,padding 300ms}
.masthead.is-scrolled{background:var(--charcoal);padding-top:12px;padding-bottom:12px;box-shadow:0 1px 0 #9d8b7233}
.masthead.is-scrolled .brand img{width:82px}
.masthead.is-idle-hidden{transform:translateY(-105%)}
.masthead:focus-within,.menu-open .masthead{transform:none}
section[id]{scroll-margin-top:94px}
/* Centre the architectural focal point when wide films fill a portrait screen. */
@media(max-width:800px){
  .hero .scene-media img,.hero .scene-media video{object-position:72% center}
  .place-scene .scene-media img,.place-scene .scene-media video{object-position:42% center}
  .living-scene .scene-media img,.living-scene .scene-media video{object-position:68% center}
  .masthead.is-scrolled .brand img{width:76px}
}
@media(prefers-reduced-motion:reduce){.masthead.is-idle-hidden{transform:none}}

/* Staged official lockup. A 57% split falls in the clear gap below the key. */
.brand-intro{display:grid;position:fixed;inset:0;z-index:30;background:var(--charcoal);place-items:center;pointer-events:auto;opacity:1;visibility:visible;animation:brand-intro-sequence 3500ms linear forwards}
.brand-intro-lockup{position:relative;width:clamp(260px,35vw,460px);max-width:calc(100vw - 48px);aspect-ratio:1427/909}
.brand-intro-lockup img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0}
.brand-intro-key{clip-path:inset(0 0 43% 0);animation:brand-intro-part 800ms ease 100ms both}
.brand-intro-wordmark{clip-path:inset(57% 0 0 0);animation:brand-intro-part 900ms ease 800ms both}
/* JavaScript may take over; otherwise the complete sequence fails open in 3.5s. */
.brand-intro.is-managed{animation:none;opacity:1;visibility:visible}
.brand-intro.is-managed img{animation:none;opacity:0}
.brand-intro.is-revealing{pointer-events:none}
@keyframes brand-intro-part{from{opacity:0}to{opacity:1}}
@keyframes brand-intro-sequence{0%,68.571%{opacity:1;visibility:visible}99.999%{visibility:visible}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.brand-intro,.brand-intro.is-managed{display:none;animation:none!important}.brand-intro img{animation:none!important}}
