@font-face{font-family:Hanken;src:url('assets/hanken-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Hanken;src:url('assets/hanken-semibold.ttf') format('truetype');font-weight:600 700;font-display:swap}@font-face{font-family:Instrument;src:url('assets/instrument-serif.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--bg:oklch(1 0 0);--ink:oklch(.27 .028 270);--muted:oklch(.47 .018 270);--primary:oklch(.31 .044 270);--surface:oklch(.95 .008 270);--accent:oklch(.87 .07 120);--line:oklch(.85 .012 270);--gutter:clamp(22px,5vw,88px);--ease:cubic-bezier(.22,1,.36,1);--z-header:10;--z-sticky:20}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 Hanken,Arial,sans-serif}body.modal-open{overflow:hidden}h1,h2,p{margin:0}h1,h2{font-family:Instrument,Georgia,serif;font-weight:400;line-height:1.03;letter-spacing:-.022em;text-wrap:balance}h2{font-size:clamp(44px,5vw,72px)}p{text-wrap:pretty}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a:focus-visible,button:focus-visible{outline:3px solid var(--primary);outline-offset:5px}.hero a:focus-visible,.hero button:focus-visible,.outdoors button:focus-visible,.viewing a:focus-visible,dialog button:focus-visible{outline-color:var(--accent)}.wrap{padding-inline:var(--gutter);max-width:1680px;margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:10px;left:10px;z-index:var(--z-sticky);background:var(--bg);padding:12px;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}
.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);background:var(--bg)}.property-mark{font-family:Instrument,Georgia,serif;font-size:29px;letter-spacing:-.02em}.property-mark span{margin-left:3px}nav{display:flex;gap:40px;align-items:center;font-size:14px}nav a{padding:12px 0}nav a:hover,.text-link:hover,.phone:hover{text-decoration:underline;text-underline-offset:6px}.nav-viewing{border-bottom:1px solid var(--ink)}.nav-viewing span{margin-left:24px}
.hero{position:relative;min-height:640px;height:calc(100svh - 88px);max-height:880px;overflow:hidden;color:var(--bg)}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 55%;animation:photo-settle 1.5s var(--ease) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,oklch(.08 0 0/.66),oklch(.08 0 0/.18) 60%,oklch(.08 0 0/.05)),linear-gradient(0deg,oklch(.08 0 0/.7),transparent 48%)}.hero-content{position:absolute;left:var(--gutter);bottom:11%;max-width:700px}.location{font-size:16px;margin-bottom:23px}.hero h1{font-size:clamp(58px,7vw,96px);line-height:.99;margin-bottom:24px}.hero-description{font-size:17px;line-height:1.6}.hero-link{display:inline-flex;align-items:center;gap:38px;margin-top:32px;padding-bottom:8px;border-bottom:1px solid oklch(1 0 0/.7);font-size:15px}.hero-link span{transition:transform .25s var(--ease)}.hero-link:hover span{transform:translateY(4px)}.photo-trigger{position:absolute;bottom:38px;right:var(--gutter);display:flex;align-items:center;gap:14px;background:transparent;color:var(--bg);padding:12px 0;min-height:48px;border-bottom:1px solid oklch(1 0 0/.65);font-size:14px;transition:color .2s,border-color .2s}.photo-trigger:hover{color:var(--accent);border-color:var(--accent)}.photo-count{font-size:11px;line-height:1;border:1px solid currentColor;border-radius:50%;width:27px;height:27px;display:grid;place-items:center}.photo-arrow{font-size:20px;margin-left:8px;transition:transform .25s var(--ease)}.photo-trigger:hover .photo-arrow{transform:translate(2px,-2px)}
.property-strip{display:flex;align-items:center;justify-content:space-between;padding-block:34px;border-bottom:1px solid var(--line);gap:28px}.key-facts{display:flex;gap:clamp(32px,4vw,70px);margin:0}.key-facts div{display:flex;flex-direction:column-reverse;gap:4px}.key-facts dt,.price span{font-size:13px;color:var(--muted)}.key-facts dd{margin:0;font-size:21px;line-height:1.3}.price{display:flex;flex-direction:column;gap:4px;white-space:nowrap;text-align:right}.price strong{font-size:25px;font-weight:400;line-height:1.3}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:110px 65px}.section-location{font-size:14px;margin-bottom:22px;color:var(--muted)}.intro-copy{padding-top:28px;max-width:530px}.intro-copy p+p{margin-top:20px}.intro-copy p,.bedrooms p{color:var(--muted)}
.image-button{position:relative;display:block;padding:0;background:var(--surface);width:100%;overflow:hidden;text-align:left}.image-button img{transition:transform .65s var(--ease)}.image-button:hover img{transform:scale(1.025)}.image-label{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:36px 23px 18px;background:linear-gradient(transparent,oklch(.08 0 0/.76));color:var(--bg);font-size:14px}.image-label span{font-size:23px}.living{display:grid;grid-template-columns:1.7fr 1fr;gap:28px;align-items:start;padding-bottom:110px}.large-photo{align-self:stretch}.large-photo img{height:100%;min-height:480px;object-fit:cover}.living-aside p{padding:25px 18px 0 0;max-width:360px;color:var(--muted);font-size:16px}.outdoors{background:var(--primary);color:var(--bg);padding-top:90px}.outdoor-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:55px}.outdoor-heading p{max-width:390px;color:oklch(.92 .008 270);padding-bottom:7px}.outdoor-main img{height:650px;object-fit:cover;object-position:center 58%}.outdoor-main .image-label{padding-inline:var(--gutter)}.outdoor-bottom{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center;padding-block:60px 95px}.outdoor-bottom>p{font-family:Instrument,Georgia,serif;font-size:clamp(32px,3.5vw,52px);line-height:1.1}.outdoor-bottom img{aspect-ratio:1.65;object-fit:cover}.bedrooms{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:center;padding-block:110px}.bedrooms p{margin-block:25px;max-width:370px}.text-link{display:inline-flex;gap:25px;padding-block:8px;border-bottom:1px solid var(--line);font-size:15px}.gallery-section{padding-block:12px 110px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.gallery-heading p{font-size:15px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filters button{padding:10px 18px;background:var(--bg);border:1px solid var(--line);border-radius:2px;font-size:14px;min-height:44px}.filters button.active{background:var(--primary);color:var(--bg);border-color:var(--primary)}.filters button:hover:not(.active){background:var(--surface)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid img{aspect-ratio:1.5;object-fit:cover}.gallery-grid .image-label{font-size:13px;padding:30px 16px 10px}.more-photos{background:none;border-bottom:1px solid var(--ink);display:flex;gap:36px;margin:28px auto 0;padding:12px 0;font-size:15px}.more-photos[hidden]{display:none}.viewing{display:grid;grid-template-columns:1fr 1fr;background:var(--primary);color:var(--bg)}.viewing-photo img{height:100%;object-fit:cover}.viewing-copy{padding:80px clamp(35px,6vw,95px)}.viewing-copy>p:first-child{font-size:14px;margin-bottom:25px;color:oklch(.9 .008 270)}.viewing h2{font-size:clamp(45px,4.5vw,64px)}.viewing-description{margin-top:27px;color:oklch(.92 .008 270);font-size:16px}.agent{display:flex;flex-direction:column;margin-top:32px}.agent strong{font-weight:600;font-size:20px}.agent span{font-size:14px;color:oklch(.9 .008 270)}.contact-button{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--bg);color:var(--ink);padding:16px 21px;margin-top:24px;max-width:370px;font-size:15px;transition:background .2s}.contact-button:hover{background:var(--accent)}.phone{display:inline-block;font-size:14px;margin-top:18px}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:35px;font-size:13px;color:var(--muted)}.footer div{display:flex;flex-direction:column}.footer strong{font-family:Instrument,Georgia,serif;font-size:26px;font-weight:400;color:var(--ink)}.mobile-viewing{display:none}
dialog{border:0;padding:0;background:oklch(.16 .015 270);color:var(--bg);width:100vw;height:100dvh;max-width:none;max-height:none;margin:0}dialog::backdrop{background:oklch(.08 0 0/.95)}dialog[open]{display:flex;flex-direction:column}.lightbox-header,.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 32px;min-height:70px}.lightbox-header{font-size:18px}.lightbox-header button{background:none;color:var(--bg);padding:10px 14px;font-size:15px}.lightbox-header button span{margin-left:20px;font-size:25px}.lightbox-stage{display:flex;align-items:center;justify-content:center;position:relative;flex:1;min-height:0;padding:0 85px}.lightbox-stage img{width:100%;height:100%;object-fit:contain}.arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid oklch(.7 .015 270);border-radius:50%;background:oklch(.16 .015 270/.95);color:var(--bg);font-size:25px}.prev{left:20px}.next{right:20px}.lightbox-footer{font-size:14px}.lightbox-footer span{white-space:nowrap;color:oklch(.9 .008 270)}
@keyframes photo-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(min-width:1800px){.hero-image{object-position:center 60%}}@media(max-width:1000px){.key-facts{gap:24px}.key-facts dd{font-size:18px}.price strong{font-size:21px}.intro{gap:7%}.large-photo img{min-height:410px}.outdoor-main img{height:540px}.outdoor-bottom{gap:40px}.viewing-copy{padding:60px 35px}.footer p{max-width:180px}.hero{min-height:600px}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{height:72px}.property-mark{font-size:27px}nav{gap:0}nav>a:not(.nav-viewing){display:none}.nav-viewing{font-size:13px;padding-block:8px}.nav-viewing span{margin-left:12px}.hero{height:calc(100svh - 128px);min-height:500px;max-height:780px}.hero-image{object-position:55% center}.hero-shade{background:linear-gradient(0deg,oklch(.08 0 0/.77),oklch(.08 0 0/.1) 95%)}.hero-content{bottom:118px;right:var(--gutter)}.location{font-size:13px;margin-bottom:18px}.hero h1{font-size:clamp(55px,13vw,80px);margin-bottom:20px}.hero-description{font-size:15px;max-width:330px}.hero-link{margin-top:24px;font-size:14px;gap:25px}.photo-trigger{left:var(--gutter);right:auto;bottom:32px;padding:10px 0;font-size:13px}.property-strip{display:block;padding-block:27px}.key-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px}.key-facts dd{font-size:21px}.price{flex-direction:row;justify-content:space-between;align-items:center;text-align:left;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.price strong{font-size:23px}.intro{display:block;padding-block:65px 32px}.intro-copy{padding-top:27px;font-size:16px}.section-location{margin-bottom:18px}.living{display:flex;flex-direction:column;gap:18px;padding-bottom:65px}.large-photo img{min-height:0;aspect-ratio:1.12;object-position:45% center}.living-aside{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center}.living-aside .image-label{font-size:12px;padding:25px 10px 8px}.living-aside .image-label span{display:none}.living-aside img{aspect-ratio:1;object-fit:cover}.living-aside p{padding:0;font-size:14px}.outdoors{padding-top:60px}.outdoor-heading{display:block;margin-bottom:30px}.outdoor-heading p{margin-top:25px;font-size:16px}.outdoor-main img{height:470px;object-position:48% center}.outdoor-bottom{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding-block:35px 55px}.outdoor-bottom>p{font-size:37px}.outdoor-bottom>p br{display:none}.outdoor-bottom img{aspect-ratio:1.25}.bedrooms{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding-block:65px}.bedrooms h2 br{display:none}.bedrooms p{max-width:100%;font-size:16px;margin-block:20px}.gallery-section{padding-bottom:65px}.gallery-heading{display:block;margin-bottom:23px}.gallery-heading p{margin-top:14px}.filters{gap:7px;margin-bottom:21px}.filters button{padding:9px 12px;font-size:12px}.gallery-grid{grid-template-columns:1fr 1fr;gap:9px}.gallery-grid img{aspect-ratio:1.08}.gallery-grid .image-label{font-size:12px;padding:24px 9px 8px}.gallery-grid .image-label span{display:none}.viewing{display:flex;flex-direction:column}.viewing-photo img{height:330px;object-position:center}.viewing-copy{padding:48px var(--gutter) 50px}.viewing h2{font-size:50px}.contact-button{max-width:none}.footer{align-items:start;flex-wrap:wrap;padding-block:28px 108px;gap:22px}.footer p{max-width:140px;text-align:right;margin-left:auto}.footer>a{flex-basis:100%}.mobile-viewing{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px 22px calc(17px + env(safe-area-inset-bottom));background:var(--primary);color:var(--bg);font-size:13px;border-top:1px solid oklch(.5 .02 270)}.mobile-viewing span:last-child{font-size:12px;color:oklch(.92 .008 270)}.modal-open .mobile-viewing{visibility:hidden}.lightbox-header,.lightbox-footer{padding:16px 20px}.lightbox-stage{padding:0}.lightbox-stage img{max-height:calc(100dvh - 200px)}.arrow{top:auto;bottom:10px;transform:none}.lightbox-footer{min-height:100px;padding-bottom:calc(18px + env(safe-area-inset-bottom));align-items:flex-start}.lightbox-footer p{max-width:75%}.lightbox-header{min-height:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* E3 developer plan and confirmed areas */
.key-facts{display:grid;grid-template-columns:repeat(6,max-content);gap:clamp(22px,2.4vw,44px)}.key-facts dd small{font-size:13px}
.floorplans{padding-block:75px 90px;background:var(--surface);margin-bottom:95px}.floorplan-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:40px}.floorplan-intro>p{max-width:440px;color:var(--muted);font-size:16px}.area-facts{display:flex;gap:65px;margin:26px 0 0}.area-facts div{display:flex;flex-direction:column-reverse;gap:3px}.area-facts dt{font-size:14px;color:var(--muted)}.area-facts dd{font-size:30px;line-height:1.25;margin:0}.area-facts dd span{font-size:16px}.floorplan-art{display:block;position:relative;width:100%;padding:24px 24px 62px;background:var(--bg);overflow:hidden}.floorplan-art img{width:100%;max-width:1200px;margin:auto;aspect-ratio:1.5;object-fit:contain}.plan-enlarge{position:absolute;right:28px;bottom:18px;display:flex;align-items:center;gap:28px;font-size:14px;border-bottom:1px solid var(--line);padding:6px 0}.floorplan-art:hover .plan-enlarge{border-color:var(--ink)}.floorplan-foot{display:flex;justify-content:space-between;gap:40px;align-items:start;margin-top:22px}.floorplan-foot p{font-size:13px;color:var(--muted);max-width:580px}.floorplan-foot .text-link{font-size:14px;white-space:nowrap;padding-top:0}
#plan-dialog{background:var(--bg);color:var(--ink)}.plan-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;gap:20px;border-bottom:1px solid var(--line)}.plan-toolbar h2{font-family:Hanken,Arial,sans-serif;font-size:18px;letter-spacing:0;font-weight:600;white-space:nowrap}.plan-controls{display:flex;gap:7px;align-items:center}.plan-controls button{min-width:44px;min-height:44px;background:var(--surface);padding:8px 13px;font-size:17px}.plan-controls button:disabled{opacity:.4;cursor:default}.plan-controls button:hover:not(:disabled){background:var(--line)}#plan-dialog button:focus-visible,.plan-viewport:focus-visible{outline-color:var(--primary)}#plan-zoom-level{min-width:45px;text-align:center;font-size:13px}#close-plan{margin-left:14px;background:var(--primary);color:var(--bg);font-size:14px}#close-plan:hover{background:var(--ink)}.plan-viewport{overflow:auto;flex:1;min-height:0;padding:24px;overscroll-behavior:contain;scroll-behavior:auto;touch-action:pan-x pan-y pinch-zoom}.plan-viewport img{display:block;width:var(--plan-width,100%);height:auto;max-width:none;margin:auto}.plan-caption{padding:12px 28px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin:0}
@media(min-width:701px) and (max-width:1150px){.property-strip{display:block}.key-facts{grid-template-columns:repeat(3,1fr);gap:22px}.price{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);flex-direction:row;justify-content:space-between;align-items:center}.area-facts{gap:35px}}
@media(max-width:700px){.key-facts{grid-template-columns:1fr 1fr;gap:22px}.floorplans{padding-block:48px;margin-bottom:60px}.floorplan-heading{display:block;margin-bottom:26px}.floorplan-heading h2 br{display:none}.floorplan-intro{margin-top:24px}.area-facts{gap:40px;margin-top:24px}.area-facts dd{font-size:28px}.floorplan-art{padding:8px 8px 58px}.plan-enlarge{right:16px;bottom:12px;font-size:14px}.floorplan-foot{display:block}.floorplan-foot .text-link{margin-top:18px}.floorplan-foot p{font-size:12px}.plan-toolbar{padding:14px 16px;gap:12px;flex-wrap:wrap}.plan-toolbar h2{font-size:17px;flex:1}.plan-controls{display:contents}#close-plan{order:0;margin:0;font-size:13px}.plan-controls #plan-zoom-out{order:2}.plan-controls #plan-zoom-level{order:3}.plan-controls #plan-zoom-in{order:4}.plan-controls #plan-fit{order:5;margin-right:auto}.plan-toolbar::after{content:'';flex-basis:100%;height:0;order:1}.plan-viewport{padding:12px}.plan-caption{padding:12px 16px calc(12px + env(safe-area-inset-bottom));font-size:12px}}

/* A poolside film cover opens the original portrait tour. */
.film-section{margin-block:12px 110px}.film-preview{display:block;position:relative;height:clamp(500px,48vw,680px);overflow:hidden;background:var(--primary);color:var(--bg)}.film-preview>img{height:100%;object-fit:cover;object-position:50% 58%;transition:transform .8s var(--ease)}.film-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(.1 .01 270/.55),transparent 28%,oklch(.1 .01 270/.15) 48%,oklch(.1 .01 270/.87))}.film-preview:hover>img{transform:scale(1.025)}.film-topline{position:absolute;z-index:1;top:30px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:14px}.film-play{position:absolute;z-index:1;top:45%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:90px;height:90px;border:1px solid oklch(1 0 0/.85);border-radius:50%;background:oklch(.15 .015 270/.32);transition:background .3s,scale .3s}.film-play svg{margin-left:4px}.film-preview:hover .film-play{background:var(--primary);scale:1.06}.film-caption{position:absolute;z-index:1;bottom:40px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.film-caption h2{font-size:clamp(48px,5.5vw,78px)}.film-action{display:flex;gap:40px;border-bottom:1px solid oklch(1 0 0/.6);padding-bottom:10px;font-size:15px}.film-preview:focus-visible{outline:3px solid var(--accent);outline-offset:-6px}#film-dialog{background:oklch(.1 .008 270);padding-bottom:env(safe-area-inset-bottom)}.film-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;flex-shrink:0;font-size:14px}.film-toolbar button{background:none;color:var(--bg);padding:10px 12px;min-height:44px}.film-toolbar button span{font-size:24px;margin-left:15px}.film-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 24px 20px}.film-stage video{display:block;max-width:100%;width:auto;height:100%;max-height:100%;aspect-ratio:9/16;object-fit:contain}.film-help{text-align:center;font-size:14px;padding:0 18px 15px}
@media(max-width:700px){.film-section{margin-block:12px 65px}.film-preview{height:530px}.film-preview>img{object-position:50% center}.film-topline{top:24px;font-size:12px}.film-play{width:76px;height:76px;top:42%}.film-caption{bottom:32px;display:block}.film-caption h2{font-size:52px}.film-action{width:max-content;margin-top:22px;font-size:14px;gap:28px}.film-toolbar{padding:10px 12px;font-size:12px}.film-stage{padding:0 0 12px}}
