@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--paper:#efeee8;--ink:#22251f;--muted:#66695f;--line:#cdcec4;--orange:#de5a27;--edge:clamp(14px,1.5vw,28px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button{cursor:pointer}button,a,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:5px}img{display:block;max-width:100%}h1,h2,p{margin:0}button{border:0}header.site-header{height:88px;padding:0 var(--edge);display:flex;align-items:center;gap:35px;position:sticky;top:0;background:#efeee8f5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:20}.brand img{width:205px;height:auto}.site-nav{display:flex;gap:28px;margin-left:auto;align-items:center;font-size:13px}.site-nav a{padding:12px 0}.site-nav a[aria-current=page]{border-bottom:2px solid var(--orange)}.contact-link{border:1px solid var(--line);padding:12px 16px;font-size:13px}.contact-link span{color:var(--orange);margin-left:18px}.menu-toggle{display:none;background:none;padding:12px}.skip-link{position:fixed;left:10px;top:-80px;z-index:100;background:var(--ink);color:var(--paper);padding:16px}.skip-link:focus{top:10px}
.portfolio-main{padding:40px var(--edge) 80px}.portfolio-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:32px}.portfolio-heading h1{font-size:clamp(34px,4vw,64px);font-weight:500;letter-spacing:-.05em}.portfolio-heading p{font-size:12px;color:var(--muted)}.portfolio-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:15px 0 22px}.filter-list{display:flex;gap:22px;flex-wrap:wrap}.filter-list a{font-size:13px;padding:9px 0;position:relative}.filter-list a[aria-current=true]{color:var(--orange)}.filter-list a[aria-current=true]:after{content:'';position:absolute;height:2px;bottom:0;left:0;right:0;background:var(--orange)}.year-label{display:flex;align-items:center;gap:10px;font-size:12px}.year-label select{background:transparent;border:0;border-bottom:1px solid var(--line);padding:8px 4px;font-size:12px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 16px}.portfolio-card[hidden]{display:none}.portfolio-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e4e4db}.portfolio-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:opacity .55s ease}.portfolio-media .photo{opacity:0}.portfolio-card:focus-visible .photo{opacity:1}.portfolio-card:focus-visible .diagram{opacity:0}@media(hover:hover){.portfolio-card:hover .photo{opacity:1}.portfolio-card:hover .diagram{opacity:0}}.portfolio-caption{display:flex;justify-content:space-between;gap:16px;padding:12px 0 0;align-items:baseline}.portfolio-caption h2{font-size:14px;font-weight:500;line-height:1.5}.portfolio-caption span{font-size:11px;color:var(--muted)}.empty{padding:40px 0;font-size:16px}.site-footer{padding:30px var(--edge) 0;border-top:1px solid var(--line);overflow:hidden}.footer-meta{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.footer-wordmark{width:100%;height:auto;margin-top:55px}.backline{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;border-bottom:1px solid var(--line);padding:0 0 20px}.project-main{padding:30px var(--edge) 65px}.project-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;padding:45px 0 40px;align-items:end}.project-intro h1{font-size:clamp(34px,4.5vw,72px);line-height:1.08;font-weight:500;letter-spacing:-.055em;overflow-wrap:anywhere}.project-intro .eyebrow{display:block;font-size:12px;color:var(--orange);margin-bottom:16px}.project-description{font-size:17px;line-height:1.7;max-width:560px}.project-facts{display:flex;gap:30px;flex-wrap:wrap;margin-top:24px}.project-facts div{font-size:13px}.project-facts dt{font-size:10px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}.project-facts dd{margin:0}.project-board{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start}.board-piece{margin:0;grid-column:span 6;min-width:0}.board-piece:first-child{grid-column:span 8}.board-piece:nth-child(2){grid-column:span 4;margin-top:80px}.board-piece button{width:100%;background:#e5e5dc;padding:0;position:relative;overflow:hidden}.board-piece img{width:100%;height:auto;max-height:760px;object-fit:contain;transition:transform .5s}.board-piece button:hover img{transform:scale(1.015)}.board-piece button:after{content:'↗';position:absolute;bottom:12px;right:12px;background:var(--paper);color:var(--ink);width:32px;height:32px;display:grid;place-items:center}.board-piece figcaption{font-size:11px;color:var(--muted);padding:10px 0 22px;display:flex;justify-content:space-between;gap:15px}.project-next{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:45px;padding-top:28px;font-size:14px}.project-next span{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}
.image-viewer{border:0;background:#181b18;color:#efeee8;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;margin:0}.image-viewer::backdrop{background:#181b18f5}.image-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.viewer-top,.viewer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 24px;font-size:12px}.image-viewer button{background:transparent;color:inherit;padding:12px}.viewer-image{width:100%;height:100%;min-height:0;object-fit:contain;padding:0 20px}.viewer-caption{max-width:65%;line-height:1.6}.modal-open{overflow:hidden}
@media(max-width:900px){.site-header{gap:20px!important}.brand img{width:165px}.site-nav{gap:18px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-intro{gap:5%}.project-description{font-size:15px}}
@media(max-width:640px){header.site-header{height:76px;gap:12px!important}.brand img{width:145px}.contact-link{margin-left:auto;font-size:11px;padding:10px}.contact-link span{margin-left:5px}.menu-toggle{display:block;padding:10px 2px;font-size:12px}.site-nav{display:none}.site-nav.is-open{display:flex;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:20px var(--edge);flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.portfolio-main{padding-top:26px}.portfolio-heading{margin-bottom:24px;align-items:end}.portfolio-heading p{max-width:110px;text-align:right;font-size:10px}.portfolio-tools{align-items:start;flex-direction:column;gap:8px}.filter-list{gap:8px 18px}.filter-list a{font-size:12px}.year-label{align-self:flex-end}.portfolio-grid{grid-template-columns:1fr;gap:26px}.portfolio-caption h2{font-size:14px}.project-intro{display:block;padding:30px 0}.project-description{margin-top:25px}.project-facts{gap:25px}.project-board{display:block}.board-piece:nth-child(2){margin-top:0}.board-piece img{max-height:none}.project-next{font-size:12px}.footer-meta{font-size:10px;flex-wrap:wrap}.footer-wordmark{margin-top:30px}.viewer-top,.viewer-bottom{padding:12px}.viewer-image{padding:0 8px}.backline{font-size:11px}.project-main{padding-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:after{transition:none!important}}
@media(max-width:360px){.brand img{width:125px}.contact-link{font-size:10px;padding:9px 7px}.contact-link span{display:none}.menu-toggle{font-size:11px}header.site-header{gap:10px!important}} .portfolio-card.photo-unavailable .diagram{opacity:1!important}
