.pstory{height:640vh;position:relative}.pstage{contain:strict;background:var(--stone-50);height:100svh;color:var(--ink);isolation:isolate;position:sticky;top:0;overflow:hidden}.pdrawing{transform-origin:0 0;will-change:transform;background:var(--paper);width:2400px;height:1700px;position:absolute;top:0;left:0;box-shadow:0 40px 120px -40px #07241947}.plan-sheet{width:100%;height:100%;display:block}.plan-sheet text{fill:var(--stone-700);stroke:none;font-family:inherit;font-size:22px}.sheet-edge{fill:none;stroke:var(--stone-300);stroke-width:1.5px}.thin path,.thin circle,.thin rect{fill:none;stroke:var(--stone-600);stroke-width:1.4px}.ink path{fill:none;stroke:var(--stone-950);stroke-width:3.4px}.fence{stroke-dasharray:18 10;stroke:var(--stone-400)!important}.removed{fill:none;stroke:var(--stone-950);stroke-width:3px;stroke-dasharray:14 10}.note-small{font-size:17px!important}.hatch-line{stroke:var(--evergreen-500);stroke-width:1.6px}.brick-line{stroke:var(--stone-300);stroke-width:1px;fill:none}.old-line{stroke:var(--stone-300);stroke-width:1px}.plan-sheet .ink-line{stroke:var(--stone-800);stroke-width:2.4px;fill:none}.window{fill:var(--paper)!important}.ink-new path,.ink-new rect{stroke:var(--stone-950);stroke-width:2.6px}.ink-new path,.doors{fill:var(--paper)}.ink-new path:last-child{fill:none;stroke-width:1.6px}.ground{stroke:var(--stone-950);stroke-width:5px}.plan-sheet .title{font-size:34px;font-weight:600;font-stretch:var(--semi);fill:var(--stone-950);letter-spacing:-.012em}.plan-sheet .label,.notes text{font-size:22px}.plan-sheet .note-head{fill:var(--stone-950);font-size:26px;font-weight:600}.block rect,.block path{fill:none;stroke:var(--stone-800);stroke-width:1.6px}.plan-sheet .block-big{font-size:38px;font-weight:600;font-stretch:var(--semi);fill:var(--stone-950)}.plan-sheet .block-key{fill:var(--stone-600);font-size:19px}.block text:not(.block-key):not(.block-big){fill:var(--stone-950);font-size:25px}.draw-in path{stroke-dasharray:1;animation:2s cubic-bezier(.45,0,.2,1) .15s backwards draw-on}@keyframes draw-on{0%{stroke-dashoffset:1px}}html.no-opening .draw-in path{animation:none}.layer{opacity:0;transition:opacity .45s}.plan-sheet .m{paint-order:stroke;stroke:var(--paper);stroke-width:8px;stroke-linejoin:round;fill:var(--evergreen-800);font-variant-numeric:tabular-nums;font-size:25px;font-weight:600}.wall{fill:var(--evergreen-700)}.floor-tint{fill:var(--seg-4);opacity:.6}.dim path,.dim-line{fill:none;stroke:var(--evergreen-700);stroke-width:2.2px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1s cubic-bezier(.45,0,.2,1) .1s}.roof-line{fill:none;stroke:var(--evergreen-700);stroke-width:3px;stroke-dasharray:16 10}.drain{fill:none;stroke:var(--evergreen-700);stroke-width:3.4px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.2s cubic-bezier(.45,0,.2,1) .1s}.manhole{fill:var(--seg-4);stroke:var(--evergreen-700);stroke-width:3px}.manhole-x{stroke:var(--evergreen-700);stroke-width:1.6px;fill:none}.steel{fill:var(--evergreen-700)}.door-tint{fill:var(--seg-3);opacity:.45}.pstage[data-on~=walls] [data-l=walls],.pstage[data-on~=floor] [data-l=floor],.pstage[data-on~=roof] [data-l=roof],.pstage[data-on~=opening] [data-l=opening],.pstage[data-on~=drain] [data-l=drain]{opacity:1}.pstage[data-on~=walls] .dim path,.pstage[data-on~=opening] .dim-line,.pstage[data-on~=drain] .drain{stroke-dashoffset:0}.pstage:before,.pstage:after{content:"";z-index:1;pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.pstage:before{background:linear-gradient(0deg, var(--stone-50) 36%, #f5f6f500 50%)}.pstage.is-measuring:before{opacity:0}.pstage:after{background:linear-gradient(90deg, var(--stone-50) 31%, #f5f6f500 36%);opacity:0}.pstage.is-measuring:after{opacity:1}.phero{z-index:5;left:var(--pad);right:var(--pad);pointer-events:none;grid-template-columns:minmax(0,1fr);gap:clamp(20px,3.2vh,34px);display:grid;position:absolute;bottom:clamp(28px,5.5vh,60px)}.phero h1{font-size:clamp(2.3rem,min(6.4vw,10.6vh),8.4rem);font-weight:500;font-stretch:var(--wide);letter-spacing:-.038em;line-height:.98}.phero .l>span{transition:transform .7s cubic-bezier(.55,0,.85,.3)}.phero.is-out .l>span{transform:translateY(-112%)}.phero.is-out .l:nth-child(2)>span{transition-delay:40ms}.phero.is-out .l:nth-child(3)>span{transition-delay:80ms}html.no-opening .phero .l>span{transition:none}.phero-foot{pointer-events:auto;align-items:center;gap:clamp(20px,3vw,44px);max-width:42em;transition:opacity .35s,translate .35s;animation:1s .5s backwards foot-in;display:flex}.phero.is-out .phero-foot{opacity:0;pointer-events:none;translate:0 -10px}.phero-foot p{max-width:26em;color:var(--ink-2);font-size:1.1rem;line-height:1.42}.pstage.is-measuring .pnote{opacity:0}.pprogress small{margin-top:8px;font-size:.76rem;display:block}.pnote{z-index:5;right:var(--pad);color:var(--ink-2);border-radius:var(--r-pill);background:#fffc;padding:2px 8px;font-size:.78rem;transition:opacity .3s;position:absolute;bottom:14px}.pbeat{z-index:6;left:var(--pad);opacity:0;visibility:hidden;width:min(29vw,25em);transition:opacity .45s ease, translate .8s var(--out), visibility .45s;flex-direction:column;display:flex;position:absolute;top:92px;bottom:24px;translate:0 18px}.pbeat.is-in{opacity:1;visibility:visible;transition-delay:.42s;translate:0}.pbeat h2{font-size:clamp(2rem,3.2vw,4.2rem);font-weight:500;font-stretch:var(--wide);letter-spacing:-.033em;line-height:1}.pbeat>p{color:var(--ink-2);margin-top:14px;font-size:1.05rem;line-height:1.42}.ptake-head{color:var(--ink-2);border-bottom:1.5px solid var(--ink);margin-top:20px;padding-bottom:8px;font-size:.86rem;font-weight:500}.ptake{flex:1;min-height:0;overflow:hidden}.ptake-group{opacity:0;transition:grid-template-rows .55s var(--out), opacity .35s ease;grid-template-rows:0fr;display:grid}.ptake-group>*{min-height:0;overflow:hidden}.ptake-group{border-bottom:1px solid #0000;grid-template-columns:5.2em minmax(0,1fr)}.ptake-group.is-on{opacity:1;border-color:var(--stone-200);grid-template-rows:1fr}.ptake-group h4{color:var(--ink-2);margin:0;padding:8px 0;font-size:.92rem;font-weight:600;transition:color .3s}.ptake-group.is-now h4{color:var(--evergreen-700)}.ptake-group ul{padding:4px 0}.ptake-group li{justify-content:space-between;gap:12px;padding:4px 0;font-size:.93rem;display:flex}.ptake-group li b{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.pprogress{color:var(--ink-2);margin-top:12px;font-size:.84rem}.pprogress i{border-radius:var(--r-pill);background:var(--stone-200);height:4px;margin-top:7px;display:block;overflow:hidden}.pprogress u{background:var(--evergreen-700);transform-origin:0;will-change:transform;height:100%;display:block;transform:scaleX(0)}.billwrap{grid-template-columns:minmax(0,7fr) minmax(300px,4fr);align-items:start;gap:clamp(24px,4vw,64px);margin-top:clamp(36px,6vh,64px);display:grid}.boq{background:var(--paper);color:var(--paper-ink);padding:clamp(18px,2.6vw,38px);box-shadow:0 1px 2px #0724190f,0 30px 60px -36px #07241947}.boq-head,.boq-line{grid-template-columns:minmax(0,1fr) 6.6em 5.8em 5.4em;align-items:center;gap:10px;display:grid}.boq-head{color:var(--paper-muted);padding-bottom:8px;font-size:.8rem}.boq-head span:nth-child(n+2){text-align:right}.boq-trade h3{border-top:1.5px solid var(--paper-ink);font-size:1.12rem;font-weight:600;font-stretch:var(--semi);letter-spacing:-.012em;justify-content:space-between;gap:12px;padding:16px 0 8px;display:flex}.boq-trade h3 b{font-variant-numeric:tabular-nums;font-weight:600}.boq-trade+.boq-trade{margin-top:16px}.boq-line{border-top:1px solid var(--paper-rule);min-height:42px;font-size:.97rem}.boq-q,.boq-r{transition:background-color var(--dur-hover) ease-out;border-radius:8px;justify-content:flex-end;align-items:baseline;gap:4px;padding:0 6px;display:flex}@media (hover:hover){.boq-q:hover,.boq-r:hover,.pc:hover{background:var(--stone-100)}}.boq-q:focus-within,.boq-r:focus-within,.pc:focus-within{background:var(--paper);box-shadow:inset 0 0 0 2px var(--evergreen-700)}.boq input,.pc input{width:2.8em;min-width:0;height:34px;color:inherit;font:inherit;text-align:right;font-variant-numeric:tabular-nums;text-decoration:underline dotted var(--stone-400);text-underline-offset:4px;background:0 0;border:0;outline:0;padding:0}.boq em,.pc em{color:var(--paper-muted);font-size:.85em;font-style:normal}.boq-a{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.sums{position:sticky;top:88px}.sums-card{border-bottom:2px solid var(--ink);padding-bottom:14px}.sums-row{border-top:1px solid var(--stone-300);align-items:center;gap:8px;min-height:46px;font-size:.98rem;display:flex}.sums-row>span:first-child{flex:1}.sums-row b{text-align:right;font-variant-numeric:tabular-nums;min-width:4.6em;font-weight:500}.pc{transition:background-color var(--dur-hover) ease-out;border-radius:8px;align-items:baseline;padding:0 6px;display:inline-flex}.pc input{width:2em}.sums-total{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;display:flex}.sums-total span{color:var(--ink-2)}.sums-total output{font-size:clamp(2.2rem,3.4vw,3.4rem);font-weight:500;font-stretch:var(--wide);letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}.sums-who{color:var(--ink-2);margin-top:14px;font-size:.95rem;line-height:1.42}.sums-who b{color:var(--ink);font-weight:600}.vhead{margin-top:22px;font-size:.92rem;font-weight:600}.vcards{margin-top:8px}.vcards li{border-top:1px solid var(--stone-200);color:var(--ink-2);animation:vcard-in .5s var(--out) backwards;gap:1px;padding:10px 0;font-size:.9rem;display:grid}@keyframes vcard-in{0%{opacity:0;transform:translateY(-8px)}}.vcards b{color:var(--ink);font-weight:600}.vcard-sum{font-variant-numeric:tabular-nums;color:var(--ink)}.vcards button{color:var(--evergreen-700);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;justify-self:start;margin-top:3px;padding:3px 0;text-decoration:underline}.said{grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);margin-top:clamp(36px,6vh,64px);display:grid}.said h3{font-size:1.45rem;font-weight:500;font-stretch:var(--semi);letter-spacing:-.02em;padding-bottom:12px}.said li{border-top:1px solid var(--stone-300);color:var(--ink-2);padding:12px 0;font-size:1.06rem}.said-more{max-width:34em;color:var(--ink-2);margin-top:26px;font-size:1.05rem;line-height:1.45}.rough-lede{max-width:34em;color:var(--fg-2);margin-top:24px;font-size:1.22rem;line-height:1.42}.scale{margin-top:clamp(44px,8vh,84px)}.scale-drawing{padding-top:62px;position:relative}.dim{text-align:center;white-space:nowrap;height:54px;font-size:1.05rem;font-weight:550;position:absolute;top:0}.dim span{transition:opacity .5s .5s;position:absolute;top:0;left:50%;translate:-50%}.dim i{background:var(--fg);transform-origin:50%;height:2px;transition:transform 1.1s var(--out);position:absolute;top:42px;left:0;right:0}.dim:before,.dim:after{content:"";background:var(--fg);width:2px;height:22px;transition:opacity .5s .45s;position:absolute;top:32px}.dim:before{left:0}.dim:after{right:0}.can-draw .scale:not(.is-drawn) .dim i{transform:scaleX(0)}.can-draw .scale:not(.is-drawn) .dim span,.can-draw .scale:not(.is-drawn) .dim:before,.can-draw .scale:not(.is-drawn) .dim:after{opacity:0}.scale-bar{height:8px;box-shadow:inset 0 0 0 1px var(--fg-2);background:linear-gradient(90deg, var(--fg-2) 0 23.1%, transparent 23.1% 53.7%, var(--fg-2) 53.7% 76.9%, transparent 76.9%)}.scale-axis{height:52px;color:var(--fg);font-variant-numeric:tabular-nums;margin-top:8px;font-size:.9rem;position:relative}.scale-axis span{white-space:nowrap;text-align:center;position:absolute;top:0;translate:-50%}.scale-axis span:first-child{text-align:left;translate:0}.scale-axis span:last-child{text-align:right;translate:-100%}.scale-axis small{color:var(--fg-2);font-size:.82rem;display:block}.scale-say{color:var(--fg-2);margin-top:14px;font-size:1.15rem;line-height:1.4}.scale-say b{color:var(--fg);font-weight:600}.scale-small{color:var(--fg-2);margin-top:4px;font-size:.92rem}.own{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(28px,5vw,80px);margin-top:clamp(36px,6vh,64px);display:grid}.own-work h3{font-size:1.4rem;font-weight:500;font-stretch:var(--semi);letter-spacing:-.02em}.own-work p{color:var(--ink-2);margin-top:6px}.own-second{border-top:1px solid var(--stone-300);margin-top:36px;padding-top:26px}.chips-w{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.chips-w button{border-radius:var(--r-pill);min-height:42px;box-shadow:inset 0 0 0 1px var(--stone-300);color:var(--ink);font:inherit;cursor:pointer;transition:background-color var(--dur-hover) ease-out, color var(--dur-hover) ease-out, scale var(--dur-press) ease-out;background:0 0;border:0;padding:0 16px;font-size:.95rem}@media (hover:hover){.chips-w button:hover{background:var(--stone-100)}}.chips-w button:active{scale:.96}.chips-w button[aria-pressed=true]{background:var(--evergreen-700);box-shadow:none;color:#fff}.marker{gap:14px;display:grid}.marker svg{background:var(--paper);cursor:crosshair;user-select:none;width:100%;max-height:72vh;display:block;box-shadow:0 30px 60px -36px #07241947}.part{fill:#0e5a4324;stroke:var(--evergreen-700);stroke-width:5px}.marker-hint{color:var(--ink-2)}.only-touch{display:none}@media (hover:none){.only-mouse{display:none}.only-touch{display:inline}}.parts li{border-top:1px solid var(--stone-300);align-items:baseline;gap:14px;padding:9px 0;font-size:.97rem;display:flex}.parts li span:first-child{font-weight:600}.parts li span:nth-child(2){color:var(--ink-2);flex:1}.parts button{color:var(--ink-2);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-size:.88rem;text-decoration:underline}.marker-side{justify-items:start;gap:10px;margin-top:16px;display:grid}.marker-side .parts{width:100%}.fails{border-bottom:1px solid var(--line);margin-top:clamp(36px,6vh,64px)}.fails div{border-top:1px solid var(--line);grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:8px 32px;padding:18px 0;display:grid}.fails dt{font-size:1.1rem;font-weight:500}.fails dd{color:var(--fg-2);font-size:1.1rem;line-height:1.4}.much{grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);margin-top:clamp(32px,6vh,60px);display:grid}.much div{border-top:1px solid var(--stone-300);padding-top:14px}.much b{font-size:clamp(4rem,9vw,10rem);font-weight:500;font-stretch:var(--wide);letter-spacing:-.05em;line-height:1;display:block}.much span{max-width:19em;color:var(--ink-2);margin-top:8px;font-size:1.12rem;line-height:1.4;display:block}.much-more{color:var(--ink-2);margin:36px 0 26px;font-size:1.08rem}@media (width<=1100px){.billwrap{grid-template-columns:minmax(0,1fr)}.sums{position:static}}@media (width<=760px){.pstory{height:560vh}.pstage:before{background:linear-gradient(0deg, var(--stone-50) 52%, #f5f6f500 60%)}.pstage:after{background:linear-gradient(0deg, var(--stone-50) 50%, #f5f6f500 53%)}.phero h1{font-size:clamp(2rem,min(9.6vw,6.6vh),4.4rem);font-stretch:var(--semi)}.phero-foot{justify-items:start;gap:12px;display:grid}.phero-foot p{font-size:.98rem}.phero{bottom:34px}.pnote{right:auto;left:var(--pad);background:0 0;padding:0;font-size:.68rem;bottom:8px}.pbeat{top:auto;bottom:12px;right:var(--pad);width:auto;height:47svh}.pbeat h2{font-size:clamp(1.6rem,7.4vw,2.4rem);font-stretch:var(--semi)}.pbeat>p{display:none}.ptake-head{margin-top:8px;padding-bottom:5px}.ptake{flex-direction:column;justify-content:flex-end;display:flex}.ptake-group h4{padding:3px 0;font-size:.82rem}.ptake-group ul{padding:2px 0}.ptake-group li{padding:1px 0;font-size:.82rem}.boq-head{display:none}.boq-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 5em;padding:6px 0}.boq-work{grid-column:1/-1}.boq-q,.boq-r{justify-content:flex-start;padding:0}.said,.own,.much,.fails div{grid-template-columns:minmax(0,1fr)}.much b{font-size:4rem}}@media (height<=560px){.phero-foot p,.pnote,.pbeat>p{display:none}}@media (width<=760px),(pointer:coarse){.boq-q input,.boq-r input,.pc input{min-height:44px}}.marker-full{color:var(--ink-2);font-size:.92rem}
