.vision-head{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:start}.vision-head>.eyebrow{padding-top:12px}.vision-head h2{font-size:clamp(28px,3.3vw,49px);line-height:1.35}.vision-head h2 em{font-style:normal;color:var(--accent)}.vision-head>div>p{margin-top:25px;max-width:740px;color:var(--muted);line-height:1.9}
.vision-kicker{font:10px var(--mono);letter-spacing:.065em;text-transform:uppercase;color:var(--muted);line-height:1.6}
.vision-diagram{margin-top:58px;border-block:1px solid var(--line);padding-block:30px}
.vision-map-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.vision-map-heading h3{font-size:clamp(25px,2.5vw,37px);line-height:1.5;margin-top:10px}.vision-play{font-size:12px;min-height:44px;min-width:92px;padding:8px 13px;border:1px solid var(--line);background:transparent;color:var(--ink)}.vision-play:hover{color:var(--accent);border-color:var(--accent)}
.vision-conditions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;border-block:1px solid var(--line);padding:14px 0;margin:28px 0 30px;font-size:12px;color:var(--muted)}.vision-condition-icon{font-size:23px;color:var(--accent);line-height:1}.vision-conditions ul{display:flex;gap:18px;margin:0;color:var(--ink)}.vision-conditions ul li+li::before{content:'·';margin-right:18px;color:var(--muted)}
.vision-map{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1.65fr) 30px minmax(0,1fr);align-items:start}
.vision-cad,.vision-bim,.vision-outputs{min-width:0}.vision-panel-title{min-height:69px}.vision-panel-title>span{font:10px var(--mono);color:var(--muted);letter-spacing:.06em}.vision-panel-title h4{margin:9px 0 0;font-size:clamp(17px,1.55vw,23px);font-weight:500;line-height:1.4;letter-spacing:-.045em}.vision-panel-title em{font-style:normal;color:var(--accent)}
.vision-bim .vision-panel-title{text-align:center}.vision-panel-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:18px}.vision-bim>.vision-panel-note{text-align:center}
.vision-forward{align-self:center;text-align:center;color:var(--line);font-size:25px}.vision-forward span{display:block}.vision-diagram[data-phase="1"] .vision-forward-one,.vision-diagram[data-phase="2"] .vision-forward-two{color:var(--accent)}
.vision-cad-screen{background:#191919;color:#d8d8d8;border:1px solid #191919;margin-top:32px}
.vision-cad-toolbar{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #404040;padding:10px;font:8px var(--mono);letter-spacing:.035em}.vision-command{display:flex;gap:9px;align-items:center;border-top:1px solid #404040;padding:10px 8px;font:8px var(--mono);min-height:39px}.vision-command>span:first-child{color:#fafafa}.vision-command>span:nth-child(2){color:#b5b5b5}.vision-command i{display:block;width:4px;height:9px;background:#fafafa;flex-shrink:0}
.vision-plan{display:block;width:100%;height:auto;fill:none;stroke:#d8d8d8;stroke-width:.8;stroke-linejoin:round}.plan-grid{stroke:#404040;stroke-width:.4;stroke-dasharray:1 5}.plan-walls{stroke-width:2.5}.plan-furniture{stroke:#858585;stroke-width:.7}.plan-doors{stroke:#a0a0a0}.plan-labels{stroke:none;fill:#999;font:6.5px var(--mono);text-anchor:middle}.plan-room{fill:var(--accent);fill-opacity:.22;stroke:none;transition:width .9s ease}.plan-edit{transition:transform .9s ease}.plan-selected,.plan-grip{stroke:#70b498;stroke-width:1.7}.plan-grip{fill:#191919;stroke-width:1}.plan-dimensions{stroke:#858585;stroke-width:.7}.plan-dimensions text{stroke:none;fill:#aaa;font:9px var(--mono);text-anchor:middle}.plan-origin{stroke:#999}.plan-origin text{stroke:none;fill:#999;font:8px var(--mono)}.plan-cursor{fill:#fafafa;stroke:#191919;stroke-width:1.4;transform:translate(0,0);transition:transform .9s ease}
[data-variant="1"] .plan-edit,[data-variant="1"] .plan-cursor{transform:translateX(13.2px)}[data-variant="1"] .plan-room{width:105.6px}
.vision-model-stage{position:relative;margin-top:-6px}.vision-model{display:block;width:100%;height:auto;fill:none;stroke:var(--ink);stroke-width:.65;stroke-linejoin:round;overflow:visible}.bim-ground{stroke:var(--line);stroke-width:.6}.bim-axis{stroke:var(--line);stroke-dasharray:2 4}.bim-slab{fill:#f6f6f6}.bim-slab-edge{fill:#d8d8d8;stroke:#999}.bim-wall-face{fill:#fafafa;fill-opacity:.88;stroke:#858585}.bim-wall-top{fill:#ddd;stroke:#888;stroke-width:.5}.bim-storey-0{opacity:.5}.bim-storey-1{opacity:.72}.bim-storey-2 .bim-wall-face{stroke:var(--ink)}
.bim-edit{transition:transform .9s ease}.bim-edit .bim-wall-face{fill:var(--accent);fill-opacity:.28;stroke:var(--accent);stroke-width:1.5}.bim-edit .bim-wall-top{fill:var(--accent);stroke:var(--accent)}[data-variant="1"] .bim-edit{transform:translate(12.6px,6.3px)}
.bim-space{stroke:var(--accent);stroke-width:.8;fill:var(--accent);fill-opacity:.08}.bim-room-base,.bim-room-revised{transition:opacity .9s ease}.bim-room-revised{opacity:0}[data-variant="1"] .bim-room-revised{opacity:1}[data-variant="1"] .bim-room-base{opacity:0}
.bim-callout{stroke:var(--accent);stroke-width:.8}.bim-callout text{stroke:none;fill:var(--accent);font:8px var(--mono)}.bim-callout text+text{font:9px var(--sans)}.bim-level{stroke:none;fill:var(--muted);font:10px var(--mono)}.bim-scale{stroke:var(--muted);stroke-width:.6}.bim-scale text{stroke:none;fill:var(--muted);font:9px var(--mono)}
.bim-callout{transition:transform .9s ease}[data-variant="1"] .bim-callout{transform:translate(12.6px,6.3px)}
.vision-object-label{position:absolute;left:5%;top:1%;display:grid;gap:6px;border-left:2px solid var(--accent);padding-left:10px;max-width:45%;background:var(--paper)}.vision-object-label>span{font:9px var(--mono);color:var(--muted)}.vision-object-label>span:last-child{font:10px var(--sans)}.vision-object-label strong{font-size:17px;font-weight:500;color:var(--accent);line-height:1.5}.vision-object-label b{font-weight:500;font-variant-numeric:tabular-nums}.vision-object-label small{font-size:11px}
.vision-output-sheet{padding:12px 12px 0;border:1px solid var(--line);background:#fff;margin-top:32px}.vision-sheet-heading{display:flex;justify-content:space-between;gap:5px;font:8px var(--mono);color:var(--muted)}.vision-revision{color:var(--accent)}.vision-plan-mini{stroke:#646464;max-height:195px;margin:8px 0 0}.vision-plan-mini .plan-grid{stroke:#ddd}.vision-plan-mini .plan-labels{fill:#646464}.vision-plan-mini .plan-selected,.vision-plan-mini .plan-grip{stroke:var(--accent)}.vision-plan-mini .plan-grip{fill:#fff}.vision-plan-mini .plan-dimensions text{fill:#646464}
.vision-section-drawing{display:block;width:100%;height:auto;fill:none;stroke:var(--muted);stroke-width:1}.vision-section-drawing text{fill:var(--muted);stroke:none;font:8px var(--mono)}.section-baseline{stroke-width:1.3}.section-room{stroke:var(--accent);stroke-width:1.2;transition:transform .9s ease}[data-variant="1"] .section-room{transform:translateX(13.2px)}.section-dim{stroke:var(--line)}
.vision-area-table{font-size:10px;margin-top:14px}.vision-area-table>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:6px 0}.vision-area-table>div:first-child{color:var(--muted);font-size:9px}.vision-area-table strong{font:11px var(--mono);color:var(--accent);font-variant-numeric:tabular-nums}.vision-sheet-foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:9px 0;font-size:9px;color:var(--muted)}
.vision-judgment{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:25px;margin-top:26px}.vision-judgment h4{margin:8px 0 0;font-size:22px;font-weight:500;letter-spacing:-.04em;line-height:1.5}.vision-judgment-copy>p:last-child{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}.vision-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;max-width:430px;justify-self:end;width:100%}.vision-choices button{border:1px solid var(--line);background:transparent;padding:8px 12px;color:var(--ink)}.vision-choices button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.vision-choices svg{display:block;width:100%;max-height:64px;fill:none;stroke:var(--muted);stroke-width:.8}.choice-space{fill:var(--accent);fill-opacity:.09;stroke:var(--accent)}.vision-choices button>span{display:flex;justify-content:space-between;gap:6px;font-size:11px;padding-top:7px}.vision-choices small{font-size:10px;color:var(--muted)}.vision-choices>p{grid-column:1/-1;margin:0;font-size:10px;color:var(--muted)}
.vision-story{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:17px;border-top:1px solid var(--line);color:var(--accent)}.vision-story p{font-size:13px;line-height:1.7}.vision-story-marker{font-size:24px;line-height:1}.vision-story-index{font:10px var(--mono);margin-left:auto;white-space:nowrap}.vision-diagram figcaption{margin:26px 0 0;text-align:center;font-size:clamp(19px,2vw,28px);line-height:1.5;letter-spacing:-.04em}.vision-diagram figcaption em{font-style:normal;color:var(--accent)}
.vision-diagram[data-phase="0"] .vision-cad .vision-panel-title>span,.vision-diagram[data-phase="1"] .vision-bim .vision-panel-title>span,.vision-diagram[data-phase="2"] .vision-outputs .vision-panel-title>span,.vision-diagram[data-phase="3"] .vision-judgment .vision-kicker{color:var(--accent)}
.vision-profiles{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding-top:32px}.vision-profiles h3{font-size:24px;line-height:1.45;margin-top:9px}.vision-profile-list{display:flex;flex-wrap:wrap;gap:10px 28px;margin:3px 0 13px;font-size:20px;letter-spacing:-.04em}.vision-profile-list li{border-bottom:1px solid var(--line);padding-bottom:8px}.vision-profile-list li::before{content:'+';color:var(--accent);font:14px var(--mono);margin-right:10px}.vision-profiles>div>p:not(.vision-kicker){color:var(--muted);font-size:14px;line-height:1.9;max-width:730px}
@media(max-width:1000px){.vision-map{grid-template-columns:minmax(0,1fr) 22px minmax(0,1.4fr) 22px minmax(0,1fr)}.vision-cad-toolbar{font-size:7px;padding:8px}.vision-command{font-size:7px;gap:6px}.vision-object-label strong{font-size:14px}.vision-object-label>span{font-size:8px}.vision-object-label>span:last-child{font-size:8px}.vision-output-sheet{padding:8px 8px 0}.vision-panel-title h4{font-size:17px}.vision-panel-note{font-size:11px}}
@media(max-width:900px){.vision-head,.vision-profiles{grid-template-columns:1fr;gap:20px}.vision-head>.eyebrow{padding-top:0}.vision-head h2{font-size:clamp(29px,5vw,39px)}.vision-head>div>p{margin-top:20px}.vision-profiles h3 br{display:none}}
@media(max-width:760px){.vision-diagram{margin-top:32px;padding-block:23px}.vision-map-heading{align-items:center}.vision-map-heading h3{font-size:27px;line-height:1.35}.vision-kicker{font-size:9px}.vision-conditions{gap:9px 12px;justify-content:flex-start;margin-block:24px;font-size:11px}.vision-conditions ul{width:100%;gap:12px;font-size:11px}.vision-conditions ul li+li::before{margin-right:12px}.vision-map{grid-template-columns:1fr;gap:0}.vision-panel-title{min-height:0;margin-bottom:15px}.vision-panel-title h4{font-size:22px}.vision-panel-title>span{font-size:10px}.vision-cad-screen,.vision-output-sheet{margin-top:0}.vision-cad-toolbar{font-size:9px;padding:11px}.vision-command{font-size:9px;min-height:40px}.vision-plan{max-height:270px}.vision-panel-note{font-size:12px;margin-top:12px}.vision-forward{height:40px;font-size:25px;display:grid;place-content:center}.vision-forward span{transform:rotate(90deg)}.vision-bim .vision-panel-title{text-align:left}.vision-model-stage{margin-top:25px}.vision-object-label{top:-4%;left:0}.vision-object-label strong{font-size:18px}.vision-object-label>span{font-size:9px}.vision-object-label>span:last-child{font-size:10px}.vision-bim>.vision-panel-note{text-align:left}.vision-output-sheet{padding:14px 14px 0}.vision-sheet-heading{font-size:10px}.vision-plan-mini{max-height:225px}.vision-section-drawing{max-height:105px}.vision-area-table{font-size:12px}.vision-area-table>div:first-child{font-size:11px}.vision-area-table strong{font-size:12px}.vision-sheet-foot{font-size:11px}.vision-judgment{grid-template-columns:1fr;gap:18px;margin-top:23px}.vision-judgment h4{font-size:22px}.vision-choices{justify-self:start;max-width:none;gap:9px 12px}.vision-choices button{padding:8px}.vision-choices button>span{flex-wrap:wrap;font-size:12px}.vision-choices small{font-size:10px}.vision-story p{font-size:12px;min-height:41px}.vision-story{gap:8px;align-items:start}.vision-story-index{font-size:9px;padding-top:3px}.vision-diagram figcaption{text-align:left;font-size:23px}.vision-diagram figcaption em{display:block}.vision-profiles{padding-top:25px;gap:14px}.vision-profile-list{font-size:18px;gap:10px 23px}.vision-profiles h3{font-size:22px}}
/* Connected revision: several partitions move together; the third view is perspective. */
.vision-map{grid-template-columns:minmax(0,1fr) 24px minmax(0,1.32fr) 24px minmax(0,1.3fr)}
.plan-room,.plan-edit,.plan-cursor,.bim-edit,.bim-callout,.bim-room-base,.bim-room-revised{transition-duration:.4s}
.plan-bedroom,.plan-studio{fill:var(--accent);fill-opacity:.13;stroke:none;transition:x .4s ease,width .4s ease}
.plan-edit-bedroom,.plan-edit-studio{transition:transform .4s ease}
[data-variant="1"] .plan-bedroom{width:96.8px}[data-variant="1"] .plan-studio{ x:144.8px;width:74.8px}
[data-variant="1"] .plan-edit-bedroom{transform:translateX(17.6px)}[data-variant="1"] .plan-edit-studio{transform:translateX(13.2px)}
.bim-edit-bedroom,.bim-edit-studio{transition:transform .4s ease}
.bim-edit-bedroom .bim-wall-face,.bim-edit-studio .bim-wall-face{fill:var(--accent);fill-opacity:.2;stroke:var(--accent);stroke-width:1.2}
[data-variant="1"] .bim-edit-bedroom{transform:translate(16.8px,8.4px)}[data-variant="1"] .bim-edit-studio{transform:translate(12.6px,6.3px)}
.vision-perspective{display:block;width:100%;height:auto;margin:13px 0 12px;fill:none;stroke:#b5b5b5;stroke-width:1;stroke-linejoin:round}
.interior-moving{transition:none}
.interior-floor{fill:#e6e6e6}.interior-ceiling{fill:#f0f0f0}.interior-back{fill:#fafafa}.interior-left{fill:#e8e8e8}.interior-right{fill:url(#vision-interior-light);stroke:#9f9f9f}
.interior-gain{fill:var(--accent);fill-opacity:.1;stroke:none}.interior-floor-lines{stroke:#c9c9c9;stroke-width:.7}
.interior-wall-track,.interior-wall-corner{stroke:var(--accent);stroke-width:2}.interior-skirting{stroke:#ccc;stroke-width:2}
.interior-window-frame{fill:#d5d5d5;stroke:#aaa;stroke-width:1.5}.interior-glass{fill:#fdfdfd;stroke:#ccc}.interior-outlook{fill:#eee;stroke:#ddd;stroke-width:.8}.interior-mullion{stroke:#c1c1c1;stroke-width:3}
.interior-rug{fill:#f1f1f1;stroke:#ddd}.interior-daylight{fill:#fff;fill-opacity:.4;stroke:none}
.interior-furniture{stroke:#999;stroke-width:1}.interior-side{fill:#d0d0d0}.interior-front{fill:#d9d9d9}.interior-top{fill:#ededed}.interior-cushion .interior-top{fill:#f7f7f7}.interior-table .interior-top{fill:#fbfbfb}.interior-table-leg{fill:#909090}.interior-book .interior-top{fill:#a0a0a0}
.interior-old-wall{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:5 6;opacity:0;transition:opacity .7s}[data-variant="1"] .interior-old-wall{opacity:.5}
.interior-scale rect,.interior-change rect{fill:#fff;fill-opacity:.93;stroke:none}.interior-scale text{fill:#666;stroke:none;font:13px var(--mono)}.interior-change text{fill:var(--accent);stroke:none;font:14px var(--sans)}.interior-state-b{opacity:0}[data-variant="1"] .interior-state-a{opacity:0}[data-variant="1"] .interior-state-b{opacity:1}
.vision-area-table{margin-top:0}.vision-area-table>div{padding:7px 0}.vision-area-table strong{font-size:12px}
.vision-diagram[data-running="true"] .vision-forward{color:var(--accent)}
@media(max-width:1000px) and (min-width:761px){.vision-map{grid-template-columns:minmax(0,1fr) 18px minmax(0,1.2fr) 18px minmax(0,1.3fr)}}
@media(max-width:760px){.vision-map{grid-template-columns:1fr}.vision-perspective{max-height:300px}.vision-area-table{font-size:12px}.vision-area-table strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.vision-diagram *{transition:none!important}}
/* A single frame clock moves all geometry and values; no endpoint-only CSS lag. */
.vision-diagram{--vision-progress:0;--vision-living-shift:0;--vision-bedroom-shift:0;--vision-studio-shift:0}
.vision-diagram :is(.plan-room,.plan-bedroom,.plan-studio,.plan-edit,.plan-edit-bedroom,.plan-edit-studio,.plan-cursor,.bim-edit,.bim-edit-bedroom,.bim-edit-studio,.bim-callout,.interior-old-wall){transition:none}
.vision-diagram .plan-room{width:calc(92.4px + 22px * var(--vision-living-shift))}
.vision-diagram .plan-bedroom{width:calc(79.2px + 22px * var(--vision-bedroom-shift))}
.vision-diagram .plan-studio{x:calc(127.2px + 22px * var(--vision-bedroom-shift));width:calc(79.2px + 22px * (var(--vision-studio-shift) - var(--vision-bedroom-shift)))}
.vision-diagram :is(.plan-edit,.plan-cursor){transform:translateX(calc(22px * var(--vision-living-shift)))}
.vision-diagram .plan-edit-bedroom{transform:translateX(calc(22px * var(--vision-bedroom-shift)))}
.vision-diagram .plan-edit-studio{transform:translateX(calc(22px * var(--vision-studio-shift)))}
.vision-diagram :is(.plan-label-living,.plan-label-kitchen){transform:translateX(calc(11px * var(--vision-living-shift)))}
.vision-diagram .plan-label-bedroom{transform:translateX(calc(11px * var(--vision-bedroom-shift)))}
.vision-diagram .plan-label-studio{transform:translateX(calc(11px * (var(--vision-bedroom-shift) + var(--vision-studio-shift))))}
.vision-diagram .plan-label-entry{transform:translateX(calc(11px * var(--vision-studio-shift)))}
.vision-diagram .plan-studio-furniture{transform:translateX(calc(22px * var(--vision-bedroom-shift)))}
.vision-diagram :is(.bim-edit,.bim-callout){transform:translate(calc(21px * var(--vision-living-shift)),calc(10.5px * var(--vision-living-shift)))}
.vision-diagram .bim-edit-bedroom{transform:translate(calc(21px * var(--vision-bedroom-shift)),calc(10.5px * var(--vision-bedroom-shift)))}
.vision-diagram .bim-edit-studio{transform:translate(calc(21px * var(--vision-studio-shift)),calc(10.5px * var(--vision-studio-shift)))}
.vision-diagram .interior-old-wall{opacity:calc(.5 * var(--vision-progress))}
.vision-choices{max-width:none;gap:12px 16px}
.vision-choices button{padding:14px;text-align:left}
.vision-choices svg.vision-alternative{max-height:160px;margin:18px 0 12px;stroke-width:1.2}
.vision-alternative .choice-space{fill-opacity:.13;stroke-width:1.5}
.vision-alternative .choice-gain{fill:var(--accent);fill-opacity:.2;stroke:none}
.vision-alternative .choice-original{stroke:var(--accent);stroke-dasharray:4 4;opacity:.65}
.vision-alternative .choice-partitions{stroke:var(--accent);stroke-width:1.7}
.vision-alternative text{fill:var(--accent);stroke:none;text-anchor:middle;font:13px var(--sans)}
.vision-alternative .choice-room-area{font:15px var(--mono)}
.vision-choices button>.vision-choice-label{font-size:16px;padding-top:0;align-items:baseline}
.vision-choices .vision-choice-label small{font-size:12px}
.vision-choices button>.vision-choice-comparison{border-top:1px solid var(--line);padding-top:12px;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}
.vision-choices button[data-vision-choice="1"]>.vision-choice-comparison{color:var(--accent)}
.vision-choices>p{font-size:11px;line-height:1.7}
@media(min-width:761px){.vision-judgment{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}}
@media(max-width:480px){.vision-choices{grid-template-columns:1fr}.vision-choices button{padding:14px 18px}.vision-choices svg.vision-alternative{max-height:150px;margin-block:12px}.vision-choices button>.vision-choice-comparison{font-size:13px}}
