:root{color-scheme:light;--paper:#f6f5f0;--white:#fffefa;--ink:#292f2d;--muted:#767d76;--line:#dddfd5;--olive:#52654e;--brass:#a58b5b;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--olive);outline-offset:4px}[hidden]{display:none!important}
.site-header{height:98px;max-width:1664px;margin:auto;padding:0 52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:19px;text-decoration:none}.brand-mark{font-family:Georgia,serif;font-size:32px;letter-spacing:-2px;position:relative;padding-bottom:5px}.brand-rule{position:absolute;height:1px;bottom:0;left:0;right:0;background:var(--brass)}.brand-name{font-size:11px;letter-spacing:2px;font-weight:600}.brand-name>span{display:block;font-size:8px;letter-spacing:2.3px;margin-top:8px;font-weight:400;color:var(--muted)}
.prototype-note{display:flex;align-items:center;gap:9px;letter-spacing:1.6px;font-size:10px;color:var(--muted)}.small-dot{height:5px;width:5px;border-radius:50%;background:var(--brass)}.phase{color:var(--brass)}main{max-width:1664px;margin:auto;padding:0 52px}
.intro{padding:38px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:32px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;color:var(--muted);margin:0}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:42px;font-weight:400;letter-spacing:-1.5px;line-height:1.12;margin:15px 0 13px}.title-break{display:none}.intro-copy{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.floor-badge{display:flex;align-items:center;gap:18px;border-left:1px solid var(--line);padding-left:27px;flex-shrink:0;font-size:15px}.floor-number{font-family:Georgia,serif;font-size:55px;color:var(--brass);font-weight:400;line-height:1}.floor-badge div>span{display:block;max-width:300px;font-size:11px;color:var(--muted);margin-top:9px;line-height:1.4}
.plan-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;font-size:10px}.plan-heading,.demo-note{display:flex;align-items:center;gap:10px}.plan-heading{color:var(--muted)}.meta-separator{height:11px;width:1px;background:var(--line);margin:0 5px}.demo-note{color:#65715c;font-size:10px}.status-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#899578}.demo-tag{font-size:8px;letter-spacing:1px;border:1px solid #cbd0c1;padding:3px 5px;border-radius:3px;color:#68725c;line-height:1}.demo-explanation{color:var(--muted);margin-left:4px;font-size:10px}
.workspace{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--line);background:var(--white);border-radius:9px;overflow:hidden;box-shadow:0 8px 32px #29342e04}.workspace.has-selection{grid-template-columns:minmax(0,1fr) 344px}.plan-stage{position:relative;min-width:0;height:clamp(430px,39vw,600px);display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#fff 25%,#fafbf7 100%);overflow:hidden}.has-selection .plan-stage{height:100%;min-height:580px}
.plan-instruction{position:absolute;top:24px;left:25px;z-index:1;display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);pointer-events:none}.instruction-dot{width:5px;height:5px;background:var(--brass);border-radius:50%}.fit-button{position:absolute;top:15px;right:16px;display:flex;align-items:center;gap:7px;z-index:1;border:1px solid var(--line);background:var(--white);border-radius:5px;padding:9px 11px;font-size:10px;color:#646e62}.fit-button svg{width:17px;height:17px}.fit-button:hover{background:#eeefe7}.fit-button:disabled{opacity:.45;cursor:default}
.floor-plan{display:block;width:100%;height:100%;min-height:350px;padding:70px 24px 68px;overflow:visible;touch-action:manipulation}.floor-background{pointer-events:none}.unit{cursor:pointer}.unit-shape{fill:#9ea282;fill-opacity:.13;stroke:#737d65;stroke-opacity:.38;stroke-width:.7;vector-effect:non-scaling-stroke;transition:fill-opacity .16s,fill .16s,stroke .16s;pointer-events:all}.unit:hover .unit-shape{fill:#a0aa82;fill-opacity:.36;stroke:#687750;stroke-opacity:.9;stroke-width:1.3}.unit.is-selected .unit-shape{fill:#748a63;fill-opacity:.43;stroke:#455b3c;stroke-opacity:1;stroke-width:1.7}.unit-label rect{fill:#fffef9;stroke:#959c83;stroke-width:.8;vector-effect:non-scaling-stroke;transition:fill .16s}.unit-label text{font-family:Arial,Helvetica,sans-serif;font-size:10400px;font-weight:500;fill:#4b5943;text-anchor:middle;dominant-baseline:central;pointer-events:none}.unit:hover .unit-label rect{fill:#f1f2e8;stroke:#687750}.unit.is-selected .unit-label rect{fill:var(--olive);stroke:var(--olive)}.unit.is-selected .unit-label text{fill:#fffef9}.plan-caption{position:absolute;bottom:23px;left:25px;right:25px;display:flex;justify-content:space-between;gap:15px;pointer-events:none;color:#91978e;font-size:10px}.plan-caption>span:first-child{letter-spacing:1.8px;font-size:9px}.plan-loading{font-size:13px;line-height:1.8;text-align:center;color:var(--muted);padding:30px;max-width:480px}
.plan-orientation-overlay{font-family:Arial,Helvetica,sans-serif;letter-spacing:.085em;pointer-events:none}.plan-orientation-road{fill:#66705f;fill-opacity:.8;font-weight:600}.plan-orientation-direction{fill:#7b8178;fill-opacity:.82;font-weight:600}.plan-orientation-line{fill:none;stroke:#7b8178;stroke-width:1.25;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.82}
.details{padding:25px 27px 23px;border-left:1px solid var(--line);background:#fbfbf6;animation:drawer-in .22s ease-out}.drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.drawer-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.close-button{border:1px solid var(--line);background:transparent;border-radius:50%;height:28px;width:28px;font-size:21px;font-weight:300;line-height:1;display:grid;place-items:center;color:var(--muted)}.close-button:hover{background:#e9ede3}.details h2{font-family:Georgia,serif;font-size:42px;line-height:1.1;font-weight:400;letter-spacing:-1.2px;margin:17px 0 8px}.unit-subtitle{font-size:12px;color:var(--muted);margin:0}.unit-status{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--olive);margin-top:18px}.primary-area{margin:25px 0 18px;padding-top:23px;border-top:1px solid var(--line)}.primary-area>span{font-size:11px;color:var(--muted)}.primary-area p{display:flex;align-items:baseline;gap:8px;margin:6px 0 0}.primary-area strong{font-family:Georgia,serif;font-size:43px;font-weight:400;letter-spacing:-1px}.primary-area p>span{color:var(--muted);font-size:17px}.area-list{margin:0 0 24px;font-size:11px}.area-list>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #e9ebe3}.area-list dt{color:var(--muted)}.area-list dd{margin:0;font-weight:500;white-space:nowrap}.pdf-button{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;background:var(--olive);color:#fffdf8;font-size:12px;padding:15px 17px;border-radius:4px}.pdf-button:hover{background:#42563e}.pdf-button svg{width:17px;height:17px}.source-note{padding-top:16px;border-top:1px solid var(--line);color:var(--muted)}.note-label{font-size:8px;letter-spacing:1.3px}.source-note p{font-size:10px;line-height:1.7;margin:7px 0}.content-warning{border-left:2px solid #b39765;background:#f3eee2;padding:10px 11px;color:#7d6840;font-size:11px;line-height:1.6;margin:0 0 18px}.page-footnote{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);padding:18px 0 32px}.site-footer{max-width:1664px;margin:auto;border-top:1px solid var(--line);padding:24px 52px 30px;display:flex;justify-content:space-between;gap:15px;color:#93988e;font-size:9px}.site-footer>span:first-child{letter-spacing:1.6px}.no-script{padding:20px;background:#f3eee2;font-size:13px}
@keyframes drawer-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
/* Phase 1A fallback only. Mobile sheet, gestures and final responsive work belong to 1B. */
@media(max-width:1000px){.site-header{padding:0 28px}main{padding:0 28px}.intro h1{font-size:35px}.title-break{display:block}.floor-badge{gap:10px;padding-left:20px}.floor-number{font-size:45px}.floor-badge div>span{font-size:10px}.demo-explanation{display:none}.workspace.has-selection{grid-template-columns:minmax(0,1fr) 300px}.details{padding:22px}.floor-plan{padding-left:12px;padding-right:12px}.site-footer{padding-left:28px;padding-right:28px}}
@media(max-width:700px){.site-header{height:78px;padding:0 20px}.brand{gap:12px}.brand-mark{font-size:27px}.brand-name{font-size:9px;letter-spacing:1.1px}.brand-name>span{font-size:7px;letter-spacing:1.5px}.prototype-note{font-size:8px;gap:5px}.prototype-note .phase{display:none}main{padding:0 16px}.intro{display:block;padding:26px 4px}.intro h1{font-size:32px;line-height:1.16}.intro-copy{font-size:12px;max-width:300px}.floor-badge{border-left:0;padding:0;margin-top:23px;gap:12px;font-size:13px}.floor-number{font-size:34px}.floor-badge div>span{margin-top:4px}.plan-meta{align-items:flex-start;gap:12px;padding:0 4px}.plan-heading{gap:5px;flex-wrap:wrap;font-size:9px}.plan-heading .eyebrow{font-size:8px;letter-spacing:1px}.demo-note{gap:5px;font-size:9px}.meta-separator{margin:0 3px}.workspace.has-selection{grid-template-columns:minmax(0,1fr)}.plan-stage,.has-selection .plan-stage{height:320px;min-height:320px}.floor-plan{min-height:0;padding:57px 8px 51px}.plan-instruction{left:14px;top:22px;font-size:9px}.fit-button{right:11px;top:13px;padding:7px}.fit-button span{display:none}.plan-caption{bottom:18px;left:14px;right:14px;font-size:8px}.plan-caption>span:first-child{font-size:8px;white-space:nowrap}.details{border-left:0;border-top:1px solid var(--line);padding:24px;animation:none}.details h2{font-size:37px}.page-footnote{font-size:9px;line-height:1.6;padding-bottom:23px}.page-footnote>span{max-width:50%}.page-footnote>span:last-child{text-align:right}.site-footer{padding:22px 20px;display:block;line-height:1.6}.site-footer>span{display:block}.site-footer>span+span{margin-top:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.plan-wind-rose{position:absolute;right:clamp(22px,2vw,30px);top:52px;z-index:3;display:block;width:clamp(62px,5vw,76px);height:clamp(62px,5vw,76px);overflow:visible;pointer-events:none}.plan-wind-rose-cross{fill:none;stroke:#788173;stroke-width:.75;stroke-linecap:round;opacity:.52}.plan-wind-rose-south,.plan-wind-rose-east,.plan-wind-rose-west{fill:#92988f;opacity:.7}.plan-wind-rose-north{fill:var(--brass);stroke:#fbfaf5;stroke-width:.5;stroke-linejoin:round}.plan-wind-rose-centre{fill:var(--brass);stroke:#fbfaf5;stroke-width:.8}.plan-wind-rose-label{fill:var(--brass);font:700 10px Arial,Helvetica,sans-serif;text-anchor:middle;dominant-baseline:middle;letter-spacing:.04em}
@media(max-width:700px){.plan-wind-rose{right:12px;top:52px;width:48px;height:48px}}
