@font-face{font-family:PaftaSerif;src:url(assets/pafta-serif.woff) format('woff');font-display:swap}
@font-face{font-family:PaftaSans;src:url(assets/pafta-sans.woff) format('woff');font-display:swap}
@font-face{font-family:PaftaSans;src:url(assets/pafta-sans-bold.woff) format('woff');font-weight:650 900;font-display:swap}
:root{--paper:#f7f5ef;--ink:#272822;--muted:#646459;--bronze:#795e44;--line:#d9d6cb;--sans:PaftaSans,"Helvetica Neue",sans-serif;--serif:PaftaSerif,Georgia,serif;color-scheme:light}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.defs{display:none}
button,a,input{font:inherit}button{cursor:pointer;color:inherit}button, a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #946c41;outline-offset:4px}a{color:inherit}svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}
.wrap{width:min(1380px,calc(100% - clamp(42px,9.4vw,150px)));margin:auto}.mast{border-bottom:1px solid var(--line)}.mast-inner{height:67px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:baseline;gap:11px;white-space:nowrap}.brand strong{font-size:23px;letter-spacing:.115em;line-height:1;font-weight:750}.brand em{font-family:var(--serif);font-size:16px;font-style:normal;color:#57574e}
nav{height:100%;display:flex;align-items:stretch;gap:25px}.nav-item{border:0;background:none;font-size:13px;padding:0 1px;color:var(--muted);position:relative}.nav-item.active{color:var(--ink);font-weight:700}.nav-item.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--bronze)}.nav-item:hover{color:var(--ink)}
.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:30px 0 23px}.project-line{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#6b6253;display:flex;align-items:center;gap:11px;margin:0 0 8px;font-weight:700}.project-line span{display:block;height:1px;width:28px;background:#8c785e}h1{font:400 clamp(43px,4.4vw,68px)/1.075 var(--serif);letter-spacing:-.065em;margin:0}.metadata{display:flex;align-items:center;gap:27px;margin-bottom:5px}.metadata div+div{border-left:1px solid var(--line);padding-left:26px}.metadata span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.metadata b{display:block;font-weight:400;font-size:15px;white-space:nowrap}
.viewer{overflow:hidden;border:1px solid #cbc6b9;border-radius:9px;background:#eeeae0;position:relative;isolation:isolate}.screen{position:relative;overflow:hidden;height:clamp(345px,min(41vw,58svh),630px);background:#e5e1d7}.canvas-wrap,.plan-pane{position:absolute;inset:0}.canvas-wrap{background:#e8e4da url(assets/saha.webp) center/cover no-repeat}.canvas-wrap canvas{display:block;width:100%;height:100%}.loading{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);white-space:nowrap;padding:10px 16px;background:rgba(248,247,241,.94);border-radius:3px;font-size:13px;color:#454336}.screen-tools{position:absolute;left:18px;right:18px;top:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;pointer-events:none}.view-actions{display:flex;gap:8px;pointer-events:auto}.state,.glass{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(246,244,236,.35);background:rgba(40,40,32,.77);color:#fffef8;border-radius:4px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:11.5px;font-weight:400;line-height:1}.state{padding:0 11px}.state i{width:6px;height:6px;border-radius:50%;background:#dac39b}.glass{padding:0 11px}.glass:hover{background:rgba(36,34,27,.94)}.glass svg{width:16px;height:16px}.glass.square{width:37px;padding:0}.glass.square svg{width:17px;height:17px}.tool-source[aria-pressed=true]{background:#f4ede0;border-color:#eee6d7;color:#3a3327}
.control-rail,.plan-rail{background:#ede9df;display:flex;align-items:center;gap:clamp(26px,5vw,78px);padding:16px clamp(16px,2.25vw,36px);border-top:1px solid rgba(97,89,73,.18)}.action{height:46px;padding:0 21px;display:inline-flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;color:#fffdf6;background:#403c32;border:1px solid #403c32;border-radius:5px;font-weight:700;min-width:181px;font-size:14px;transition:background .16s}.action svg{width:20px;height:20px;color:#e9dac2}.action:hover{background:#594c3a}.action:active{transform:translateY(1px)}.action:disabled{opacity:.55;cursor:wait}.scrub{flex:1;max-width:710px;margin-left:auto;display:grid;gap:2px}.scrub-labels{display:flex;align-items:center;justify-content:space-between;gap:8px}.scrub-labels label,.scrub-labels output{font-size:11px;color:#565246;line-height:1.2}.scrub-labels output{font-variant-numeric:tabular-nums;color:#71604b}.scrub input{--v:0%;margin:0;display:block;width:100%;height:23px;appearance:none;-webkit-appearance:none;cursor:pointer;background:transparent}.scrub input::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(to right,#80674e 0%,#80674e var(--v),#c6c1b4 var(--v),#c6c1b4 100%)}.scrub input::-moz-range-track{height:3px;border-radius:2px;background:#c6c1b4}.scrub input::-moz-range-progress{height:3px;background:#80674e}.scrub input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5.5px;border:2px solid #faf8f1;border-radius:50%;background:#766047;box-shadow:0 0 0 1px #9e8d76}.scrub input::-moz-range-thumb{width:12px;height:12px;border:2px solid #faf8f1;border-radius:50%;background:#766047;box-shadow:0 0 0 1px #9e8d76}
.caption-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:15px 1px 27px}.caption-row p{font-size:12px;color:var(--muted);line-height:1.55;margin:0}.caption-row a,.plan-file{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#554b3a;font-size:12px;white-space:nowrap}.caption-row a:hover,.plan-file:hover,.muted-button:hover{text-decoration:underline;text-underline-offset:3px}.caption-row svg{width:15px;height:15px}.caption-row .last,.plan-file svg{width:11px;height:11px}
.plan-pane{background:#f2eee4}.plan-scroll{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:55px 3.5% 24px}.plan-scroll img{width:100%;height:auto;display:block;user-select:none;-webkit-user-drag:none;flex:none}.plan-scroll.enlarged img{width:165%}.plan-rail{min-height:78px;gap:20px}.plan-rail strong{font:400 21px var(--serif);letter-spacing:-.025em;margin-right:auto}.muted-button{border:1px solid #bbb3a4;border-radius:4px;padding:8px 12px;background:none;font-size:12px;color:var(--ink)}.muted-button span{margin-left:6px}.room-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 26px;border-top:1px solid var(--line);padding:21px 0 28px}.room-list div{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:12px}.room-list small{font-size:11px;color:#6b6356;white-space:nowrap}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.viewer.focused{position:fixed;inset:0;z-index:30;border:none;border-radius:0;display:flex;flex-direction:column;background:#f0ece2;height:100vh;height:100dvh}.viewer.focused .screen{height:auto!important;flex:1;min-height:0}.viewer.focused .control-rail,.viewer.focused .plan-rail{flex:none;padding-bottom:max(16px,env(safe-area-inset-bottom))}.viewer.focused .screen-tools{top:max(17px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));left:max(18px,env(safe-area-inset-left))}body.focus-mode{overflow:hidden}.focused .canvas-wrap{background-color:#e4e0d5}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.mast-inner{height:56px}.brand strong{font-size:21px}.brand em{font-size:14px}.brand{gap:7px}nav{gap:15px}.nav-item{font-size:12px}.title-row{margin:26px 0 18px;gap:9px;align-items:center}.project-line{font-size:9px;letter-spacing:.12em;gap:7px;margin-bottom:6px}.project-line span{width:17px}h1{font-size:clamp(37px,7vw,49px)}.metadata{gap:0;margin:12px 0 0}.metadata div:first-child{display:none}.metadata div+div{padding:0;border:0;text-align:right}.metadata span{font-size:9px}.metadata b{font-size:13px}.viewer{border-radius:6px}.screen{height:clamp(218px,57vw,370px);transition:height .75s cubic-bezier(.23,.68,.32,1)}.viewer.separating .screen,.viewer.plan-mode .screen{height:clamp(287px,73vw,430px)}.screen-tools{top:9px;left:9px;right:9px;gap:4px}.view-actions{gap:5px}.state,.glass{height:32px;font-size:10px;gap:6px}.glass.square{width:32px}.tool-source{padding:0 8px}.tool-source svg{width:14px}.control-rail{gap:17px;padding:13px 12px}.action{height:41px;padding:0 12px;min-width:134px;font-size:12px;gap:7px}.action svg{width:17px;height:17px}.scrub-labels label,.scrub-labels output{font-size:9.5px}.caption-row{gap:10px;padding:12px 1px 21px}.caption-row p{font-size:11px}.caption-row a{font-size:10px;gap:4px;margin-top:1px}.caption-row a svg:first-child{width:13px}.caption-row .last{display:none}.plan-rail{padding:12px;min-height:65px;gap:12px}.plan-rail strong{font-size:17px}.muted-button{font-size:10px;padding:7px}.plan-file{font-size:10px;gap:3px}.plan-scroll{padding:43px 3% 12px}.plan-scroll.enlarged img{width:250%}.room-list{grid-template-columns:1fr 1fr;gap:12px 17px;padding-top:15px}.room-list div,.room-list small{font-size:10px}.viewer.focused .control-rail{padding-bottom:max(15px,env(safe-area-inset-bottom))}}
@media(max-width:370px){.wrap{width:calc(100% - 24px)}.brand em{display:none}.control-rail{gap:12px}.room-list{grid-template-columns:1fr}.tool-source span{display:none}.action{min-width:120px}.plan-rail{gap:8px}.plan-rail strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;scroll-behavior:auto!important}}
.load-error{white-space:normal;max-width:420px;width:84%;line-height:1.5}.load-error button{margin-top:7px;display:block;border:1px solid var(--line);background:var(--paper);border-radius:3px;font-size:12px;padding:5px 9px}
@media(orientation:landscape) and (max-height:530px){.viewer.focused .screen{min-height:0}.viewer.focused .control-rail{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.viewer.focused .action{height:34px}}
.plan-scroll{align-items:flex-start}.plan-scroll img{margin-block:auto}
.viewer.plan-mode .screen-tools{justify-content:flex-end}

/* Drawing folio */
:root{--paper:#f8f7f2;--ink:#30332b;--bronze:#80694d;--line:#dad9ce}
.mast{background:#f9f8f3}.brand em{color:#6c6b5e}.title-row{margin:25px 0 19px}.project-line{letter-spacing:.16em;color:#746a55}.viewer{background:#faf9f4;border-color:#cac9bd;border-radius:7px;box-shadow:0 3px 10px rgba(61,54,34,.035)}
.viewer-toolbar{min-height:48px;padding:6px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dcdccf;background:#f7f6ef;flex:none;position:relative;z-index:2}
.finish-tabs{display:inline-flex;padding:2px;gap:2px;align-items:center;border:1px solid #d5d4c7;border-radius:5px;background:#eae9e0}
.finish,.utility{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:none;font-size:12px;color:#626256;line-height:1.2;border-radius:3px}
.finish{height:29px;padding:0 12px}.finish svg,.utility svg{width:15px;height:15px;stroke-width:1.55}.finish:hover,.utility:hover{color:#282d23}.finish.active{color:#3b4034;background:#fffef8;font-weight:700;box-shadow:0 1px 3px #b4b3a5}.finish.active svg{color:#736148}.view-actions{align-items:center;gap:7px}.utility{height:30px;padding:0 8px}.utility.square{width:32px;padding:0;border-left:1px solid #cfcec0;border-radius:0}.utility.square svg{width:16px;height:16px}.utility[aria-pressed=true]{color:#fffdf3;background:#555746;border-color:transparent}
.screen{height:clamp(370px,min(42vw,59svh),655px);background:#faf9f4}.canvas-wrap,.focused .canvas-wrap{background:#faf9f4 url(assets/kalem-saha.webp) center/cover no-repeat}
.control-rail,.plan-rail{background:#f3f1e8;border-top:1px solid #d5d4c6;padding:15px clamp(15px,2.1vw,30px);gap:22px}.action{background:#373d31;border-color:#373d31;border-radius:4px;height:44px;font-size:13px;min-width:169px}.action:hover{background:#4d5545}.action svg{color:#eee7ce}
.state{border:0;background:none;color:#5d6352;backdrop-filter:none;-webkit-backdrop-filter:none;height:auto;justify-content:flex-start;padding:0;font-size:11px;gap:7px;flex-shrink:0}.state i{background:#8c866c;width:6px;height:6px;box-shadow:0 0 0 3px #e4e3d7}.state.moving i{background:#996e47}.scrub{max-width:46%;width:46%;margin-left:auto;gap:3px}.scrub-labels label,.scrub-labels output{color:#5c6051}.scrub input::-webkit-slider-runnable-track{background:linear-gradient(to right,#70785f 0%,#70785f var(--v),#cccbbb var(--v),#cccbbb 100%)}.scrub input::-webkit-slider-thumb{background:#626b53}.scrub input::-moz-range-progress,.scrub input::-moz-range-thumb{background:#697157}
.caption-row{padding-top:13px}.caption-row p{color:#6a6c61}.plan-pane{background:#faf9f4}.plan-scroll{padding:24px 3.5% 26px}
.viewer.focused .viewer-toolbar{padding-top:max(6px,env(safe-area-inset-top));padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}
@media(max-width:700px){.wrap{width:calc(100% - 28px)}.mast-inner{height:54px}.title-row{margin:22px 0 15px}.project-line{font-size:9px}.viewer-toolbar{padding:6px 8px;min-height:41px;gap:6px}.finish{height:27px;font-size:11px;padding:0 8px;gap:5px}.finish svg,.utility svg{width:13px;height:13px}.utility{font-size:10px;height:29px;padding:0 4px;gap:4px}.utility.square{width:27px}.view-actions{gap:4px}.screen{height:clamp(204px,54vw,350px)}.viewer.separating .screen{height:clamp(300px,82vw,450px)}.viewer.plan-mode .screen{height:clamp(238px,60vw,390px)}.control-rail{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;row-gap:1px;padding:11px 12px}.action{height:40px;min-width:135px;font-size:12px}.control-rail .action{grid-column:1;grid-row:1 / span 2}.control-rail .state{grid-column:2;grid-row:1;font-size:10px;padding-left:2px;gap:7px}.control-rail .state i{width:5px;height:5px;box-shadow:0 0 0 2px #e5e4d7}.control-rail .scrub{grid-column:2;grid-row:2;width:100%;max-width:none;display:flex;align-items:center;gap:8px}.scrub-labels{order:2}.scrub-labels label{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.scrub-labels output{font-size:9px;min-width:28px;text-align:right}.scrub input{height:20px;min-width:28px}.caption-row p{font-size:11px}.plan-scroll{padding:15px 3%}.viewer.focused .control-rail{display:grid}}
@media(max-width:365px){.tool-source span{display:none}.utility.tool-source{width:30px}.brand{gap:0}.brand em{display:none}.control-rail{column-gap:12px}.action{min-width:124px}.finish{padding:0 7px}}
@media(min-width:701px) and (max-height:750px){.mast-inner{height:54px}.title-row{margin:16px 0 14px}h1{font-size:47px}.viewer-toolbar{min-height:43px}.screen{height:clamp(328px,53svh,420px)}.control-rail{padding-block:11px}}
@media(max-height:440px) and (orientation:landscape){.viewer.focused .viewer-toolbar{min-height:34px;padding-block:2px}.viewer.focused .control-rail{padding-block:6px}.viewer.focused .action{height:31px}}
.plan-figure{position:relative;flex:none;width:100%;margin-block:auto}.plan-scroll.enlarged .plan-figure{width:165%}.plan-scroll .plan-figure img,.plan-scroll.enlarged .plan-figure img{display:block;width:100%;margin:0}
.room-pins{position:absolute;inset:0;pointer-events:none}.room-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:grid;place-items:center;min-width:19px;height:19px;padding:0;border:1px solid #fffef8;border-radius:50%;background:#636b58;color:#fff;font-family:var(--sans);font-size:10px;font-weight:700;line-height:1;box-shadow:0 0 0 1px #c6c7b8}
.room-pin:hover,.room-pin[aria-pressed=true]{background:#805d38;box-shadow:0 0 0 3px #decba8}.room-list{gap:7px 20px}.room-row{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid transparent;border-radius:4px;background:none;font-size:12px;padding:6px 5px}.room-row:hover,.room-row[aria-pressed=true]{background:#efede2;border-color:#ddd9c8}.room-index{color:#6a6e5e;border:1px solid #b5b8a6;border-radius:50%;min-width:16px;height:16px;display:grid;place-items:center;font-size:9px}.room-row small{margin-left:auto}.plan-rail strong{font-size:clamp(15px,1.8vw,21px)}
@media(max-width:700px){.plan-scroll.enlarged .plan-figure{width:250%}.room-pin{height:15px;min-width:15px;font-size:8px}.plan-scroll.enlarged .room-pin{height:19px;min-width:19px;font-size:10px}.room-list{column-gap:8px;row-gap:3px}.room-row{font-size:10px;gap:4px;padding:4px 2px}.room-index{min-width:13px;height:13px;font-size:8px}.plan-rail{flex-wrap:wrap}.plan-rail strong{line-height:1.2;max-width:51%}}

/* The scale model shares the folio's paper, typography and material controls. */
.nav-mass{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.nav-mass svg{width:16px;height:16px;stroke-width:1.45}
.viewer.mass-mode .screen{height:clamp(370px,min(44vw,61svh),660px)}
.mass-pane{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 36% 22%,#fcfbf7 0%,#f7f5ee 58%,#eeeae1 100%)}
.mass-stage,.mass-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.mass-stage{touch-action:none;cursor:grab;outline-offset:-4px!important;-webkit-user-select:none;user-select:none}
.mass-stage.dragging{cursor:grabbing}
.mass-status{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);max-width:85%;display:flex;align-items:center;gap:10px;text-align:center;color:var(--muted);font-size:13px;background:#faf9f3ed;border:1px solid var(--line);padding:10px 15px;border-radius:4px}
.mass-status button{font-size:12px;background:#fffdf6;color:var(--ink);border:1px solid #c3bfad;border-radius:3px;padding:6px 9px;white-space:nowrap}
.model-scale{position:absolute;bottom:25px;left:24px;display:grid;justify-items:center;gap:2px;color:#666b5d;pointer-events:none;font-size:10px;line-height:1.15;font-variant-numeric:tabular-nums}
.model-scale i{height:5px;width:var(--scale,64px);border:1px solid #737968;border-top:0}
.mass-tools{position:absolute;bottom:17px;right:18px;display:flex;align-items:center;border:1px solid #ceccbd;border-radius:5px;background:#faf9f2f2;box-shadow:0 2px 7px #4641310b;padding:2px}
.mass-tools button{display:grid;place-items:center;width:34px;height:33px;background:none;border:0;border-radius:3px;color:#535b4b}
.mass-tools button:hover,.mass-tools button:focus-visible{background:#e7e8dc}.mass-tools button:active{background:#dfe1d1}.mass-tools button:disabled{opacity:.43}
.mass-tools button svg{width:17px;height:17px;stroke-width:1.55}.mass-tools>span{width:1px;height:17px;background:#d8d5c6;margin:0 2px}
.mass-rail{display:flex;gap:24px;align-items:center;padding:14px clamp(15px,2.1vw,30px);background:#f3f1e8;border-top:1px solid #d5d4c6;flex:none}
.mass-angle{display:flex;align-items:center;gap:9px}.mass-angle label{font-size:11px;color:#686b5d}.mass-angle select{font-family:var(--sans);border:1px solid #d1d0c0;background:#faf9f3;color:#434b3d;border-radius:4px;font-size:12px;min-height:34px;padding:3px 7px;cursor:pointer}
.model-download{display:inline-flex;align-items:center;gap:7px;margin-left:auto;color:#4d5344;font-size:12px;text-decoration:none;white-space:nowrap}.model-download:hover span{text-decoration:underline;text-underline-offset:3px}
.model-download svg{width:15px;height:15px}.model-download small{font-size:9px;font-weight:650;color:#757a6a;letter-spacing:.06em}
.viewer.focused .mass-rail{padding-bottom:max(14px,env(safe-area-inset-bottom))}
@media(max-width:700px){.mast-inner{gap:9px}.mast-inner nav{gap:11px}.nav-item{font-size:11px;white-space:nowrap}.nav-mass{gap:4px}.nav-mass svg{width:13px;height:13px}
  .viewer.mass-mode .screen{height:clamp(310px,87vw,470px)}
  .mass-rail{gap:11px 12px;padding:11px 12px;flex-wrap:wrap}.mass-rail .action{min-width:111px;padding-inline:9px}.mass-angle{gap:3px;flex-direction:column;align-items:flex-start}.mass-angle label{font-size:9px;line-height:1}.mass-angle select{font-size:11px;min-height:27px;max-width:118px;padding:2px 3px}
  .model-download{gap:4px;font-size:10px;align-self:center}.model-download svg{width:13px;height:13px}.model-download small{display:none}
  .mass-tools{right:10px;bottom:11px}.mass-tools button{width:32px;height:32px}.mass-tools button svg{width:15px;height:15px}.model-scale{left:13px;bottom:19px;font-size:9px}}
@media(max-width:500px){.mast-inner .brand{gap:6px}.mast-inner nav{gap:9px}.mast-inner .brand strong{font-size:19px}.mast-inner .brand em{font-size:12px}}
@media(max-width:379px){.mast-inner .brand em{display:none}.nav-mass svg{display:none}.mass-rail{column-gap:8px}.mass-rail .action{min-width:104px}.model-download{font-size:9px}}
@media(max-height:440px) and (orientation:landscape){.viewer.focused .mass-rail{padding-block:5px}.viewer.focused .mass-tools{bottom:7px}.viewer.focused .model-scale{bottom:13px}}

/* Column sections share the measured plan's coordinates in both finishes. */
.structure-plan {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  stroke: none;
}
.structure-plan polygon {
  vector-effect: non-scaling-stroke;
  stroke-width: 1;
  stroke-linejoin: miter;
}
.struct-column { fill: #815e42; stroke: #463326; }
.struct-wall { fill: #787669; stroke: #4d5147; }
.column-label line {
  stroke: #66523f;
  stroke-width: .8;
  vector-effect: non-scaling-stroke;
}
.column-label text {
  fill: #534332;
  stroke: #faf9f4;
  stroke-width: .10px;
  stroke-linejoin: round;
  paint-order: stroke fill;
  font: 700 .24px var(--sans);
  text-anchor: middle;
  dominant-baseline: central;
}
.hide-column-labels .column-label { display: none; }
.column-toggle { display: inline-flex; align-items: center; gap: 6px; }
.column-toggle .column-swatch {
  margin: 0;
  width: 13px;
  height: 6px;
  border: 1px solid #5e5142;
  background: transparent;
}
.column-toggle[aria-pressed=true] .column-swatch { background: #815e42; }
@media (max-width:700px) {
  .column-label text { font-size: .62px; stroke-width: .17px; }
  .plan-scroll.enlarged .column-label text { font-size: .28px; stroke-width: .11px; }
  .plan-rail { gap: 8px 12px; }
}

.struct-reserve { fill: #cbd6c9; stroke: #426257; stroke-dasharray: 4 2; }
.struct-reserve-group .column-label line { stroke: #49675c; }
.struct-reserve-group .column-label text { fill: #35584a; }
.plan-axes, .stair-contact { display: none; }
.review-open .plan-axes, .review-open .stair-contact { display: inline; }
.plan-axes line { stroke: #507163; stroke-width: 1.1; stroke-dasharray: 7 3 1.5 3; vector-effect: non-scaling-stroke; }
.stair-contact { stroke: #a35736; stroke-width: 4; vector-effect: non-scaling-stroke; }
.review-notes { border-block: 1px solid var(--line); margin: 0 0 24px; }
.review-notes summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; padding: 14px 2px; font-weight: 700; font-size: 14px; }
.review-notes summary::-webkit-details-marker { display: none; }
.review-notes summary:after { content: ''; border-right: 1.5px solid #74694f; border-bottom: 1.5px solid #74694f; width: 7px; height: 7px; transform: rotate(45deg); margin: -3px 4px 0 2px; }
.review-notes[open] summary:after { transform: rotate(225deg); margin-top: 3px; }
.review-edition { border: 1px solid #bcb5a3; padding: 3px 6px; font-size: 10px; color: #715d44; letter-spacing: .06em; }
.review-type { font-size: 11px; font-weight: 400; color: var(--muted); margin-left: auto; }
.review-body { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(16px,3vw,46px); padding: 6px 2px 15px; }
.review-body h2 { margin: 0 0 5px; font: 400 20px/1.3 var(--serif); }
.review-body p { font-size: 12px; line-height: 1.6; color: #56594e; margin: 0; }
.review-foot { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 0 2px 16px; color: #665c4b; font-size: 11.5px; }
.review-foot a { display: inline-flex; align-items: center; gap: 5px; text-underline-offset: 3px; }
.review-foot svg { width: 10px; height: 10px; }
@media (max-width:700px) {
  .review-notes { margin-bottom: 16px; }
  .review-notes summary { padding: 12px 1px; gap: 6px; font-size: 12px; }
  .review-type { font-size: 9px; }
  .review-body { grid-template-columns: 1fr; gap: 11px; }
  .review-body h2 { font-size: 17px; margin-bottom: 3px; }
  .stair-contact { stroke-width: 3; }
}
