@font-face{font-family:Erva;src:url('fonts/cormorant-garamond-latin.woff2') format('woff2'),url('fonts/cormorant-garamond.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
/* Georgia sized to Cormorant's metrics, so the swap moves nothing (values from tools/fonts/build-woff2.py). */
@font-face{font-family:'Erva Fallback';src:local('Georgia');size-adjust:87.53%;ascent-override:105.56%;descent-override:32.79%;line-gap-override:0%}
:root{--blue:#123b5d;--deep:#0c293c;--paper:#f3f2eb;--ink:#182e39;--muted:#52636a;--line:#cbd0cc;--serif:Erva,'Erva Fallback',Georgia,serif;--sans:'Aptos','Segoe UI',sans-serif;--gutter:clamp(24px,6vw,100px);--night:#0f1c24;--gallery:#0d1114;--sand:#dac49e;--cream:#f1eee6;--cream-meta:#f1eee6b8;--hairline-sand:#dac49e59;--ease-page:cubic-bezier(.2,.7,.2,1);--sheet-edge:inset 0 1px 0 #ffffff33;--night-light:radial-gradient(120% 85% at 0% 0%,#ffffff0f,#ffffff00 62%)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:#617780 var(--paper);scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:.98;text-wrap:balance}h2{font-size:clamp(46px,5.8vw,82px)}em{font-style:normal;color:inherit}::selection{background:var(--blue);color:#fff}:focus-visible{outline:3px solid #a06b23;outline-offset:6px}.shell{width:min(1440px,calc(100% - var(--gutter)*2));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:100;background:var(--paper);color:var(--ink);padding:12px 18px}.skip-link:focus{transform:none}
.header{height:106px;position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);color:#fff;border-bottom:1px solid #ffffff40}.brand{display:flex;align-items:center;gap:12px;line-height:1.15}.brand img{width:44px;height:44px;background:var(--paper);padding:4px}.brand>span{font-family:var(--serif);font-size:30px}.brand small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.08em;margin-top:7px}.header nav{display:flex;gap:34px;font-size:14px}.header nav a{padding-block:12px}.header nav a:hover{text-decoration:underline;text-underline-offset:7px}.header-contact{display:flex;align-items:center;gap:24px;font-size:14px;padding-block:12px;border-bottom:1px solid #ffffff80}
.opening{height:155svh;position:relative;background:var(--paper)}.scene{position:sticky;top:0;height:100svh;min-height:640px;overflow:hidden}.scene-frame{position:absolute;inset:0;overflow:hidden;clip-path:inset(var(--frame-y,0%) var(--frame-x,0%));background:var(--deep)}.architecture{height:100%;width:100%;object-fit:cover;object-position:63% center;transform:scale(var(--image-scale,1.035));will-change:transform}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,32,.77) 0%,rgba(6,22,32,.39) 46%,rgba(6,22,32,.03) 78%),linear-gradient(0deg,rgba(6,22,32,.63),transparent 25%,transparent 80%,rgba(6,22,32,.35));pointer-events:none}.hero-content{position:absolute;left:var(--gutter);top:clamp(155px,24vh,250px);width:calc(100% - var(--gutter)*2);color:#fff;opacity:var(--text-opacity,1);transform:translateY(var(--text-y,0px))}.hero-content h1{font-size:clamp(66px,7.1vw,96px);line-height:.93;max-width:690px}.hero-content em{color:#e3d6bf}.hero-bottom{display:flex;align-items:center;gap:46px;margin-top:38px}.hero-bottom p{font-size:15px;line-height:1.6;max-width:280px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;padding:16px 25px;font-size:14px;transition:background .2s,color .2s}.button.light{background:var(--paper);color:var(--deep)}.button.light:hover{background:#ded6c6}.button.blue{background:var(--blue);color:#fff}.button.blue:hover{background:var(--deep)}.button svg{transition:transform .2s}.button:hover svg{transform:translateX(3px)}.scene-caption{position:absolute;left:var(--gutter);right:var(--gutter);bottom:28px;display:flex;justify-content:space-between;color:#fff;font-size:11px;opacity:var(--text-opacity,1)}.scene-caption span:last-child{padding:3px 8px;background:#122e3bc9}.scroll-cue{position:absolute;right:var(--gutter);bottom:110px;display:flex;align-items:center;gap:24px;color:#fff;font-size:12px;opacity:var(--text-opacity,1);padding:14px 0}.scroll-cue svg{height:34px;width:34px}.frame-note{position:absolute;bottom:18px;left:0;width:100%;text-align:center;font-size:13px;letter-spacing:.04em;opacity:var(--note-opacity,0);color:var(--muted)}
.about{background:var(--blue);color:var(--paper);overflow:hidden}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;padding-top:70px}.portrait{position:relative;align-self:end;background:#234964;max-height:560px;padding-top:30px}.portrait:before{content:'';position:absolute;inset:35px 40px 0;border:1px solid #82939c66;border-bottom:0}.portrait img{position:relative;object-fit:contain;object-position:bottom;width:100%;height:500px}.portrait>span{position:absolute;bottom:28px;left:28px;font-family:var(--serif);font-size:32px;line-height:1.1;color:#fff;background:#0c293ce8;padding:12px 18px}.portrait small{font-family:var(--sans);font-size:10px;letter-spacing:.08em}.about-copy{padding-bottom:65px}.about-copy h2{margin-bottom:28px}.about-copy h2 em{color:#d2c5aa}.about-copy>p{max-width:40ch;color:#e3edf4;font-size:16px;margin-bottom:14px}.about-copy .text-link{margin-top:18px}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:130px;font-size:12px;color:var(--muted)}.footer-brand{font-family:var(--serif);font-size:30px;color:var(--blue)}footer>span{font-size:11px}
@media(min-width:1700px){.hero-content{top:27vh}.hero-content h1{font-size:96px}.hero-bottom{margin-top:44px}}
@media(max-width:1050px){.header nav{gap:18px}.header-contact{gap:12px}.property{gap:36px}.photo-stage{height:610px}.thumbnails button{display:block}.thumbnails img{width:100%;height:65px;margin-bottom:7px}.about-inner{gap:50px}.portrait img{height:450px}}
@media(max-width:700px){:root{--gutter:24px}html{scroll-padding-top:24px}.header{height:88px}.brand>span{font-size:27px}.brand img{width:36px;height:36px}.brand small{font-size:11px;letter-spacing:.02em}.header nav{display:none}.header-contact{font-size:12px;gap:9px}.header-contact svg{width:17px}.opening{height:124svh}.scene{min-height:640px}.architecture{object-position:64% center}.shade{background:linear-gradient(90deg,#061620b8,#06162030),linear-gradient(0deg,#061620cf,transparent 55%,#06162030)}.hero-content{top:24%;}.hero-content h1{font-size:clamp(62px,15.5vw,88px);line-height:.95}.hero-bottom{display:block;margin-top:26px}.hero-bottom p{font-size:14px}.hero-bottom .button{margin-top:22px;min-height:52px;padding-inline:21px}.scene-caption{bottom:22px;right:24px;align-items:flex-end;gap:24px;font-size:11px;line-height:1.5}.scene-caption span:first-child{max-width:100px}.scroll-cue{bottom:100px;right:25px}.scroll-cue span{display:none}.scroll-cue svg{width:25px}.frame-note{bottom:11px;font-size:11px}.featured{padding-top:54px;padding-bottom:60px}.section-intro{display:block;margin-bottom:34px}.section-intro h2{font-size:52px}.section-intro>p{margin-top:24px;font-size:14px;max-width:32ch}.property{grid-template-columns:1fr;gap:36px}.photo-stage{height:450px}.photo-tag{top:16px;left:16px;font-size:11px}.photo-controls{padding:17px}.thumbnails{gap:12px}.thumbnails button{display:flex;flex-direction:column;align-items:flex-start;gap:0}.thumbnails img{height:58px;width:100%;margin-bottom:5px}.property-location{padding-bottom:16px}.property-info h3{font-size:52px;margin-block:24px}.property-description{font-size:15px}.specs{margin-block:24px}.catalogue-link{margin-top:42px;display:block;padding-top:27px}.catalogue-link p{font-size:16px}.catalogue-link .text-link{margin-top:18px}.about-inner{grid-template-columns:1fr;gap:36px;padding-top:48px}.about-copy{grid-row:1;padding-bottom:0}.about-copy h2{font-size:54px}.about-copy>p{font-size:15px}.portrait{width:100%;max-height:410px}.portrait img{height:380px}.portrait>span{bottom:20px;left:20px;font-size:28px}footer{flex-wrap:wrap;justify-content:flex-start;gap:8px 20px;padding-block:28px;min-height:unset}footer>span{width:100%}.footer-brand{font-size:27px}}
@media(max-height:700px) and (min-width:701px){.scene{min-height:600px}.hero-content{top:150px}.hero-content h1{font-size:74px}.hero-bottom{margin-top:24px}.hero-bottom p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.opening{height:100svh;min-height:640px}.scene{position:relative}.scene-frame{clip-path:none!important}.architecture{transform:none!important}.hero-content{opacity:1!important;transform:none!important}.scene-caption,.scroll-cue{opacity:1!important}.frame-note{display:none}*,*::before,*::after{transition:none!important;animation:none!important}}

.scene-frame:focus-within{clip-path:none}.hero-content:focus-within{opacity:1;transform:none}
