:root{--bg:#edf0ec;--ink:#263b37;--muted:#6c7b73;--line:#d1d8cf;--green:#397862;--blue:#58778c;--amber:#a77b3f;--panel:#f7f8f4;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font:13px/1.65 Arial,Helvetica,sans-serif;color:var(--ink)}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.08}h3{font-weight:400}p{color:var(--muted)}button{border:0;background:none}img{display:block;max-width:100%;height:auto}.skip{position:absolute;left:15px;top:-100px;background:var(--ink);color:white;padding:10px;z-index:99}.skip:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}header{display:flex;align-items:center;justify-content:space-between;gap:25px;height:82px;padding:0 4%;border-bottom:1px solid var(--line)}.brand{font-size:28px;letter-spacing:-.07em;line-height:1;text-decoration:none;font-weight:700}.brand span{display:block;font-size:7px;letter-spacing:.15em;margin-top:9px;font-weight:400}.header-location,.revision{font-size:8px;letter-spacing:.14em;color:var(--muted)}main{padding:0 4%}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;padding:44px 0 38px}.eyebrow{font-size:8px;letter-spacing:.16em;font-weight:600;color:var(--muted);margin-bottom:17px}h1{font-size:clamp(39px,4.1vw,62px)}h1 em{font-weight:400;color:#728776}.intro-copy{font-size:12px;max-width:370px;margin-top:18px}.intro-right{align-self:center}.sequence{list-style:none;padding:0;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#8d998d;counter-reset:stage}.sequence li{display:flex;align-items:center;gap:7px}.sequence span{width:21px;height:21px;border:1px solid #cbd4c6;border-radius:50%;line-height:20px;text-align:center}.sequence li[aria-current]{color:var(--ink)}.sequence li[aria-current] span{background:var(--ink);color:white;border-color:var(--ink)}.facts{display:flex;gap:30px;margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.facts>div{flex:1}.facts strong{font-family:var(--serif);font-size:25px;font-weight:400;white-space:nowrap;letter-spacing:-.03em}.facts small{display:block;font-size:7px;letter-spacing:.07em;margin-top:6px}.confirmed{color:var(--green)}.drawing{color:var(--blue)}.estimated{color:var(--amber)}.intro-footnote{font-size:9px;margin-top:20px;max-width:600px}.model-topbar{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-top:1px solid var(--line);gap:20px}.model-topbar .eyebrow{margin:0;font-size:8px}.model-state{display:block;font-size:10px;color:var(--muted);margin-top:3px}.export-actions{display:flex;align-items:center;gap:20px}.text-button{padding:0;text-decoration:underline;text-underline-offset:4px;font-size:10px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:11px 16px;min-height:39px;font-size:10px;border:1px solid transparent;text-decoration:none}.button.dark{background:var(--ink);color:#f1f3ec}.button.dark:hover{background:#466056}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;border:1px solid var(--line);background:var(--panel)}.model-pane{min-width:0;display:flex;flex-direction:column}.camera-list{display:flex;flex-wrap:wrap;gap:0;padding:0 12px;border-bottom:1px solid var(--line);background:#f3f5ee;min-height:48px;align-items:center}.camera-list button{padding:13px 11px;font-size:9px;color:var(--muted);position:relative}.camera-list button span{font-size:7px;color:#9da99a;margin-right:5px}.camera-list button[aria-pressed=true]{color:var(--ink)}.camera-list button[aria-pressed=true]:after{content:'';height:2px;background:var(--ink);position:absolute;left:10px;right:10px;bottom:0}.camera-list button[aria-pressed=true] span{color:var(--green)}#viewport{height:560px;position:relative;overflow:hidden;background:#e6ebe3}#viewer{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#viewer:active{cursor:grabbing}#dimensions,#labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}#labels .room-label{position:absolute;transform:translate(-50%,-50%);padding:5px 8px;border:1px solid #a6b1a29c;background:#f8faf3e6;text-align:center;color:var(--ink);font-size:10px;line-height:1.35;pointer-events:auto;white-space:nowrap;border-radius:2px;box-shadow:0 2px 7px #2d3c2f08}#labels .room-label:hover{background:white;border-color:var(--green)}#labels .room-label small{font-size:8px;display:block;color:var(--muted);margin-top:3px}#labels .room-label[data-status=estimated]{border-style:dashed}#labels .room-label[data-status=drawing]{border-color:#95acb7}.context-label{position:absolute;transform:translate(-50%,-50%);font-size:7px;letter-spacing:.10em;color:#607466;white-space:nowrap;background:#e9eee4c9;padding:3px 5px}.connection-label{position:absolute;transform:translate(-50%,-50%);display:block;font-size:9px;line-height:23px;text-align:center;width:24px;height:24px;background:var(--ink);color:white;border-radius:50%;pointer-events:auto;cursor:pointer;border:1px solid #fff}.viewport-top{position:absolute;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;gap:15px;pointer-events:none;font-size:7px;letter-spacing:.1em;color:#667c69}.viewport-top span{background:#edf1e6db;padding:5px 7px}.viewport-bottom{position:absolute;bottom:37px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:end;pointer-events:none;gap:15px}.orientation{font-size:6px;letter-spacing:.06em;color:#76846e;max-width:260px;line-height:1.6}.viewport-bottom>div{display:flex;gap:5px;pointer-events:auto}.viewport-bottom button{width:31px;height:31px;border:1px solid #c8d1c1;background:#f7f9f2df;font-size:18px}.interaction-hint{position:absolute;bottom:13px;left:18px;font-size:6px;letter-spacing:.07em;color:#83917c;pointer-events:none}.layer-controls{display:flex;gap:9px 17px;align-items:center;flex-wrap:wrap;padding:13px 17px;font-size:9px;border-top:1px solid var(--line);background:#f3f5ee;flex:1}.layer-controls label{display:flex;align-items:center;gap:4px;white-space:nowrap}.layer-controls input{width:12px;height:12px;margin:0;accent-color:var(--ink)}.reference-pane{border-left:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:20px}.aside-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.aside-heading .eyebrow{font-size:7px;margin:0}.source-plan{padding:0;border:1px solid var(--line);background:white;width:100%}.source-plan img{width:100%;height:auto}.drawing-correction{border-left:2px solid #6e8b77;padding-left:12px}.drawing-correction>span{font-size:7px;color:var(--green);letter-spacing:.1em}.drawing-correction p{font-size:10px;margin-top:6px}.drawing-correction strong{color:var(--ink);font-weight:400}.confidence-key{display:flex;flex-direction:column;gap:6px;font-size:9px;color:var(--muted);border-block:1px solid var(--line);padding:15px 0}.confidence-key span{display:flex;align-items:center;gap:7px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}#selection-panel{min-height:110px}#selection-panel .eyebrow{font-size:7px;margin-bottom:10px}#selection-panel h2{font-size:21px;margin-bottom:10px}#selection-panel p{font-size:10px;line-height:1.7}#selection-panel .selection-size{font-family:var(--serif);font-size:24px;color:var(--ink);margin:8px 0}.selection-tag{display:inline-block;font-size:8px;margin-bottom:9px}.aside-note{border-top:1px solid var(--line);padding-top:14px;margin-top:auto}.aside-note strong{font-weight:400;font-size:10px}.aside-note p{font-size:9px;margin-top:5px}.export-note{font-size:9px;margin-top:12px;line-height:1.7}.lower-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:6%;padding:45px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:start;gap:20px}.section-title h2,.area-panel h2{font-size:32px}.parameters-panel>p{font-size:11px;max-width:500px;margin:15px 0 22px}#parameter-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px}.parameter-field{min-width:0}.parameter-field>span{display:block;font-size:9px;margin-bottom:6px;color:var(--muted)}.parameter-field input{width:100%;min-width:0;padding:8px 10px;background:#f8f9f4;border:1px solid #cbd3c5;color:var(--ink);font-size:12px}.parameter-field small{display:block;color:var(--amber);font-size:7px;margin-top:4px}.parameter-actions{display:flex;align-items:center;gap:18px;margin-top:22px}.parameter-actions>span{font-size:10px;color:var(--muted)}.parameter-downloads{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:10px}.file-label{cursor:pointer}.area-panel{background:#e4e9df;padding:30px;align-self:start}.area-panel .eyebrow{margin-bottom:15px}#area-table{border-collapse:collapse;width:100%;font-size:10px;margin-top:25px}#area-table th,#area-table td{border-bottom:1px solid #ccd4c5;padding:9px 0;font-weight:400;text-align:left}#area-table td{text-align:right;white-space:nowrap}#area-table .subtotal th,#area-table .subtotal td{font-weight:600;border-color:#a8b6a0;padding-top:14px}#area-table .estimated-total{color:var(--amber)}.area-explanation{font-size:10px;margin-top:20px}.area-explanation strong{font-weight:400;color:var(--ink)}.small{font-size:9px;line-height:1.75;margin-top:14px}.review-section{display:grid;grid-template-columns:1.5fr 1fr;gap:8%;padding:45px 0;border-bottom:1px solid var(--line)}.review-section h2{font-size:36px}.review-section>div>p:not(.eyebrow){font-size:11px;margin-top:18px;max-width:480px}.review-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:30px}.review-steps span{font-size:8px;letter-spacing:.1em;color:var(--green)}.review-steps h3{font-size:13px;margin:10px 0}.review-steps p{font-size:10px}.measurement-list{border-left:1px solid var(--line);padding-left:30px}.measurement-list ol{padding-left:17px;font-size:11px;color:var(--muted);line-height:1.9}.measurement-list p{font-size:9px;margin-top:20px;max-width:350px}.evidence-section{padding:10px 0 25px}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:11px}summary::-webkit-details-marker{display:none}summary>span{font-size:18px}details[open] summary>span{transform:rotate(45deg)}.evidence-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:20px;padding:15px 0 20px}.evidence-grid button{padding:0;text-align:left}.evidence-grid button img{width:100%;height:220px;object-fit:cover}.evidence-grid button span{font-size:7px;letter-spacing:.07em;display:block;margin-top:10px}.evidence-grid h3{font-family:var(--serif);font-size:23px;margin-bottom:15px}.evidence-grid p{font-size:10px;margin-bottom:13px}.evidence-grid a{display:block;font-size:10px;margin-top:10px}footer{border-top:1px solid var(--line);padding:25px 4%;display:flex;justify-content:space-between;gap:20px;align-items:center}footer>span{font-size:7px;letter-spacing:.11em}footer>p{font-size:10px}dialog{border:0;background:#f6f8f1;padding:16px;max-width:95vw;max-height:95vh;width:1200px;color:var(--ink)}dialog::backdrop{background:#25372fe8}dialog>div{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}dialog p{font-size:12px}dialog button{font-size:11px;border:1px solid var(--line);padding:7px 12px;white-space:nowrap}dialog img{max-height:80vh;width:100%;object-fit:contain}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90vw;padding:12px 20px;background:var(--ink);color:white;font-size:11px;z-index:99}#no-webgl{position:absolute;inset:0;padding:60px 30px;background:#e6ebe3}#no-webgl h2{font-size:30px}#no-webgl p{margin:20px 0}.model-state.error{color:#a14b3c}
@media(min-width:1650px){main{max-width:1700px;margin:auto}.workspace{grid-template-columns:minmax(0,1fr) 380px}#viewport{height:660px}.reference-pane{padding:25px}.facts strong{font-size:29px}}
@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) 285px}.reference-pane{padding:15px;gap:16px}.camera-list{padding:0 5px}.camera-list button{padding-inline:7px;font-size:8px}.facts{gap:15px}.facts strong{font-size:21px}.intro{gap:5%}.sequence{font-size:8px}.sequence span{width:18px;height:18px;line-height:17px}.revision{font-size:7px}.lower-grid{gap:4%}.area-panel{padding:22px}.evidence-grid{grid-template-columns:1fr 1fr 1fr}.evidence-grid>div{grid-column:1/-1}.evidence-grid button img{height:250px}#parameter-fields{grid-template-columns:repeat(2,1fr)}.review-steps{grid-template-columns:1fr;gap:18px}.review-steps h3{margin:5px 0}.review-steps p{max-width:450px}}
@media(max-width:780px){header{height:70px;padding-inline:5%}.header-location{display:none}.revision{font-size:6px;max-width:130px;text-align:right}.brand{font-size:25px}.brand span{font-size:6px}main{padding-inline:5%}.intro{grid-template-columns:1fr;gap:24px;padding:30px 0 25px}h1{font-size:43px}.intro h1 br{display:none}.intro-copy{margin-top:16px;font-size:11px;max-width:380px}.eyebrow{font-size:7px;margin-bottom:13px}.sequence{font-size:8px}.facts{margin-top:20px;padding-top:18px;gap:12px}.facts strong{font-size:21px}.facts small{font-size:6px}.intro-footnote{font-size:8px;margin-top:16px}.model-topbar{padding:14px 0;gap:14px;align-items:start}.model-topbar .eyebrow{font-size:6px}.model-state{font-size:9px;max-width:170px}.export-actions{gap:10px;align-items:end;flex-direction:column}.export-actions .text-button{font-size:8px}.button{font-size:9px;min-height:35px;padding:9px 12px;gap:17px}.workspace{grid-template-columns:1fr}.camera-list{padding:0 5px;justify-content:space-between;min-height:44px}.camera-list button{font-size:8px;padding:13px 5px}.camera-list button span{font-size:6px;display:block;margin:0 0 3px}.camera-list button[aria-pressed=true]:after{left:5px;right:5px}#viewport{height:440px}.viewport-top{top:10px;left:10px;right:10px;font-size:5px;gap:8px}.viewport-top span{padding:4px}.viewport-bottom{bottom:40px;left:10px;right:10px}.orientation{font-size:5px;max-width:180px}.interaction-hint{left:10px;font-size:5px;max-width:250px}.viewport-bottom button{width:29px;height:29px;font-size:17px}#labels .room-label{font-size:8px;padding:4px 5px}#labels .room-label small{font-size:6px}.context-label{font-size:5px}.connection-label{width:20px;height:20px;line-height:19px;font-size:8px}.layer-controls{padding:12px 10px;font-size:8px;gap:11px 15px}.reference-pane{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;padding:17px;gap:15px}.aside-heading{grid-column:1/-1}.source-plan{align-self:start}.drawing-correction{padding-left:10px}.drawing-correction>span{font-size:6px}.drawing-correction p{font-size:9px}.confidence-key{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:10px;font-size:8px;padding:11px 0}.dot{width:5px;height:5px}#selection-panel{grid-column:1/-1;min-height:0}#selection-panel h2{font-size:21px}#selection-panel .selection-size{font-size:22px}.aside-note{grid-column:1/-1;padding-top:12px}.export-note{font-size:8px}.lower-grid{grid-template-columns:1fr;gap:30px;padding:30px 0}.section-title h2,.area-panel h2{font-size:29px}.section-title .text-button{font-size:8px}.parameters-panel>p{font-size:10px}.parameter-field>span{font-size:8px}.parameter-field input{padding:8px;font-size:12px}.parameter-field small{font-size:6px}#parameter-fields{gap:13px 16px}.parameter-downloads{gap:15px;font-size:9px}.parameter-downloads .text-button{font-size:9px}.area-panel{padding:23px}.review-section{grid-template-columns:1fr;gap:30px;padding:30px 0}.review-section h2{font-size:32px}.review-section>div>p:not(.eyebrow){font-size:10px}.review-steps{gap:22px;margin-top:25px}.measurement-list{border-left:0;border-top:1px solid var(--line);padding:23px 0 0}.measurement-list ol{font-size:10px}.evidence-grid{grid-template-columns:1fr 1fr;gap:20px 15px}.evidence-grid button img{height:210px}.evidence-grid>div{grid-column:1/-1}.evidence-grid button span{font-size:6px}footer{padding:25px 5%;flex-wrap:wrap;gap:13px}footer>span{font-size:6px}footer>p{order:3;flex-basis:100%;font-size:8px}dialog{padding:12px}dialog p{font-size:10px}dialog button{font-size:9px;padding:6px 9px}#no-webgl{padding:55px 20px}#no-webgl h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
