:root{--paper:#f2f0e9;--paper-2:#e9e6dd;--paper-3:#dfdbd0;--ink:#141514;--muted:#66635c;--line:#1415142e;--line-strong:#14151457;--accent:#d45d0b;--accent-dark:#a94305;--white:#fff;--radius:16px;--shadow:0 28px 70px #14151414;--wrap:1540px;--nav-height:72px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}:where(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}figure,p,h1,h2,h3,h4,dl,dd,ol{margin:0}summary{list-style:none}summary::-webkit-details-marker{display:none}::selection{background:var(--accent);color:var(--white)}.wrap{width:min(calc(100% - 72px), var(--wrap));margin-inline:auto}.anchor-section{scroll-margin-top:calc(var(--nav-height) + 18px)}.nav{min-height:var(--nav-height);border-bottom:1px solid var(--line);z-index:50;justify-content:space-between;align-items:center;gap:28px;display:flex;position:relative}.brand{align-items:center;gap:17px;min-width:0;display:inline-flex}.brand-mark{letter-spacing:-.08em;white-space:nowrap;font-size:25px;font-weight:750;line-height:1}.brand-mark i{color:var(--accent);font-style:normal}.brand small{color:var(--muted);font-family:var(--font-mono), monospace;letter-spacing:.075em;text-transform:uppercase;font-size:11px;font-weight:600}.brand-mobile-name{display:none}.nav-right,.links,.language-switch{align-items:center;display:flex}.nav-right{gap:28px}.links{gap:26px;font-size:14px;font-weight:570}.links>a:not(.contact-link){position:relative}.links>a:not(.contact-link):after{content:"";background:var(--ink);height:1px;transition:right .2s;position:absolute;bottom:-7px;left:0;right:100%}.links>a:hover:after{right:0}.links>a:focus-visible:after{right:0}.language-switch{border:1px solid var(--line);border-radius:999px;gap:3px;padding:3px}.language-switch button{cursor:pointer;width:36px;height:30px;font-family:var(--font-mono), monospace;letter-spacing:.06em;background:0 0;border:0;border-radius:999px;padding:0;font-size:11px}.language-switch button.active{background:var(--ink);color:var(--paper)}.contact-link{background:var(--ink);min-height:38px;color:var(--paper);border-radius:999px;justify-content:center;align-items:center;padding:0 17px;transition:transform .2s,background .2s;display:inline-flex}:is(.contact-link:hover,.contact-link:focus-visible){background:var(--accent);transform:translateY(-1px)}.mobile-menu-toggle,.mobile-menu{display:none}.hero{border-bottom:1px solid var(--line);min-height:770px;padding:78px 0 98px;position:relative;overflow:hidden}.hero h1{z-index:3;letter-spacing:-.065em;max-width:1100px;font-size:clamp(64px,7.15vw,118px);font-weight:610;line-height:.89;position:relative}.hero h1 em{color:var(--accent);font-style:normal}.hero-bottom{z-index:4;width:min(520px,42%);position:absolute;bottom:80px;left:0}.hero-bottom p{color:#41413d;letter-spacing:-.018em;font-size:clamp(17px,1.4vw,22px);line-height:1.55}.hero-context{color:var(--muted);font-family:var(--font-mono), monospace;letter-spacing:.09em;text-transform:uppercase;margin-bottom:14px;font-size:10px;font-weight:700;display:block}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:28px;display:flex}.hero-projects-link,.hero-contact-link{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;padding-bottom:7px;font-size:11px;font-weight:650;display:inline-flex}.hero-projects-link{border-bottom:1px solid var(--ink)}.hero-contact-link{border-bottom:1px solid var(--line-strong);color:var(--muted)}:is(.hero-projects-link:hover,.hero-projects-link:focus-visible,.hero-contact-link:hover,.hero-contact-link:focus-visible){color:var(--accent);border-color:var(--accent)}.hero-model{z-index:1;pointer-events:none;width:68%;height:600px;position:absolute;bottom:16px;right:-6%}.hero-model img{object-fit:contain;object-position:right bottom;opacity:.42;mix-blend-mode:multiply;width:100%;height:100%}.services{border-bottom:1px solid var(--line);padding:96px 0 108px}.services-head{grid-template-columns:minmax(0,1fr) minmax(340px,.62fr);align-items:end;gap:72px;margin-bottom:54px;display:grid}.services-head span,.services-grid>article>span{font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.services-head h2{letter-spacing:-.055em;max-width:880px;margin-top:17px;font-size:clamp(44px,4.8vw,74px);font-weight:590;line-height:.96}.services-copy{max-width:560px}.services-copy>p{color:var(--muted);font-size:16px;line-height:1.64}.services-copy .services-audience{color:var(--ink);margin-top:16px;font-size:14px}.services-grid{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.services-grid article{min-width:0;padding:26px 22px 30px 0}.services-grid article+article{border-left:1px solid var(--line);padding-left:22px}.services-grid h3{letter-spacing:-.03em;margin-top:34px;font-size:clamp(18px,1.45vw,23px);font-weight:620;line-height:1.08}.services-grid p{color:var(--muted);margin-top:16px;font-size:14px;line-height:1.58}.collaboration-process{grid-template-columns:minmax(190px,.7fr) minmax(0,3fr);gap:32px;padding-top:36px;display:grid}.collaboration-process-heading>span,.collaboration-process li>span{font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.collaboration-process-heading h3{letter-spacing:-.035em;max-width:260px;margin-top:12px;font-size:24px;font-weight:610;line-height:1.08}.collaboration-process ol{border-top:1px solid var(--line-strong);grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;display:grid}.collaboration-process li{min-width:0;padding:18px 18px 0}.collaboration-process li:first-child{padding-left:0}.collaboration-process li+li{border-left:1px solid var(--line)}.collaboration-process li>span{color:var(--muted)}.collaboration-process li strong{margin-top:18px;font-size:15px;line-height:1.25;display:block}.collaboration-process li p{color:var(--muted);margin-top:9px;font-size:12px;line-height:1.52}.projects{padding:104px 0 132px}.section-head{grid-template-columns:minmax(0,.92fr) minmax(340px,.7fr);justify-content:space-between;align-items:end;gap:72px;margin-bottom:58px;display:grid}.section-head span,.gallery-intro>span,.fabrication-intro>span,.project-overview-title>span,.about-grid>span,footer>div:first-child>span{font-family:var(--font-mono), monospace;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:1;display:block}.section-head h2,.about h2,footer h2{letter-spacing:-.058em;margin-top:17px;font-size:clamp(48px,5.25vw,82px);font-weight:590;line-height:.92}.section-head>p{max-width:585px;color:var(--muted);font-size:17px;line-height:1.64}.project-folder-grid{gap:54px;min-width:0;display:grid}.project-folder{border:1px solid var(--line-strong);border-radius:var(--radius);background:#ffffff14;min-width:0;max-width:100%;position:relative}.project-folder>summary{cursor:pointer;grid-template-columns:120px minmax(0,1fr) auto;align-items:start;gap:20px 30px;padding:36px 38px 38px;display:grid;position:relative}.project-card-link{z-index:5;border-radius:inherit;position:absolute;inset:0}.project-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-folder>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.folder-index{font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;padding-top:7px;font-size:11px;font-weight:700}.project-folder>summary>div:not(.project-folder-covers) strong{letter-spacing:-.045em;font-size:clamp(27px,2.3vw,38px);font-weight:590;line-height:1.02;display:block}.project-folder>summary>div:not(.project-folder-covers) small{color:var(--muted);font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;margin-top:11px;font-size:11px;font-weight:600;line-height:1.45;display:block}.folder-action{border:1px solid var(--line-strong);min-height:36px;font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:11px;padding:0 14px;font-size:11px;font-weight:700;transition:background .2s,color .2s;display:inline-flex}.folder-action i{width:9px;height:9px;position:relative}.folder-action i:before,.folder-action i:after{content:"";background:currentColor;height:1px;position:absolute;inset:4px 0 auto}.folder-action i:after{transition:transform .2s;transform:rotate(90deg)}:is(.project-folder>summary:hover .folder-action,.project-folder>summary:focus-visible .folder-action){background:var(--ink);color:var(--paper)}.project-folder[open] .folder-action i:after{transform:rotate(0)}.folder-action-close,.project-folder[open] .folder-action-open{display:none}.project-folder[open] .folder-action-close{display:inline}.project-folder-covers{grid-column:2/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:min(100%,1050px);margin-top:8px;display:grid}.project-folder-cover{border:1px solid var(--line);background:#99958b;height:250px;position:relative;overflow:hidden}.project-folder-covers-pavilion .project-folder-cover{aspect-ratio:4/3;height:auto}.project-folder-covers-staircase{grid-template-columns:1.2503fr .9494fr;align-items:stretch}.project-folder-covers-staircase .project-folder-cover{height:auto}.project-folder-cover-stair,.project-folder-cover-built-stair{aspect-ratio:auto}.project-folder-covers-staircase .project-folder-cover img{object-fit:cover;object-position:center;width:100%;height:auto}:is(.project-folder>summary:hover .project-folder-covers-staircase .project-folder-cover img,.project-folder>summary:focus-visible .project-folder-covers-staircase .project-folder-cover img){transform:none}.project-folder-cover img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .45s,filter .25s;display:block}.project-folder-cover:first-child img{object-position:center 54%}.project-folder-cover-stair img{object-position:center 52%}.project-folder-cover-built-stair img{object-position:center 42%}:is(.project-folder>summary:hover .project-folder-cover img,.project-folder>summary:focus-visible .project-folder-cover img){filter:brightness(1.025);transform:scale(1.012)}.project-folder-cover figcaption{z-index:2;color:#fff;font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(#0000,#0f100fb8);padding:30px 13px 11px;font-size:10px;font-weight:700;position:absolute;inset:auto 0 0}.project-folder[open]>summary .project-folder-covers{display:none}.featured-project{border-top:1px solid var(--line);min-width:0;overflow:clip}.project-route-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr) auto;align-items:start;gap:28px;padding-block:30px 44px;display:grid}.project-route-brand{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:14px;font-size:11px;font-weight:700;display:inline-flex}.project-route-heading>span,.project-route-heading>p,.project-route-header nav{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:650}.project-route-heading h1{letter-spacing:-.055em;margin-top:12px;font-size:clamp(38px,5vw,74px);font-weight:590;line-height:.96}.project-route-heading p{color:var(--muted);margin-top:14px}.project-route-header nav{align-items:center;gap:18px;display:flex}.project-route-header nav a{border-bottom:1px solid;padding-bottom:4px}.project-only>.nav,.project-only>.hero,.project-only>.services,.project-only>.about,.project-only>footer,.project-only .section-head,.project-only .project-folder>summary,.project-only .project-close-button{display:none}.project-only .projects{padding-top:0}.project-only .project-folder{border-radius:0 0 var(--radius) var(--radius);border-top:0}.project-only--pavilion [data-project-id=stair],.project-only--stair [data-project-id=pavilion]{display:none}.project-only .project-folder-covers,.project-only .featured-project{display:block}@media (max-width:760px){.project-route-header{grid-template-columns:1fr auto;padding-block:22px 30px}.project-route-brand{grid-column:1}.project-route-heading{grid-area:2/1/auto/-1}.project-route-header nav{grid-area:1/2}.project-route-header nav a:first-child{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.project-route-heading h1{font-size:clamp(36px,11vw,52px)}}.project-nav{z-index:40;scrollbar-width:none;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:stretch;width:100%;max-width:100%;min-height:46px;display:flex;position:sticky;top:0;overflow-x:auto}.project-nav::-webkit-scrollbar{display:none}.project-nav a,.project-close-button{border:0;border-right:1px solid var(--line);min-width:118px;min-height:46px;font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;padding:0 17px;font-size:11px;font-weight:700;transition:background .2s,color .2s;display:inline-flex}.project-nav a.active,.project-nav a:hover,.project-close-button:hover{background:var(--ink);color:var(--paper);outline:0}.project-nav a:focus-visible{background:var(--ink);color:var(--paper);outline:0}.project-close-button:focus-visible{background:var(--ink);color:var(--paper);outline:0}.project-close-button{z-index:2;border-left:1px solid var(--line);background:color-mix(in srgb, var(--paper) 96%, transparent);min-width:52px;box-shadow:-12px 0 18px color-mix(in srgb, var(--paper) 88%, transparent);border-right:0;margin-left:auto;font-size:20px;line-height:1;position:sticky;right:0}.project-main{background:var(--paper-2);height:clamp(440px,58vw,720px);position:relative;overflow:hidden}.project-main img{object-fit:cover;object-position:center 48%;width:100%;height:100%;transition:transform .5s;display:block}.project-main:hover img{transform:scale(1.008)}.stair-project-main{aspect-ratio:3/4;background:0 0;width:min(100%,720px);height:auto;margin-inline:auto}.stair-project-main img{object-fit:contain;object-position:center}.project-main figcaption{z-index:2;color:#fff;font-family:var(--font-mono), monospace;letter-spacing:.085em;text-transform:uppercase;text-shadow:0 1px 9px #00000073;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;display:flex;position:absolute;inset:auto 22px 20px}.project-main:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0f100f40);position:absolute;inset:60% 0 0}.project-overview,.project-media-block,.comparison-section,.fabrication-process{padding:92px 52px}.technical-sample{border:1px solid var(--line-strong);border-left:3px solid var(--accent);background:var(--paper-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin:34px 0 48px;padding:24px 26px;display:grid}.technical-sample strong,.technical-sample a{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.technical-sample p{max-width:690px;color:var(--muted);margin-top:8px;line-height:1.55}.technical-sample a{border:1px solid var(--ink);background:var(--ink);min-height:54px;color:var(--paper);justify-content:space-between;align-items:center;gap:18px;padding:0 18px;transition:background .2s,border-color .2s,transform .2s;display:flex}:is(.technical-sample a:hover,.technical-sample a:focus-visible){border-color:var(--accent);background:var(--accent);transform:translateY(-1px)}@media (max-width:680px){.technical-sample{grid-template-columns:1fr;align-items:start;padding:22px 20px}.technical-sample a{white-space:nowrap;width:100%;font-size:10px}}.project-overview,.project-media-block,.comparison-section{border-bottom:1px solid var(--line)}.project-overview{grid-template-columns:minmax(280px,.82fr) minmax(0,1.25fr);gap:80px;display:grid}.fabrication-preview{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(220px,.72fr) minmax(0,1fr);align-items:center;gap:34px;margin-top:4px;padding-top:38px;display:grid}.fabrication-preview figure,.fabrication-preview .zoom-image{aspect-ratio:16/10;min-width:0}.fabrication-preview img{object-fit:contain;background:#fff;width:100%;height:100%}.fabrication-preview strong{font-size:22px;font-weight:600;display:block}.fabrication-preview p{max-width:580px;color:var(--muted);margin-top:10px;line-height:1.6}.fabrication-preview a{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;margin-top:18px;font-size:11px;font-weight:700;display:inline-block}.project-overview-title h3,.gallery-intro h3,.fabrication-intro h3{letter-spacing:-.052em;max-width:900px;margin-top:17px;font-size:clamp(36px,4.1vw,64px);font-weight:575;line-height:.98}.project-overview-title p,.gallery-intro p,.fabrication-intro p{max-width:760px;color:var(--muted);margin-top:24px;font-size:16px;line-height:1.66}.project-specs{border-top:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.project-specs>div{border-bottom:1px solid var(--line);min-height:104px;padding:22px 20px 20px 0}.project-specs>div:nth-child(odd):not(.project-specs-wide){padding-right:26px}.project-specs>div:nth-child(2n){border-left:1px solid var(--line);padding-left:24px}.project-specs-wide{grid-column:1/-1}.project-specs dt{color:var(--muted);font-family:var(--font-mono), monospace;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700}.project-specs dd{font-size:15px;line-height:1.5}.gallery-intro,.fabrication-intro{grid-template-columns:190px minmax(0,1fr);gap:52px;margin-bottom:52px;display:grid}.tekla-gallery figure,.execution-gallery figure,.stair-model-gallery figure,.stair-execution-gallery figure,.fabrication-drawings figure,.comparison-images figure{min-width:0}.image-frame,.zoom-image{overflow:hidden}.tekla-gallery-single .image-frame,.tekla-gallery-single .zoom-image{aspect-ratio:16/9;background:#969289;width:100%}.tekla-gallery-single img{object-fit:cover;object-position:center 54%;width:100%;height:100%}figcaption{color:#5c5a54;font-family:var(--font-mono), monospace;letter-spacing:.075em;text-transform:uppercase;margin-top:10px;font-size:10px;font-weight:700;line-height:1.4}.comparison-list{gap:78px;display:grid}.comparison-card{gap:24px;display:grid}.comparison-card header{border-top:1px solid var(--line-strong);grid-template-columns:110px minmax(0,1fr);gap:26px;padding-top:26px;display:grid}.comparison-card header>span{font-family:var(--font-mono), monospace;letter-spacing:.08em;font-size:11px;font-weight:700}.comparison-card h4{letter-spacing:-.04em;font-size:clamp(24px,2.3vw,35px);font-weight:590;line-height:1.05}.comparison-card header p{max-width:730px;color:var(--muted);margin-top:10px;font-size:16px;line-height:1.58}.comparison-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.comparison-images .zoom-image{aspect-ratio:16/10;border:1px solid var(--line);background:var(--paper-2);width:100%}.comparison-images .zoom-image>img{object-fit:cover;object-position:center;transform-origin:50%;width:100%;height:100%}.comparison-images figure:first-child .zoom-image>img{object-fit:contain;background:#ebe8df}.stair-comparison-images .zoom-image{aspect-ratio:9/16}.stair-comparison-images .zoom-image>img,.stair-comparison-images figure:first-child .zoom-image>img{object-fit:contain;background:#ebe8df}.comparison-images--detail-wide .zoom-image{aspect-ratio:16/10}.comparison-images--detail-wide .zoom-image>img,.comparison-images--detail-wide figure:first-child .zoom-image>img{object-fit:cover;background:var(--paper-2)}.comparison-images--landscape-fill .zoom-image{aspect-ratio:16/10}.comparison-images--landscape-fill .zoom-image>img,.comparison-images--landscape-fill figure:first-child .zoom-image>img{object-fit:cover;object-position:center;background:var(--paper-2)}.comparison-images--stair-tall .zoom-image{aspect-ratio:9/16}.comparison-images--stair-tall .zoom-image>img,.comparison-images--stair-tall figure:first-child .zoom-image>img,.comparison-images--stair-detail .zoom-image>img,.comparison-images--stair-detail figure:first-child .zoom-image>img{object-fit:cover;object-position:center;background:var(--paper-2)}.comparison-images--stair-detail .zoom-image{aspect-ratio:9/16}.comparison-images--pavilion-connection .zoom-image{aspect-ratio:5/4}.comparison-images--pavilion-connection .zoom-image>img{object-position:center;transform:none}.comparison-images--pavilion-perimeter .zoom-image{aspect-ratio:5/4}.comparison-images--pavilion-perimeter figure:first-child .zoom-image>img,.comparison-images--pavilion-perimeter figure:last-child .zoom-image>img{object-position:center;transform:none}.comparison-images--pavilion-overall .zoom-image{aspect-ratio:4/3}.comparison-images--pavilion-overall figure:first-child .zoom-image>img,.comparison-images--pavilion-overall figure:last-child .zoom-image>img{object-position:center;transform:none}.comparison-images--stair-overall figure:first-child .zoom-image>img{object-position:50% 50%;transform:scale(1.025)translate(1%)}.comparison-images--stair-overall figure:last-child .zoom-image>img{object-position:50% 50%;transform:scale(1.015)translate(.5%)}.comparison-images--stair-front figure:first-child .zoom-image>img{object-position:50% 49%;transform:scale(1.06)translate(-1.5%,-.5%)}.comparison-images--stair-front figure:last-child .zoom-image>img{object-position:50% 48%;transform:scale(1.03)translate(-.5%,-.5%)}.comparison-images--stair-flight figure:first-child .zoom-image>img{object-position:50% 50%;transform:scale(1.025)translate(.5%)}.comparison-images--stair-flight figure:last-child .zoom-image>img{object-position:49% 50%;transform:scale(1.035)translate(-.5%)}.comparison-images--stair-pair-overall .zoom-image{aspect-ratio:4/5}.comparison-images--stair-pair-elevation .zoom-image{aspect-ratio:2/3}.comparison-images--stair-pair-detail .zoom-image{aspect-ratio:5/7}.comparison-images--stair-pair-overall .zoom-image>img,.comparison-images--stair-pair-elevation .zoom-image>img,.comparison-images--stair-pair-detail .zoom-image>img{object-fit:cover;object-position:center;background:0 0;transform:none}.stair-comparison-images,.stair-execution-gallery{width:100%;max-width:1080px;margin-inline:auto}.execution-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;align-items:start;gap:40px 18px;display:grid}.execution-gallery .image-frame,.execution-gallery .zoom-image{background:var(--paper-2);width:100%}.execution-gallery .execution-landscape{grid-column:span 2}.execution-gallery .execution-landscape .image-frame,.execution-gallery .execution-landscape .zoom-image{aspect-ratio:4/3}.execution-gallery .execution-portrait .image-frame,.execution-gallery .execution-portrait .zoom-image{aspect-ratio:3/4}.execution-gallery img{object-fit:cover;object-position:center;width:100%;height:100%}.fabrication-process{padding-bottom:110px}.process-steps{border-top:1px solid var(--line-strong);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.process-steps li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:235px;padding:24px}.process-steps li>span{color:var(--accent);font-family:var(--font-mono), monospace;letter-spacing:.08em;margin-bottom:42px;font-size:11px;font-weight:750;display:block}.process-steps strong{letter-spacing:-.025em;font-size:18px;line-height:1.18;display:block}.process-steps p{color:var(--muted);margin-top:12px;font-size:15px;line-height:1.58}.fabrication-drawings{grid-template-columns:repeat(6,minmax(0,1fr));gap:34px 16px;margin-top:70px;display:grid}.fabrication-drawings figure{grid-column:span 2}.fabrication-drawings .source-drawing{grid-column:span 3}.fabrication-drawings .zoom-image{aspect-ratio:4/3;border:1px solid var(--line);background:#fff;width:100%}.fabrication-drawings img{object-fit:contain;width:100%;height:100%;padding:8px}.fabrication-drawings figcaption{gap:6px;display:grid}.fabrication-drawings .drawing-description{color:var(--muted);font-family:var(--font-sans), Arial, sans-serif;letter-spacing:0;text-transform:none;font-size:12px;font-weight:450;line-height:1.5}.stair-model-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 18px;display:grid}.stair-model-large{grid-column:1/-1}.stair-model-gallery .image-frame,.stair-model-gallery .zoom-image{aspect-ratio:16/10;background:#ebe8df;width:100%}.stair-model-gallery img{object-fit:contain;object-position:center;width:100%;height:100%}.stair-model-large .image-frame,.stair-model-large .zoom-image{aspect-ratio:16/9}.stair-execution-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 18px;display:grid}.stair-execution-gallery .image-frame,.stair-execution-gallery .zoom-image{aspect-ratio:9/16;background:var(--paper-2);width:100%}.stair-execution-gallery img{object-fit:cover;object-position:center 42%;width:100%;height:100%}.about{border-top:1px solid var(--line);background:var(--paper-2)}.about-grid{grid-template-columns:190px minmax(0,1fr);gap:52px;padding-top:112px;padding-bottom:118px;display:grid}.about h2{max-width:1000px;margin-top:0}.about p{color:#474641;letter-spacing:-.02em;max-width:850px;margin-top:34px;font-size:clamp(18px,1.55vw,23px);line-height:1.58}.about .profile-highlight{border-top:1px solid var(--line-strong);max-width:760px;color:var(--ink);font-family:var(--font-mono), monospace;letter-spacing:.055em;text-transform:uppercase;margin-top:22px;padding-top:18px;font-size:12px;font-weight:700;line-height:1.55}.skills{flex-wrap:wrap;gap:9px;margin-top:38px;display:flex}.skills span{border:1px solid var(--line-strong);min-height:34px;font-family:var(--font-mono), monospace;letter-spacing:.065em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 13px;font-size:11px;font-weight:700;display:inline-flex}footer.wrap{grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);align-items:end;gap:60px;padding-top:102px;padding-bottom:30px;display:grid}footer h2{max-width:900px}.footer-intro>p{max-width:680px;color:var(--muted);margin-top:28px;font-size:16px;line-height:1.62}.contact-checklist{border-top:1px solid var(--line);max-width:680px;margin-top:26px;padding-top:20px}.contact-checklist strong{font-family:var(--font-mono), monospace;letter-spacing:.075em;text-transform:uppercase;font-size:10px;font-weight:700}.contact-checklist ul{color:var(--muted);flex-wrap:wrap;gap:9px 22px;margin:14px 0 0;padding:0;font-size:13px;line-height:1.45;list-style:none;display:flex}.contact-checklist li:before{content:"— ";color:var(--accent)}.footer-contact{gap:18px;display:grid}.contact-formats,.contact-privacy{color:var(--muted);font-size:13px;line-height:1.55}.contact-formats{font-family:var(--font-mono), monospace;letter-spacing:.065em;text-transform:uppercase;font-size:10px;font-weight:700}.contact-privacy{max-width:520px;font-size:12px}.footer-cta{background:var(--ink);min-height:82px;color:var(--paper);letter-spacing:-.025em;border-radius:2px;justify-content:space-between;align-items:center;padding:0 25px;font-size:20px;font-weight:600;transition:background .2s,transform .2s;display:flex}:is(.footer-cta:hover,.footer-cta:focus-visible){background:var(--accent);transform:translateY(-2px)}.footer-cta b{font-size:25px;font-weight:400}.footer-links{gap:18px;display:flex}.footer-secondary,.footer-email{color:var(--muted);font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:700}.copy-email{cursor:pointer;background:0 0;border:0;padding:0}.copy-status{min-height:1.3em;color:var(--muted);font-size:12px}:is(.footer-secondary:hover,.footer-email:hover,.footer-secondary:focus-visible,.footer-email:focus-visible){color:var(--accent)}footer>small{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;grid-column:1/-1;padding-top:38px;font-size:10px}.zoom-image{text-align:left;cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.zoom-hint{z-index:3;color:#fff;min-height:32px;font-family:var(--font-mono), monospace;letter-spacing:.075em;text-transform:uppercase;opacity:.92;background:#141514d1;border-radius:999px;align-items:center;padding:0 13px;font-size:10px;font-weight:750;transition:background .2s,transform .2s;display:inline-flex;position:absolute;top:14px;right:14px}:is(.zoom-image:hover .zoom-hint,.zoom-image:focus-visible .zoom-hint){background:var(--accent);transform:translateY(-1px)}.zoom-image:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lightbox{z-index:1000;background:#0d0e0df0;place-items:center;padding:52px;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:min(94vw,1800px);max-height:84vh;display:block}.lightbox p{color:#ffffffb8;text-align:center;width:min(90vw,900px);font-family:var(--font-mono), monospace;letter-spacing:.065em;text-transform:uppercase;font-size:11px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.lightbox-close{z-index:2;color:#fff;min-height:38px;font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:#00000026;border:1px solid #ffffff73;border-radius:999px;padding:0 14px;font-size:11px;font-weight:700;position:absolute;top:20px;right:20px}:is(.lightbox-close:hover,.lightbox-close:focus-visible){color:var(--ink);background:#fff;outline:0}.privacy-controls{border-top:1px solid var(--line);padding-block:18px 28px}.privacy-controls button{text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:14px;text-decoration:underline}.consent-banner{z-index:900;inset:auto 24px max(24px, env(safe-area-inset-bottom));border:1px solid var(--line-strong);border-top:2px solid var(--ink);background:var(--paper);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;max-width:1180px;max-height:calc(100dvh - 48px);margin-inline:auto;padding:26px 30px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 8px 36px #0000001a}.consent-copy h2{letter-spacing:-.025em;margin-bottom:8px;font-size:23px;font-weight:500}.consent-copy p{max-width:760px;font-size:16px;line-height:1.55}.consent-copy details{margin-top:10px}.consent-copy summary{cursor:pointer;text-underline-offset:3px;font-size:14px;text-decoration:underline}.consent-copy details p{margin-top:10px;font-size:14px}.consent-copy a{text-decoration:underline}.consent-preview{color:var(--muted);margin-bottom:10px;font-size:12px;display:block}.consent-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.consent-actions button{border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:999px;min-height:46px;padding:11px 23px;font-size:15px}.consent-actions button:hover{color:var(--paper);background:var(--ink)}.consent-actions .consent-dismiss{border:0;border-radius:0;grid-column:1/-1;font-size:14px;text-decoration:underline}.project-contact-form{width:100%;margin-bottom:30px}.project-contact-form fieldset{border:0;min-width:0;margin:0;padding:0}.project-contact-form label{gap:8px;margin-bottom:18px;font-size:14px;display:grid}.project-contact-form :is(input,textarea){border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border-radius:0;padding:12px;font-size:16px}.project-contact-form textarea{resize:vertical;min-height:132px}.project-contact-form input[type=file]{padding:8px;font-size:14px}.project-contact-form input::file-selector-button{border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink);cursor:pointer;margin-right:8px;padding:8px}.project-contact-form :is(input,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-honeypot{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.contact-form-help{color:var(--muted);font-size:14px;line-height:1.5}.contact-submit{border:1px solid var(--ink);background:var(--ink);min-height:48px;color:var(--paper);cursor:pointer;border-radius:999px;margin-top:22px;padding:12px 24px}.contact-submit:disabled{opacity:.6;cursor:wait}.contact-form-status{margin-block:14px;font-size:15px;line-height:1.5}@media (max-width:760px){.consent-banner{inset-inline:12px;bottom:max(12px, env(safe-area-inset-bottom));grid-template-columns:1fr;gap:18px;max-height:calc(100dvh - 24px);padding:20px}.consent-copy h2{font-size:22px}.consent-actions button{padding-inline:18px}.contact-fields{grid-template-columns:1fr;gap:0}}@media (max-width:1100px){.wrap{width:min(calc(100% - 48px), var(--wrap))}.hero{min-height:700px}.hero-model{width:76%;height:520px;right:-10%}.project-folder>summary{grid-template-columns:90px minmax(0,1fr) auto;padding-inline:28px}.project-overview,.project-media-block,.comparison-section,.fabrication-process{padding:76px 34px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid article:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}.services-grid article:nth-child(4){border-top:1px solid var(--line)}.project-overview{gap:52px}.gallery-intro,.fabrication-intro,.about-grid{grid-template-columns:150px minmax(0,1fr);gap:36px}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.collaboration-process{grid-template-columns:1fr}.collaboration-process-heading h3{max-width:none}.collaboration-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}.collaboration-process li:nth-child(3){border-left:0;padding-left:0}.collaboration-process li:nth-child(n+3){border-top:1px solid var(--line);padding-top:22px}}@media (max-width:760px){:root{--nav-height:64px}.wrap{width:calc(100% - 28px)}.nav{min-height:64px}.brand{gap:10px}.brand-desktop-name{display:none}.brand-mobile-name{max-width:98px;font-family:var(--font-mono), monospace;letter-spacing:.055em;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1.2;display:block}.nav-right{gap:10px}.links{display:none}.mobile-menu-toggle{border:1px solid var(--line-strong);background:var(--paper);min-height:38px;font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-size:10px;font-weight:700;display:inline-flex}.mobile-menu-toggle i{font-size:17px;font-style:normal;line-height:1}.mobile-menu{z-index:60;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 97%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:8px 14px 14px;display:grid;position:absolute;top:calc(100% + 1px);left:0;right:0}.mobile-menu[hidden]{display:none}.mobile-menu a{border-bottom:1px solid var(--line);min-height:48px;font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;align-items:center;font-size:12px;font-weight:700;display:flex}.contact-link{min-height:38px;padding:0 13px;font-size:12px}.language-switch button{width:34px;height:34px;font-size:10px}.hero{min-height:clamp(560px, calc(100svh - var(--nav-height)), 660px);padding-top:44px;padding-bottom:42px}.hero h1{max-width:100%;font-size:clamp(46px,14.25vw,72px);line-height:.92}.hero-bottom{width:88%;bottom:32px;left:0}.hero-bottom p{font-size:16px}.hero-context{max-width:82%;margin-bottom:11px;line-height:1.45}.hero-model{opacity:.75;width:118%;height:390px;bottom:34px;right:-28%}.hero-model img{opacity:.2}.projects{padding-top:74px;padding-bottom:90px}.services{padding-top:74px;padding-bottom:80px}.services-head{grid-template-columns:1fr;gap:26px;margin-bottom:40px}.services-head h2{font-size:clamp(40px,11.5vw,58px)}.services-copy>p{font-size:15px}.services-grid{grid-template-columns:1fr}.services-grid article,.services-grid article+article,.services-grid article:nth-child(3),.services-grid article:nth-child(4){border-top:1px solid var(--line);border-left:0;padding:24px 0 26px}.services-grid article:first-child{border-top:0}.services-grid h3{margin-top:24px;font-size:21px}.services-grid p{max-width:520px;margin-top:12px}.collaboration-process{gap:24px;padding-top:30px}.collaboration-process-heading h3{font-size:22px}.collaboration-process ol{grid-template-columns:1fr}.collaboration-process li,.collaboration-process li:first-child,.collaboration-process li:nth-child(3){border-top:1px solid var(--line);border-left:0;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:17px 0;display:grid}.collaboration-process li:first-child{border-top-color:var(--line-strong)}.collaboration-process li strong{margin-top:0}.section-head{grid-template-columns:1fr;gap:28px;margin-bottom:46px}.section-head h2,.about h2,footer h2{font-size:clamp(44px,13vw,66px)}.section-head>p{font-size:16px}.project-folder-grid{gap:44px}.project-folder>summary{grid-template-columns:1fr auto;gap:18px 14px;padding:28px 16px 18px}.folder-index{grid-column:1/-1;padding-top:0}.project-folder>summary>div:not(.project-folder-covers) strong{font-size:25px}.folder-action{min-height:34px;padding:0 11px;font-size:10px}.project-folder-covers{grid-column:1/-1;gap:8px;margin-top:5px}.project-folder-covers-staircase{grid-template-columns:1.2503fr .9494fr}.project-folder-covers-staircase .project-folder-cover,.project-folder-covers-staircase .project-folder-cover img{height:auto}.project-folder-cover{height:124px}.project-folder-cover figcaption{padding:24px 8px 7px;font-size:10px}.project-nav{overscroll-behavior-x:contain;top:0}.project-nav a,.project-close-button{min-width:max-content;min-height:44px;padding-inline:14px;font-size:10px}.project-close-button{min-width:46px;margin-left:0;padding-inline:13px;font-size:18px}.project-main:not(.stair-project-main){height:330px}.project-main figcaption{font-size:10px;inset:auto 12px 12px}.stair-project-main img{object-fit:contain;object-position:center}.project-overview,.project-media-block,.comparison-section,.fabrication-process{padding:62px 16px}.fabrication-preview{grid-template-columns:1fr;gap:22px;padding-top:30px}.project-overview,.gallery-intro,.fabrication-intro,.about-grid{grid-template-columns:1fr;gap:28px}.project-overview-title h3,.gallery-intro h3,.fabrication-intro h3{font-size:clamp(34px,10vw,50px)}.project-overview-title p,.gallery-intro p,.fabrication-intro p{margin-top:19px;font-size:16px}.project-specs{grid-template-columns:1fr}.project-specs>div,.project-specs>div:nth-child(2n),.project-specs>div:nth-child(odd):not(.project-specs-wide){border-left:0;min-height:0;padding:18px 0}.project-specs-wide{grid-column:auto}.gallery-intro,.fabrication-intro{margin-bottom:36px}.tekla-gallery-single .image-frame,.tekla-gallery-single .zoom-image{aspect-ratio:4/3}.comparison-list{gap:58px}.comparison-card{gap:18px}.comparison-card header{grid-template-columns:40px minmax(0,1fr);gap:14px;padding-top:18px}.comparison-card h4{font-size:23px}.comparison-card header p{font-size:15px}.comparison-images,.execution-gallery,.stair-model-gallery,.stair-execution-gallery{grid-template-columns:1fr;gap:30px}.stair-model-large{grid-column:auto}.comparison-images .zoom-image{aspect-ratio:4/3}.stair-comparison-images .zoom-image,.stair-execution-gallery .zoom-image,.stair-execution-gallery .image-frame{aspect-ratio:9/16}.stair-comparison-images figure,.stair-execution-gallery figure{width:min(100%,420px);margin-inline:auto}.comparison-images--detail-wide .zoom-image{aspect-ratio:16/10}.comparison-images--pavilion-connection .zoom-image{aspect-ratio:5/4}.comparison-images--landscape-fill .zoom-image{aspect-ratio:16/10}.comparison-images--pavilion-perimeter .zoom-image{aspect-ratio:5/4}.comparison-images--pavilion-overall .zoom-image{aspect-ratio:4/3}.comparison-images--stair-tall .zoom-image,.comparison-images--stair-detail .zoom-image{aspect-ratio:9/16}.comparison-images--stair-pair-overall .zoom-image{aspect-ratio:4/5}.comparison-images--stair-pair-elevation .zoom-image{aspect-ratio:2/3}.comparison-images--stair-pair-detail .zoom-image{aspect-ratio:5/7}.execution-gallery .image-frame,.execution-gallery .zoom-image,.stair-model-gallery .image-frame,.stair-model-gallery .zoom-image,.stair-model-large .image-frame,.stair-model-large .zoom-image{aspect-ratio:4/3}.execution-gallery .execution-landscape{grid-column:auto}.execution-gallery .execution-portrait .image-frame,.execution-gallery .execution-portrait .zoom-image{aspect-ratio:3/4}.process-steps{grid-template-columns:1fr}.process-steps li{min-height:0}.process-steps li>span{margin-bottom:26px}.fabrication-drawings{grid-template-columns:1fr;margin-top:50px}.fabrication-drawings figure,.fabrication-drawings .source-drawing{grid-column:auto}.about-grid{padding-top:82px;padding-bottom:84px}.about p{font-size:17px}footer.wrap{grid-template-columns:1fr;gap:48px;padding-top:78px}.footer-intro>p{margin-top:22px;font-size:15px}footer>small{grid-column:auto}.footer-links{flex-wrap:wrap}.lightbox{padding:58px 12px 48px}.zoom-hint{min-height:29px;padding:0 10px;font-size:9px;top:9px;right:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}
