:root{
  --garden:#3f593a;--garden-deep:var(--e-surface);--night:var(--e-ground);--night-2:var(--e-surface);
  --violet:#48416c;--plum:#6b4362;--sage:#abbea2;--mauve:#b4a2b8;
  --sand:#e4c9b0;--paper:var(--e-ground);--ink:var(--e-ink);--muted:var(--e-ink-soft);
  --line:var(--e-line);--glass:var(--e-glass);--glass-soft:var(--e-glass-strong);
  --serif:"ivyora-display","IvyOra Display","Baskerville","Iowan Old Style","Times New Roman",serif;
  --serif-text:"ivyora-text","IvyOra Text","ivyora-display","Baskerville","Iowan Old Style","Times New Roman",serif;
  --sans:"acumin-pro","Acumin Pro","Avenir Next","Gill Sans",sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--night);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,input{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:focus-visible{outline:1px solid var(--e-ink);outline-offset:3px}img{display:block;max-width:100%}.app,.screen{position:fixed;inset:0}.screen{opacity:0;pointer-events:none;transition:opacity .8s var(--ease)}.screen:not(.is-active) *{pointer-events:none!important}.screen.is-active{opacity:1;pointer-events:auto}.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:10px;color:var(--e-ink);margin:0}.glass-panel{background:linear-gradient(145deg,rgba(255,242,235,.72),rgba(254,230,211,.84));border:1px solid var(--e-glass-line);box-shadow:0 24px 70px rgba(63,89,58,.10);backdrop-filter:blur(22px) saturate(115%)}
.intro{isolation:isolate;background:var(--e-ground);color:var(--e-ink)}
.intro video{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.72) brightness(.7) contrast(1.08) sepia(.12) hue-rotate(-6deg);transform:scale(1.004)}
.intro-shade{position:absolute;inset:0;z-index:-2;background:radial-gradient(58% 62% at 50% 36%,rgba(255,242,235,.03),rgba(255,242,235,.45) 72%,rgba(255,242,235,.68) 100%),linear-gradient(180deg,rgba(255,242,235,.48) 0%,rgba(255,242,235,.14) 38%,rgba(255,242,235,.8) 100%),linear-gradient(90deg,rgba(254,230,211,.36),transparent 25%,transparent 75%,rgba(254,230,211,.38))}
.intro-stage{position:absolute;inset:0;z-index:1;text-align:center;text-shadow:0 2px 15px rgba(255,242,235,.72)}
.intro:not(.is-revealed) .intro-stage{pointer-events:none}
.brand-lockup{display:flex;align-items:center;gap:19px;letter-spacing:.32em;text-transform:uppercase}.brand-lockup img{width:39px;height:31px;object-fit:contain}.brand-lockup span{font-size:16px;white-space:nowrap}
.intro-brand{position:absolute;left:50%;top:4.5%;translate:-50% 0;width:min(360px,78vw);display:flex;flex-direction:column;align-items:center;color:var(--e-ink)}
.intro-brand img{width:104px;height:auto;opacity:.92;filter:sepia(.28) saturate(.7)}
.intro-brand span{font:400 clamp(25px,2.15vw,33px)/1 var(--serif);letter-spacing:.47em;padding-left:.47em;margin-top:7px}
.intro-brand i{display:block;width:6px;height:6px;margin:15px 0 12px;background:var(--e-ink);transform:rotate(45deg);box-shadow:0 0 10px rgba(63,89,58,.18)}
.intro-brand b{font:500 clamp(8px,.78vw,11px)/1 var(--sans);text-transform:uppercase;letter-spacing:.43em;padding-left:.43em}
.intro-divider{display:flex;align-items:center;gap:14px;width:min(420px,48vw);height:8px;margin:16px auto 17px}.intro-divider:before,.intro-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(63,89,58,.42))}.intro-divider:after{background:linear-gradient(90deg,rgba(63,89,58,.42),transparent)}.intro-divider>i{display:block;flex:0 0 7px;width:7px;height:7px;background:var(--e-ink);transform:rotate(45deg);box-shadow:0 0 8px rgba(63,89,58,.18)}
.view h2 em{color:var(--eden-plum);font-weight:400}
.intro-divider-short{width:min(245px,29vw);margin:13px auto 13px}
.hold-to-enter{position:absolute;left:50%;bottom:6.5%;translate:-50% 0;width:min(360px,76vw);display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--e-ink);filter:drop-shadow(0 13px 26px rgba(63,89,58,.12))}
.hold-orbit{position:relative;width:clamp(82px,7vw,102px);height:clamp(82px,7vw,102px);display:grid;place-items:center;border-radius:50%;border:1.5px solid rgba(109,96,61,.55);background:radial-gradient(circle at 38% 28%,#fff2eb 0%,#fee6d3 35%,#e4c9b0 68%,#abbea2 100%);box-shadow:0 0 0 3px rgba(63,89,58,.26),0 0 0 5px rgba(228,201,176,.58),0 0 20px rgba(63,89,58,.12),inset 0 0 0 6px rgba(255,252,244,.40),inset 0 -18px 28px rgba(109,96,61,.16);overflow:hidden;transition:transform .55s var(--ease),filter .45s}
.hold-orbit:before{content:"";position:absolute;inset:8px;border:1px solid rgba(109,96,61,.45);border-radius:50%;box-shadow:inset 0 0 18px rgba(255,252,244,.45)}
.hold-orbit:after{content:"";position:absolute;inset:-40%;background:linear-gradient(112deg,transparent 41%,rgba(255,252,244,.55) 49%,transparent 57%);transform:translateX(-58%) rotate(18deg);transition:transform .9s var(--ease)}
.eden-tree-mark{position:relative;z-index:1;width:62%;height:62%;object-fit:contain;filter:sepia(.35) saturate(.78) brightness(.62) contrast(1.25);opacity:.92}
.enter-label{display:block;margin-top:16px}.hold-to-enter b,.hold-to-enter small{display:block;text-transform:uppercase}.hold-to-enter b{font:400 clamp(17px,1.5vw,22px)/1 var(--serif);letter-spacing:.18em;padding-left:.18em}.hold-to-enter small{font:500 clamp(7px,.61vw,9px)/1 var(--sans);letter-spacing:.36em;padding-left:.36em;margin-top:11px;color:var(--e-ink-soft)}
.enter-divider{width:150px;margin:15px auto 0}
.hold-to-enter:hover .hold-orbit{transform:translateY(-4px) scale(1.025);filter:brightness(1.08)}.hold-to-enter:hover .hold-orbit:after{transform:translateX(58%) rotate(18deg)}.hold-to-enter:active .hold-orbit{transform:translateY(-1px) scale(.98)}
.intro-brand,.hold-to-enter{opacity:0}.intro.is-revealed .intro-brand{animation:introSettle .9s 0s var(--ease) both}.intro.is-revealed .hold-to-enter{animation:introSettle 1s .34s var(--ease) both}
@keyframes introSettle{0%{opacity:0;transform:translateY(22px);filter:blur(7px)}100%{opacity:1;transform:none;filter:blur(0)}}
@media (max-height:850px) and (orientation:landscape){.intro-brand{top:3.1%}.intro-brand img{width:84px}.intro-brand span{font-size:25px;margin-top:5px}.intro-brand i{margin:8px 0}.intro-brand b{font-size:8px}.intro-divider{margin-block:10px}.intro-divider-short{margin-block:8px}.hold-to-enter{bottom:3.8%}.hold-orbit{width:76px;height:76px}.enter-label{margin-top:12px}.hold-to-enter b{font-size:17px}.hold-to-enter small{margin-top:8px}.enter-divider{margin-top:9px}}
@media (orientation:portrait){.intro video{object-position:56% center}.intro-brand{top:4%}.intro-brand img{width:92px}.intro-brand span{font-size:28px}.intro-brand b{font-size:9px}.intro-divider{width:52vw}.intro-divider-short{width:31vw}.hold-to-enter{bottom:7%}.hold-orbit{width:92px;height:92px}}
@media (prefers-reduced-motion:reduce){.intro.is-revealed .intro-brand,.intro.is-revealed .hold-to-enter{animation-duration:.01ms!important;animation-delay:0s!important}.hold-orbit{transition:none}}
.shell{background:radial-gradient(120% 100% at 50% 0,var(--e-ground) 0,var(--e-ground) 58%,var(--e-surface) 100%)}.topbar{position:absolute;left:12px;right:12px;top:10px;height:76px;border:1px solid var(--e-line);background:var(--e-glass-strong);display:flex;align-items:center;padding:0 28px;z-index:40;backdrop-filter:blur(var(--e-blur))}.brand-home{padding:0;color:var(--ink)}.brand-home img{width:31px;height:24px}.brand-home span{font-size:13px}.top-divider{height:27px;width:1px;background:var(--line);margin:0 28px}.topbar>p{font-size:17px;letter-spacing:.2em;text-transform:uppercase;margin:0}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.icon-action{display:none;width:46px;height:46px;border:1px solid var(--line);font-size:28px}.save-top{height:46px;border:1px solid var(--line);padding:0 17px;display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.2em;font-size:11px}.save-top b{font-weight:500}.save-top i{font-style:normal;min-width:18px;height:18px;display:grid;place-items:center;background:var(--sand);color:var(--e-ink-strong);border-radius:50%;font-size:9px}.bookmark-icon{width:12px;height:17px;border:1px solid var(--e-ink);border-bottom-color:transparent;position:relative}.bookmark-icon:after{content:"";position:absolute;width:8px;height:8px;left:1px;bottom:-5px;border-left:1px solid var(--e-ink);border-bottom:1px solid var(--e-ink);transform:rotate(-45deg)}
.app-rail{position:absolute;left:20px;top:108px;bottom:24px;width:70px;z-index:35;display:flex;flex-direction:column;justify-content:center;gap:7px}.app-rail button{min-height:60px;border-left:1px solid var(--e-line);text-align:left;padding:8px 0 8px 14px;color:var(--e-ink-soft);transition:.3s}.app-rail button span,.app-rail button b{display:block}.app-rail button span{font-size:8px;letter-spacing:.18em}.app-rail button b{font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:500;margin-top:5px}.app-rail button.is-current{color:var(--e-ink);border-left-color:var(--e-ink);transform:translateX(5px)}
.view-stage{position:absolute;left:102px;right:18px;top:98px;bottom:18px;overflow:hidden}.view{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .48s var(--ease),transform .48s var(--ease);overflow:hidden}.view.is-active{opacity:1;pointer-events:auto;transform:none}.view h2{font:400 clamp(40px,4.2vw,72px)/.95 var(--serif);margin:12px 0 18px}
.home-view{display:grid;grid-template-columns:28% 1fr;grid-template-rows:55% 25% 1fr;gap:12px}.home-hero{grid-column:2;grid-row:1/4;position:relative;overflow:hidden;border:1px solid var(--line)}.home-hero>img{width:100%;height:100%;object-fit:cover;transition:opacity .45s,transform 1s var(--ease)}.home-hero:hover>img{transform:scale(1.01)}.hero-vignette{position:absolute;inset:0;background:linear-gradient(0deg,rgba(255,242,235,.85),transparent 52%),linear-gradient(90deg,rgba(255,242,235,.25),transparent 45%)}.hero-orbit{position:absolute;inset:10% 4% 18%;width:92%;height:72%;overflow:visible;pointer-events:none}.hero-orbit ellipse{fill:none;stroke:var(--e-glass-line);stroke-width:1}.hero-orbit circle{fill:var(--mauve);stroke:var(--ink);stroke-width:2}.orbit-selector{position:absolute;z-index:2;min-width:126px;padding:10px 18px;background:var(--e-glass);border:1px solid var(--e-glass-line);backdrop-filter:blur(12px);text-align:center;text-transform:uppercase;letter-spacing:.13em}.orbit-selector small,.orbit-selector b{display:block}.orbit-selector small{font-size:7px;color:var(--muted);margin-bottom:4px}.orbit-selector b{font-size:10px;font-weight:500}.orbit-selector.is-active{border-color:var(--e-ink);box-shadow:0 0 28px rgba(63,89,58,.10)}.orbit-north{top:7%;left:50%;transform:translateX(-50%)}.orbit-south{bottom:15%;left:50%;transform:translateX(-50%)}.orbit-west{left:4%;top:45%;transform:translateY(-50%)}.orbit-east{right:4%;top:45%;transform:translateY(-50%)}.home-route-strip{position:absolute;left:25%;right:4%;bottom:3%;height:92px;background:var(--e-glass-strong);border:1px solid var(--e-line);display:grid;grid-template-columns:1fr 1fr;backdrop-filter:blur(var(--e-blur))}.home-route-strip button{text-align:left;padding:0 28px;border-right:1px solid var(--e-line);transition:.3s}.home-route-strip button:last-child{border-right:0}.home-route-strip button:hover{background:rgba(63,89,58,.06)}.home-route-strip span,.home-route-strip small{display:block;text-transform:uppercase;letter-spacing:.17em}.home-route-strip span{font-family:var(--serif);font-size:17px}.home-route-strip small{font-size:8px;color:var(--muted);margin-top:8px}.compare-cta:after{content:"↔";position:absolute;right:26px;font-size:20px;color:var(--e-ink)}
.home-plan-panel{grid-column:1;grid-row:1;padding:17px;overflow:hidden}.panel-heading{height:28px;display:flex;align-items:flex-start;justify-content:space-between;text-transform:uppercase;letter-spacing:.16em;font-size:9px;border-bottom:1px solid var(--e-line)}.panel-heading b{font-weight:500;color:var(--e-ink)}.plan-preview{position:relative;width:100%;height:calc(100% - 74px);margin-top:9px;background:var(--e-surface-2);overflow:hidden}.plan-preview img{width:100%;height:100%;object-fit:contain;transition:transform .5s var(--ease)}.plan-preview:hover img{transform:scale(1.04)}.plan-preview span{position:absolute;right:9px;bottom:9px;background:var(--e-glass-strong);padding:8px 10px;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.level-tabs{height:38px;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--e-line);margin-top:8px}.level-tabs button{font-size:10px;border-right:1px solid var(--e-line)}.level-tabs button:last-child{border:0}.level-tabs button.is-active{background:var(--e-surface-2);color:var(--e-ink-strong);box-shadow:inset 0 0 15px rgba(63,89,58,.06)}
.home-estate-panel{grid-column:1;grid-row:2;padding:15px}.mini-estate{height:calc(100% - 28px);width:100%;display:grid;grid-template-columns:52% 1fr;align-items:center;gap:12px;text-align:left}.mini-estate img{height:100%;width:100%;object-fit:contain;filter:grayscale(.6) sepia(.22) contrast(1.07)}.mini-estate span b,.mini-estate span small{display:block}.mini-estate span b{font:400 17px var(--serif)}.mini-estate span small{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:6px}.home-discovery{grid-column:1;grid-row:3;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--e-line);background:var(--e-glass)}.home-discovery button{padding:12px 10px;border-right:1px solid var(--e-line);text-align:left}.home-discovery button:last-child{border:0}.home-discovery b,.home-discovery small{display:block}.home-discovery b{font:400 13px var(--serif);margin-top:8px}.home-discovery small{display:none}.line-icon{display:block;width:21px;height:21px;border:1px solid var(--e-ink);opacity:.8}.leaf-icon{border-radius:80% 0 80% 0;transform:rotate(-20deg)}.room-icon{border-radius:50% 50% 0 0}.estate-icon{transform:perspective(30px) rotateX(40deg)}
.masterplan-view{background:linear-gradient(110deg,var(--e-surface) 0,var(--e-surface) 27%,var(--e-ground) 27%,var(--e-ground) 100%)}.masterplan-copy{position:absolute;left:3%;top:8%;width:22%;z-index:3}.masterplan-copy>p:last-of-type{color:var(--e-ink-soft);font-size:13px;line-height:1.6}.masterplan-filter{margin-top:28px;border-top:1px solid var(--e-line)}.masterplan-filter button{width:50%;height:44px;color:var(--e-ink-soft);border-bottom:1px solid var(--e-line);text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.masterplan-filter button.is-active{color:var(--e-ink)}.model-legend{margin-top:22px;display:grid;gap:10px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--e-ink-soft)}.model-legend span{display:flex;gap:9px;align-items:center}.model-legend i{width:12px;height:12px;border:1px solid var(--e-line-strong);background:var(--e-surface-2)}.model-legend span:last-child i{background:var(--plum);box-shadow:0 0 14px rgba(107,67,98,.4)}.model-frame{position:absolute;left:28%;right:0;inset-block:0;background:var(--e-ground);overflow:hidden}.model-host{position:absolute;inset:0}.model-host canvas{width:100%;height:100%;display:block;touch-action:none}.model-loader{position:absolute;inset:0;display:grid;place-content:center;gap:13px;text-align:center;color:var(--e-ink-soft);z-index:2;background:var(--e-ground);transition:opacity .6s}.model-loader.is-done{opacity:0;pointer-events:none}.model-loader span{width:42px;height:42px;border:1px solid var(--eden-olive);border-top-color:transparent;border-radius:50%;margin:auto;animation:spin 1s linear infinite}.model-loader p{text-transform:uppercase;letter-spacing:.17em;font-size:9px}@keyframes spin{to{transform:rotate(360deg)}}.model-tools{position:absolute;right:22px;top:20px;z-index:9;display:flex;border:1px solid var(--e-line);background:var(--e-glass-strong);backdrop-filter:blur(12px)}.model-tools button{color:var(--e-ink);height:42px;padding:0 16px;border-right:1px solid var(--e-line);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.model-tools button:last-child{border:0}.gesture-caption{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:var(--e-ink-soft);font-size:9px;text-transform:uppercase;letter-spacing:.15em}.plot-drawer{position:absolute;right:22px;bottom:20px;width:280px;padding:22px;color:var(--ink);z-index:4;transform:translateX(calc(100% + 40px));transition:transform .45s var(--ease)}.plot-drawer.is-open{transform:none}.plot-drawer>button:first-child{position:absolute;right:12px;top:8px;font-size:23px;color:var(--muted)}.plot-drawer h3{font:400 32px var(--serif);margin:8px 0 14px}.plot-type b,.plot-type span{display:block}.plot-type b{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.plot-type span{font-size:9px;color:var(--muted);margin-top:6px}.plot-drawer img{width:100%;height:150px;object-fit:contain;background:var(--e-surface);margin:15px 0}.drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.drawer-actions button{height:40px;border:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.drawer-actions button:first-child{background:var(--sand);color:var(--e-ink-strong)}
.model-label-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.model-plot-label{position:absolute;left:0;top:0;opacity:0;pointer-events:none;width:26px;height:26px;border-radius:50%;background:var(--e-glass-strong);border:1px solid var(--eden-olive);color:var(--e-ink-strong);font-size:8px;box-shadow:0 3px 12px rgba(63,89,58,.10)}.model-label-layer.is-visible .model-plot-label{pointer-events:auto}
.villa-view{display:grid;grid-template-columns:1fr 37%;gap:12px}.villa-canvas{position:relative;overflow:hidden;border:1px solid var(--line)}.villa-canvas>img{width:100%;height:100%;object-fit:cover;transition:opacity .45s}.villa-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(255,242,235,.58),transparent 55%),linear-gradient(90deg,rgba(255,242,235,.26),transparent 55%)}.villa-title{position:absolute;left:5%;top:8%;width:43%}.villa-title h2{margin:9px 0 12px;color:var(--e-ink-strong)}.villa-title>p:last-child{font-size:12px;line-height:1.6;color:var(--e-ink-soft)}.villa-switcher{position:absolute;left:5%;top:43%;display:flex;gap:5px;align-items:center}.villa-switcher span{width:1px;height:34px;background:var(--line);margin:0 6px}.villa-switcher button{height:40px;padding:0 14px;border:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.villa-switcher button.is-active{background:var(--e-surface-2);border-color:var(--e-line-strong)}.villa-metrics{position:absolute;left:5%;bottom:8%;display:flex;flex-wrap:wrap;gap:16px 28px;max-width:56%;z-index:3}.villa-metrics div b,.villa-metrics div span{display:block}.villa-metrics div b{font:400 18px var(--serif)}.villa-metrics div span{font-size:7px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:5px}.drawing-studio{position:relative;padding:17px;overflow:hidden}.panel-heading button{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--e-ink)}.drawing-surface{height:calc(100% - 154px);background:transparent;padding:8px;margin:10px 0;overflow:hidden;display:grid;place-items:center;touch-action:none}
.drawing-surface img{border-radius:2px;box-shadow:0 18px 44px rgba(63,89,58,.10)}.drawing-surface img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .2s}.level-stack{height:52px;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--e-line)}.level-stack button{border-right:1px solid var(--e-line)}.level-stack button:last-child{border:0}.level-stack button span,.level-stack button small{display:block}.level-stack button span{font-size:10px}.level-stack button small{font-size:6px;color:var(--muted);margin-top:5px;text-transform:uppercase}.level-stack button.is-active{background:var(--e-surface-2);color:var(--e-ink-strong)}.drawing-actions{height:46px;display:grid;grid-template-columns:1fr 1fr;margin-top:9px;gap:8px}.drawing-actions button{border:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.drawing-actions button:first-child{background:var(--sand);color:var(--e-ink-strong)}.interior-peek{position:absolute;left:auto;right:calc(38% + 22px);bottom:5%;width:280px;height:104px;z-index:6;border:1px solid var(--e-line);background:var(--e-glass-strong);display:grid;grid-template-columns:42% 1fr;align-items:center;text-align:left;backdrop-filter:blur(14px)}.interior-peek img{width:100%;height:100%;object-fit:cover}.interior-peek span{padding:13px}.interior-peek b,.interior-peek small{display:block}.interior-peek b{font:400 16px var(--serif)}.interior-peek small{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:7px}
.compare-view{padding:3% 2%;background:radial-gradient(80% 80% at 50% 100%,var(--e-surface),var(--e-ground) 70%)}.compare-heading{position:absolute;left:2%;top:4%;width:26%}.compare-heading h2{font-size:48px}.compare-heading>p:last-child{font-size:11px;line-height:1.6;color:var(--muted)}.sync-control{position:absolute;left:3%;bottom:5%;display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.13em;font-size:8px}.sync-control button{width:42px;height:22px;border:1px solid var(--line);border-radius:20px;padding:2px}.sync-control button i{display:block;width:16px;height:16px;background:var(--e-ink-soft);border-radius:50%;transition:.2s}.sync-control button.is-on i{transform:translateX(18px);background:var(--e-ink)}.compare-grid{position:absolute;left:31%;right:2%;top:4%;bottom:4%;display:grid;grid-template-columns:1fr 44px 1fr}.compare-side{border:1px solid var(--e-line);background:var(--e-glass);padding:14px;display:grid;grid-template-rows:auto 1fr auto auto;min-width:0}.compare-axis{display:grid;place-items:center}.compare-axis span{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:8px;color:var(--e-ink)}.compare-selectors{display:grid;grid-template-columns:1fr 1fr;gap:7px}.compare-selectors select{height:38px;background:var(--e-surface);border:1px solid var(--e-line);color:var(--e-ink);padding:0 8px;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.compare-plan{min-height:0;background:transparent;padding:6px;margin:11px 0;display:grid;place-items:center;overflow:hidden}.compare-plan img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:2px;box-shadow:0 16px 40px rgba(63,89,58,.10)}.compare-levels{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--e-line)}.compare-levels button{height:38px;border-right:1px solid var(--e-line);font-size:9px}.compare-levels button.is-active{background:var(--e-surface-2);color:var(--e-ink-strong)}.compare-meta{display:flex;justify-content:space-between;margin-top:10px;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
/* Life at Eden + Inside Eden are one full-bleed gallery now — all of their layout lives in galleries.css (client: "all renders need to be seen in full screen"). */
/* (the old amenity copy panel / orb filters / hero stage / thumbnail rails are retired — Life at Eden is the full-bleed gallery in galleries.css) */
/* Inside Eden is the filmstrip reel again (client: "Inside Eden previously, what was there, that was only fine") — base rules restored here, reel.css + theme-green.css layer on top. */
.interiors-view{background:var(--e-ground)}.interior-backdrop{position:absolute;inset:0;background-position:center;background-size:cover;transition:background-image .45s}.interior-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,242,235,.9),rgba(255,242,235,.12) 55%),linear-gradient(0deg,rgba(255,242,235,.82),transparent 55%)}.interior-copy{position:absolute;left:4%;top:13%;width:31%;z-index:2}.interior-copy h2{font-size:64px}.interior-copy>p:last-of-type{font-size:13px;line-height:1.65;color:var(--e-ink-soft)}.interior-copy button{height:42px;padding:0 16px;border:1px solid var(--line);margin-top:18px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.interior-rail{position:absolute;left:4%;right:3%;bottom:6%;height:150px;display:flex;gap:10px;overflow-x:auto;z-index:2;scrollbar-width:none}.interior-rail::-webkit-scrollbar{display:none}.interior-card{flex:0 0 190px;position:relative;border:1px solid transparent;overflow:hidden}.interior-card.is-active{border-color:var(--e-ink)}.interior-card img{width:100%;height:100%;object-fit:cover}.interior-card span{position:absolute;inset:auto 0 0;padding:25px 10px 9px;background:linear-gradient(transparent,rgba(255,242,235,.9));font:400 13px var(--serif);text-align:left}.interior-progress{position:absolute;left:4%;right:3%;bottom:3%;height:1px;background:var(--e-line)}.interior-progress i{display:block;height:1px;background:var(--e-ink);transition:width .4s var(--ease)}
.saved-view{padding:6% 5%;background:radial-gradient(70% 80% at 100% 100%,var(--e-surface),var(--e-ground) 70%)}.saved-copy{width:31%}.saved-copy>p:last-child{font-size:12px;line-height:1.6;color:var(--muted)}.saved-items{position:absolute;left:39%;right:3%;top:6%;bottom:6%;display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:14px;align-content:start;overflow-y:auto}.saved-card{min-height:0;border:1px solid var(--e-line);background:var(--e-surface);display:grid;grid-template-rows:auto auto;overflow:hidden;border-radius:2px}.saved-card img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;background:#fff}.saved-card div{padding:13px}.saved-card b,.saved-card span{display:block}.saved-card b{font:400 17px var(--serif)}.saved-card span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--e-ink-soft);margin-top:5px}.saved-card button{float:right;margin-top:-25px;color:var(--muted)}.saved-empty{position:absolute;left:48%;top:37%;text-align:center;display:none}.saved-empty.is-visible{display:block}.saved-empty span{display:block;width:42px;height:52px;border:1px solid var(--line);margin:0 auto 20px}.saved-empty h3{font:400 27px var(--serif);margin:0}.saved-empty p{font-size:10px;color:var(--muted)}.saved-empty button{height:40px;border:1px solid var(--line);padding:0 14px;font-size:8px;text-transform:uppercase;letter-spacing:.12em}
.plan-lightbox{position:fixed;inset:0;background:rgba(255,242,235,.96);z-index:100;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .35s}.plan-lightbox.is-open{opacity:1;pointer-events:auto}.plan-lightbox>button{position:absolute;right:24px;top:18px;font-size:32px}.plan-lightbox>div{width:88vw;height:82vh;background:var(--e-surface);display:grid;place-items:center;overflow:hidden;touch-action:none}.plan-lightbox img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .12s}.plan-lightbox>p{position:absolute;bottom:17px;font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--sand);color:var(--e-ink-strong);padding:12px 18px;z-index:120;text-transform:uppercase;letter-spacing:.12em;font-size:9px;opacity:0;transition:.3s;pointer-events:none}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media (max-aspect-ratio:1.35){.view-stage{left:88px}.app-rail{left:10px}.home-view{grid-template-columns:34% 1fr}.home-discovery small{display:none}.interior-peek{left:auto;right:calc(44% + 22px)}.masterplan-copy{width:26%}.model-frame{left:31%}.villa-view{grid-template-columns:1fr 44%}.compare-heading{width:28%}.compare-grid{left:33%}.orbit-selector{min-width:108px;padding-inline:12px}}
@media (orientation:portrait){.topbar{height:70px}.view-stage{left:82px;top:92px}.home-view{grid-template-columns:1fr;grid-template-rows:55% 21% 1fr}.home-hero{grid-column:1;grid-row:1}.home-plan-panel{grid-column:1;grid-row:2;width:50%}.home-estate-panel{grid-column:1;grid-row:2;width:49%;justify-self:end}.home-discovery{grid-row:3}.home-route-strip{left:4%}.villa-view{display:block}.villa-canvas{position:absolute;inset:0 0 43%}.drawing-studio{position:absolute;left:0;right:0;bottom:0;height:42%}.drawing-surface{height:calc(100% - 118px)}.interior-peek{display:none}.masterplan-view{background:var(--e-ground)}.masterplan-copy{left:3%;top:3%;width:94%;height:130px;color:var(--e-ink-strong)}.masterplan-copy h2{font-size:30px;margin:5px 0}.masterplan-copy>p:last-of-type,.model-legend{display:none}.masterplan-filter{display:flex;margin-top:8px;border:0}.masterplan-filter button{width:auto;padding:0 10px;border:1px solid var(--e-line);color:var(--e-ink)}.model-frame{left:0;top:145px}.compare-heading{left:3%;top:3%;width:94%;height:120px}.compare-heading h2{font-size:30px}.compare-heading>p:last-child{display:none}.compare-grid{left:2%;right:2%;top:150px}.sync-control{display:none}.saved-copy{width:90%}.saved-items{left:5%;top:35%;grid-template-columns:repeat(2,1fr)}}

/* ===== Home · orbital mansion discovery ===== */
.app[data-current-view="home"] .topbar,.app[data-current-view="home"] .app-rail{opacity:0;pointer-events:none;transform:translateY(-12px)}
.app[data-current-view="home"] .view-stage{inset:12px;transition:inset .6s var(--ease)}
.orbit-home{display:block!important;background:var(--e-ground);isolation:isolate;border:1px solid var(--e-glass-line)}
.orbit-home-hero{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 42%;z-index:-4;filter:saturate(.82) brightness(.62) contrast(1.08)}
.orbit-home-grade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(255,242,235,.93) 0%,rgba(255,242,235,.62) 27%,rgba(255,242,235,.12) 58%,rgba(255,242,235,.72) 100%),linear-gradient(0deg,rgba(255,242,235,.92) 0%,transparent 48%,rgba(255,242,235,.36) 100%)}
.orbit-home-grain{position:absolute;inset:0;z-index:-2;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.home-corner-brand{position:absolute;left:2.4%;top:3%;height:42px;gap:16px;z-index:5;color:var(--e-ink-strong)}
.home-corner-brand img{width:34px;height:25px}.home-corner-brand span{font:400 15px var(--serif);letter-spacing:.48em}.home-corner-brand i{width:1px;height:30px;background:rgba(63,89,58,.30);margin:0 4px}.home-corner-brand b{font-size:12px;font-weight:500;letter-spacing:.24em;white-space:nowrap}
.home-corner-save{position:absolute;right:2.5%;top:2.7%;z-index:6;height:44px;display:flex;align-items:center;gap:14px;color:var(--e-ink-strong);text-transform:uppercase;letter-spacing:.22em;font-size:10px}.home-corner-save b{font-weight:500}.home-corner-save>i{font-style:normal;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--sand);color:var(--e-ink-strong);font-size:9px}
.home-editorial{position:absolute;left:4.5%;top:21%;z-index:3;color:var(--e-ink-strong)}
.home-editorial .kicker{font-size:11px;letter-spacing:.48em}.home-editorial h1{font:400 clamp(40px,4.5vw,74px)/.92 var(--serif);letter-spacing:.055em;text-transform:uppercase;margin:17px 0 19px;text-wrap:balance}.home-editorial>p:last-child{font-size:10px;line-height:2;letter-spacing:.28em;text-transform:uppercase;color:var(--e-ink-soft)}.editorial-rule{display:flex;align-items:center;width:158px;height:1px;background:rgba(63,89,58,.30);margin:0 0 20px}.editorial-rule i{display:block;width:7px;height:7px;background:var(--e-ink);transform:rotate(45deg);margin-left:58%}
.home-preview-portals{position:absolute;left:4.5%;bottom:6.6%;width:min(43%,590px);height:31%;display:grid;grid-template-columns:1.2fr 1fr;gap:12px;z-index:4;perspective:1400px}
.preview-portal{min-width:0;display:grid;grid-template-rows:44px 1fr 62px;text-align:left;background:var(--e-glass);border:1px solid var(--e-glass-line);overflow:hidden;box-shadow:0 22px 50px rgba(63,89,58,.08);backdrop-filter:blur(var(--e-blur));transition:transform .6s var(--ease),border-color .35s,box-shadow .45s}
.preview-portal:hover{transform:translateY(-6px) translateZ(12px);border-color:var(--e-glass-line);box-shadow:0 30px 70px rgba(63,89,58,.13)}.preview-portal:active{transform:translateY(-1px) scale(.99)}
.portal-label{display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid rgba(63,89,58,.14);text-transform:uppercase;letter-spacing:.16em}.portal-label b{font-size:9px;font-weight:500}.portal-label i{font-style:normal;font-size:16px;transition:transform .4s var(--ease)}.preview-portal:hover .portal-label i{transform:translate(3px,-3px)}
.portal-visual{overflow:hidden;position:relative}.portal-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(255,242,235,.24),transparent)}.portal-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .6s}.masterplan-portal .portal-visual img{object-fit:contain;padding:4px;filter:saturate(.72) brightness(.9)}.preview-portal:hover .portal-visual img{transform:scale(1.035);filter:saturate(.9) brightness(1)}
.portal-foot{display:flex;align-items:center;padding:0 15px;border-top:1px solid rgba(63,89,58,.12);color:var(--e-ink)}.portal-foot>b{font:400 30px var(--serif);margin-right:11px}.portal-foot>small{font-size:7px;line-height:1.7;text-transform:uppercase;letter-spacing:.17em;color:var(--e-ink-soft)}.portal-foot>i{width:1px;height:28px;background:rgba(63,89,58,.18);margin:0 16px}.portal-foot>strong{font:400 15px var(--serif);letter-spacing:.18em}.portal-foot>strong small{display:block;font:500 7px var(--sans);letter-spacing:.17em;text-transform:uppercase;margin-top:6px;color:var(--e-ink-soft)}.portal-foot-copy{justify-content:space-between}.portal-foot-copy>small{font-size:7px}.botanical-mark{width:20px;height:28px;border:1px solid var(--e-ink);border-radius:90% 0 90% 0;transform:rotate(-24deg);opacity:.75}
.curved-destinations{position:absolute;right:3%;top:9%;width:48%;height:82%;z-index:3;pointer-events:none}
.destination-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2}.destination-orbit path{fill:none;stroke-width:1}.orbit-shadow{stroke:rgba(63,89,58,.19);transform:translate(0,2px)}.orbit-stroke{stroke:var(--e-glass-line)}.orbit-points circle{fill:var(--sand);stroke:rgba(63,89,58,.55);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:orbitPointBreath 3.8s ease-in-out infinite}.orbit-points circle:nth-child(2n){animation-delay:-1.7s}@keyframes orbitPointBreath{50%{transform:scale(1.7);filter:drop-shadow(0 0 6px rgba(109,96,61,.45))}}
.destination{--orb:clamp(96px,8.8vw,142px);position:absolute;left:calc(var(--curve-x) - var(--orb));top:var(--curve-y);translate:0 -50%;z-index:1;width:var(--orb);height:var(--orb);border-radius:50%;pointer-events:auto;transition:transform .55s var(--ease),filter .45s;filter:drop-shadow(0 16px 30px rgba(63,89,58,.11))}
.destination:before,.destination:after{content:"";position:absolute;border-radius:50%;inset:0;border:1px solid rgba(109,96,61,.55)}.destination:after{inset:7px;border-color:rgba(109,96,61,.22);box-shadow:inset 0 0 28px rgba(109,96,61,.08)}.destination:hover{transform:translateY(-9px) scale(1.045);filter:drop-shadow(0 24px 36px rgba(63,89,58,.15))}.destination:active{transform:translateY(-2px) scale(.98)}
.destination-core{position:absolute;inset:9px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 38% 25%,rgba(255,242,235,.95),rgba(228,201,176,.96) 66%);box-shadow:inset 0 0 24px rgba(63,89,58,.14);overflow:hidden}
.destination-core:before{content:"";position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 43%,rgba(255,252,244,.28) 50%,transparent 57%);transform:translateX(-45%) rotate(20deg);transition:transform .8s var(--ease)}.destination:hover .destination-core:before{transform:translateX(45%) rotate(20deg)}
.destination-core b{font:400 clamp(10px,.85vw,14px)/1.35 var(--serif);text-transform:uppercase;letter-spacing:.18em;color:var(--e-ink-strong);margin-top:10px;text-align:center}.destination-core>i{width:19px;height:1px;background:rgba(63,89,58,.33);margin-top:9px}.destination-icon{position:relative;width:25px;height:27px;color:var(--e-ink-strong);opacity:.9}
.destination-estate{--curve-x:72.5%;--curve-y:10.9%}.destination-plan{--curve-x:91.765%;--curve-y:26.58%}.destination-mansions{--curve-x:95.59%;--curve-y:47.47%}.destination-life{--curve-x:84.56%;--curve-y:72.91%}.destination-inside{--curve-x:52.94%;--curve-y:90.63%}
.home-signature{position:absolute;right:4.2%;bottom:6%;z-index:4;color:var(--e-ink-strong);text-align:center;text-transform:uppercase}.home-signature>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(63,89,58,.36);transform:rotate(45deg);font:400 18px var(--serif);margin:0 auto 14px}.home-signature>span::first-letter{transform:rotate(-45deg)}.home-signature b{display:block;font:400 13px var(--serif);letter-spacing:.24em}.home-signature i{display:block;width:44px;height:1px;background:rgba(63,89,58,.30);margin:15px auto}.home-signature small{font-size:7px;line-height:2;letter-spacing:.26em;color:var(--e-ink-soft)}

/* One orchestrated arrival, replayed whenever Home becomes active. */
.home-motion .orbit-home-hero{animation:homeHeroIn 1.4s var(--ease) both}.home-motion .home-corner-brand,.home-motion .home-corner-save{animation:homeRise .8s .2s var(--ease) both}.home-motion .home-editorial{animation:homeCopyIn 1s .43s var(--ease) both}.home-motion .preview-portal{animation:homePortalIn .95s var(--ease) both}.home-motion .masterplan-portal{animation-delay:.72s}.home-motion .estate-portal{animation-delay:.82s}.home-motion .orbit-stroke{stroke-dasharray:100;stroke-dashoffset:100;animation:drawHomeOrbit 1.35s .82s var(--ease) forwards}.home-motion .orbit-points{animation:homeFade .5s 1.64s both}.home-motion .destination{animation:destinationLand .9s var(--ease) both}.home-motion .destination-estate{animation-delay:1.02s}.home-motion .destination-plan{animation-delay:1.15s}.home-motion .destination-mansions{animation-delay:1.28s}.home-motion .destination-life{animation-delay:1.41s}.home-motion .destination-inside{animation-delay:1.54s}.home-motion .home-signature{animation:homeRise .8s 1.7s var(--ease) both}
.home-motion .destination-core{animation:destinationBreathe 5.4s 2.5s ease-in-out infinite}.home-motion .destination:nth-of-type(2) .destination-core{animation-delay:3.1s}.home-motion .destination:nth-of-type(3) .destination-core{animation-delay:3.7s}.home-motion .destination:nth-of-type(4) .destination-core{animation-delay:4.3s}.home-motion .destination:nth-of-type(5) .destination-core{animation-delay:4.9s}
@keyframes homeHeroIn{0%{opacity:0;transform:scale(1.075);filter:saturate(.55) brightness(.34) blur(6px)}100%{opacity:1;transform:scale(1);filter:saturate(.82) brightness(.62) blur(0)}}
@keyframes homeRise{0%{opacity:0;transform:translateY(13px);filter:blur(5px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes homeCopyIn{0%{opacity:0;transform:translateX(-26px);filter:blur(8px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes homePortalIn{0%{opacity:0;transform:translateY(28px) rotateX(-5deg);filter:blur(8px)}75%{transform:translateY(-2px) rotateX(0)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes drawHomeOrbit{to{stroke-dashoffset:0}}@keyframes homeFade{from{opacity:0}to{opacity:1}}
@keyframes destinationLand{0%{opacity:0;transform:translateY(34px) scale(.68);filter:blur(9px) drop-shadow(0 0 0 rgba(63,89,58,0))}70%{transform:translateY(-3px) scale(1.02)}100%{opacity:1;transform:none;filter:blur(0) drop-shadow(0 16px 30px rgba(63,89,58,.11))}}
@keyframes destinationBreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

@media (max-aspect-ratio:1.42){.home-editorial{top:17%}.home-preview-portals{width:46%;height:28%;bottom:5%}.curved-destinations{right:1%;width:51%;top:10%}.destination{--orb:clamp(88px,9.2vw,126px)}.home-signature{display:none}}
@media (orientation:portrait){.app[data-current-view="home"] .view-stage{inset:10px}.home-corner-brand b,.home-corner-brand i{display:none}.home-editorial{left:5%;top:10%}.home-editorial h1{font-size:48px}.home-preview-portals{left:5%;right:5%;bottom:4%;width:auto;height:25%;grid-template-columns:1fr 1fr}.curved-destinations{right:1%;top:28%;width:94%;height:43%}.destination{--orb:84px}.destination-core b{font-size:9px}.destination-icon{transform:scale(.78)}.home-signature{display:none}.portal-foot>i{margin-inline:8px}.portal-foot{padding-inline:10px}}
@media (prefers-reduced-motion:reduce){.home-motion *{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important}.preview-portal,.destination{transition:none!important}}

/* ===== Experiential shell · no website header or side navigation ===== */
.app-rail{display:none!important}
.view-stage,.app[data-current-view="home"] .view-stage{inset:12px!important;transition:inset .6s var(--ease)}
.topbar{inset:0;height:0;border:0;background:none;backdrop-filter:none;padding:0;pointer-events:none;z-index:70}
.topbar .brand-home{position:fixed;left:31px;top:29px;height:42px;padding:0 15px;background:var(--e-glass);border:1px solid var(--e-glass-line);backdrop-filter:blur(var(--e-blur));pointer-events:auto;box-shadow:0 14px 35px rgba(63,89,58,.06)}
.topbar .brand-home img{width:25px;height:20px}.topbar .brand-home span{font-size:10px}
.top-divider,#viewTitle{display:none!important}
.top-actions{position:fixed;right:30px;top:28px;margin:0;pointer-events:auto}
.icon-action,.save-top{background:var(--e-glass);backdrop-filter:blur(var(--e-blur));box-shadow:0 14px 35px rgba(63,89,58,.06)}
.icon-action{border-radius:50%;width:43px;height:43px}.save-top{height:43px}
.app[data-current-view="home"] .topbar{display:none}

/* Full-screen architect model with lightweight floating instruments. */
.masterplan-view{background:var(--e-ground);color:var(--e-ink-strong);border:1px solid var(--e-line)}
.model-frame{inset:0!important;background:var(--e-ground)}
.masterplan-copy{left:30px;top:88px;width:310px;padding:20px 20px 17px;background:var(--e-glass-strong);border:1px solid var(--e-glass-line);color:var(--e-ink);backdrop-filter:blur(var(--e-blur));box-shadow:0 22px 55px rgba(63,89,58,.06);z-index:6}
.masterplan-copy h2{font-size:34px;margin:8px 0 10px}.masterplan-copy>p:last-of-type{font-size:10px;line-height:1.55;margin:0;color:var(--e-ink-soft)}
.masterplan-filter{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:15px;border:0}
.masterplan-filter button{width:auto;height:35px;padding:0 4px;border:1px solid var(--e-line);text-align:center;font-size:7px;letter-spacing:.08em;color:var(--e-ink-soft)}
.masterplan-filter button.is-active{background:var(--sand);border-color:var(--sand);color:var(--e-ink-strong)}
.model-legend{display:flex;gap:15px;margin-top:13px;font-size:6px}.model-legend i{width:9px;height:9px}.model-legend span:first-child i{background:var(--e-surface-2)}.model-tools{right:24px;top:82px;border-color:var(--e-line);box-shadow:0 14px 34px rgba(63,89,58,.06)}
.gesture-caption{bottom:24px}.plot-drawer{right:24px;bottom:74px;width:300px;border-color:var(--e-line-strong)}
.drawer-actions{grid-template-columns:1fr 1fr}.drawer-actions .primary-action{grid-column:1/-1;background:var(--sand);color:var(--e-ink-strong)}
.model-plot-label.is-muted{filter:grayscale(1)}

/* Inner canvases share the same edge-to-edge, gallery-like treatment. */
.villa-view,.compare-view,.amenities-view,.interiors-view,.saved-view{border:1px solid var(--e-line)}
.villa-view{grid-template-columns:1fr 38%;gap:10px}.drawing-studio{padding-top:76px}.drawing-surface{height:calc(100% - 213px)}.drawing-actions{grid-template-columns:1fr 1fr 1.35fr}.drawing-actions .primary-action{background:var(--sand);color:var(--e-ink-strong)}
.villa-title{top:11%}.villa-switcher{top:45%}.compare-heading{top:10%}.compare-grid{top:9%;bottom:4%}.saved-copy{padding-top:3%}.saved-items{top:10%}

/* Private appointment sheet: local, tactile and deliberately non-website-like. */
.booking-modal{position:fixed;inset:0;z-index:160;opacity:0;pointer-events:none;transition:opacity .42s var(--ease)}
.booking-modal.is-open{opacity:1;pointer-events:auto}.booking-scrim{position:absolute;inset:0;width:100%;height:100%;background:rgba(63,89,58,.38);backdrop-filter:blur(9px)}
.booking-sheet{position:absolute;right:18px;top:18px;bottom:18px;width:min(465px,calc(100vw - 36px));padding:44px 42px 34px;background:linear-gradient(145deg,var(--e-surface),var(--e-ground));border:1px solid var(--e-line-strong);box-shadow:-32px 0 90px rgba(63,89,58,.12);transform:translateX(34px);transition:transform .55s var(--ease);overflow-y:auto}
.booking-modal.is-open .booking-sheet{transform:none}.booking-close{position:absolute;right:20px;top:13px;font:300 28px var(--sans);color:var(--e-ink-soft)}.booking-mark{height:48px;display:flex;align-items:center;gap:15px;margin-bottom:25px;border-bottom:1px solid var(--e-line)}
.booking-mark>span{width:20px;height:28px;border:1px solid var(--e-ink);border-radius:90% 0 90% 0;transform:rotate(-24deg)}.booking-mark small{text-transform:uppercase;letter-spacing:.25em;font-size:7px;color:var(--e-ink)}
.booking-sheet h2{font:400 42px/.98 var(--serif);margin:10px 0 14px;color:var(--e-ink)}.booking-sheet>p:not(.kicker){font-size:11px;line-height:1.7;color:var(--e-ink-soft);margin:0 0 23px}
#bookingForm{display:grid;grid-template-columns:1fr 1fr;gap:13px}.booking-sheet label{display:grid;gap:7px}.booking-sheet label>span{font-size:7px;text-transform:uppercase;letter-spacing:.16em;color:var(--e-ink-soft)}.booking-sheet input,.booking-sheet textarea{width:100%;border:0;border-bottom:1px solid var(--e-line-strong);border-radius:0;background:rgba(63,89,58,.04);padding:10px 9px;outline:0;color:var(--e-ink);font:400 12px var(--sans)}.booking-sheet input:focus,.booking-sheet textarea:focus{border-bottom-color:var(--e-ink);background:rgba(63,89,58,.06)}.booking-note,.booking-submit{grid-column:1/-1}.booking-sheet textarea{resize:none}.booking-submit{height:49px;margin-top:6px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:var(--sand);color:var(--e-ink-strong);text-transform:uppercase;letter-spacing:.15em;font-size:9px}.booking-submit i{font-style:normal;font-size:18px}
.booking-success{text-align:center;padding-top:42px}.booking-success>span{width:60px;height:60px;margin:auto;display:grid;place-items:center;border:1px solid var(--e-ink);border-radius:50%;font-size:22px;color:var(--e-ink)}.booking-success h3{font:400 31px var(--serif);margin:24px 0 9px}.booking-success p{font-size:10px;line-height:1.6;color:var(--muted)}.booking-success button{height:43px;margin-top:18px;padding:0 16px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.14em;font-size:8px}

@media (max-width:1024px){.masterplan-copy{width:285px}.masterplan-copy h2{font-size:29px}.masterplan-copy>p:last-of-type,.model-legend{display:none}.plot-drawer{width:270px}.drawing-actions{grid-template-columns:1fr 1fr}.drawing-actions .primary-action{grid-column:1/-1}.drawing-surface{height:calc(100% - 254px)}}
@media (orientation:portrait){.view-stage,.app[data-current-view="home"] .view-stage{inset:10px!important}.masterplan-copy{left:22px;right:22px;top:82px;width:auto;height:auto;padding:14px}.masterplan-copy h2{font-size:25px}.masterplan-copy h2 br,.masterplan-copy>p:last-of-type,.model-legend{display:none}.model-frame{inset:0!important}.model-tools{top:auto;right:20px;bottom:22px}.gesture-caption{display:none}.plot-drawer{right:18px;bottom:78px}.booking-sheet{padding:38px 28px}.villa-view{display:block}.villa-canvas{inset:0 0 45%}.drawing-studio{height:44%;padding-top:64px}.compare-heading{left:28px;right:28px;top:82px;width:auto;height:58px}.compare-heading h2{font-size:28px;line-height:.95;margin:0}.compare-heading .kicker,.compare-heading>p:last-child{display:none}.compare-grid{left:2%;right:2%;top:145px;bottom:4%}.saved-items{top:14%}.topbar .brand-home{left:24px;top:25px}.top-actions{right:24px;top:24px}}

/* ===== Reference home · nocturnal estate table ===== */
.reference-home{--home-gold:var(--e-ink-strong);--home-gold-bright:var(--e-ink);--home-bronze:var(--eden-olive);--home-umber:var(--e-ink-strong);background:var(--e-ground)}
.reference-home .orbit-home-hero{object-position:center center;filter:saturate(.82) brightness(.66) contrast(1.08) sepia(.18) hue-rotate(-7deg)}
.reference-home .orbit-home-grade{background:radial-gradient(55% 68% at 70% 42%,rgba(254,230,211,.28),transparent 62%),linear-gradient(90deg,rgba(255,242,235,.97) 0%,rgba(255,242,235,.89) 23%,rgba(255,242,235,.54) 37%,rgba(255,242,235,.08) 57%,rgba(255,242,235,.18) 78%,rgba(255,242,235,.64) 100%),linear-gradient(0deg,rgba(255,242,235,.88) 0%,transparent 45%,rgba(255,242,235,.32) 100%)}
.reference-home .home-corner-brand{left:3.1%;top:2.8%}.reference-home .home-corner-save{right:3.2%;top:2.5%}
.reference-home .home-editorial{left:4.6%;top:13.3%;width:32%;color:var(--home-gold)}
.reference-home .home-editorial .kicker{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.45em}.reference-home .home-editorial .kicker:before,.reference-home .home-editorial .kicker:after{content:"";width:36px;height:1px;background:rgba(63,89,58,.36)}.reference-home .home-editorial .kicker:after{width:7px;height:7px;transform:rotate(45deg);box-shadow:18px -18px 0 -3px transparent}
.reference-home .home-editorial h1{font-size:clamp(42px,4.25vw,66px);line-height:.99;letter-spacing:.035em;margin:14px 0 14px}.reference-home .home-editorial>p:last-child{font-size:10px;line-height:1.78;letter-spacing:.08em;text-transform:none;color:var(--e-ink-soft)}.reference-home .editorial-rule{width:148px;margin-bottom:13px;background:rgba(63,89,58,.30)}
.reference-home .home-preview-portals{left:4.6%;top:auto;bottom:5%;width:25.8%;height:min(350px,39%);grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:9px;z-index:5}
.reference-home .preview-portal{grid-template-rows:37px 1fr;border-color:var(--e-glass-line);border-radius:6px;background:linear-gradient(145deg,rgba(255,242,235,.72),rgba(254,230,211,.84));box-shadow:0 18px 44px rgba(63,89,58,.11),inset 0 0 0 1px rgba(255,252,244,.5);backdrop-filter:blur(var(--e-blur)) saturate(108%);transition:transform .55s var(--ease),border-color .35s,box-shadow .45s}
.reference-home .preview-portal:hover{transform:translateX(5px);border-color:var(--e-glass-line);box-shadow:0 28px 65px rgba(63,89,58,.14),0 0 24px rgba(109,96,61,.14)}
.reference-home .portal-label{padding:0 15px;letter-spacing:.17em;background:var(--e-surface-2);color:var(--e-ink-strong);text-shadow:none}.reference-home .portal-label b{font-size:8px}.reference-home .portal-label i{font-size:17px;font-weight:300;color:var(--e-ink-strong)}
.reference-home .masterplan-portal .portal-visual{background:var(--e-ground)}.reference-home .masterplan-portal .portal-visual:before{display:none}.reference-home .masterplan-portal .portal-visual:after{display:none}.reference-home .masterplan-portal .portal-visual img{position:relative;z-index:1;object-fit:contain;padding:5px 13px;filter:none}
.reference-home .estate-portal{grid-template-rows:37px 1fr}.reference-home .estate-portal .portal-visual:after{background:linear-gradient(0deg,rgba(255,242,235,.92),rgba(255,242,235,.08) 75%)}.reference-home .estate-portal .portal-visual img{object-position:center 46%;filter:saturate(.82) brightness(.76) sepia(.12)}
.portal-overlay-copy{position:absolute;left:13px;bottom:10px;z-index:2;color:var(--e-ink-strong);font:500 7px/1.7 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-align:left;text-shadow:0 2px 8px rgba(255,242,235,.9)}
.reference-home .portal-foot{padding:0 20px}.reference-home .portal-foot>b{font-size:30px}.reference-home .portal-estate-stats>small{min-width:88px}.reference-home .portal-estate-stats>strong{font-size:14px}.reference-home .portal-estate-stats .botanical-mark{margin-left:auto;width:19px;height:27px}.reference-home .portal-foot-copy>small{font-size:7px;line-height:1.85}
.reference-home .curved-destinations{right:.8%;top:6.5%;width:62%;height:86%;z-index:4}
.reference-home .destination-orbit{z-index:1;filter:drop-shadow(0 0 6px rgba(63,89,58,.12))}.reference-home .orbit-shadow{stroke:rgba(63,89,58,.23);stroke-width:2;transform:translate(0,2px)}.reference-home .orbit-stroke{stroke:var(--e-glass-line);stroke-width:1.1}.reference-home .orbit-points circle{fill:var(--e-surface-2);stroke:rgba(63,89,58,.55);stroke-width:2.5;filter:drop-shadow(0 0 5px rgba(109,96,61,.5))}
.reference-home .destination-orbit{opacity:0}
.reference-home .destination{--orb:clamp(108px,9.8vw,158px);z-index:2;filter:drop-shadow(0 16px 34px rgba(63,89,58,.13)) drop-shadow(0 0 9px rgba(63,89,58,.11))}.reference-home .destination:before{inset:0;border:1.5px solid rgba(109,96,61,.6);box-shadow:0 0 0 2px rgba(63,89,58,.2),0 0 17px rgba(109,96,61,.2),inset 0 0 18px rgba(255,252,244,.4)}.reference-home .destination:after{inset:7px;border:1px solid rgba(109,96,61,.34);box-shadow:inset 0 0 24px rgba(255,252,244,.42)}
.reference-home .destination:hover{transform:none;filter:drop-shadow(0 18px 38px rgba(63,89,58,.16)) drop-shadow(0 0 15px rgba(109,96,61,.22))}.reference-home .destination:active{transform:scale(.985)}
.reference-home .destination-core{inset:9px;background:radial-gradient(circle at 38% 23%,rgba(255,242,235,.96),rgba(254,230,211,.96) 34%,rgba(228,201,176,.96) 66%,rgba(171,190,162,.96) 100%);border:1px solid rgba(109,96,61,.28);box-shadow:inset 0 0 28px rgba(63,89,58,.13),inset 0 1px 0 rgba(255,252,244,.6);backdrop-filter:blur(16px) saturate(108%);transition:filter .45s var(--ease)}.reference-home .destination:hover .destination-core{filter:brightness(1.13) saturate(1.06)}
.reference-home .destination-core:before{background:linear-gradient(112deg,transparent 40%,rgba(255,252,244,.3) 49%,transparent 58%)}.reference-home .destination-core b{font-size:clamp(10px,.86vw,14px);color:var(--e-ink-strong);text-shadow:none}.reference-home .destination-core>i{background:rgba(63,89,58,.33)}.reference-home .destination-icon{color:var(--e-ink-strong);filter:none}
.reference-home .destination-estate{--curve-x:80.88%;--curve-y:13.29%}.reference-home .destination-plan{--curve-x:92.94%;--curve-y:33.54%}.reference-home .destination-mansions{--curve-x:91.03%;--curve-y:57.59%}.reference-home .destination-life{--curve-x:77.06%;--curve-y:77.22%}.reference-home .destination-inside{--curve-x:57.06%;--curve-y:88.61%}
.reference-home .home-signature{right:3.2%;bottom:4.3%;display:block;color:var(--e-ink-strong)}.reference-home .home-signature>span{border-color:rgba(63,89,58,.34)}

@media (max-height:850px) and (orientation:landscape){.reference-home .home-editorial{top:12%}.reference-home .home-editorial h1{font-size:clamp(39px,4vw,58px);margin-block:11px}.reference-home .home-editorial>p:last-child{line-height:1.55}.reference-home .home-preview-portals{top:auto;bottom:4%;height:min(290px,39%)}.reference-home .preview-portal,.reference-home .estate-portal{grid-template-rows:34px 1fr}.reference-home .curved-destinations{top:5%;height:88%}.reference-home .home-signature{bottom:3%}}
@media (orientation:portrait){.reference-home .orbit-home-hero{object-position:58% center}.reference-home .orbit-home-grade{background:linear-gradient(180deg,rgba(255,242,235,.85) 0%,rgba(255,242,235,.24) 36%,rgba(255,242,235,.16) 62%,rgba(255,242,235,.85) 100%)}.reference-home .home-editorial{left:5%;top:9%;width:88%}.reference-home .home-editorial .kicker:before{display:none}.reference-home .home-editorial h1{font-size:47px}.reference-home .home-preview-portals{left:5%;right:5%;top:auto;bottom:4%;width:auto;height:21%;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:12px}.reference-home .preview-portal,.reference-home .estate-portal{grid-template-rows:36px 1fr}.reference-home .portal-label{padding-inline:12px}.reference-home .curved-destinations{right:1%;top:28%;width:94%;height:43%}.reference-home .destination{--orb:84px}.reference-home .home-signature{display:none}}

/* ===== Masterplan · detailed arrival and anchored villa information ===== */
.masterplan-view .model-frame,.masterplan-view .model-loader{background:var(--e-ground)}
.model-plot-label{width:22px;height:16px;border-radius:3px;background:var(--e-glass-strong);border:1px solid var(--e-line-strong);color:var(--e-ink-strong);font:600 6.5px/1 var(--sans);letter-spacing:.08em;box-shadow:0 3px 10px rgba(63,89,58,.10);backdrop-filter:blur(5px);transition:opacity .25s,background .25s,border-color .25s,filter .25s}
.model-plot-label:hover,.model-plot-label.is-selected{background:var(--eden-plum);border-color:var(--e-surface-2);color:var(--e-ground);filter:drop-shadow(0 3px 6px rgba(63,89,58,.18))}
.masterplan-view .plot-drawer{--anchor-shift:0px;position:absolute;z-index:8;right:auto;bottom:auto;width:246px;padding:16px 16px 14px;opacity:0;pointer-events:none;transform:translate(-50%,calc(-100% - 23px)) scale(.92);transform-origin:50% 100%;transition:opacity .3s var(--ease),transform .42s var(--ease);background:linear-gradient(145deg,var(--e-surface),var(--e-ground));border-color:var(--e-line-strong);box-shadow:0 22px 55px rgba(63,89,58,.12)}
.masterplan-view .plot-drawer.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,calc(-100% - 23px)) scale(1)}
.masterplan-view .plot-drawer:after{content:"";position:absolute;left:calc(50% + var(--anchor-shift));bottom:-22px;width:1px;height:22px;background:linear-gradient(var(--e-ink),rgba(63,89,58,.06));box-shadow:0 20px 0 2px rgba(107,67,98,.76)}
.masterplan-view .plot-drawer h3{font-size:25px;margin:5px 0 8px}.masterplan-view .plot-type b{font-size:9px}.masterplan-view .plot-type span{font-size:7px;margin-top:4px}.masterplan-view .plot-drawer img{height:82px;margin:10px 0;background:var(--e-ground)}.masterplan-view .drawer-actions{gap:5px}.masterplan-view .drawer-actions button{height:32px;font-size:7px}.masterplan-view .plot-drawer>button:first-child{right:8px;top:5px;font-size:20px}
@media (orientation:portrait){.masterplan-view .plot-drawer{width:220px;padding:13px}.masterplan-view .plot-drawer img{height:70px}.model-plot-label{width:19px;height:14px;font-size:6px}}

/* ===== Home · elevated nocturnal materials and coordinated luxury motion ===== */
.reference-home .orbit-home-hero{filter:saturate(.94) brightness(.76) contrast(1.12) sepia(.15) hue-rotate(-6deg)}
.reference-home .orbit-home-grade{background:radial-gradient(53% 61% at 68% 43%,rgba(254,230,211,.35),transparent 64%),radial-gradient(45% 38% at 56% 73%,rgba(255,242,235,.2),transparent 70%),linear-gradient(90deg,rgba(255,242,235,.96) 0%,rgba(255,242,235,.83) 22%,rgba(255,242,235,.45) 37%,rgba(255,242,235,.05) 60%,rgba(255,242,235,.12) 79%,rgba(255,242,235,.53) 100%),linear-gradient(0deg,rgba(255,242,235,.76) 0%,transparent 43%,rgba(255,242,235,.24) 100%)}
.reference-home.home-motion .orbit-home-hero{animation:homeHeroLiftIn 1.45s var(--ease) both,estateCameraDrift 16s 1.45s ease-in-out infinite alternate}
.reference-home.home-motion .orbit-home-grade{animation:estateLightBreath 9s 1.5s ease-in-out infinite alternate}
@keyframes homeHeroLiftIn{0%{opacity:0;transform:scale(1.065);filter:saturate(.52) brightness(.32) blur(6px)}100%{opacity:1;transform:scale(1.012);filter:saturate(.94) brightness(.76) contrast(1.12) sepia(.15) hue-rotate(-6deg) blur(0)}}
@keyframes estateCameraDrift{0%{object-position:49.2% 50%}100%{object-position:51.2% 48.8%}}
@keyframes estateLightBreath{0%{opacity:.92}100%{opacity:1}}

.reference-home .destination{filter:drop-shadow(0 19px 38px rgba(63,89,58,.16)) drop-shadow(0 0 13px rgba(63,89,58,.14))}
.reference-home .destination:before{border-color:rgba(109,96,61,.62);box-shadow:0 0 0 2px rgba(63,89,58,.22),0 0 0 4px rgba(228,201,176,.5),0 0 22px rgba(109,96,61,.22),inset 0 0 22px rgba(255,252,244,.45)}
.reference-home .destination:after{inset:7px;border-color:rgba(109,96,61,.34);box-shadow:inset 0 0 27px rgba(255,252,244,.5),0 0 10px rgba(109,96,61,.12)}
.reference-home .destination-core{background:radial-gradient(circle at 34% 20%,rgba(255,242,235,.96),rgba(254,230,211,.96) 25%,rgba(228,201,176,.96) 58%,rgba(171,190,162,.96) 100%);border-color:rgba(109,96,61,.3);box-shadow:inset 0 1px 0 rgba(255,252,244,.6),inset 0 -18px 30px rgba(109,96,61,.14),inset 0 0 31px rgba(63,89,58,.10),0 0 13px rgba(63,89,58,.08)}
.reference-home.home-motion .destination-core{animation:destinationLuxe 6.8s 2.2s ease-in-out infinite}
.reference-home.home-motion .destination-plan .destination-core{animation-delay:2.75s}.reference-home.home-motion .destination-mansions .destination-core{animation-delay:3.3s}.reference-home.home-motion .destination-life .destination-core{animation-delay:3.85s}.reference-home.home-motion .destination-inside .destination-core{animation-delay:4.4s}
@keyframes destinationLuxe{0%,100%{transform:translateY(0) scale(1);filter:brightness(1) saturate(1)}48%{transform:translateY(-2px) scale(1.012);filter:brightness(1.1) saturate(1.06)}56%{transform:translateY(-2px) scale(1.012);filter:brightness(1.08) saturate(1.04)}}

.reference-home .home-preview-portals{top:37%;bottom:auto;width:27%;height:min(355px,39%);perspective:1200px;gap:10px}
.reference-home .preview-portal{position:relative;overflow:hidden;transform-style:preserve-3d;border-color:var(--e-glass-line);background:linear-gradient(145deg,rgba(255,242,235,.74),rgba(254,230,211,.86));box-shadow:0 23px 48px rgba(63,89,58,.15),0 0 0 1px rgba(109,96,61,.12),inset 0 1px 0 rgba(255,252,244,.6);transition:transform .65s var(--ease),border-color .4s,box-shadow .5s}
.reference-home .preview-portal:after{content:"";position:absolute;inset:-70% -45%;z-index:4;pointer-events:none;background:linear-gradient(112deg,transparent 43%,rgba(255,252,244,.4) 49%,transparent 55%);transform:translateX(-80%) rotate(3deg)}
.reference-home.home-motion .preview-portal:after{animation:portalGlint 7.6s 2.3s var(--ease) infinite}
.reference-home.home-motion .estate-portal:after{animation-delay:3.15s}
.reference-home .preview-portal:hover{transform:translateY(-7px) rotateX(1.2deg) scale(1.012);border-color:var(--e-glass-line);box-shadow:0 34px 68px rgba(63,89,58,.17),0 0 26px rgba(109,96,61,.12),inset 0 1px 0 rgba(255,252,244,.6)}
@keyframes portalGlint{0%,72%{transform:translateX(-82%) rotate(3deg)}90%,100%{transform:translateX(82%) rotate(3deg)}}

.reference-home .masterplan-portal .portal-visual{isolation:isolate;background:radial-gradient(80% 105% at 46% 48%,#fff2eb 0%,#fee6d3 62%,#e4c9b0 100%);box-shadow:inset 0 12px 28px rgba(109,96,61,.10)}
.reference-home .masterplan-portal .portal-visual:before{display:block;content:"";position:absolute;inset:9px;z-index:0;border:1px solid rgba(109,96,61,.15);background:linear-gradient(135deg,rgba(255,255,255,.32),transparent 42%);box-shadow:inset 0 0 28px rgba(255,255,255,.2)}
.reference-home .masterplan-portal .portal-visual img{position:absolute;inset:-2%;width:104%;height:104%;max-width:none;padding:0;object-fit:cover;object-position:center 47%;mix-blend-mode:multiply;opacity:.96;transform:perspective(720px) rotateX(5deg) rotateZ(-.25deg) translateY(-1px) scale(1.025);filter:drop-shadow(0 12px 9px rgba(63,89,58,.12)) saturate(.92) contrast(1.08);transition:transform 1s var(--ease),filter .65s,opacity .65s}
.reference-home .masterplan-portal:hover .portal-visual img{transform:perspective(720px) rotateX(1.5deg) rotateZ(0) translateY(-5px) scale(1.075);filter:drop-shadow(0 18px 13px rgba(63,89,58,.14)) saturate(1.02) contrast(1.1);opacity:1}
.reference-home .estate-portal .portal-visual{box-shadow:inset 0 0 0 1px rgba(109,96,61,.10)}
.reference-home .estate-portal .portal-visual img{transform:scale(1.045);filter:saturate(.91) brightness(.82) sepia(.11) contrast(1.07);transition:transform 1.35s var(--ease),filter .7s}
.reference-home .estate-portal:hover .portal-visual img{transform:scale(1.1);filter:saturate(1.02) brightness(.9) sepia(.07) contrast(1.08)}
.reference-home .estate-portal .portal-visual:after{background:linear-gradient(0deg,rgba(255,242,235,.96) 0%,rgba(255,242,235,.46) 31%,transparent 72%)}
.reference-home .portal-overlay-copy{font-size:7.5px;font-weight:600;color:var(--e-ink-strong);text-shadow:0 2px 10px rgba(255,242,235,.95),0 0 16px rgba(255,242,235,.8)}

@media (max-height:850px) and (orientation:landscape){.reference-home .home-preview-portals{top:35%;bottom:auto;height:min(300px,39%);width:27%}}
@media (orientation:portrait){.reference-home .home-preview-portals{left:5%;right:5%;top:auto;bottom:4%;width:auto;height:21%;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:12px}}
@media (prefers-reduced-motion:reduce){.reference-home.home-motion .orbit-home-hero,.reference-home.home-motion .orbit-home-grade,.reference-home.home-motion .destination-core,.reference-home.home-motion .preview-portal:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}



/* ===== Masterplan · vertical home-medallion filters ===== */
.masterplan-view .model-frame,.masterplan-view .model-loader{background:var(--e-ground)}
.masterplan-copy{left:20.5%;top:11.5%;width:270px;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;color:var(--e-ink-strong);text-shadow:0 1px rgba(255,255,255,.45)}
.masterplan-copy .kicker{color:var(--e-ink);font-size:9px}.masterplan-copy h2{font-size:37px;line-height:.94;margin:12px 0 14px;color:var(--e-ink-strong)}.masterplan-copy h2 em{color:var(--eden-olive)}.masterplan-copy>p:last-of-type{max-width:245px;color:var(--e-ink);font-size:10px;line-height:1.55}
.masterplan-filter-dock{--filter-orb:clamp(72px,6.8vw,94px);position:absolute;z-index:7;left:5.7%;top:14.5%;width:var(--filter-orb);display:flex;flex-direction:column;align-items:center}
.masterplan-filter{width:var(--filter-orb);margin:0;border:0;display:flex;flex-direction:column;gap:13px}
.masterplan-filter button{position:relative;width:var(--filter-orb);height:var(--filter-orb);padding:10px;border:1px solid rgba(109,96,61,.55);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--e-ink-strong);background:radial-gradient(circle at 38% 25%,rgba(255,242,235,.98),rgba(254,230,211,.98) 48%,rgba(228,201,176,.98) 100%);box-shadow:0 15px 30px rgba(63,89,58,.08),0 0 0 2px rgba(109,96,61,.18),inset 0 0 24px rgba(63,89,58,.09),inset 0 1px rgba(255,252,244,.6);text-align:center;transition:transform .5s var(--ease),box-shadow .45s,border-color .35s,filter .35s}
.masterplan-filter button:before,.masterplan-filter button:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.masterplan-filter button:before{inset:5px;border:1px solid rgba(255,252,244,.55)}.masterplan-filter button:after{inset:-4px;border:1px solid rgba(109,96,61,.2)}
.masterplan-filter button:hover{transform:translateY(-3px) scale(1.025);filter:brightness(1.04);border-color:var(--eden-olive);box-shadow:0 20px 36px rgba(63,89,58,.10),0 0 20px rgba(109,96,61,.2),inset 0 0 24px rgba(63,89,58,.08)}
.masterplan-filter button.is-active{color:var(--e-ink-strong);background:radial-gradient(circle at 38% 24%,rgba(255,242,235,.98),rgba(228,201,176,.98) 45%,rgba(171,190,162,.98) 100%);border-color:var(--eden-olive);box-shadow:0 18px 38px rgba(63,89,58,.12),0 0 24px rgba(109,96,61,.28),inset 0 0 24px rgba(63,89,58,.08)}
.masterplan-filter button b{position:relative;z-index:1;font:500 7px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}.masterplan-filter button img{position:relative;z-index:1;width:30px;height:30px;object-fit:contain;filter:sepia(.55) saturate(.85) brightness(.55) drop-shadow(0 1px 4px rgba(63,89,58,.10))}.masterplan-filter button.is-active img{filter:sepia(.45) saturate(.75) brightness(.42) drop-shadow(0 0 5px rgba(109,96,61,.2))}
.masterplan-filter-grid{position:relative;z-index:1;width:23px;height:23px}.masterplan-filter-grid:before{content:"";position:absolute;left:2px;top:2px;width:7px;height:7px;border:1px solid currentColor;box-shadow:12px 0 0 -1px rgba(228,201,176,.9),12px 0 0 0 currentColor,0 12px 0 -1px rgba(228,201,176,.9),0 12px 0 0 currentColor,12px 12px 0 -1px rgba(228,201,176,.9),12px 12px 0 0 currentColor}
.masterplan-filter-dock .model-legend{width:112px;margin:18px 0 0;gap:7px;color:var(--e-ink);font-size:6.5px;line-height:1.35;letter-spacing:.1em}.masterplan-filter-dock .model-legend i{flex:0 0 9px;width:9px;height:9px;border-color:var(--e-line-strong);background:var(--e-surface)}.masterplan-filter-dock .model-legend span:last-child i{background:var(--plum);border-color:var(--eden-plum);box-shadow:0 0 9px rgba(107,67,98,.22)}

@media (max-height:850px) and (orientation:landscape){.masterplan-copy{left:19%;top:12%;width:245px}.masterplan-copy h2{font-size:32px}.masterplan-filter-dock{--filter-orb:70px;left:5%;top:14%}.masterplan-filter{gap:8px}.masterplan-filter button{gap:5px}.masterplan-filter button img{width:24px;height:24px}.masterplan-filter-dock .model-legend{margin-top:10px}}
@media (orientation:portrait){.masterplan-copy{left:5%;right:auto;top:7.5%;width:42%;height:auto;padding:0}.masterplan-copy h2{font-size:28px}.masterplan-copy>p:last-of-type{font-size:8px}.masterplan-filter-dock{--filter-orb:62px;left:4%;right:4%;top:20%;width:auto;display:block}.masterplan-filter{width:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.masterplan-filter button{width:var(--filter-orb);height:var(--filter-orb);justify-self:center;gap:4px}.masterplan-filter button img{width:20px;height:20px}.masterplan-filter-grid{transform:scale(.75)}.masterplan-filter-dock .model-legend{display:none}}

/* ===== Claude polish · within-view editorial motion ===== */
/* (The old cream-paper masterplan chrome is gone — THE ESTATE is the dark
   photoreal render now, so the topbar keeps its standard green glass.) */

/* Give every non-home view the same quiet editorial entrance Home already has. */
@media (prefers-reduced-motion:no-preference){
  .view:not(.home-view).is-active .kicker{animation:edenRise .5s var(--ease) both}
  .view:not(.home-view).is-active h2{animation:edenRise .58s var(--ease) .06s both}
  .masterplan-view.is-active .masterplan-copy>p,
  .compare-view.is-active .compare-heading>p,
  .saved-view.is-active .saved-copy>p{animation:edenRise .62s var(--ease) .12s both}
}
@keyframes edenRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ═══════════ Claude · HOME lush-green atmosphere + green×olive×sand living orbs ═══════════ */
/* Brighten the night mansion so it reads clearly */
.orbit-home-hero{filter:saturate(1.02) brightness(.92) contrast(1.05) sepia(.05) hue-rotate(-4deg)!important}
/* Dark-green dappled-canopy wash blended INTO the building (brand mood: "dappled light, low DOF") */
.orbit-home-canopy{position:absolute;inset:0;z-index:-3;pointer-events:none;
  background:url("assets/brand/eden-atmosphere.png") center/cover no-repeat;
  mix-blend-mode:soft-light;opacity:.62;
  animation:canopyDrift 30s ease-in-out infinite alternate}
.orbit-home-canopy::after{content:"";position:absolute;inset:0;
  background:url("assets/brand/eden-atmosphere.png") center/cover no-repeat;
  mix-blend-mode:multiply;opacity:.16}
@keyframes canopyDrift{from{transform:scale(1.05) translate3d(-1.2%,.4%,0)}to{transform:scale(1.09) translate3d(1.4%,-1%,0)}}
/* Lighter, green-tinted grade — dark only where the editorial + orbs need legibility */
.orbit-home-grade{z-index:-2!important;background:
  radial-gradient(56% 64% at 71% 45%, transparent 40%, rgba(254,230,211,.32) 100%),
  linear-gradient(90deg, rgba(255,242,235,.9) 0%, rgba(255,242,235,.55) 24%, rgba(255,242,235,.1) 46%, rgba(255,242,235,0) 64%),
  linear-gradient(0deg, rgba(255,242,235,.8) 0%, rgba(255,242,235,0) 42%, rgba(254,230,211,.12) 100%)!important}
.orbit-home-grain{z-index:-1!important}

/* Destination orbs — blend garden green + olive-bronze + sand (brand-true "green×gold"), brighter + alive */
.reference-home .destination-core{
  background:radial-gradient(circle at 37% 25%, #fff2eb 0%, #fee6d3 14%, #e4c9b0 39%, #abbea2 66%, #6d603d 100%)!important;
  border:1px solid rgba(109,96,61,.42)!important;
  box-shadow:inset 0 1px 0 rgba(255,252,244,.6), inset 0 -16px 30px rgba(109,96,61,.18), inset 0 0 26px rgba(63,89,58,.08), 0 0 20px rgba(63,89,58,.10)!important}
.reference-home .destination{filter:drop-shadow(0 18px 36px rgba(63,89,58,.15)) drop-shadow(0 0 17px rgba(109,96,61,.18))!important}
.reference-home .destination-core b{color:var(--e-ink-strong)!important;color:var(--e-ink-strong)!important;text-shadow:none!important}
.reference-home .destination-icon{color:var(--e-ink-strong)!important;opacity:1!important;filter:none!important}
/* subtle living light-sweep across each orb, gently staggered */
.reference-home .destination-core:before{background:linear-gradient(112deg,transparent 38%,rgba(255,252,244,.42) 49%,transparent 60%)!important;animation:orbSheen 5.6s ease-in-out infinite!important}
.reference-home .destination-estate .destination-core:before{animation-delay:0s!important}
.reference-home .destination-plan .destination-core:before{animation-delay:1.1s!important}
.reference-home .destination-mansions .destination-core:before{animation-delay:2.2s!important}
.reference-home .destination-life .destination-core:before{animation-delay:3.3s!important}
.reference-home .destination-inside .destination-core:before{animation-delay:4.4s!important}
@keyframes orbSheen{0%{transform:translateX(-70%) rotate(20deg)}42%{transform:translateX(70%) rotate(20deg)}100%{transform:translateX(70%) rotate(20deg)}}
@media (prefers-reduced-motion:reduce){.orbit-home-canopy,.reference-home .destination-core:before{animation:none!important}}

/* ═══════════ Claude · Compare full-width + Life orb filters + Masterplan orb filters & bigger card ═══════════ */
/* ---- COMPARE: heading one line balanced at top, two panels centered full width ---- */
.compare-view .compare-heading{left:0!important;right:0!important;top:26px!important;width:auto!important;height:auto!important;
  display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.compare-view .compare-heading h2{font-size:clamp(30px,3.4vw,44px)!important;line-height:1!important;margin:0!important;white-space:nowrap}
.compare-view .compare-heading h2 br{display:none}
.compare-view .compare-heading h2 em::before{content:" "}
.compare-view .compare-heading p{max-width:620px;margin:0 auto!important;font-size:12px}
.compare-view .compare-grid{left:3%!important;right:3%!important;top:158px!important;bottom:4%!important}
.compare-view .sync-control{left:auto!important;right:3%!important;top:36px!important;bottom:auto!important;display:flex!important;z-index:5}

/* (retired: the Life orb-medallion filters, the hero swipe stage and its
   "Full screen" chip. The view IS full screen now — see galleries.css.) */

/* ---- MASTERPLAN: filters → home orb style, vertically centered on the left, bigger label ---- */
.masterplan-filter-dock{top:50%!important;transform:translateY(-50%);left:4.4%!important}
.masterplan-filter{gap:16px!important}
.masterplan-filter button{border-radius:50%!important;flex-direction:column!important;gap:5px!important;
  background:radial-gradient(circle at 37% 25%, #fff2eb 0%, #fee6d3 14%, #e4c9b0 39%, #abbea2 66%, #6d603d 100%)!important;
  border:1px solid rgba(109,96,61,.42)!important;color:var(--e-ink-strong)!important;
  box-shadow:inset 0 1px 0 rgba(255,252,244,.6), inset 0 -14px 26px rgba(109,96,61,.18), 0 10px 26px rgba(63,89,58,.12), 0 0 14px rgba(63,89,58,.08)!important;
  transition:transform .4s var(--ease),filter .4s!important}
.masterplan-filter button b{font-size:10px!important;color:var(--e-ink-strong)!important;letter-spacing:.08em}
.masterplan-filter button img{width:24px!important;height:24px!important;filter:brightness(0)!important;opacity:.72}
.masterplan-filter .masterplan-filter-grid{color:var(--e-ink-strong)!important}
.masterplan-filter button.is-active{background:radial-gradient(circle at 37% 25%, #fff2eb 0%, #fee6d3 16%, #e4c9b0 44%, #abbea2 74%, #6d603d 100%)!important;border-color:var(--eden-olive)!important;filter:brightness(1.02);box-shadow:inset 0 1px 0 rgba(255,252,244,.6), 0 12px 30px rgba(63,89,58,.13), 0 0 20px rgba(109,96,61,.26)!important}
.masterplan-filter button.is-active img{filter:brightness(0)!important;opacity:1}

/* ---- MASTERPLAN: selected-plot card bigger, curved, bigger plan, curved buttons ---- */
.masterplan-view .plot-drawer{width:344px!important;padding:22px!important;border-radius:18px!important}
.masterplan-view .plot-drawer img{height:158px!important;margin:12px 0!important;border-radius:12px!important;object-fit:cover;background:var(--e-ground)}
.masterplan-view .plot-drawer h3{font-size:29px!important;margin:6px 0 12px!important}
.masterplan-view .drawer-actions{gap:8px!important}
.masterplan-view .drawer-actions button{height:44px!important;font-size:9px!important;border-radius:12px!important}

/* ═══════════ Claude · Mansions resizable split-pane (60/40 draggable) + premium curved corners ═══════════ */
@media (orientation:landscape){
  .villa-view{--lpane:60%;grid-template-columns:var(--lpane) 1fr!important}
  .villa-view .villa-canvas{border-radius:18px!important}
  .villa-view .drawing-studio{border-radius:18px!important}
  .villa-view .interior-peek{left:auto!important;right:calc(100% - var(--lpane) + 22px)!important;border-radius:14px!important}
  .villa-view .split-handle{display:grid}
}
.split-handle{position:absolute;top:10px;bottom:10px;left:var(--lpane,60%);width:28px;transform:translateX(-50%);z-index:9;cursor:col-resize;display:none;place-items:center;touch-action:none}
.split-handle::after{content:"";position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,rgba(63,89,58,.19),transparent)}
.split-handle span{position:relative;width:26px;height:66px;border-radius:13px;
  background:radial-gradient(circle at 40% 28%,#fff2eb,#e4c9b0 55%,#abbea2);
  border:1px solid rgba(109,96,61,.42);box-shadow:0 10px 24px rgba(63,89,58,.15),inset 0 1px 0 rgba(255,252,244,.6);
  display:grid;place-items:center;transition:transform .3s var(--ease),box-shadow .3s}
.split-handle span::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--e-ink-strong);box-shadow:0 -8px 0 var(--e-ink-strong),0 8px 0 var(--e-ink-strong)}
.split-handle:hover span,.split-handle:focus-visible span{transform:scale(1.09);box-shadow:0 12px 28px rgba(63,89,58,.16),0 0 16px rgba(109,96,61,.3),inset 0 1px 0 rgba(255,252,244,.6)}
.split-handle:focus-visible{outline:none}
.villa-view.is-dragging{cursor:col-resize;user-select:none}
.villa-view.is-dragging .villa-canvas img,.villa-view.is-dragging .drawing-surface{pointer-events:none}

/* Premium curved corners wherever there are buttons / boxes */
.drawing-actions button,.drawer-actions button,.villa-switcher button,.compare-levels button,.compare-selectors select,
#expandPlan,.booking-submit,.model-tools button,.saved-empty button,
.panel-heading button{border-radius:11px!important}
.compare-levels{border-radius:12px!important;overflow:hidden}
.glass-panel,.drawing-studio,.compare-side,.booking-sheet,.interior-peek,.preview-portal,
.masterplan-filter-dock .model-tools,.model-tools{border-radius:16px!important}
.saved-card{border-radius:12px!important}
.masterplan-copy,.compare-heading{border-radius:0}

/* ═══════════ Claude · HOME daylight hero + subtle seamless-loop life ═══════════ */
/* Bright daylight image — minimal grade; keep it airy and premium */
.orbit-home-hero{filter:saturate(1.04) brightness(1.02) contrast(1.02)!important;
  animation:homeHeroLiftIn 1.45s var(--ease) both, homeDayBreath 30s ease-in-out infinite!important}
@keyframes homeDayBreath{0%{transform:scale(1.045) translate3d(0,0,0)}50%{transform:scale(1.085) translate3d(-1.3%,-.9%,0)}100%{transform:scale(1.045) translate3d(0,0,0)}}
/* dappled canopy barely-there now (image is already bright/green) */
.orbit-home-canopy{opacity:.2!important;mix-blend-mode:soft-light!important}
.orbit-home-canopy::after{display:none}
/* much lighter grade — only a soft green scrim on the left + base for the editorial + orbs */
.orbit-home-grade{background:
  linear-gradient(90deg, rgba(255,242,235,.88) 0%, rgba(255,242,235,.6) 20%, rgba(255,242,235,.18) 40%, rgba(255,242,235,0) 58%),
  linear-gradient(0deg, rgba(255,242,235,.66) 0%, rgba(255,242,235,0) 34%),
  radial-gradient(60% 60% at 82% 60%, rgba(254,230,211,.3), transparent 70%)!important;
  animation:none!important}
/* subtle drifting light-motes (whisper of pollen/leaf-light on the breeze), seamless loop */
.orbit-home-motes{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.5}
.orbit-home-motes::before,.orbit-home-motes::after{content:"";position:absolute;inset:-20% -10%;
  background-image:radial-gradient(rgba(255,248,228,.9) 40%,transparent 60%),radial-gradient(rgba(255,250,235,.8) 40%,transparent 60%),radial-gradient(rgba(230,244,220,.8) 40%,transparent 60%),radial-gradient(rgba(255,248,228,.7) 40%,transparent 60%),radial-gradient(rgba(255,250,235,.75) 40%,transparent 60%);
  background-repeat:no-repeat;
  background-size:5px 5px,4px 4px,6px 6px,3px 3px,5px 5px;
  background-position:12% 30%,34% 62%,56% 22%,72% 74%,88% 46%;
  filter:blur(.4px)}
.orbit-home-motes::before{animation:moteDriftA 26s linear infinite}
.orbit-home-motes::after{background-position:22% 68%,44% 18%,63% 82%,81% 34%,94% 60%;animation:moteDriftB 34s linear infinite}
@keyframes moteDriftA{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.9}88%{opacity:.9}100%{transform:translate3d(26px,-40px,0);opacity:0}}
@keyframes moteDriftB{0%{transform:translate3d(0,0,0);opacity:0}14%{opacity:.7}86%{opacity:.7}100%{transform:translate3d(-30px,-52px,0);opacity:0}}
@media (prefers-reduced-motion:reduce){.orbit-home-hero{animation:homeHeroLiftIn 1.2s var(--ease) both!important}.orbit-home-motes{display:none}}

/* ═══════════ Claude · Universal PREMIUM MATTE button finish (beige / dark-green + fine grain) ═══════════ */
:root{--matte-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)' opacity='0.5'/%3E%3C/svg%3E")}

/* ---- BEIGE matte: the circle nav orbs + primary CTAs + light chips + split handle ---- */
.reference-home .destination-core,
.masterplan-filter button,
.masterplan-view .model-tools button,
.primary-action,#bookVilla,#bookPlot,.booking-submit{
  background-color:var(--e-surface-2)!important;background-image:var(--matte-grain)!important;background-blend-mode:soft-light!important;background-size:150px 150px!important;
  border:1px solid var(--e-line-strong)!important;
  box-shadow:inset 0 1px 0 rgba(255,252,244,.5), inset 0 -11px 22px rgba(109,96,61,.18), 0 10px 26px rgba(63,89,58,.10)!important;
  color:var(--e-ink-strong)!important}
/* dark ink icons/labels on beige */
.reference-home .destination-core b{color:var(--e-ink-strong)!important;text-shadow:none!important}
.reference-home .destination-icon{color:var(--e-ink-strong)!important;filter:none!important;opacity:.95!important}
.masterplan-filter button b{color:var(--e-ink-strong)!important}
.masterplan-filter button img{filter:brightness(0)!important;opacity:.62!important}
.masterplan-filter .masterplan-filter-grid{color:var(--e-ink-strong)!important}
/* matte = no glossy sweep */
.reference-home .destination-core:before{display:none!important}

/* ---- DARK-GREEN matte: ghost/secondary buttons + selectors + toggles ---- */
.drawing-actions button:not(.primary-action),.drawer-actions button:not(.primary-action),
.villa-switcher button,.compare-levels button,.compare-selectors select,
.save-top,.icon-action,#addCompare,#saveVilla,#savePlot,#openPlotVilla,#expandPlan,
.saved-empty button,#closePlotDrawer{
  background-color:var(--e-surface)!important;background-image:var(--matte-grain)!important;background-blend-mode:soft-light!important;background-size:150px 150px!important;
  border:1px solid var(--e-line-strong)!important;
  box-shadow:inset 0 1px 0 rgba(255,252,244,.6), inset 0 -8px 16px rgba(109,96,61,.10), 0 8px 20px rgba(63,89,58,.10)!important;
  color:var(--e-ink)!important}

/* ---- selected / active states read clearly (inverse to dark-green + gold rim) ---- */
.masterplan-filter button.is-active,
.villa-switcher button.is-active,
.compare-levels button.is-active{
  background-color:var(--e-surface-2)!important;background-image:var(--matte-grain)!important;background-blend-mode:soft-light!important;
  border-color:rgba(109,96,61,.55)!important;color:var(--e-ink-strong)!important;
  box-shadow:inset 0 1px 0 rgba(255,252,244,.6), 0 10px 24px rgba(63,89,58,.11), 0 0 16px rgba(109,96,61,.18)!important}
.masterplan-filter button.is-active b{color:var(--e-ink-strong)!important}
.masterplan-filter button.is-active img{filter:brightness(0)!important;opacity:.72!important}
.masterplan-filter .masterplan-filter-grid{}

/* split handle → beige matte grip with dark dots */
.split-handle span{background:var(--e-surface-2)!important;background-image:var(--matte-grain)!important;background-blend-mode:soft-light!important;background-size:120px 120px!important}
.split-handle span::before{background:var(--e-ink-strong)!important;box-shadow:0 -8px 0 var(--e-ink-strong),0 8px 0 var(--e-ink-strong)!important}

@media (prefers-reduced-motion:no-preference){
  .reference-home .destination:hover .destination-core,.masterplan-filter button:hover{filter:brightness(1.04)}
}

/* villa level tabs → same matte system */
.level-stack button{background-color:var(--e-surface)!important;background-image:var(--matte-grain)!important;background-blend-mode:soft-light!important;background-size:150px 150px!important;border:1px solid var(--e-line-strong)!important;color:var(--e-ink)!important;border-radius:10px!important}
.level-stack button.is-active{border-color:rgba(109,96,61,.55)!important;box-shadow:0 0 15px rgba(109,96,61,.22)!important}

/* ═══════════ Claude · Home 5 orbs → even symmetric semi-circle (equal 30° spacing) ═══════════ */
.reference-home .destination-estate{--curve-x:72.5%!important;--curve-y:11%!important}
.reference-home .destination-plan{--curve-x:89%!important;--curve-y:27.5%!important}
.reference-home .destination-mansions{--curve-x:95%!important;--curve-y:50%!important}
.reference-home .destination-life{--curve-x:89%!important;--curve-y:72.5%!important}
.reference-home .destination-inside{--curve-x:72.5%!important;--curve-y:89%!important}


/* ═══════════ Claude · HOME living day↔night (Approach A) ═══════════ */
/* night hero stacked over the day hero; opacity driven by daynight.js; shares the Ken-Burns breath */
.orbit-home-night{opacity:0;z-index:-4;filter:saturate(1.02) brightness(.96) contrast(1.04)!important;
  animation:homeHeroLiftIn 1.45s var(--ease) both, homeDayBreath 30s ease-in-out infinite!important}
/* warm window/pool lights that bloom on as night falls (opacity driven by daynight.js) */
.orbit-home-lights{position:absolute;inset:0;z-index:-4;pointer-events:none;opacity:0;mix-blend-mode:screen;
  background:
    radial-gradient(2.4% 3% at 63% 43%,rgba(255,221,152,.9),transparent 70%),
    radial-gradient(3% 3.6% at 55% 52%,rgba(255,214,140,.85),transparent 70%),
    radial-gradient(2% 2.6% at 72% 40%,rgba(255,225,162,.8),transparent 70%),
    radial-gradient(2.2% 3% at 47% 47%,rgba(255,219,150,.8),transparent 70%),
    radial-gradient(4.5% 6% at 52% 61%,rgba(255,208,138,.55),transparent 74%),
    radial-gradient(3% 4% at 66% 58%,rgba(255,216,150,.66),transparent 72%)}
/* deepen the legibility grade slightly at night */
.reference-home.is-night .orbit-home-grade{background:
  linear-gradient(90deg, rgba(255,242,235,.94) 0%, rgba(255,242,235,.66) 22%, rgba(255,242,235,.22) 44%, rgba(255,242,235,0) 62%),
  linear-gradient(0deg, rgba(255,242,235,.74) 0%, rgba(255,242,235,0) 40%),
  radial-gradient(60% 60% at 80% 58%, rgba(254,230,211,.36), transparent 72%)!important}

/* HOME orbs cycle with the sky: DAY = dark-green matte (light text), NIGHT = beige matte (dark text) */
.reference-home .destination-core{
  background-color:var(--eden-beige-1)!important;background-image:var(--matte-grain)!important;background-blend-mode:soft-light!important;background-size:150px 150px!important;
  border:1px solid rgba(63,89,58,.34)!important;
  transition:background-color 2.4s var(--ease),border-color 2.4s var(--ease),box-shadow .4s var(--ease)!important}
.reference-home .destination-core b{color:var(--e-ink-strong)!important;transition:color 2.4s var(--ease)!important}
.reference-home .destination-icon{color:var(--e-ink-strong)!important;transition:color 2.4s var(--ease)!important}
.reference-home.is-night .destination-core{background-color:var(--eden-green)!important;border-color:rgba(228,201,176,.32)!important}
.reference-home.is-night .destination-core b{color:var(--eden-beige-3)!important}
.reference-home.is-night .destination-icon{color:var(--eden-beige-3)!important}

/* hide the decorative "Step inside" card when the render pane is squeezed narrow (no overlap) */
.villa-view.render-narrow .interior-peek{opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}

/* ═══════════ Claude · day↔night via real night VIDEO + continuous synced orb colour ═══════════ */
video.orbit-home-night{object-fit:cover}
.orbit-home-lights{display:none!important} /* retired the CSS lights — real video handles it */
/* orbs colour-shift continuously with --dn (0=day beige lacquer, 1=night brand-green) — no jump, perfectly in sync */
.reference-home .destination-core,
.reference-home.is-night .destination-core{
  background-color:color-mix(in srgb, #e4c9b0, #3f593a calc(var(--dn,0)*100%))!important;
  border-color:color-mix(in srgb, rgba(63,89,58,.4), rgba(228,201,176,.32) calc(var(--dn,0)*100%))!important;
  transition:box-shadow .4s var(--ease), transform .55s var(--ease)!important}
.reference-home .destination-core b,
.reference-home.is-night .destination-core b{color:color-mix(in srgb, #2c3f28, #fff2eb calc(var(--dn,0)*100%))!important;transition:none!important}
.reference-home .destination-icon,
.reference-home.is-night .destination-icon{color:color-mix(in srgb, #2c3f28, #fff2eb calc(var(--dn,0)*100%))!important;transition:none!important}

/* night VIDEO layer: opacity is 100% JS-controlled (day↔night crossfade) — strip any
   keyframe that animates opacity (homeHeroLiftIn's `both` fill would pin it to 1). */
.reference-home .orbit-home-night,
video.orbit-home-night{
  z-index:-4!important;
  opacity:0; /* JS (daynight.js) sets inline opacity each frame */
  animation:homeDayBreath 30s ease-in-out infinite!important; /* transform-only breath, no opacity */
}

/* ═══════════ Claude · floating + rotating 3D masterplan maquette on Home (lower-left) ═══════════ */
.home-masterplan-float{
  position:absolute; left:1.4%; bottom:1.5%; width:min(46vw,624px);
  padding:0; border:0; background:none; cursor:pointer; z-index:2;
  transition:transform .55s var(--ease); -webkit-tap-highlight-color:transparent}
.home-masterplan-float:hover{transform:translateY(-4px) scale(1.012)}
.home-masterplan-float:active{transform:scale(.994)}
.hmf-stage{position:relative; display:block; animation:hmfFloat 7.5s ease-in-out infinite}
.hmf-glow{position:absolute; left:6%; right:4%; top:10%; bottom:6%; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse at 52% 56%, rgba(255,242,235,.5), rgba(254,230,211,.18) 46%, transparent 72%);
  filter:blur(20px)}
.hmf-model{position:relative; z-index:1; display:block; width:100%; height:auto;
  transform-origin:50% 62%; animation:hmfTurn 22s ease-in-out infinite;
  filter:drop-shadow(0 26px 42px rgba(63,89,58,.18)) drop-shadow(0 0 34px rgba(109,96,61,.16))}
@keyframes hmfFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
@keyframes hmfTurn{
  0%,100%{transform:perspective(1800px) rotateX(6deg) rotateY(-12deg)}
  50%{transform:perspective(1800px) rotateX(6deg) rotateY(12deg)}}
/* floating label + leader-line pointer */
.hmf-tag{position:absolute; left:5%; top:-3%; z-index:3; pointer-events:none; text-align:left}
.hmf-tag .hmf-text small{display:block; font:500 9px/1 var(--sans,"Inter",sans-serif); letter-spacing:.42em; text-transform:uppercase; color:var(--eden-olive)}
.hmf-tag .hmf-text b{display:block; margin-top:8px; font:400 clamp(15px,1.55vw,22px)/1.12 var(--serif); letter-spacing:.055em; color:var(--e-ink-strong); text-shadow:0 2px 16px rgba(255,242,235,.85)}
.hmf-tag .hmf-text i{display:block; margin-top:10px; font-style:normal; font-size:8px; letter-spacing:.3em; text-transform:uppercase; color:var(--e-ink-soft)}
.hmf-lead{position:absolute; left:36%; top:100%; width:92px; height:56px; overflow:visible; z-index:2}
.hmf-lead path{fill:none; stroke:rgba(109,96,61,.7); stroke-width:1; stroke-dasharray:2 3.5}
.hmf-dot{position:absolute; left:calc(36% + 84px); top:calc(100% + 48px); width:9px; height:9px; border-radius:50%;
  background:var(--eden-olive); box-shadow:0 0 10px rgba(109,96,61,.5),0 0 0 4px rgba(109,96,61,.18);
  animation:hmfPulse 2.6s ease-in-out infinite}
@keyframes hmfPulse{0%,100%{box-shadow:0 0 10px rgba(109,96,61,.5),0 0 0 4px rgba(109,96,61,.16)}50%{box-shadow:0 0 17px rgba(109,96,61,.7),0 0 0 7px rgba(109,96,61,.06)}}
/* entrance with the rest of the home choreography */
.home-motion .home-masterplan-float{animation:homePortalIn 1s .78s var(--ease) both}
@media (prefers-reduced-motion:reduce){.hmf-stage,.hmf-model,.hmf-dot{animation:none!important}.hmf-model{transform:perspective(1800px) rotateX(6deg) rotateY(-8deg)}}

/* ═══════════ Claude · RICHER home orbs — depth gradient (day beige ↔ night green) + soft shadow ═══════════ */
.reference-home .destination-core,
.reference-home.is-night .destination-core{
  background:
    radial-gradient(circle at 37% 26%,
      color-mix(in srgb, #fff2eb, #4a6341 calc(var(--dn,0)*100%)) 0%,
      color-mix(in srgb, #fee6d3, #3f593a calc(var(--dn,0)*100%)) 50%,
      color-mix(in srgb, #e4c9b0, #2c3f28 calc(var(--dn,0)*100%)) 100%)!important;
  border:1px solid color-mix(in srgb, rgba(63,89,58,.42), rgba(171,190,162,.55) calc(var(--dn,0)*100%))!important;
  box-shadow:
    0 24px 50px rgba(63,89,58,.16),
    0 8px 18px rgba(63,89,58,.10),
    inset 0 1.5px 0 rgba(255,252,244,.32),
    inset 0 -16px 30px rgba(63,89,58,.12)!important;
}
/* matte grain as its own soft-light overlay (kept, but no longer flattening the gradient) */
.reference-home .destination-core::after{
  content:""; position:absolute; inset:0; border-radius:50%; pointer-events:none; z-index:0;
  background-image:var(--matte-grain); background-size:150px 150px;
  mix-blend-mode:soft-light; opacity:.42;
}
.reference-home .destination-core > *{position:relative; z-index:1}
/* soft outer contact shadow under each orb, so they sit richly on the scene */
.reference-home .destination{filter:drop-shadow(0 20px 40px rgba(63,89,58,.16)) drop-shadow(0 3px 10px rgba(63,89,58,.11)) drop-shadow(0 0 12px rgba(171,190,162,.28))!important}
.reference-home.is-night .destination{filter:drop-shadow(0 20px 40px rgba(63,89,58,.18)) drop-shadow(0 3px 10px rgba(63,89,58,.13)) drop-shadow(0 0 12px rgba(228,201,176,.3))!important}

/* ═══════════ Claude · Home masterplan is now a LIVE interactive 3D maquette (bigger, moved right) ═══════════ */
.home-masterplan-float{left:19%!important; bottom:0.5%!important; width:min(50vw,690px)!important; z-index:2}
.hmf-stage{position:relative; display:block; animation:hmfFloat 7.5s ease-in-out infinite}
.hmf-model{width:100%; aspect-ratio:4/3; height:auto; display:block; animation:none!important; filter:none}
.hmf-model canvas{filter:drop-shadow(0 32px 48px rgba(63,89,58,.16)) drop-shadow(0 0 26px rgba(109,96,61,.14))}
.hmf-glow{left:4%; right:4%; top:14%; bottom:8%}
/* label is now a real tappable button (drag rotates the model, this opens the plan) */
.hmf-tag.hmf-open{pointer-events:auto; cursor:pointer; border:0; background:none; padding:0; transition:transform .4s var(--ease)}
.hmf-tag.hmf-open:hover{transform:translateY(-2px)}
.hmf-tag.hmf-open:hover .hmf-text i{color:var(--e-ink)}

/* (retired with the orb filters — the gallery chrome owns its own taps) */
