:root{--garden-dusk:0}
/* Warm garden lighting grows on the very same camera, without a new viewpoint. */
.garden-evening{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:var(--garden-dusk);background:linear-gradient(180deg,#24385150,transparent 55%,#09222222);mix-blend-mode:screen}.garden-evening i{position:absolute;width:5px;height:9px;border-radius:60% 60% 20% 20%;background:#fff0ba;box-shadow:0 0 8px 3px #ffdb89b3,0 0 35px 13px #f9c46a55;transform:rotate(-8deg)}.garden-evening i:after{content:'';position:absolute;top:8px;left:0;width:3px;height:18px;background:#24392a}.garden-evening i:nth-child(1){left:58%;top:73%;scale:.55}.garden-evening i:nth-child(2){left:63%;top:80%;scale:.8}.garden-evening i:nth-child(3){left:70%;top:89%}.garden-evening i:nth-child(4){left:82%;top:98%;scale:1.3}.garden-evening>span{position:absolute;right:7%;top:16%;font:8px var(--body);letter-spacing:2px;color:#ebdfbc;opacity:.7}
.garden-model{display:block;width:100%;height:auto;overflow:visible}.garden-layer{transform-box:fill-box;transform-origin:50% 100%;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}.model-lights{opacity:calc(.2 + var(--garden-dusk)*.8)}.model-note{display:block;font:9px/1.6 var(--body);color:#dce4bf9c;letter-spacing:.15px}.model-aura{position:absolute;inset:20% 0 12%;background:radial-gradient(ellipse,#a7bf8540,transparent 68%);filter:blur(20px);z-index:-1}
.build-garden{position:absolute;left:45%;top:18%;width:52%;max-width:820px;opacity:0;pointer-events:none;isolation:isolate;z-index:4;transition:opacity .5s ease}.build-garden:not([inert]){pointer-events:auto}.build-garden .garden-model{filter:drop-shadow(0 25px 35px #001f1566)}.build-caption{margin:-20px 0 20px 12%;display:grid;gap:12px}.build-caption .eyebrow{font-size:8px;letter-spacing:1.7px;color:#e8dfba}.build-caption strong{font:400 clamp(19px,2vw,29px)/1.2 var(--heading);color:#f4f4df}.build-control{display:flex;align-items:center;gap:20px;margin:0 12%;font:10px/1.4 var(--body);color:#e3e8cc}.build-control input{width:45%;accent-color:#d4e3a7;cursor:ew-resize;height:25px}.build-garden>.model-note{margin:13px 12% 0}.walk-scene #intention .walk-panel{width:37vw;max-width:510px}.walk-scene #intention h2{font-size:clamp(48px,4.7vw,72px)}
.spatial-garden{position:absolute;left:41%;top:18%;width:56%;opacity:0;pointer-events:none;z-index:4;transition:opacity .45s ease}.spatial-garden:not([inert]){pointer-events:auto}.spatial-garden .garden-model{filter:drop-shadow(0 25px 30px #001b124d)}.spatial-hint{display:block;text-align:center;font:8px var(--body);letter-spacing:2px;color:#e2e8c9;margin-top:-5%}.walk-scene .spatial-garden .hotspots{position:absolute!important;inset:0!important;display:block;margin:0!important;pointer-events:none}.walk-scene .spatial-garden .hotspot{position:absolute!important;display:flex;align-items:center;gap:9px;pointer-events:auto;min-height:42px;padding:8px 13px!important;border:1px solid #f2edce66!important;border-radius:30px;background:#0e2d24d9;backdrop-filter:blur(9px);box-shadow:0 8px 25px #001e1659;transition:transform .4s,background .3s}.walk-scene .spatial-garden .hotspot.active{background:#d9e6ba;color:#153424;transform:translateY(-5px)}.walk-scene .spatial-garden .hotspot>span{display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-size:9px;background:none}.walk-scene .spatial-garden .hotspot>b{font-size:11px;font-weight:500;opacity:1;transform:none}.spatial-garden .hotspot:nth-child(1){left:22%!important;top:53%!important}.spatial-garden .hotspot:nth-child(2){left:40%!important;top:69%!important}.spatial-garden .hotspot:nth-child(3){left:64%!important;top:26%!important}.walk-scene #explorer .walk-panel{width:34vw;max-width:465px}.walk-scene #explorer h2{font-size:clamp(48px,4.7vw,72px)}.garden-peek{display:inline-flex;align-items:center;margin-top:18px;padding:12px 18px;background:#d9e7b8;color:#173b2a;border:0;border-radius:28px 3px 28px 3px;font:600 11px var(--body);cursor:pointer}.walk-scene .explorer-caption .walk-enter{margin-right:18px}.garden-preview{position:absolute;inset:5% 12% 2%;border-radius:45px 8px 45px 8px;background:#0b3029f5;border:1px solid #d6dfb95e;overflow:hidden;box-shadow:0 25px 70px #00190dd1}.garden-preview[hidden]{display:none}.preview-media{height:calc(100% - 45px);min-height:180px}.preview-media img,.preview-media video{width:100%;height:100%;object-fit:contain;background:#102a22}.preview-label{display:block;font:10px var(--body);padding:15px 18px;color:#e1e9cc}.preview-close,.compare-close{position:absolute;right:16px;top:14px;border:1px solid #e1e7c46b;border-radius:50%;width:36px;height:36px;background:#0c2a23d9;color:#fff5d7;font:25px var(--body);z-index:5;cursor:pointer}
.open-compare{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #d7e2b945;border-radius:30px 4px 30px 4px;background:linear-gradient(100deg,#abc28422,#102f2477);color:#f3f4de;padding:16px 22px;cursor:pointer;margin:5px 0 7px;text-align:left}.open-compare>span{font:400 20px var(--heading)}.open-compare>b{font:500 10px var(--body);color:#d7e3b4}.open-compare:hover{background:#adca8b33}
.compare-dialog{width:min(880px,92vw);max-height:93svh;overflow-y:auto;background:#0b3028f7;border:1px solid #d8e4bd5c;border-radius:50px 8px 50px 8px;padding:35px 42px;color:#f6f6e6;box-shadow:0 25px 100px #00180fcc}.compare-dialog::backdrop{background:#00190cb8;backdrop-filter:blur(12px)}.compare-dialog h2{font:400 43px/.98 var(--heading);letter-spacing:-2px;margin:15px 0 24px}.compare-dialog h2 em{color:#dce7b9;font-style:normal}.compare-dialog>.eyebrow{font-size:8px}.site-compare{position:relative;width:100%;height:min(46svh,410px);overflow:hidden;border-radius:30px 4px 30px 4px;--reveal:50%;background:#193625}.site-compare>img,.compare-before,.compare-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.compare-before{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.compare-before img{object-position:center 51%}.compare-handle{position:absolute;inset:0 auto 0 var(--reveal);width:2px;background:#f7f0ce;pointer-events:none}.compare-handle b{position:absolute;top:50%;left:0;translate:-50% -50%;width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#f4f2d3;color:#163d2a;font:24px var(--heading);box-shadow:0 3px 15px #001b1480}.compare-tag{position:absolute;top:18px;padding:8px 12px;background:#0c251bc9;border:1px solid #f3edc65c;border-radius:20px;color:#fbf4d8;font:9px var(--body);letter-spacing:1px;pointer-events:none}.compare-tag.before{left:18px}.compare-tag.after{right:18px}.site-compare input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.site-compare:focus-within{outline:3px solid #dcecad;outline-offset:4px}.compare-dialog p{font:12px/1.8 var(--body);color:#e7ebd6;margin:17px 0}.compare-dialog p small{font-size:10px;color:#c1cfb0}.compare-watch{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 19px;border:0;border-radius:24px 3px;background:#dce7b8;color:#133724;font:500 12px var(--body);cursor:pointer}
.project-composer{margin-top:25px;border-top:1px solid #d6e3b841;padding-top:15px}.project-composer summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;font:500 14px var(--heading);color:#e1ebc4}.project-composer summary::-webkit-details-marker{display:none}.project-composer summary>span{font-size:20px;font-weight:400;transition:rotate .35s}.project-composer[open] summary>span{rotate:45deg}.composer-body{position:relative}.project-composer .garden-model{margin:-7px 0 -8px;max-height:235px}.project-composer .garden-layer{opacity:.08;transform:translateY(-8px);filter:grayscale(.6)}.project-composer .garden-layer.is-chosen{opacity:1;transform:none;filter:none}.composer-empty{font:11px/1.8 var(--body);color:#dce3c4;margin:0 0 12px}.composer-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.composer-tags span{padding:6px 10px;border:1px solid #dce8bb4f;border-radius:18px;font:9px var(--body);color:#edf2d3;background:#acc58e18;animation:project-seed .5s cubic-bezier(.16,1,.3,1) both}.composer-photos{display:flex;gap:6px;margin:10px 0}.composer-photos:empty{display:none}.composer-photos img{width:45px;height:45px;object-fit:cover;border:1px solid #dae4b566;border-radius:14px 2px;animation:project-seed .5s ease-out both}.project-composer .model-note{font-size:8px}.whole-quote .quote-promise{display:none}.whole-quote .quote-phone{margin-top:18px}.whole-quote .quote-intro h2{font-size:clamp(40px,4vw,58px)}
@keyframes project-seed{from{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:none}}
@media(min-width:601px){.walk-scene #intention .walk-panel{transform-origin:0 60%}.whole-realisations .work-carousel{padding-top:15px;padding-bottom:10px}.whole-realisations .work-viewer{max-height:340px}.whole-realisations .section-top{margin-bottom:15px}}
@media(max-width:1050px) and (min-width:601px){.build-garden{left:43%;width:56%;top:25%}.build-caption strong{font-size:22px}.walk-scene #intention h2,.walk-scene #explorer h2{font-size:50px}.spatial-garden{left:41%;width:58%;top:24%}.walk-scene #explorer .walk-panel{width:34vw}.walk-scene .spatial-garden .hotspot{padding:7px 9px!important}.walk-scene .spatial-garden .hotspot>b{font-size:9px}}
@media(max-width:600px){.garden-evening>span{font-size:6px;top:15%;right:7%;letter-spacing:1.1px}.garden-evening i:nth-child(1){left:52%}.garden-evening i:nth-child(2){left:63%}.walk-scene #intention .walk-panel,.walk-scene #explorer .walk-panel{width:86vw;max-width:390px}.walk-scene #intention h2,.walk-scene #explorer h2{font-size:38px;line-height:1.04}.walk-scene #intention .intro-right .walk-copy{font-size:11px;line-height:1.6;margin-top:13px;max-width:310px}.walk-scene #intention .walk-enter{font-size:10px;margin-top:9px;min-height:32px}.walk-scene #intention .walk-enter>b{width:29px;height:29px}.walk-scene #intention .walk-business{display:none}.walk-scene #intention .walk-kicker,.walk-scene #explorer .walk-kicker{margin-bottom:12px}.build-garden{left:1%;width:98%;top:39%;max-width:none}.build-garden .garden-model{max-height:235px}.build-caption{margin:-8px 9% 8px;gap:6px}.build-caption .eyebrow{font-size:6px}.build-caption strong{font-size:19px}.build-control{margin:0 9%;font-size:8px;justify-content:space-between;gap:10px}.build-control input{width:46%}.build-garden>.model-note{font-size:7px;margin:6px 9% 0}.spatial-garden{left:1%;width:98%;top:29%}.spatial-garden .garden-model{max-height:255px}.spatial-hint{font-size:6px;letter-spacing:1.4px;margin-top:-4%}.walk-scene .spatial-garden .hotspot{min-height:34px;padding:6px 8px!important;gap:5px}.walk-scene .spatial-garden .hotspot>b{font-size:9px}.walk-scene .spatial-garden .hotspot>span{width:18px;height:18px;font-size:7px}.spatial-garden .hotspot:nth-child(1){left:13%!important;top:52%!important}.spatial-garden .hotspot:nth-child(2){left:36%!important;top:67%!important}.spatial-garden .hotspot:nth-child(3){left:60%!important;top:23%!important}.walk-scene #explorer .explorer-caption{margin-top:258px;max-width:335px}.walk-scene #explorer .explorer-caption>.eyebrow{display:none}.walk-scene #explorer .explorer-caption h3{display:none}.walk-scene #explorer .explorer-caption p{font-size:11px;line-height:1.6;max-width:325px}.walk-scene #explorer .explorer-caption .walk-enter{margin-top:5px;min-height:30px;font-size:9px;gap:6px;margin-right:9px}.walk-scene #explorer .explorer-caption .walk-enter>b{width:25px;height:25px}.garden-peek{font-size:9px;margin-top:8px;padding:10px 12px}.walk-ambiance{margin-top:7px!important;font-size:8px}.garden-preview{inset:0 7% -9%;border-radius:30px 5px}.preview-media{height:calc(100% - 45px);min-height:220px}.preview-label{font-size:8px;padding:13px}.preview-close{width:30px;height:30px;right:10px;top:10px}.open-compare{padding:12px 13px;gap:10px;margin:3px 0 7px}.open-compare>span{font-size:14px}.open-compare>b{font-size:8px;max-width:110px;text-align:right;line-height:1.6}.whole-realisations .work-viewer{width:min(100%,190px)}.whole-realisations .work-story{display:none}.whole-realisations .open-gallery{padding-top:9px}.compare-dialog{padding:32px 20px 22px;border-radius:35px 6px}.compare-dialog h2{font-size:35px;margin:18px 0}.compare-dialog>.eyebrow{font-size:6px;max-width:235px;display:block}.site-compare{height:42svh;min-height:230px}.compare-tag{font-size:7px;padding:7px 9px;top:13px}.compare-tag.before{left:12px}.compare-tag.after{right:12px}.compare-dialog p{font-size:11px}.compare-dialog p small{font-size:9px}.compare-watch{font-size:11px}.project-composer{margin-top:18px;padding-top:12px}.project-composer summary{font-size:12px}.project-composer .garden-model{max-height:210px;margin:3px 0 -8px}.composer-empty{font-size:10px}.composer-tags span{font-size:8px}.whole-quote .quote-intro>p{font-size:11px}}
@media(max-width:600px) and (max-height:740px){.build-garden{top:38%}.build-garden .garden-model{max-height:193px}.build-caption{margin-top:-7px;margin-bottom:4px}.build-caption .eyebrow,.build-garden>.model-note{display:none}.build-caption strong{font-size:17px}.build-control{font-size:7px}.walk-scene #intention h2,.walk-scene #explorer h2{font-size:32px}.walk-scene #intention .intro-right .walk-copy{font-size:10px;margin-top:10px}.walk-scene #intention .walk-enter{display:none}.spatial-garden{top:25%}.spatial-garden .garden-model{max-height:215px}.walk-scene #explorer .explorer-caption{margin-top:213px}.walk-scene #explorer .explorer-caption p{font-size:10px;line-height:1.5}.walk-scene #explorer .explorer-caption .walk-enter{display:none}.garden-peek{margin-top:7px}.walk-scene #explorer .walk-kicker{font-size:5px}.whole-realisations .work-viewer{width:158px}.whole-realisations .projects-title>p{display:none}.open-compare{padding:10px 12px}.open-compare>span{font-size:13px}.open-compare>b{font-size:7px}}
.paused .garden-layer{transition:none}.paused .composer-tags span,.paused .composer-photos img{animation:none}
@media(prefers-reduced-motion:reduce){.garden-layer{transition:none}.composer-tags span,.composer-photos img{animation:none}}
@media(min-width:601px){.build-garden .garden-model,.spatial-garden .garden-model{max-height:calc(100svh - 370px)}.build-caption{margin-top:-10px;margin-bottom:13px}.build-control{font-size:9px}.build-garden>.model-note{margin-top:7px}.spatial-garden{top:20%}}
.garden-preview{z-index:6}.photo-garden{filter:drop-shadow(0 18px 28px #001d1455)}.garden-layer{transform-origin:50% 80%}
@media(min-width:601px){.build-garden .garden-model,.spatial-garden .garden-model{max-height:calc(100svh - 350px)}}
@media(max-width:600px) and (max-height:740px){.spatial-garden .garden-model{max-height:185px}.spatial-garden{top:24%}.walk-scene #explorer .explorer-caption{margin-top:182px}.walk-scene #explorer .explorer-caption p{font-size:10px}.walk-scene #explorer .walk-ambiance{margin-top:4px!important}}
/* One complete garden stays in place while the chapter copy changes. */
.garden-world{position:absolute;left:var(--world-x,45%);top:var(--world-y,18%);width:var(--world-width,52%);max-width:820px;z-index:4;visibility:hidden;pointer-events:none;opacity:1;isolation:isolate;transition:none;transform:none}
.garden-visual{position:relative;width:100%;isolation:isolate;opacity:1}.garden-world .garden-frame{display:block;width:100%;height:auto;max-height:var(--world-height,550px);object-fit:contain;object-position:center;opacity:1;mix-blend-mode:normal;filter:drop-shadow(0 18px 25px #001e164d);transform:none;transition:none;mask:none;clip-path:none}
.garden-world .build-controls{pointer-events:auto}.garden-world .build-controls[hidden],.garden-world .spatial-garden[hidden]{display:none!important}.garden-world .spatial-garden{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;max-width:none;opacity:1;transition:none;transform:none;pointer-events:none}.garden-world .spatial-hint{position:absolute;top:100%;left:0;right:0;margin-top:4px;text-align:center;pointer-events:none}.garden-world .garden-preview{pointer-events:auto}.garden-world .spatial-garden .hotspots{pointer-events:none}.garden-world .hotspot{pointer-events:auto}
.project-composer .garden-frame{opacity:1;filter:drop-shadow(0 10px 14px #001b1438);mix-blend-mode:normal;transform:none;transition:none;mask:none;clip-path:none;object-fit:contain}.composer-empty{margin:10px 0 12px;color:#f1f3dc}.project-composer .composer-body{opacity:1}
footer,.studio-signature{background:transparent!important;border:0;box-shadow:none;backdrop-filter:none;mix-blend-mode:normal}footer:before,footer:after,.studio-signature:before,.studio-signature:after{display:none!important;content:none!important}
@media(max-width:1050px) and (min-width:601px){.garden-world{max-width:none}.garden-world .build-caption strong{font-size:22px}}
@media(max-width:600px){.garden-world{max-width:none}.garden-world .build-caption{margin:-8px 9% 8px;gap:6px}.garden-world .build-caption .eyebrow{font-size:6px}.garden-world .build-caption strong{font-size:19px}.garden-world .build-control{margin:0 9%;font-size:8px;justify-content:space-between;gap:10px}.garden-world .build-control input{width:46%}.garden-world .build-controls>.model-note{font-size:7px;margin:6px 9% 0}.garden-world .spatial-hint{font-size:6px;letter-spacing:1.4px;margin-top:2px}}
@media(max-width:600px) and (max-height:740px){.garden-world .build-caption{margin-top:-7px;margin-bottom:4px}.garden-world .build-caption .eyebrow,.garden-world .build-controls>.model-note{display:none}.garden-world .build-caption strong{font-size:17px}.garden-world .build-control{font-size:7px}}
/* The camera owns the vignette for the full document, including the signature. */
.walk-vignette{display:none!important}
@media(min-width:601px) and (max-height:760px){.whole-quote .quote-leaf{max-height:calc(100svh - 230px)}}
/* More distance for the four construction gestures, with native wheel and touch. */
.walk-track{height:1120svh!important}
.garden-visual.has-construction-canvas>.garden-frame{visibility:hidden}.construction-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none;opacity:1;filter:drop-shadow(0 18px 25px #001e164d)}
.build-phases{display:flex;justify-content:space-between;gap:12px;margin:12px 12% 0;font:8px/1.5 var(--body);color:#d3dec0a6;letter-spacing:.3px}.build-phases>span{position:relative;padding-bottom:7px;white-space:nowrap;transition:color .35s}.build-phases>span:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#e7e7ba;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.16,1,.3,1)}.build-phases>span.is-current{color:#fff6d7}.build-phases>span.is-current:after{transform:scaleX(1)}
@media(max-width:600px){.build-phases{margin:9px 9% 0;font-size:6px;gap:6px}.garden-world .build-controls>.model-note{display:none}}
@media(max-width:600px) and (max-height:740px){.build-phases{margin-top:3px;font-size:5px}.garden-world .build-caption{margin-bottom:0}.garden-world .build-control{line-height:1.1}.garden-world .build-control input{height:20px}}
.paused .build-phases>span,.paused .build-phases>span:after{transition:none}@media(prefers-reduced-motion:reduce){.build-phases>span,.build-phases>span:after{transition:none}}
@media(max-width:600px){.build-phases{font-size:7px}}
.construction-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0;filter:drop-shadow(0 18px 25px #001e164d)}.garden-visual.has-construction-video>.garden-frame{visibility:hidden}.garden-visual.has-construction-video>.construction-video{opacity:1}
/* Ordinary MP4 decoding with a separate matte prevents opaque video-alpha artefacts. */
.construction-video,.garden-visual.has-construction-video>.construction-video{opacity:0!important;width:1px!important;height:1px!important;filter:none!important;pointer-events:none}
.construction-render{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;filter:drop-shadow(0 12px 18px #001e163d)}
.garden-visual.has-construction-video>.construction-render{opacity:1}
@media(max-width:600px){
 .garden-world .garden-visual{height:var(--world-height,180px)}
 .garden-world .garden-frame{height:100%;max-height:none;width:100%;object-fit:contain}
 .garden-world .build-controls{display:flow-root}
 .garden-world .build-controls[hidden]{display:none!important}
 .garden-world .build-caption{margin:8px 7% 6px;gap:0}
 .garden-world .build-caption .eyebrow,.garden-world .build-phases{display:none}
 .garden-world .build-caption strong{font-size:17px;line-height:1.18}
 .garden-world .build-control{margin:0 7%;min-height:34px;font-size:9px;line-height:1.4;gap:10px}
 .garden-world .build-control>span{max-width:46%}
 .garden-world .build-control input{width:48%;height:32px;min-width:0}
 .walk-scene[data-active-stage="1"] .walk-footer,.walk-scene[data-active-stage="2"] .walk-footer{display:block;bottom:max(56px,calc(env(safe-area-inset-bottom,0px) + 24px))}
 .walk-scene[data-active-stage="1"] .walk-footer .walk-scroll,.walk-scene[data-active-stage="1"] .walk-footer .film-button,.walk-scene[data-active-stage="2"] .walk-footer .walk-scroll,.walk-scene[data-active-stage="2"] .walk-footer .film-button{display:none}
}
@media(max-width:600px){.walk-scene #intention .walk-enter{display:none}}
@media(max-width:600px) and (max-height:740px){.walk-scene #intention h2{font-size:34px}}@media(max-width:359px) and (max-height:740px){.walk-scene #intention h2{font-size:30px}}
@media(max-width:600px) and (max-height:620px){.walk-scene .walk-skyline{top:62px;gap:15px}}
