@font-face{font-family:Cormorant;src:url('assets/heading.ttf') format('truetype');font-display:swap}@font-face{font-family:Lora;src:url('assets/body.ttf') format('truetype');font-display:swap}
:root{--paper:#f3f2f2;--green:#22392c;--gold:#a17b43;--line:#d6d7cd;--serif:Cormorant,Georgia,serif;--body:Lora,Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--green);font-family:var(--body);font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0;background:none}button[hidden],[hidden]{display:none!important}.masthead{max-width:1600px;margin:auto;padding:24px 4.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.masthead img{display:block;object-fit:contain;object-position:left;width:210px;height:60px}.text-link{font-size:12px;letter-spacing:.03em}.text-link span{margin-left:16px}.explorer{max-width:1600px;margin:auto;padding:0 4.2%}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:40px 0 28px}.eyebrow{text-transform:uppercase;font:10px/1.7 Arial,sans-serif;letter-spacing:.19em;margin:0 0 12px;color:#80633b}h1,h2,p{margin-top:0}h1{font:64px/.95 var(--serif);margin-bottom:0;letter-spacing:-.025em}.intro-copy{line-height:1.8;font-size:13px;margin:0 0 3px;color:#5e685e}.view-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}.switch{display:flex;border:1px solid #bac0b6;padding:4px;gap:3px}.switch button{padding:11px 22px;font-size:12px;min-height:42px}.switch button[aria-pressed=true]{background:var(--green);color:var(--paper)}#hint{font:italic 14px var(--serif);color:#5e685e}.stage-wrap{position:relative;background:var(--green)}.film-stage{aspect-ratio:16/9;position:relative;overflow:hidden}.still,video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}video{opacity:1;transition:opacity .4s}.settled video{opacity:0;pointer-events:none}.markers{position:absolute;inset:0}.aerial-view .markers{opacity:0;transition:opacity .7s;pointer-events:none}.settled .markers{opacity:1;pointer-events:auto}.marker{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;padding:0}.marker .dot{background:rgba(243,242,242,.96);border:1px solid rgba(34,57,44,.5);color:var(--green);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font:19px var(--serif);box-shadow:0 2px 14px #0004;transition:background .2s,transform .2s}.marker:hover .dot,.marker:focus-visible .dot{background:var(--green);color:white;transform:scale(1.12)}.marker .tooltip{position:absolute;top:calc(100% + 3px);left:50%;transform:translateX(-50%);white-space:nowrap;font:19px var(--serif);padding:6px 13px;background:var(--paper);color:var(--green);box-shadow:0 3px 18px #0002;opacity:0;visibility:hidden;pointer-events:none}.marker:hover,.marker:focus-visible{z-index:3}.marker:hover .tooltip,.marker:focus-visible .tooltip{opacity:1;visibility:visible}.film-caption{position:absolute;bottom:0;left:0;right:0;padding:38px 24px 18px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(transparent,rgba(12,28,17,.76));color:#fff;pointer-events:none;font-size:11px;letter-spacing:.02em}.film-caption>div{display:flex;gap:10px}.film-control{pointer-events:auto;color:white;border:1px solid #ffffff70;padding:10px 14px;min-height:42px;background:#10231840;font-size:11px}.film-control:hover{background:#10231890}.plan-view{background:#f3f2f2;padding:12px 8% 0;border:1px solid var(--line)}.plan-stage{position:relative;max-width:1070px;margin:auto;aspect-ratio:844/657}.plan-stage>img{width:100%;height:auto;display:block}.plan-marker{background:transparent;border:2px solid transparent;width:44px;height:44px}.plan-marker:hover,.plan-marker:focus-visible{border-color:var(--gold);background:#b6823520}.plan-note{font:10px/1.8 Arial,sans-serif;color:#677063;padding:12px 0;display:flex;justify-content:space-between;gap:14px}.plan-note a{text-decoration:underline;white-space:nowrap}.below-view{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:11px;color:#576453}.below-view p{margin:0}.below-view a{white-space:nowrap}.homes{max-width:1600px;margin:0 auto;padding:68px 4.2% 70px;scroll-margin-top:25px}.section-heading{margin-bottom:28px}.section-heading h2{font:42px/1.1 var(--serif);margin:0}.home-list{display:grid;grid-template-columns:repeat(4,1fr);column-gap:32px}.home-row{display:flex;align-items:center;text-align:left;border-top:1px solid var(--line);padding:20px 0;min-height:75px;gap:15px}.home-row .num{font:12px Arial,sans-serif;color:var(--gold)}.home-row .name{font:25px var(--serif)}.home-row .arrow{margin-left:auto;color:var(--gold);transition:transform .2s}.home-row:hover .arrow{transform:translate(3px,-3px)}footer{background:var(--green);color:#e8e9e0;display:flex;justify-content:space-between;padding:28px 4.2%;font:12px var(--body)}dialog{width:min(1000px,94vw);padding:0;background:var(--paper);color:var(--green);border:0;max-height:90dvh;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#0b1c16b8;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.dialog-top .eyebrow{margin:0}.close{font:30px Arial;width:44px;height:44px}.home-detail{display:grid;grid-template-columns:1.12fr 1fr}.home-photo{min-height:370px;background:var(--green)}.home-photo img{display:block;width:100%;height:100%;max-height:500px;object-fit:cover}.home-copy{padding:45px 36px;display:flex;flex-direction:column;align-items:flex-start}.home-copy h2{font:49px/1 var(--serif);margin:0 0 24px}.home-copy>p:not(.eyebrow){font-size:13px;color:#65705f;margin:0 0 28px}.primary{background:var(--green);color:white;padding:15px 20px;display:flex;justify-content:space-between;gap:25px;min-height:48px;font-size:12px}.home-copy>.text-link{display:block;font-size:11px;text-decoration:underline;margin-top:19px}.home-nav{display:flex;justify-content:space-between;width:100%;gap:20px;margin-top:auto;padding-top:38px}.home-nav button{font-size:11px;min-height:44px;padding:0}#floorplan-panel{padding:30px;border-top:1px solid var(--line)}#floorplan-panel img{display:block;width:100%;height:auto}#floorplan-panel p{font-size:11px;line-height:1.7;text-align:center;margin:20px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.no-script{padding:30px}.no-script a{text-decoration:underline}

@media(max-width:800px){.masthead{padding:16px 5%}.masthead img{width:165px;height:46px}.masthead>.text-link{font-size:10px}.explorer{padding:0 5%}.intro{padding:30px 0 24px}.intro-copy{display:none}h1{font-size:51px}.eyebrow{font-size:9px}.switch button{font-size:11px;padding:8px 15px}#hint{display:none}.view-bar{margin-bottom:12px}.aerial-view{overflow-x:auto;overscroll-behavior-x:contain}.film-stage{width:760px;max-width:none}.film-caption{padding:32px 16px 12px}.film-caption #film-label{font-size:10px}.plan-view{padding:10px 0 0;overflow-x:auto}.plan-stage{width:700px}.plan-note{padding:10px 15px;display:block;min-width:0;position:sticky;left:0;max-width:85vw}.plan-note a{display:block;margin-top:5px}.below-view{display:block;font-size:11px;line-height:1.7}.below-view a{display:inline-block;margin-top:8px}.homes{padding:42px 5%}.home-list{grid-template-columns:repeat(2,1fr);gap:0 20px}.home-row{gap:9px}.home-row .name{font-size:23px}.section-heading h2{font-size:34px}.home-detail{grid-template-columns:1fr}.home-photo{min-height:0;height:240px}.home-photo img{height:240px;object-fit:contain}.home-copy{padding:26px}.home-copy h2{font-size:43px}.home-nav{padding-top:20px}#floorplan-panel{padding:16px}footer{padding:26px 5%;font-size:10px}.film-caption{position:sticky;bottom:0;left:0;width:calc(90vw);margin-top:calc(760px*.5625 - 82px);height:82px}.film-caption>div{gap:5px}.film-control{padding:8px 10px;font-size:10px}.film-caption #film-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Interaction refinements: centered dark markers, reversible labels and the home visual switcher. */
.marker .dot{background:var(--green);border-color:var(--green);color:#fff}.marker .dot svg{display:block;width:30px;height:30px;fill:currentColor}.marker:hover .dot,.marker:focus-visible .dot{background:#fff;color:var(--green)}.marker .tooltip{background:var(--green);color:#fff}
.plan-marker{border-radius:50%}
.home-visual{min-height:370px;background:var(--green)}.home-photo{position:relative}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background:#22392ccc;color:#fff;font-size:18px}.photo-arrow:hover{background:#fff;color:var(--green)}.photo-arrow.previous{left:14px}.photo-arrow.next{right:14px}.photo-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:7px}.photo-dot{width:7px;height:7px;border-radius:50%;background:#ffffff80;border:1px solid #fff;padding:0}.photo-dot[aria-current=true]{background:#fff}.photo-caption{margin:0;padding:9px 14px;background:var(--green);color:#fff;font:10px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.floorplan-panel{padding:30px;background:var(--paper)}.floorplan-panel img{display:block;width:100%;height:auto}.floorplan-panel p{font-size:11px;line-height:1.7;text-align:center;margin:20px 0 0}.home-actions{display:grid;gap:10px;width:100%;max-width:260px}.primary,.secondary{padding:14px 16px;display:flex;justify-content:space-between;gap:20px;min-height:48px;font-size:12px;text-align:left}.secondary{border:1px solid var(--green);background:transparent;color:var(--green)}.secondary:hover{background:var(--green);color:#fff}
@media(max-width:800px){.home-visual{min-height:0}.home-photo{height:240px}.home-photo img{height:240px;object-fit:contain}.floorplan-panel{padding:16px}.home-actions{max-width:none}}

/* Approved green page colourway. Plot artwork and marker geometry remain locked. */
:root{--line:#ffffff38}
body,dialog,.dialog-top{background:var(--green);color:#fff}
.eyebrow,.intro-copy,#hint,.below-view,.home-row .num,.home-row .arrow,.home-copy>p:not(.eyebrow),footer{color:#fff}
.switch{border-color:#ffffff70}
.switch button[aria-pressed=true]{background:#fff;color:var(--green)}
.primary{background:#fff;color:var(--green)}
.primary:hover{background:#e6eade}
.secondary{border-color:#ffffff90;color:#fff}
.secondary:hover{background:#fff;color:var(--green)}
button:focus-visible,a:focus-visible{outline-color:#fff}
.plan-marker:focus-visible{outline-color:var(--gold)}
.floorplan-panel{color:var(--green)}
footer{border-top:1px solid var(--line)}
.home-visual{min-height:0}
.home-photo{height:auto;min-height:0;aspect-ratio:3/2}
.home-photo img{height:100%;max-height:none;object-fit:contain}
.photo-dots{gap:0;bottom:8px;background:#22392c99;border-radius:18px;padding:0 4px}
.photo-dot,.photo-dot[aria-current=true]{width:28px;height:28px;border:0;background:transparent;display:grid;place-items:center}
.photo-dot::before{content:'';width:7px;height:7px;border-radius:50%;border:1px solid #fff;background:#ffffff50}
.photo-dot[aria-current=true]::before{background:#fff}
.photo-caption{border-bottom:1px solid var(--line)}

/* Give the home collection its own contrasting panel below the aerial explorer. */
.homes{background:#f5f2e9;color:var(--green);--line:#22392c30;margin-top:32px}
.homes .eyebrow,.homes .home-row .num,.homes .home-row .arrow{color:var(--green)}
.homes .section-heading{margin-bottom:36px}
.homes .home-row:hover .name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.homes button:focus-visible{outline-color:var(--green)}
.interior-context{padding:0 14px}.interior-context button{font-size:11px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.interior-context p{font:10px/1.7 Arial,sans-serif;color:#e0e5d9;margin:0;padding-bottom:14px}

/* Selling-agent contact, separate from the locked plot selector. */
.agent-footer{align-items:center;gap:24px;flex-wrap:wrap}.agent-footer p{margin:12px 0 0;font-size:11px}.agent-footer img{display:block;width:240px;height:auto;max-width:100%}.agent-contact{display:flex;flex-direction:column;align-items:flex-start}.agent-contact a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.agent-footer{flex-direction:column;align-items:center;text-align:center;gap:12px}.agent-footer img{width:230px}.agent-contact{align-items:center}}

/* Fit the complete aerial and plan on phones; preserve approved marker coordinates. */
@media(max-width:800px){.aerial-view,.plan-view{overflow-x:visible}.film-stage{width:100%;max-width:100%;aspect-ratio:auto;padding-bottom:58px}.still,.film-stage>video,.film-stage>.markers{height:calc(100% - 58px)}.film-stage::before{content:"";display:block;aspect-ratio:16/9}.film-caption{position:absolute;inset:auto 0 0;width:100%;height:58px;margin:0;padding:7px 10px;background:var(--green)}.plan-stage{width:100%;max-width:100%}.plan-note{max-width:100%;position:static}.aerial-view .marker{width:20px;height:20px}.aerial-view .marker .dot{width:18px;height:18px;font-size:12px}.aerial-view .marker .dot svg{width:16px;height:16px}.aerial-view .marker .tooltip{font-size:13px}.plan-marker{width:24px;height:24px}.masthead>.text-link{flex-shrink:0}.intro .eyebrow{max-width:100%;line-height:1.7}.home-list{grid-template-columns:repeat(2,minmax(0,1fr))}.home-row .name{overflow-wrap:normal}.home-row{min-width:0}}
