:root{font-family:Inter,Arial,sans-serif;color:#183b34;background:#f5f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}[hidden]{display:none!important}a{color:inherit}.top{background:#fff;border-bottom:1px solid #dce5df;padding:22px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:.08em;font-size:18px;font-weight:800}.mark{display:grid;place-items:center;color:#fff;background:#175d49;border-radius:50%;width:42px;height:42px;font-family:Georgia,serif;font-size:26px}.top-note{font-size:13px;color:#647b73}.wrap{max-width:1288px;margin:auto;padding:0 24px}.hero{padding:55px 0 34px;border-bottom:1px solid #d5dfd8;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.eyebrow{font-size:12px;letter-spacing:.2em;color:#547b67;font-weight:700;margin:0 0 14px}h1{font-size:clamp(36px,5vw,62px);line-height:1.03;letter-spacing:-.05em;margin:0 0 18px;font-weight:650}h1 em{font-family:Georgia,serif;font-weight:400;color:#668265}.hero p{max-width:550px;line-height:1.6;color:#5c736a;margin:0}.hero-chip{white-space:nowrap;border:1px solid #b9cec0;border-radius:40px;padding:13px 19px;font-size:14px}.filters{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr 1fr;gap:12px;padding:26px 0}label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#4e6b5f;font-weight:600}select,input,textarea{background:#fff;border:1px solid #cbd9d0;border-radius:9px;color:#1b3f31;padding:12px;min-width:0;max-width:100%;font-size:14px}select:focus,input:focus,button:focus-visible,a:focus-visible,textarea:focus{outline:3px solid #99bfaa;outline-offset:2px}.results-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:8px 0 22px}.results-head h2{font-size:23px;letter-spacing:-.03em;margin:0}.results-head small{color:#738579;font-size:13px}.search{width:180px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.unit-card{border:1px solid #e0e6df;padding:0;background:#fff;border-radius:14px;overflow:hidden;text-align:left;color:inherit;transition:transform .17s,box-shadow .17s}.unit-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #1d4f3220}.card-image{height:220px;background:#edf1e9;position:relative;padding:17px}.card-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.badge{display:inline-block;border-radius:30px;padding:7px 12px;font-size:12px;font-weight:700;background:#f0f0e7;color:#686954}.card-image .badge{position:absolute;top:14px;left:14px;box-shadow:0 1px 6px #254b2420}.available{color:#1d6b47;background:#e6f3e7}.sold{color:#7f5047;background:#f5e8e3}.reserved{color:#886222;background:#fff1d8}.unknown{color:#616966;background:#ecefeb}.missing-plan{height:100%;display:flex;gap:10px;align-items:center;justify-content:center;flex-direction:column;color:#819483;font-size:13px}.missing-plan span{font-size:42px;font-weight:300}.card-body{padding:20px}.card-title{display:flex;justify-content:space-between;align-items:center}.card-title h3{margin:0;font-size:20px;letter-spacing:-.03em}.card-title>span{font-size:24px;color:#719079}.card-body p{font-size:13px;color:#6e8275;margin:10px 0 20px}.price{font-size:20px;letter-spacing:-.025em;font-weight:700;display:block}.card-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:11px;padding-top:14px;margin-top:17px;border-top:1px solid #e6ebe5;color:#7b8b7d}.card-bottom span:last-child{color:#32664c;font-weight:700}.notice{padding:17px 20px;margin:24px 0;background:#eaf0e5;border-radius:10px;color:#5b7159;font-size:13px;line-height:1.6}.footer{border-top:1px solid #d5dfd8;margin:44px 0 0;padding:25px 0 35px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#7c8e7e}dialog{border:0;border-radius:18px;padding:0;max-width:1000px;width:calc(100% - 32px);max-height:92dvh;color:inherit;background:#fbfcf9;box-shadow:0 30px 100px #002b2260}dialog::backdrop{background:#122f27ab;backdrop-filter:blur(4px)}.dialog-head{position:sticky;top:0;z-index:4;background:#fbfcf9;padding:20px 25px;border-bottom:1px solid #dde5da;display:flex;justify-content:space-between;gap:18px;align-items:center}.dialog-head h2{font-size:23px;margin:8px 0 0}.close{background:#edf1e8;color:#315339;border:0;border-radius:50%;font-size:24px;width:40px;height:40px}.dialog-body{padding:25px}.unit-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.unit-summary strong{font-size:28px;display:block}.subtle{font-size:12px;color:#748675;line-height:1.5}.actions{display:flex;flex-wrap:wrap;gap:10px}button.primary,.button,.outline,.segmented button{border:1px solid #bfcfbe;border-radius:8px;padding:11px 16px;background:#fff;color:#2d6246;font-size:13px;text-decoration:none;display:inline-block}.primary,button.primary{background:#1a6148;color:#fff;border-color:#1a6148}.selection{padding:20px;background:#eaf2e6;border-radius:12px;margin:20px 0}.selection textarea{width:100%;margin:12px 0}.apartment-tour-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #dce5d8;padding-top:23px}.apartment-tour-heading h3{font-size:16px}.segmented{display:flex;gap:4px}.segmented .active,.outline.active{background:#1a6148;color:#fff;border-color:#1a6148}.apartment-plan-image img{width:100%;height:auto;max-height:65vh;object-fit:contain;display:block;margin:18px auto;background:white}.apartment-tour-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}.apartment-check{display:flex;flex-direction:row;align-items:center;gap:5px}.apartment-check input{accent-color:#1a6148}.apartment-tour-tools label{font-size:11px}.apartment-tour-tools select{padding:8px}#apartmentTourStage{position:relative;height:450px;overflow:hidden;border-radius:12px;background:#e2e8ed}#apartmentTourCanvas{width:100%;height:100%;touch-action:none;display:block}.apartment-room-label{position:absolute;top:0;left:0;pointer-events:none;font-size:10px;background:#fffffff0;border-radius:5px;padding:4px 6px;color:#233c2a;white-space:nowrap}.note{background:#f1f0df;padding:12px;border-radius:8px;font-size:13px;line-height:1.6}.error{color:#8f2c23;background:#ffede5;padding:20px;border-radius:12px}#loading,#empty{padding:45px;text-align:center}.hero .quiet{font-size:13px}
@media(max-width:950px){.cards{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(3,1fr)}.hero-chip{display:none}}
@media(max-width:580px){.top{padding:16px 20px}.top-note{display:none}.wrap{padding:0 18px}.hero{padding:35px 0 27px}h1{font-size:39px}.hero p{font-size:14px}.filters{grid-template-columns:repeat(2,1fr);gap:10px;padding:22px 0}.filters label:last-child{grid-column:1 / -1}.cards{grid-template-columns:1fr;gap:18px}.card-image{height:245px}.results-head{align-items:flex-start}.search{width:120px}.results-head h2{font-size:20px}.results-head small{font-size:11px}.footer{flex-direction:column;gap:8px}.dialog-head,.dialog-body{padding:18px}.dialog-head h2{font-size:19px}.unit-summary strong{font-size:24px}.unit-summary .actions{width:100%}.actions button{flex:1}#apartmentTourStage{height:350px}}
@media print{body>*:not(dialog){display:none!important}dialog[open]{display:block!important;position:static;max-height:none;width:100%;max-width:none;border:0;box-shadow:none;overflow:visible}.dialog-head{position:static}.close,.actions,.selection,.segmented,.apartment-tour-tools,#apartmentTourDownload,#apartmentTour3dWrap,#apartmentTourSource{display:none!important}#apartmentTourImageWrap{display:block!important}.apartment-plan-image img{max-height:135mm}.notice{font-size:10px}.dialog-body{padding:12px}dialog::backdrop{background:white}}
.unit-card:disabled{opacity:1;cursor:not-allowed}.unit-card:disabled .card-image img{opacity:.55}.unit-card:disabled:hover{transform:none;box-shadow:none}.client-calculator{background:#eaf0e4;border:1px solid #d9e4ce;border-radius:14px;padding:22px;margin:24px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.client-calculator h3{font-size:23px;letter-spacing:-.03em;margin:0 0 20px}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calc-fields label:first-child{grid-column:1 / -1}.calc-results{background:#fff;border-radius:12px;padding:22px;align-self:start}.calc-results>span{font-size:12px;color:#68836a}.calc-results>strong{display:block;font-size:28px;letter-spacing:-.04em;margin:10px 0 24px}.calc-results dl{margin:0}.calc-results dl div{display:flex;justify-content:space-between;gap:10px;margin:13px 0;font-size:11px}.calc-results dd{margin:0;text-align:right;font-weight:700}.calc-note{font-size:11px;grid-column:1 / -1;margin:0;color:#6f806b;line-height:1.5}.building-view-switch{margin:0 0 20px}.building-card{background:#fff;border:1px solid #dae5d8;border-radius:14px;padding:20px}.building-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px}.building-head h2{margin:5px 0;font-size:22px}.building-head p{font-size:12px;color:#738575}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.toolbar button{padding:9px 12px;border-radius:7px;background:#f0f4ed;border:1px solid #c4d4c0;color:#2d603f}.exterior-layout{display:grid;grid-template-columns:2.5fr 1fr;gap:18px;margin:20px 0}.exterior-info p{white-space:pre-line;font-size:13px;line-height:1.6}.exterior-info img{width:100%}#exteriorStage{height:500px;position:relative;overflow:hidden;background:#e5eef2;border-radius:10px}#exteriorCanvas{width:100%;height:100%;touch-action:none}#exteriorError{position:absolute;bottom:15px;background:white;padding:12px;left:10px;right:10px;font-size:13px}.exterior-units{display:grid;grid-template-columns:repeat(9,1fr);gap:6px}.exterior-units button{border:0;padding:10px 4px;font-size:11px;border-radius:5px}.exterior-units button:disabled{opacity:.8}.exterior-units button[aria-pressed=true]{outline:2px solid #285f40}@media(max-width:750px){.client-calculator{grid-template-columns:1fr;padding:16px}.exterior-layout{grid-template-columns:1fr}#exteriorStage{height:360px}.exterior-units{grid-template-columns:repeat(4,1fr)}}
@media print{.client-calculator{break-inside:avoid;padding:12px;margin:10px 0;font-size:11px}.calc-fields input{padding:5px}.calc-results{padding:12px}.calc-results>strong{font-size:19px}.calc-note{font-size:9px}.client-calculator h3{font-size:16px;margin:5px 0}.apartment-tour-heading{padding-top:10px}}
@media(max-width:700px){input,select,textarea{font-size:16px;min-height:46px}button,.outline,.button,.segmented button{min-height:44px}.close{width:44px;height:44px;flex-shrink:0}.unit-card{width:100%}.card-title h3{font-size:21px}.card-bottom{font-size:12px}.unit-summary .actions button{min-width:120px}.dialog-body{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.exterior-units button{font-size:12px;padding:9px 4px}.calc-fields{grid-template-columns:1fr 1fr}.calc-results>strong{font-size:26px;overflow-wrap:anywhere}.apartment-tour-tools{gap:8px}.apartment-tour-tools select{max-width:220px}.notice{font-size:13px}.top{padding-top:calc(16px + env(safe-area-inset-top))}#exteriorStage,#apartmentTourStage{height:340px}.apartment-plan-image{overflow:auto;touch-action:pan-x pan-y pinch-zoom}.apartment-plan-image img{max-height:none}.unit-summary{gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Mobile visitor tour, 17.5.1. Full viewport also works in HTTP/in-app browsers. */
.viewer-lock{overflow:hidden}
.filters{grid-template-columns:repeat(5,minmax(0,1fr))}.filters>label{min-width:0}.filters select{width:100%}
@media(max-width:950px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dialog-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.dialog-head{z-index:8}.dialog-head>div:first-child{min-width:0}
.dialog-head h2{overflow-wrap:anywhere}
.dialog-body #apartmentTourPanel{scroll-margin-top:120px}
#unitAvailability{margin:0 0 16px}
#clientCalculator{scroll-margin-top:115px}
.unit-card .sold{background:#f3d4cf;color:#8b3025}
.apartment-tour-heading{border-top:0;padding-top:0;gap:8px}
.apartment-tour-heading h3{margin:4px 0;font-size:15px}
.apartment-tour-heading .segmented{flex-wrap:wrap}
.apartment-tour-heading .segmented button{padding:11px 13px}
.apartment-plan-image{border:1px solid #dde5dc;border-radius:10px;background:#fff;margin-top:12px}
.apartment-plan-image img{margin:0 auto;min-height:160px}
#apartmentTourArea{margin:8px 0}
#apartmentTourDownload{font-size:12px;padding:9px 12px}
.exterior-search-row{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:12px}
.model-hint{font-size:13px;line-height:1.6;color:#416454;max-width:550px;margin:0}
.exterior-find{min-width:210px;max-width:290px}
.exterior-find>div{display:flex;gap:6px;margin-top:5px}
.exterior-find input{width:115px;flex:1}
#exteriorFindMessage{display:block;font-size:12px;color:#974839;line-height:1.4;margin-top:5px}
.exterior-number-list summary{cursor:pointer;padding:10px 0;font-size:13px;font-weight:700;color:#315b43}
.exterior-units button{min-height:44px;cursor:pointer}
.exterior-units button:focus-visible{outline:3px solid #246a50;outline-offset:2px}
.exterior-info .toolbar{margin-top:12px}
#exteriorCanvas{display:block;-webkit-user-select:none;user-select:none}
#exteriorFullscreen{background:#1a6148;color:white;border-color:#1a6148}
.building-card.is-fullscreen{position:fixed;inset:0;z-index:30;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;padding:18px 24px;overflow:auto;overscroll-behavior:contain}
.building-card.is-fullscreen .building-head .eyebrow{display:none}
.building-card.is-fullscreen .building-head h2{font-size:19px}
.building-card.is-fullscreen .building-head p{margin:5px 0}
.building-card.is-fullscreen #exteriorStage{height:calc(100vh - 245px);height:calc(100dvh - 245px);min-height:300px}
.building-card.is-fullscreen .exterior-layout{margin:12px 0}
dialog.is-fullscreen{position:fixed;width:100%;max-width:none;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;inset:0;margin:0;border-radius:0}
dialog.is-fullscreen .dialog-body{max-width:1200px;margin:auto}
@media(max-width:750px){
 .building-card{padding:13px}.building-head h2{font-size:19px}
 .building-head>.toolbar{width:100%;gap:6px}.building-head>.toolbar label{margin-left:auto}
 .building-head>.toolbar button{padding:9px 10px;font-size:12px}
 .exterior-search-row{flex-direction:column;align-items:stretch;gap:10px}
 .exterior-find{max-width:none;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:5px 12px}
 .exterior-find>div{margin:0}.exterior-find input{width:76px}
 #exteriorFindMessage{grid-column:1/-1;margin:0}
 .model-hint{font-size:12px}.exterior-layout{gap:10px;margin:12px 0}
 .exterior-info h3{margin:6px 0}.exterior-info>img{max-height:160px;object-fit:contain}
 .building-card.is-fullscreen{padding:calc(10px + env(safe-area-inset-top)) 12px calc(14px + env(safe-area-inset-bottom))}
 .building-card.is-fullscreen .building-head>div:first-child p{display:none}
 .building-card.is-fullscreen .building-head{gap:8px}
 .building-card.is-fullscreen .model-hint{display:none}
 .building-card.is-fullscreen .exterior-search-row{margin-top:8px}
 .building-card.is-fullscreen #exteriorStage{height:calc(100vh - 235px);height:calc(100dvh - 235px);min-height:240px}
 .building-card.is-fullscreen .exterior-info{display:none}
}
@media(max-width:700px){
 #unitDialog{position:fixed;width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;inset:0;margin:0;border-radius:0;overscroll-behavior:contain}
 .unit-maximize{display:none}.dialog-head{padding:calc(10px + env(safe-area-inset-top)) 16px 10px;gap:8px}
 .dialog-head h2{font-size:19px;margin:5px 0 0}.dialog-head .badge{padding:5px 10px;font-size:11px}
 .dialog-body{padding:14px 16px calc(20px + env(safe-area-inset-bottom))}
 .unit-summary{margin-bottom:10px;gap:5px}.unit-summary>div:first-child{width:100%}
 .unit-summary p{margin:5px 0}.unit-summary strong{font-size:24px}
 .unit-summary .actions{gap:7px;margin-top:7px}.actions button{font-size:12px;padding:10px 8px}
 .apartment-tour-heading .segmented{width:100%;gap:5px;margin-top:6px}
 .apartment-tour-heading .segmented button{flex:1;padding:10px 6px;font-size:12px}
 #apartmentTourStage{height:52vh;height:52dvh;min-height:280px}
 .apartment-tour-tools button{padding:10px 12px;min-width:44px}
 .apartment-tour-tools [data-tour-move]{flex:1;font-size:22px}
}
@media print{.unit-maximize,#unitCalculatorLink{display:none!important}#unitDialog,#unitDialog.is-fullscreen{height:auto;max-height:none;position:static}.viewer-lock{overflow:visible}.apartment-plan-image{border:0}#clientCalculator{break-inside:avoid}}

/* Exact desktop facade; brighten only its presentation, preserving all hit regions. */
#exteriorCanvas[hidden]{display:none!important}
.facade-visual{min-width:0}
#exteriorStage.photo-facade-stage,.building-card.is-fullscreen #exteriorStage.photo-facade-stage{height:auto;min-height:0;aspect-ratio:1000/673;overflow:auto;touch-action:pan-x pan-y pinch-zoom;background:#edf4ef;overscroll-behavior:contain}
#exteriorStage.photo-facade-stage.floor-plan-stage{aspect-ratio:1780/595}
#facadePhoto{display:block;width:100%;max-width:none;height:auto;overflow:hidden}
.facade-image{filter:brightness(1.12) contrast(1.04) saturate(1.08)}
.facade-unit{fill:#00b4be;fill-opacity:0;stroke:#00a9b6;stroke-width:2;stroke-opacity:0;cursor:pointer}
.facade-unit:hover,.facade-unit:focus{fill-opacity:.15;stroke-opacity:.9;outline:none}
.facade-unit.selected{fill-opacity:.25;stroke-opacity:1;stroke-width:3}
.facade-unit.sold{fill:#ce5b4c;stroke:#b63b32}.facade-unit.reserved{fill:#e4b543;stroke:#b88a18}.facade-unit.available{fill:#1b9c65;stroke:#147c51}
.show-boundaries .facade-unit{fill-opacity:.1;stroke-opacity:.7;stroke-width:1.5}
.show-boundaries .facade-unit.selected{fill-opacity:.3;stroke-opacity:1;stroke-width:3}
.facade-floor-number{font:bold 16px Arial;fill:white;paint-order:stroke;stroke:#0b654e;stroke-width:5;pointer-events:none}
.facade-orientation{font-size:12px;color:#285e4a;line-height:1.5;margin:10px 0}
.calc-limit{font-size:15px;line-height:1.7;font-weight:650;color:#285f40}
#calcReset{margin-top:12px}
#calcRules,#calcAdjustment{line-height:1.6}
#calcError{grid-column:1/-1}
.calc-fields>*{min-width:0}.calc-fields input{width:100%;min-width:0}
@media(max-width:700px){.calc-results dl div{font-size:13px;line-height:1.5}.calc-results dd{max-width:60%}.facade-orientation{font-size:12px}.exterior-units{grid-template-columns:repeat(3,minmax(0,1fr))}.exterior-units button{overflow-wrap:anywhere;min-width:0}}

.exterior-selection{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;height:88px;padding:10px 12px;margin:12px 0;border:2px solid #d5e3dc;border-radius:10px;background:#f4f8f5;position:sticky;top:0;z-index:3}
.exterior-selection.has-selection{border-color:#007a94;background:#e8f8fa}
.exterior-selection strong{display:block;font-size:16px;line-height:22px;white-space:nowrap;color:#104b55}
.exterior-selection span{display:block;font-size:12px;line-height:17px;height:34px;padding-top:3px;color:#476971}
.exterior-selection button{font-size:13px;padding:11px 12px;white-space:nowrap}
.facade-unit.selected,.show-boundaries .facade-unit.selected{fill:#00a6c5;stroke:#007a94;fill-opacity:.26;stroke-opacity:1;stroke-width:3;vector-effect:non-scaling-stroke}
.facade-selected-number{font:bold 28px Arial;fill:white;stroke:#075a6b;stroke-width:6px;paint-order:stroke;pointer-events:none}
.floor-plan-stage .facade-selected-number{font-size:48px;stroke-width:8px}
@media(max-width:700px){.exterior-selection{height:106px}.exterior-selection strong{white-space:normal;line-height:20px;height:40px}.exterior-selection span{height:38px}}
