@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ink:#172a36;--muted:#637078;--paper:#fff;--surface:#f2f4f3;--line:#d9dfdf;--accent:#a8cbd4;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}a,button{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #1684a6;outline-offset:6px}::selection{background:#b4d8e2}.skip-link{position:absolute;top:-100px;left:20px;z-index:99;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:12px}
.site-header{height:106px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:17px}.brand-mark{font-family:var(--serif);font-size:56px;letter-spacing:-4px;line-height:1}.brand-mark span{color:#698e9a}.brand-name{font-size:12px;letter-spacing:1.7px;line-height:1.5;font-weight:650}.site-header nav{display:flex;gap:34px;font-size:14px}.site-header nav a{padding:8px 0;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--ink)}.header-contact{border-bottom:1px solid var(--ink);padding:7px 0;font-size:14px;font-weight:550}.header-contact span{margin-left:20px;font-size:20px}
.hero{display:grid;grid-template-columns:40% 60%;min-height:660px;max-height:920px;padding:38px 4.5% 0;gap:0}.hero-copy{padding:35px 9% 40px 0;position:relative}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.2px;margin:0 0 28px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,7.1vw,112px);letter-spacing:-2.5px;line-height:.91;margin:0 0 29px}.hero h1 em{font-weight:400;color:#5b7d89}.hero-description{font-size:16px;line-height:1.7;max-width:300px;margin:0 0 27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:16px 23px;min-height:56px;font-size:14px;font-weight:550;transition:background .2s,transform .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#2d4757}.play-icon{font-size:24px;line-height:1}.hero-price{margin-top:34px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hero-price strong{font-size:30px;font-weight:500;letter-spacing:-1px}.hero-price>span{color:var(--muted);font-size:14px}.hero-price .price-label{flex-basis:100%;font-size:12px;margin-top:-7px;letter-spacing:.3px}.hero-visual{position:relative;min-width:0;margin-bottom:40px}.hero-photo{height:100%;min-height:640px;object-position:51% center}.photo-caption{position:absolute;left:25px;right:25px;top:25px;display:flex;justify-content:space-between;gap:20px;color:white;text-shadow:0 1px 8px #0009;font-size:12px;letter-spacing:1.2px}.photo-caption span:last-child{letter-spacing:0}.terrace-peek{position:absolute;right:-20px;bottom:26px;width:40%;min-width:210px;background:white;padding:7px;box-shadow:0 8px 28px #0002}.terrace-peek img{aspect-ratio:1.55}.terrace-peek>span{display:flex;justify-content:space-between;padding:11px 9px 5px;font-size:12px;font-weight:500}.spec-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 4.5%;padding:32px 0}.spec-strip>div{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line)}.spec-strip>div:last-child{border:0}.spec-strip strong{font-weight:450;font-size:36px;letter-spacing:-1.5px;line-height:1.25}.spec-strip strong span{font-size:23px;letter-spacing:-.5px}.spec-strip>div>span{font-size:13px;color:var(--muted);margin-top:7px}
@media(min-width:1600px){.hero{max-width:1700px;margin:auto}.site-header{padding-left:max(4.5%,calc((100vw - 1550px)/2));padding-right:max(4.5%,calc((100vw - 1550px)/2))}}
@media(max-width:1000px){.site-header{height:88px;gap:18px}.site-header nav{gap:20px}.brand-name{display:none}.hero{grid-template-columns:43% 57%;min-height:620px}.hero-copy{padding-top:30px}.hero h1{font-size:85px}.hero-photo{min-height:610px}.photo-caption span:last-child{display:none}.terrace-peek{right:-12px}.header-contact span{margin-left:10px}}
@media(max-width:680px){html{scroll-padding-top:85px}.site-header{height:78px;padding:0 6%;gap:12px}.brand-mark{font-size:47px}.site-header nav{display:none}.header-contact{font-size:13px}.hero{display:flex;flex-direction:column;padding:0;max-height:none}.hero-copy{padding:35px 6% 31px;display:grid;grid-template-columns:1fr 1fr;column-gap:15px}.eyebrow{font-size:11px;letter-spacing:1.6px;margin-bottom:22px;grid-column:1/-1}.hero h1{font-size:clamp(66px,15vw,95px);grid-column:1/-1;line-height:.94;letter-spacing:-1.8px;margin-bottom:22px}.hero h1 br:nth-child(2){display:none}.hero h1 em{margin-left:.05em}.hero-description{grid-column:1/-1;max-width:360px;margin-bottom:23px;font-size:16px}.hero-copy .button{justify-self:start;align-self:end;padding:13px 15px;gap:12px;white-space:nowrap;font-size:13px}.hero-price{margin:0;align-self:end;justify-content:flex-end;gap:5px}.hero-price strong{font-size:27px}.hero-price .price-label{text-align:right;font-size:11px}.hero-visual{height:430px;margin:0 6% 25px}.hero-photo{min-height:0;height:100%;object-position:center}.photo-caption{left:18px;top:18px;font-size:10px}.terrace-peek{width:43%;min-width:150px;bottom:19px;right:-9px;padding:5px}.terrace-peek>span{font-size:10px;padding:8px 5px 3px}.spec-strip{margin:0 6%;padding:25px 0;grid-template-columns:repeat(2,1fr);gap:24px 0}.spec-strip>div:nth-child(2){border:0}.spec-strip strong{font-size:32px}.spec-strip>div>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.section{max-width:1560px;margin:0 auto;padding:110px 6%}.section h2,.feature-details h2,.tour-section h2{font-family:var(--serif);font-size:clamp(46px,4.7vw,72px);line-height:1.06;font-weight:400;letter-spacing:-1px;margin:0}.section h2 em,.feature-details h2 em,.tour-section h2 em{font-weight:400;color:#5b7d89}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%}.intro-copy{padding-top:40px;max-width:540px}.intro-copy p{margin:0 0 21px;font-size:17px;line-height:1.85}.intro-copy p+p{color:var(--muted)}.subtle-note{border-top:1px solid var(--line);padding-top:23px;font-size:14px;color:var(--muted)}.feature-layout{display:grid;grid-template-columns:1.08fr 1fr;background:var(--surface);max-width:1700px;margin:0 auto}.feature-photo{position:relative;margin:0;min-height:710px}.feature-photo>img{height:100%;position:absolute;object-position:48% center}.feature-photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:15px;padding:45px 35px 25px;background:linear-gradient(transparent,#0008);color:white;font-size:14px}.feature-details{padding:65px 12%}.feature-details .eyebrow{margin-bottom:23px}.feature-details h2{margin-bottom:27px}.detail-list{margin:0}.detail-list>div{padding:16px 0;border-top:1px solid #d4dcdd}.detail-list dt{font-size:16px;font-weight:550}.detail-list dd{font-size:14px;color:var(--muted);line-height:1.65;margin:5px 0 0}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:40px}.text-button{border:0;border-bottom:1px solid var(--ink);padding:12px 0;background:none;color:var(--ink);font-size:14px;white-space:nowrap}.text-button span{padding-left:22px;font-size:20px}.photo-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:245px 245px;gap:16px}.gallery-photo{display:block;overflow:hidden;position:relative;background:var(--surface)}.gallery-photo img{height:100%;transition:transform .6s}.gallery-photo:hover img{transform:scale(1.04)}.gallery-large{grid-row:span 2}.gallery-photo>span{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:45px 20px 18px;color:white;font-size:14px;background:linear-gradient(transparent,#0009)}.gallery-footnote{font-size:12px;color:var(--muted);margin:20px 0 0}.tour-section{background:var(--ink);color:white;padding:85px 6%;}.tour-section>.section-top,.tour-frame,.tour-footer{max-width:1380px;margin-left:auto;margin-right:auto}.tour-section .eyebrow{color:#b4cbd5}.tour-section h2 em{color:#adcad4}.tour-section .section-top>p{font-size:16px;color:#c0ccd2;line-height:1.8;margin:0 0 6px}.tour-frame{position:relative;aspect-ratio:16/8.5;background:#101e28}.tour-cover{height:100%;position:relative}.tour-cover>img{height:100%;filter:brightness(.48)}.tour-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.tour-overlay strong{font-family:var(--serif);font-size:36px;letter-spacing:-.5px;font-weight:400}.tour-overlay>span{font-size:11px;letter-spacing:2px;color:#e2eaed}.tour-start{width:88px;height:88px;border:1px solid #ffffffaa;background:#ffffff12;border-radius:50%;color:white;display:grid;place-items:center;backdrop-filter:blur(8px);transition:background .2s;margin-bottom:8px}.tour-start span{font-size:45px;line-height:1;margin-left:6px}.tour-start:hover{background:#ffffff35}.tour-frame iframe{width:100%;height:100%;border:0;position:absolute;inset:0}.tour-footer{display:flex;justify-content:space-between;gap:25px;margin-top:23px;font-size:13px;color:#bdccd3}.tour-footer a{color:white;border-bottom:1px solid #677c88;padding-bottom:3px;white-space:nowrap}.tour-footer a span{margin-left:15px}.contact-section{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;padding-top:115px;padding-bottom:115px}.contact-copy>p:not(.eyebrow){max-width:380px;margin:28px 0;font-size:16px;line-height:1.85;color:var(--muted)}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contact-phone{font-size:21px;letter-spacing:.2px;margin-top:13px}.contact-email{font-size:15px;border-bottom:1px solid var(--line)}.rental-card{padding:45px;background:var(--surface);align-self:start;border-top:3px solid var(--ink)}.rental-card .eyebrow{margin-bottom:18px}.rent-price{font-size:clamp(40px,4.5vw,65px);font-weight:450;letter-spacing:-2px;line-height:1;margin:0 0 36px;white-space:nowrap}.rent-price span{font-size:16px;font-weight:400;color:var(--muted);letter-spacing:0}.rent-block{border-top:1px solid var(--line);padding:23px 0}.rent-block h3{font-size:14px;font-weight:600;margin:0 0 12px}.rent-block ul{list-style:none;padding:0;margin:0}.rent-block li{font-size:15px;line-height:1.9;padding-left:22px;position:relative}.rent-block li:before{content:'✓';position:absolute;left:0;color:#4f7583;font-size:13px}.excluded{padding-bottom:0}.excluded p{font-size:14px;color:var(--muted);margin:0}.rental-note{font-size:12px;color:var(--muted);margin:28px 0 0}.site-footer{padding:34px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center}.footer-brand{font-size:14px;font-weight:550}.footer-brand>span{display:block;font-size:12px;color:var(--muted);font-weight:400}.site-footer>a:last-child{font-size:13px}.mobile-contact{display:none}
#photo-dialog{position:fixed;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#111e27;color:white}#photo-dialog::backdrop{background:#111e27}.gallery-open{overflow:hidden}.dialog-shell{height:100%;display:flex;flex-direction:column;padding:24px 4%}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-top h2{font-size:16px;font-weight:500;margin:0}.dialog-close{display:flex;align-items:center;gap:18px;color:white;background:transparent;border:1px solid #53616a;font-size:14px;padding:7px 15px}.dialog-close span{font-size:26px;line-height:1.3}.dialog-view{display:grid;grid-template-columns:50px 1fr 50px;gap:20px;align-items:center;min-height:0;flex:1;padding:25px 0 20px}.dialog-view figure{margin:0;min-height:0;height:100%;display:flex;flex-direction:column}.dialog-view img{min-height:0;flex:1;object-fit:contain}.dialog-view figcaption{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:#cfdae0;padding:16px 0 0}.gallery-prev,.gallery-next{height:50px;width:50px;border:1px solid #52616b;background:transparent;color:white;border-radius:50%;font-size:22px}.gallery-prev:hover,.gallery-next:hover{background:#ffffff15}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior:contain;flex-shrink:0;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:#647984 transparent}.gallery-thumbs button{background:none;border:2px solid transparent;padding:3px;flex:0 0 98px}.gallery-thumbs button[aria-pressed=true]{border-color:#c5e1ec}.gallery-thumbs img{width:88px;height:59px;opacity:.6}.gallery-thumbs button[aria-pressed=true] img{opacity:1}[hidden]{display:none!important}
@media(min-width:1700px){.tour-section{padding-left:calc((100vw - 1380px)/2);padding-right:calc((100vw - 1380px)/2)}}
@media(max-width:1000px){.section{padding:80px 6%}.intro{gap:6%}.intro-copy{padding-top:20px}.feature-details{padding:45px 9%}.feature-photo{min-height:730px}.photo-grid{grid-template-columns:1.2fr 1fr;grid-template-rows:230px 230px 230px}.gallery-large{grid-row:span 2}.gallery-photo:last-child{grid-column:1/-1}.contact-section{gap:6%}.rental-card{padding:32px}.tour-section{padding:70px 6%}.tour-frame{aspect-ratio:16/10}.tour-section .section-top>p{max-width:260px;font-size:14px}}
@media(max-width:680px){.section{padding:62px 6%}.section h2,.feature-details h2,.tour-section h2{font-size:48px}.intro{display:block}.intro-copy{padding-top:27px}.intro-copy p{font-size:16px;line-height:1.8}.subtle-note{font-size:14px}.feature-layout{display:flex;flex-direction:column}.feature-photo{min-height:420px;height:420px}.feature-photo figcaption{padding:40px 22px 20px;font-size:13px}.feature-details{padding:44px 6%}.feature-details h2 br{display:none}.detail-list dd{font-size:14px}.section-top{display:block;margin-bottom:27px}.section-top .text-button{margin-top:22px;white-space:normal;text-align:left}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 185px 185px;gap:10px}.gallery-large{grid-column:1/-1;grid-row:auto}.gallery-photo:last-child{grid-column:auto}.gallery-photo>span{padding:40px 12px 12px;font-size:12px}.gallery-footnote{font-size:12px}.tour-section{padding:54px 6%}.tour-section .section-top>p{margin:22px 0 0;font-size:16px;max-width:none}.tour-frame{aspect-ratio:4/5}.tour-start{width:75px;height:75px}.tour-overlay strong{font-size:33px}.tour-overlay>span{font-size:10px;letter-spacing:1.4px}.tour-footer{display:block;font-size:12px}.tour-footer>span{display:block;margin-bottom:16px}.tour-footer a{display:inline-block;font-size:14px}.contact-section{display:block}.contact-copy>p:not(.eyebrow){max-width:none}.rental-card{margin-top:40px;padding:30px}.rent-price{font-size:53px}.site-footer{padding:25px 6% 99px}.footer-brand{font-size:12px}.footer-brand>span{font-size:11px}.site-footer>a:last-child{font-size:12px}.site-footer .brand{gap:10px}.mobile-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;bottom:0;left:0;right:0;z-index:25;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:13px 6% calc(13px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #172a3608;font-size:12px}.mobile-contact strong{font-size:20px;font-weight:550}.mobile-contact>a{background:var(--ink);color:white;padding:11px 15px;font-size:13px}.mobile-contact>a span{margin-left:13px}.dialog-shell{padding:18px 4%}.dialog-top h2{font-size:14px}.dialog-close{padding:5px 10px;gap:10px;font-size:12px}.dialog-view{grid-template-columns:36px 1fr 36px;gap:6px;padding:15px 0}.gallery-prev,.gallery-next{width:36px;height:36px;font-size:18px}.dialog-view figcaption{font-size:12px;flex-wrap:wrap;gap:5px}.gallery-thumbs button{flex-basis:80px}.gallery-thumbs img{width:70px;height:48px}}
@media(max-width:360px){.hero-copy{display:block}.hero-price{justify-content:flex-start;margin-top:20px}.hero-price .price-label{text-align:left}.hero h1{font-size:66px}.mobile-contact strong{font-size:18px}.mobile-contact>a{padding:10px}.rent-price{font-size:46px}.photo-grid{grid-template-rows:280px 155px 155px}}
.rental-terms{margin:0 0 27px;display:grid;gap:13px}.rental-terms div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 20px;font-size:14px}.rental-terms dt{color:var(--muted)}.rental-terms dd{font-weight:500;margin:0}.rent-block.excluded+.rent-block.excluded{margin-top:23px}

.hero-price .price-label{font-size:14px;line-height:1.5;margin-top:0}.hero{max-height:none}@media(max-width:680px){.hero-price .price-label{font-size:12px;line-height:1.45;max-width:160px;margin-left:auto}}

.energy-rating{display:inline-flex;align-items:center;justify-content:center;background:#e6c373;color:#342b16;font-weight:650;width:32px;height:26px;font-size:15px;line-height:1}

.tour-grid{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:30px;align-items:start}.tour-grid>.tour-frame{width:100%;margin:0;aspect-ratio:16/10}.layout-preview{min-width:0}.layout-preview>a{display:block;position:relative;background:#000}.layout-preview img{aspect-ratio:16/10;object-fit:contain}.layout-preview>a>span{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 16px;background:#223845;font-size:13px;color:#e1eaef}.layout-preview>a:hover>span{background:#2f4b5d}.layout-preview h3{font-family:var(--serif);font-size:36px;font-weight:400;line-height:1.1;letter-spacing:-.3px;margin:23px 0 13px}.layout-preview h3 em{color:#adcad4;font-weight:400}.layout-preview>p{font-size:14px;line-height:1.75;color:#c0ccd2;max-width:330px;margin:0}@media(max-width:900px){.tour-grid{grid-template-columns:1fr;gap:28px}.layout-preview{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;align-items:center}.layout-preview>a{grid-row:span 2}.layout-preview h3{align-self:end;margin:0 0 12px}.layout-preview>p{align-self:start}}@media(max-width:680px){.tour-grid>.tour-frame{aspect-ratio:4/5}.layout-preview{display:block}.layout-preview h3{margin:21px 0 12px;font-size:33px}.layout-preview h3 br{display:none}.layout-preview>p{max-width:none;font-size:15px}.layout-preview img{aspect-ratio:16/9}}
