:root{--paper: #f7f4ee;--paper-2: #efeae1;--ink: #1f1d1a;--ink-2: #4a4640;--ink-3: #7b756b;--rule: #d9d2c5;--cedar: #9a5b2e;--cedar-2: #b8743f;--pine: #2f3a2c;--glass: #6f8a8f;--plan-paper: var(--paper);--plan-room: #f1ece3;--plan-garage: #e6e1d7;--plan-patio: #e2ddd3;--plan-wall: var(--ink);--plan-ink: var(--ink);--plan-ink-soft: var(--ink-3);--plan-accent: var(--cedar);--plan-line: #8c867c;--plan-glass: var(--glass);--serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--gutter: clamp(16px, 4vw, 56px);--max: 1360px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,canvas{display:block;max-width:100%}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}:focus-visible{outline:2px solid var(--cedar);outline-offset:3px}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.display{font:400 clamp(44px,6.2vw,100px)/.94 var(--serif);letter-spacing:-.02em;margin:0}.h2{font:400 clamp(34px,4.6vw,64px)/1 var(--serif);letter-spacing:-.01em;margin:0}.h3{font:400 clamp(24px,2.4vw,32px)/1.1 var(--serif);margin:0}.eyebrow{font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.lede{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--ink-2);max-width:36em}.num{font-family:var(--serif);font-style:italic;color:var(--cedar)}.site-head{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px var(--gutter);color:var(--paper)}.site-head.solid{position:relative;color:var(--ink);border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:baseline;gap:.45em;text-decoration:none}.brand b{font:400 28px/1 var(--serif);letter-spacing:.01em}.brand span{font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;opacity:.8}.nav{display:flex;gap:clamp(14px,2.4vw,36px)}.nav a{font:500 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;opacity:.85}.nav a:hover,.nav a[aria-current=page]{opacity:1;text-decoration:underline}.btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.5em;border:1px solid currentColor;border-radius:999px;font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;background:transparent;color:inherit;cursor:pointer;transition:background .25s,color .25s}.btn:hover,.btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.solid:hover{background:var(--cedar);border-color:var(--cedar)}.hero{position:relative;min-height:min(100svh,980px);display:grid;align-items:end;color:var(--paper);overflow:hidden}.hero>picture,.hero>img{position:absolute;inset:0}.hero img{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#14120f80,#14120f2e 38%,#14120f00 60%),linear-gradient(180deg,#14120f66,#14120f00 20% 55%,#14120f8c)}.hero-copy .lede{max-width:30em}.hero-copy{position:relative;z-index:2;padding:0 var(--gutter) clamp(32px,6vw,80px);width:100%;max-width:var(--max);margin:0 auto}.hero-copy .eyebrow{color:#f7f4eecc}.hero-copy .lede{color:#f7f4eee0}section{padding:clamp(64px,10vw,140px) 0}.rule-top{border-top:1px solid var(--rule)}.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:start}@media(max-width:860px){.split{grid-template-columns:1fr}}.specs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.specs div{padding:22px 0 20px}.specs div+div{border-left:1px solid var(--rule);padding-left:22px}.specs b{display:block;font:400 clamp(30px,3.4vw,46px)/1 var(--serif)}.specs span{font:600 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}@media(max-width:720px){.specs{grid-template-columns:repeat(2,minmax(0,1fr))}.specs div+div{border-left:0;padding-left:0}.specs div:nth-child(2n){border-left:1px solid var(--rule);padding-left:18px}.specs div:nth-child(n+3){border-top:1px solid var(--rule)}}.card{display:block;text-decoration:none}.card .frame{overflow:hidden;background:var(--paper-2)}.card img{width:100%;aspect-ratio:16 / 10;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.card:hover img{transform:scale(1.035)}.card .meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:18px}.card .meta p{margin:4px 0 0;color:var(--ink-3);font-size:15px}.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(10px,1.4vw,20px)}.gallery figure{margin:0;cursor:zoom-in}.gallery figure:nth-child(1){grid-column:1 / -1}.gallery figure:nth-child(2){grid-column:span 5}.gallery figure:nth-child(3){grid-column:span 7}.gallery figure:nth-child(4){grid-column:span 7}.gallery figure:nth-child(5){grid-column:span 5}.gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:16 / 9}.gallery figure:nth-child(2) img,.gallery figure:nth-child(5) img{aspect-ratio:4 / 3.3}.gallery figcaption{font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding-top:10px}@media(max-width:720px){.gallery figure{grid-column:1 / -1!important}.gallery img{aspect-ratio:16 / 10!important}}.lightbox{position:fixed;inset:0;z-index:100;background:#100f0df0;display:none;place-items:center;padding:24px}.lightbox.open{display:grid}.lightbox img{max-height:88vh;width:auto}.lightbox button{position:absolute;top:16px;right:16px;color:var(--paper);background:none;border:0;font:400 40px/1 var(--serif);cursor:pointer}.plan-wrap{background:var(--paper);border:1px solid var(--rule);padding:clamp(10px,2vw,28px)}.plan-wrap svg{width:100%;height:auto}.plan-wrap .IfcSpace{transition:opacity .2s}.plan-wrap .IfcSpace:hover path{fill:#e9dfcf}.room-list{list-style:none;margin:0;padding:0;columns:2;column-gap:28px}.room-list li{display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);padding:9px 0;break-inside:avoid;font-size:15px}.room-list li span:last-child{color:var(--ink-3);font-variant-numeric:tabular-nums}.viewer{position:relative;background:#e9e5dd;border:1px solid var(--rule);aspect-ratio:16 / 9;overflow:hidden}@media(max-width:720px){.viewer{aspect-ratio:4 / 5}}.viewer canvas{width:100%!important;height:100%!important}.viewer .tools{position:absolute;left:14px;top:14px;display:flex;flex-wrap:wrap;gap:8px;z-index:3}.viewer .tools button{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:9px 13px;border-radius:999px;border:1px solid var(--ink);background:#f7f4eee6;color:var(--ink);cursor:pointer}.viewer .tools button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.viewer .info{position:absolute;right:14px;bottom:14px;z-index:3;max-width:min(320px,calc(100% - 28px));background:#f7f4eef5;border:1px solid var(--rule);padding:14px 16px;font-size:13px;line-height:1.45}.viewer .info b{font:400 20px/1.1 var(--serif);display:block;margin-bottom:4px}.viewer .info dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0 0}.viewer .info dt{color:var(--ink-3)}.viewer .info dd{margin:0}.viewer .hint{position:absolute;left:14px;bottom:14px;z-index:3;font:500 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.viewer .loading{position:absolute;inset:0;display:grid;place-items:center;font:400 22px/1 var(--serif);color:var(--ink-3)}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.steps li{padding:28px 24px 8px 0;border-top:1px solid var(--ink)}.steps li+li{padding-left:24px}.steps h3{margin:14px 0 10px}.steps p{margin:0;color:var(--ink-2);font-size:16px}@media(max-width:860px){.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(3){padding-left:0}}@media(max-width:560px){.steps{grid-template-columns:1fr}.steps li+li{padding-left:0}}.site-foot{background:var(--ink);color:var(--paper);padding:clamp(56px,8vw,110px) 0 32px}.site-foot a{color:var(--paper)}.site-foot .h2{max-width:12em}.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:56px;padding-top:22px;border-top:1px solid rgba(247,244,238,.18);font-size:14px;color:#f7f4ee99}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.hero-copy>*{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}.hero-copy>*:nth-child(2){animation-delay:.12s}.hero-copy>*:nth-child(3){animation-delay:.24s}.hero-copy>*:nth-child(4){animation-delay:.36s}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:560px){.site-head{padding:16px var(--gutter)}.brand span{display:none}.nav{gap:14px}.nav a{font-size:11px;letter-spacing:.1em}.room-list{columns:1}}.notice{border-left:3px solid var(--cedar);background:var(--paper-2);padding:14px 18px;margin:0 0 clamp(28px,4vw,44px);font-size:15px;color:var(--ink-2);max-width:60em}.notice b{color:var(--ink)}.docset{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:start;padding-bottom:clamp(40px,6vw,72px);border-bottom:1px solid var(--rule)}@media(max-width:860px){.docset{grid-template-columns:1fr}}.docset-cover{display:block;border:1px solid var(--rule);background:#fff;box-shadow:0 18px 40px -24px #1f1d1a73}.docset-cover img{width:100%;height:auto}.dl-size{font-weight:500;opacity:.7;letter-spacing:.04em}.sheets{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sheets a{display:block;text-decoration:none}.sheets img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border:1px solid var(--rule);background:#fff;transition:transform .3s,box-shadow .3s}.sheets a:hover img{transform:translateY(-2px);box-shadow:0 10px 22px -14px #1f1d1a80}.sheets span{display:block;font-size:12px;line-height:1.35;color:var(--ink-2);padding-top:6px}.sheets b{color:var(--ink);margin-right:4px}.docgroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);padding-top:clamp(36px,5vw,60px)}@media(max-width:960px){.docgroups{grid-template-columns:1fr}}.docnote{color:var(--ink-3);font-size:14px;line-height:1.5;margin:8px 0 16px;min-height:3em}.files{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.files a{display:grid;grid-template-columns:54px minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:13px 4px;border-bottom:1px solid var(--rule);text-decoration:none;transition:background .2s}.files a:hover{background:var(--paper-2)}.files .fmt{font:600 10.5px/1 var(--sans);letter-spacing:.12em;border:1px solid var(--ink);border-radius:3px;padding:5px 0;text-align:center}.files .ft b{display:block;font-weight:600;font-size:15px}.files .ft span{display:block;color:var(--ink-3);font-size:13px;line-height:1.35}.files .fs{color:var(--ink-3);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.files svg{width:16px;height:16px;color:var(--cedar)}.assemblies{border-top:1px solid var(--ink)}.assembly{border-bottom:1px solid var(--rule)}.assembly summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 4px}.assembly summary::-webkit-details-marker{display:none}.assembly summary:hover{background:var(--paper-2)}.assembly .tag{font:400 22px/1 var(--serif);font-style:italic;color:var(--cedar)}.assembly .an b{display:block;font-weight:600}.assembly .an span{color:var(--ink-3);font-size:14px}.assembly .ar{text-align:right;font:400 26px/1 var(--serif)}.assembly .ar small{display:block;font:500 11px/1.6 var(--sans);letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase}.assembly[open] summary{background:var(--paper-2)}.layers{margin:0;padding:6px 4px 6px 84px;list-style:none;counter-reset:l}.layers li{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:5px 0;font-size:14px;color:var(--ink-2);border-bottom:1px dashed var(--rule)}.layers li span{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.acode{margin:8px 4px 18px 84px;font-size:13px;color:var(--ink-3)}@media(max-width:560px){.sheets{grid-template-columns:repeat(2,minmax(0,1fr))}.assembly summary{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.layers,.acode{padding-left:4px;margin-left:4px}.layers li{grid-template-columns:56px 1fr}}
