:root{--paper:#f3f2ee;--ink:#171a1c;--muted:#596168;--rule:#c9cdd0;--blue:#2349ba;--dark:#20262b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--paper);color:var(--ink);margin:0;font-family:IBM Plex Sans,Arial,sans-serif;font-size:18px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:5px}header{z-index:20;background:var(--paper);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:24px 48px;display:flex;position:sticky;top:0}.wordmark{padding-right:25px;font-size:19px;font-weight:600;line-height:1.08;position:relative}.wordmark-dot{color:var(--blue);font-size:10px;position:absolute;top:0;right:0}nav{gap:32px;font-size:14px;display:flex}nav a:hover{color:var(--blue)}.menu-button{display:none}.skip{z-index:100;background:#fff;padding:15px;position:fixed;top:-100px;left:10px}.skip:focus{top:10px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;font-weight:450;line-height:1.08}h1{font-size:clamp(48px,6.7vw,106px)}h2{font-size:clamp(36px,4vw,64px)}h3{font-size:28px}p{max-width:65ch}.eyebrow,.mono,.project-meta{letter-spacing:.025em;font-family:IBM Plex Mono,monospace;font-size:12px}.eyebrow{text-transform:uppercase}.small{font-size:13px;line-height:1.5}.muted{color:var(--muted)}.hero,.section,.case-body,.technology-section{max-width:1700px;margin:auto;padding:64px 48px}.hero-top{justify-content:space-between;margin-bottom:48px;display:flex}.hero h1{margin-bottom:32px}.hero h1>span{color:var(--muted)}.hero-bottom{justify-content:space-between;align-items:end;margin-bottom:48px;display:flex}.hero-bottom p{margin:0;font-size:19px}.text-link{border-bottom:1px solid var(--ink);gap:35px;padding:10px 0;font-size:16px;display:inline-flex}.text-link:hover{color:var(--blue);border-color:var(--blue)}.hero-pair{grid-template-columns:1.65fr 1fr;gap:16px;height:420px;display:grid}.hero-photo,.hero-model{position:relative;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:100%}.hero-pair a>span{color:#fff;background:linear-gradient(#0000,#000a);justify-content:space-between;padding:40px 24px 20px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0}.hero-pair b{font-weight:400}.hero-model{background:var(--dark)}.model-lines{width:65%;height:70%;position:absolute;top:10%;left:15%;transform:rotate(-12deg)skewY(18deg)}.model-lines i{border:1px solid #b0c3ff;width:100%;height:20%;position:absolute;transform:skew(-35deg)}.model-lines:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 20%,#a5bbf666 20% 20.5%);border-left:1px solid #a5bbf6;border-right:1px solid #a5bbf6;position:absolute;inset:10% 0 12%}.hero-credit{color:var(--muted);margin-top:10px;font-size:11px}.section{padding-top:96px;padding-bottom:96px}.section-heading{grid-template-columns:1fr 2fr 1.35fr;align-items:start;gap:32px;margin-bottom:48px;display:grid}.section-heading h2{margin:0}.section-heading p{color:var(--muted);margin-top:7px;font-size:16px}.explorer-controls{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);gap:32px;padding:24px 0;display:flex}.explorer-controls label{flex-direction:column;flex:1;gap:9px;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.explorer-controls input,.explorer-controls select{border:0;border-bottom:1px solid var(--rule);min-height:44px;color:var(--ink);background:0 0;border-radius:0;padding:10px 0;font-family:IBM Plex Sans,sans-serif;font-size:16px}.project-grid{grid-template-columns:1fr 1fr;gap:64px 32px;margin-top:32px;display:grid}.project .image-wrap{background:#fff;height:clamp(220px,27vw,440px);position:relative;overflow:hidden}.project img{object-fit:contain;width:100%;height:100%;transition:transform .35s}.project:hover img{transform:scale(1.035)}.image-arrow{background:var(--paper);text-align:center;width:44px;height:44px;padding-top:5px;font-size:24px;position:absolute;bottom:14px;right:14px}.project-meta{color:var(--muted);justify-content:space-between;margin:18px 0 12px;display:flex}.project h3{margin-bottom:12px}.project p{max-width:55ch;margin-bottom:12px;font-size:16px}.discipline-strip{border-block:1px solid var(--rule);grid-template-columns:repeat(3,1fr);display:grid}.discipline-strip a{border-right:1px solid var(--rule);padding:48px}.discipline-strip h2{margin-top:24px;font-size:32px}.discipline-strip p{color:var(--muted);margin:0;font-size:16px}.contact-cta{background:#e8e9e4;padding:100px 48px}.contact-cta h2{margin:24px 0 35px;font-size:clamp(42px,6vw,90px)}footer{border-top:1px solid var(--rule);justify-content:space-between;gap:32px;padding:48px;font-size:14px;display:flex}footer p{color:var(--muted);margin-top:8px}footer>div:nth-child(2){flex-direction:column;gap:12px;display:flex}.page-intro,.case-intro{max-width:1700px;margin:auto;padding:80px 48px 64px}.page-intro h1{max-width:15ch;margin:36px 0}.intro-copy{max-width:750px;margin-left:34%;font-size:22px}.bim-diagram{width:100%;height:auto;max-height:550px}.research-note{border-top:1px solid var(--rule);max-width:850px;margin-top:80px;padding-top:40px}.research-note h2{margin-top:20px}.technology-section{background:var(--dark);color:var(--paper);padding-top:80px;padding-bottom:80px}.technology-section .section-heading p{color:#bec5c9}.workflow-track{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.workflow-track button{color:var(--paper);text-align:left;background:0 0;border:1px solid #65707a;flex-direction:column;gap:20px;min-height:140px;padding:24px;display:flex}.workflow-track button[aria-pressed=true]{color:var(--ink);background:#dce4f8;border-color:#dce4f8}.workflow-track strong{font-size:22px;font-weight:450}.workflow-track button>span:last-child{align-self:end}.workflow-detail{grid-template-columns:1fr 2fr 1.5fr;gap:32px;min-height:210px;padding:48px 0 0;display:grid}.workflow-detail h3{font-size:32px}.workflow-detail p{color:#c4ccd2;font-size:16px}.two-links{grid-template-columns:1fr 1fr;gap:32px;display:grid}.two-links a{border-block:1px solid var(--rule);padding:40px 0;font-size:28px}.two-links span{color:var(--blue);margin-top:30px;font-size:15px;display:block}.case-intro h1{max-width:16ch;margin:35px 0}.case-summary{max-width:45ch;font-size:24px}.case-facts{border-top:1px solid var(--rule);grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;padding-top:24px;display:grid}.case-facts dt{text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:11px}.case-facts dd{margin:0;font-size:15px}.case-body{padding-top:0}figure{margin:0 0 64px}.inspect{background:#fff;border:0;width:100%;padding:0;display:block;position:relative}.inspect img{width:100%;height:auto;display:block}.inspect span{background:var(--paper);padding:10px;font-size:12px;position:absolute;bottom:14px;right:14px}figcaption{color:var(--muted);margin-top:12px;font-size:13px}.case-story{grid-template-columns:repeat(3,1fr);gap:48px;margin:72px 0 35px;display:grid}.case-story p{margin-top:24px;font-size:19px}.tags{flex-wrap:wrap;gap:10px;margin-bottom:64px;display:flex}.tags span{border:1px solid var(--rule);padding:7px 13px;font-size:12px}.credits{border-top:1px solid var(--rule);max-width:900px;padding-top:32px}.credits p{margin-top:16px;font-size:16px}.next-project{border-top:1px solid var(--rule);margin-top:80px;padding-top:40px;display:block}.next-project h2{margin-top:20px}.lightbox{z-index:100;color:#fff;background:#171a1cf5;padding:100px 24px 30px;position:fixed;inset:0;overflow:auto}.lightbox img{background:#fff;width:100%;height:auto}.lightbox .close{background:var(--paper);border:0;padding:12px 25px;position:fixed;top:24px;right:24px}.lightbox p{font-size:14px}.about-grid{border-top:1px solid var(--rule);grid-template-columns:1.5fr 1fr;gap:120px;display:grid}.about-grid h2,.about-grid h3{margin-top:24px}.timeline article{border-top:1px solid var(--rule);grid-template-columns:1fr 3fr;gap:40px;padding:40px 0;display:grid}.timeline article h2{margin-bottom:16px}.timeline article p{margin-top:24px}.contact-page{border-top:1px solid var(--rule);flex-direction:column;gap:30px;display:flex}.contact-email{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(22px,4vw,60px)}.contact-download{margin-top:64px}.contact-download h2{margin-top:20px}@media (min-width:1700px){.contact-cta,footer{padding-inline:max(48px,50vw - 802px)}}@media (max-width:1050px){header{padding:20px 32px}nav{gap:20px;font-size:12px}.hero,.section,.case-body,.technology-section,.page-intro,.case-intro{padding-inline:32px}.hero-pair{height:320px}.section-heading{grid-template-columns:1fr 2fr}.section-heading p{grid-column:2}.discipline-strip a{padding:32px}.workflow-track button{padding:15px}.workflow-detail{grid-template-columns:1fr 2fr}.workflow-detail p{grid-column:2}.about-grid{gap:60px}.case-facts{grid-template-columns:1fr 1fr}}@media (max-width:760px){body{font-size:16px}header{padding:18px 20px}.wordmark{font-size:17px}.menu-button{background:0 0;border:0;align-items:center;gap:25px;min-height:44px;display:flex}nav{background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;padding:20px;font-size:20px;display:none;position:absolute;top:100%;left:0;right:0}nav.open{display:flex}nav a{padding:12px 0}.hero,.section,.case-body,.technology-section,.page-intro,.case-intro{padding-inline:20px}.hero{padding-top:35px}.hero-top{margin-bottom:35px}.hero-top>span:last-child{display:none}h1{font-size:clamp(40px,8.7vw,66px)}.hero-bottom{margin-bottom:30px;display:block}.hero-bottom p{font-size:16px}.hero-bottom .text-link{margin-top:20px}.hero-pair{grid-template-columns:1fr;gap:12px;height:auto}.hero-photo{height:290px}.hero-model{height:190px}.hero-pair a>span{padding-inline:15px}.model-lines{width:43%;left:29%}.hero-credit{font-size:10px}.section{padding-top:64px;padding-bottom:64px}.section-heading{margin-bottom:30px;display:block}.section-heading h2{margin:22px 0}.section-heading p{font-size:16px}.explorer-controls{flex-direction:column;gap:20px}.project-grid{grid-template-columns:1fr;gap:40px}.project .image-wrap{height:250px}.project h3{font-size:26px}.discipline-strip{grid-template-columns:1fr}.discipline-strip a{border-bottom:1px solid var(--rule);padding:30px 20px}.discipline-strip h2{margin-top:14px}.contact-cta{padding:64px 20px}footer{flex-direction:column;gap:24px;padding:32px 20px}.page-intro,.case-intro{padding-top:50px;padding-bottom:40px}.page-intro h1{margin-top:25px}.intro-copy{margin-left:0;font-size:19px}.workflow-track{grid-template-columns:1fr;gap:8px}.workflow-track button{flex-direction:row;align-items:center;gap:20px;min-height:60px;padding:14px}.workflow-track button>span:last-child{align-self:center;margin-left:auto}.workflow-track strong{font-size:20px}.workflow-detail{min-height:260px;padding-top:35px;display:block}.workflow-detail h3{margin-top:20px;font-size:28px}.two-links{grid-template-columns:1fr;gap:20px}.two-links a{font-size:24px}.case-summary{font-size:20px}.case-facts{gap:25px 20px}.case-story{grid-template-columns:1fr;gap:20px;margin:40px 0}.case-story p{margin-top:15px;font-size:18px}figure{margin-bottom:40px}.inspect span{font-size:10px;bottom:8px;right:8px}.about-grid{grid-template-columns:1fr;gap:45px}.timeline article{grid-template-columns:1fr;gap:20px}.timeline h2{font-size:34px}.contact-download{margin-top:35px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
