.hero-photograph figcaption{display:flex;justify-content:space-between;gap:16px}.hero-photograph figcaption span{font-size:8px;white-space:nowrap}.hero-photograph:after{content:'';pointer-events:none;position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#162a2780)}.hero-photograph figcaption{z-index:1}.arrow-link:has(>span):after,.solid:has(>span):after{content:none}.gallery-open{border:0;padding:0;background:none;color:inherit;font:inherit}.flyout-image{touch-action:pan-y}.gallery-filters button,.flyout-close{border:0;background:none;font-family:inherit}.reference-intro>div{min-width:0}
.built-project{display:grid;grid-template-columns:1.5fr 1fr;gap:7%;align-items:center}.built-project-image{display:block;position:relative;overflow:hidden}.built-project-image img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s}.built-project-image:hover img{transform:scale(1.025)}.built-project-image>span{position:absolute;inset:auto 22px 20px;background:#f8f6f0ef;padding:16px 18px;display:flex;justify-content:space-between;font-size:12px}.built-project-image b{font-weight:400}.built-project-copy h3{font-size:clamp(40px,4.3vw,65px);line-height:1.04;letter-spacing:-.05em;margin:23px 0}.built-project-copy>p{font-size:14px;line-height:1.9;max-width:40ch}.built-project-copy dl{margin:28px 0;font-size:11px}.built-project-copy dl>div{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.built-project-copy dt{color:var(--muted)}.built-project-copy dd{margin:0}.built-project-copy .arrow-link{font-size:12px;margin-top:10px;min-width:100%}.reference-perspectives{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:46px}.reference-perspectives a{position:relative;display:block;border-top:1px solid var(--line);padding:22px 26px 12px 0}.reference-perspectives span{display:block;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.reference-perspectives strong{display:block;font-size:20px;line-height:1.45;letter-spacing:-.025em;font-weight:400;max-width:21ch}.reference-perspectives b{position:absolute;right:0;top:21px;font-weight:400}.reference-credit{font-size:9px;line-height:1.7;color:var(--muted);margin-top:22px}
.references-page .reference-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;padding-top:65px;padding-bottom:60px;align-items:end}.reference-intro h1{font-size:clamp(55px,7vw,102px);line-height:1.03;letter-spacing:-.055em;margin-top:22px}.reference-intro-copy p{max-width:39ch;font-size:17px;line-height:1.8}.reference-intro-copy .arrow-link{font-size:11px;min-width:280px;margin-top:25px}.reference-cover{margin-inline:3%;position:relative}.cover-open{display:block;width:100%;position:relative;text-align:left;overflow:hidden}.cover-open>img{width:100%;height:min(66vw,720px);object-fit:cover;object-position:50% 58%}.cover-open:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#16272550);pointer-events:none}.cover-image-action{position:absolute;right:30px;bottom:30px;z-index:1;display:flex;justify-content:space-between;gap:70px;background:#f8f6f0f0;padding:16px 20px;font-size:12px}.cover-image-action b{font-weight:400}.cover-caption{display:flex;gap:20px;justify-content:space-between;font-size:9px;letter-spacing:.04em;padding:15px 0;border-bottom:1px solid var(--line)}
.project-story{display:grid;grid-template-columns:1fr 1fr;gap:10%}.project-story-title h2{font-size:clamp(55px,6vw,88px);line-height:1.03;letter-spacing:-.06em;margin:28px 0}.project-story-deck{font-size:20px;line-height:1.65;color:var(--muted)}.project-story-copy p{font-size:14px;line-height:1.95;margin-bottom:24px}.project-story-copy .story-lead{font-size:22px;line-height:1.6;letter-spacing:-.025em}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;margin-top:34px}.project-facts>div{border-top:1px solid var(--line);padding-top:15px}.project-facts dt{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.project-facts dd{font-size:13px;line-height:1.7;margin:8px 0 0}.project-sources{margin-top:35px;border-block:1px solid var(--line)}.project-sources summary{font-size:11px;padding:20px 0}.project-sources p{font-size:12px;margin-top:10px}.project-sources>a{display:block;width:fit-content;font-size:10px;line-height:1.8;margin-bottom:15px;text-decoration:underline;text-underline-offset:4px}
.material-feature{background:#263f49;color:#faf7ef;--ink:#faf7ef;--line:#a1b1ad;--muted:#c6d0ce;padding:65px 0}.material-feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:center}.material-feature figure button{display:block;width:100%;text-align:left}.material-feature figure img{width:100%;aspect-ratio:4/3;object-fit:cover}.material-feature figure span{display:block;font-size:9px;letter-spacing:.04em;margin-top:14px;color:#c6d0ce}.material-feature h2{font-size:clamp(35px,4.2vw,62px);line-height:1.12;letter-spacing:-.04em;margin:25px 0}.material-feature p{font-size:14px;line-height:1.9;color:#dce1dc;max-width:39ch}.material-feature .arrow-link{font-size:11px;min-width:240px;margin-top:30px}
.project-gallery{scroll-margin-top:28px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:35px;padding-bottom:20px}.gallery-filters{display:flex;flex-wrap:wrap;gap:8px 24px}.gallery-filters button{font-size:11px;line-height:1.5;padding:12px 0;position:relative;color:var(--muted)}.gallery-filters button[aria-pressed=true]{color:var(--ink)}.gallery-filters button:after{position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;content:'';transform:scaleX(0);transform-origin:left;transition:transform .2s}.gallery-filters button[aria-pressed=true]:after{transform:scaleX(1)}.gallery-count{font-size:10px;color:var(--muted);white-space:nowrap}.reference-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 28px}.gallery-card[hidden]{display:none!important}.gallery-open{cursor:pointer}.gallery-card .gallery-open{text-align:left;width:100%;display:block}.gallery-image{position:relative;overflow:hidden;background:#dedfd7}.gallery-image img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.gallery-open:hover .gallery-image img{transform:scale(1.035)}.gallery-open-icon{position:absolute;bottom:14px;right:14px;width:34px;height:34px;background:#f8f6f0eb;display:grid;place-items:center;font-size:17px;transition:background .2s}.gallery-open:hover .gallery-open-icon{background:white}.gallery-category{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:19px}.gallery-card h3{font-size:23px;letter-spacing:-.025em;line-height:1.35;margin-top:10px;max-width:25ch}.reference-next{padding:55px 0 75px;border-top:1px solid var(--line)}.reference-next h2{font-size:clamp(40px,5.2vw,76px);line-height:1.1;letter-spacing:-.045em;margin:25px 0 35px}.reference-next .solid{background:#355869;color:white;border-color:#355869;font-size:12px;gap:40px}
body:has(#reference-flyout[open]){overflow:hidden}.reference-flyout{color:#243c47;background:#f8f6f0;border:0;padding:0;position:fixed;inset:0 0 0 auto;width:min(1060px,calc(100vw - 45px));max-width:none;height:100dvh;max-height:100dvh;margin:0;overflow:hidden;box-shadow:-20px 0 100px #0b1d2740}.reference-flyout[open]{display:flex;flex-direction:column;animation:flyout-in .35s ease-out}.reference-flyout::backdrop{background:#15272d90;backdrop-filter:blur(3px)}.flyout-top{min-height:65px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 28px;border-bottom:1px solid #d5d7d0;flex-shrink:0}.flyout-top>span{font-size:10px;letter-spacing:.04em}.flyout-close{font-size:11px;display:flex;gap:20px;align-items:center;padding:10px 0 10px 20px;min-height:44px}.flyout-close span{font-size:26px;font-weight:300;line-height:1}.flyout-scroll{overflow:auto;overscroll-behavior:contain;flex:1}.flyout-figure{position:relative;background:#e9e9e1;padding:22px 28px 0;margin:0}.flyout-image{height:49dvh;min-height:260px;max-height:620px;object-fit:contain;width:100%;display:block}.flyout-image-controls{display:flex;gap:10px;align-items:center;justify-content:center;padding:10px 0}.flyout-image-controls button{width:44px;height:40px;font-size:21px;display:grid;place-items:center;border:1px solid #b9c5c2}.flyout-index{font-size:10px;letter-spacing:.08em;min-width:70px;text-align:center}.flyout-image-controls .flyout-zoom{position:absolute;right:40px;bottom:14px;font-size:20px}.flyout-story{padding:27px 40px 24px}.flyout-story .kicker{font-size:9px}.flyout-story h2{font-size:clamp(26px,3vw,40px);letter-spacing:-.035em;line-height:1.15;margin-top:12px}.flyout-description{font-size:14px;line-height:1.85;max-width:66ch;margin-top:19px}.flyout-credit{display:flex;justify-content:space-between;gap:22px;font-size:10px;color:#657779;margin-top:24px;padding-top:16px;border-top:1px solid #d5d7d0}.flyout-credit a{text-decoration:underline;text-underline-offset:4px}.flyout-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:0 40px 30px}.flyout-thumbnails button{width:100px;flex-shrink:0;border:2px solid transparent;padding:3px;opacity:.65}.flyout-thumbnails button[aria-current=true]{opacity:1;border-color:#355869}.flyout-thumbnails img{width:100%;aspect-ratio:4/3;object-fit:cover}.reference-flyout.is-expanded .flyout-image{height:calc(100dvh - 160px);max-height:none}.reference-flyout.is-expanded .flyout-story{padding-top:30px}.gallery-open:focus-visible,.gallery-filters button:focus-visible,.reference-flyout button:focus-visible{outline:2px solid #355869;outline-offset:5px}.material-feature .gallery-open:focus-visible{outline-color:white}
@keyframes flyout-in{from{opacity:.6;transform:translateX(70px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:1100px){.portfolio .main-header{position:relative}.portfolio .main-header .menu-button{display:block}.portfolio .main-header .nav-links{display:none;position:absolute;top:100%;left:0;right:0;z-index:25;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:4px}.portfolio .main-header .nav-links.is-open{display:flex}.portfolio .main-header .nav-links a{min-height:44px;padding:14px 0}.portfolio .main-header .nav-contact{padding:14px 16px!important}.built-project{gap:5%;grid-template-columns:1.2fr 1fr}.built-project-image img{aspect-ratio:1}.reference-intro-copy p{font-size:15px}.gallery-filters{gap:4px 18px}.gallery-filters button{font-size:10px}.gallery-card h3{font-size:21px}.project-story{gap:7%}.material-feature-grid{gap:6%}}
@media(max-width:760px){.built-project{grid-template-columns:1fr;gap:30px}.built-project-image img{aspect-ratio:4/3}.built-project-copy h3 br{display:none}.built-project-copy h3{font-size:45px;margin-block:17px}.built-project-copy>p{max-width:60ch}.built-project-copy .arrow-link{min-width:260px}.built-project-copy dl{max-width:600px}.reference-perspectives{gap:24px;margin-top:35px}.reference-perspectives strong{font-size:17px}.reference-perspectives span{font-size:8px;line-height:1.7}.reference-intro{gap:6%!important}.reference-intro h1{font-size:56px}.reference-intro-copy p{font-size:14px}.reference-intro-copy .arrow-link{min-width:0;width:100%;font-size:10px}.reference-cover{margin-inline:0}.cover-open>img{height:auto;aspect-ratio:4/3}.cover-caption{padding:15px 6%;font-size:8px;flex-wrap:wrap;gap:8px 20px}.cover-image-action{right:20px;bottom:20px;padding:13px 17px;font-size:10px;gap:40px}.project-story{grid-template-columns:1fr;gap:30px}.project-story-title h2 br{display:none}.project-story-title h2{font-size:55px;margin-block:20px}.project-story-deck{font-size:17px}.project-story-deck br{display:none}.material-feature-grid{grid-template-columns:1fr;gap:35px}.material-feature figure img{aspect-ratio:3/2}.material-feature h2 br{display:none}.material-feature h2{font-size:42px;max-width:15ch}.material-feature p{max-width:65ch}.gallery-toolbar{display:block;padding-bottom:14px}.gallery-count{margin-top:14px}.reference-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px}.gallery-filters{gap:4px 22px}.reference-flyout{width:calc(100vw - 18px)}.flyout-image{height:42dvh;min-height:220px}.flyout-story{padding:25px}.flyout-figure{padding:15px 15px 0}.flyout-thumbnails{padding-inline:25px}.flyout-top{padding-inline:22px}.flyout-image-controls .flyout-zoom{right:24px}.flyout-description{font-size:13px}}
@media(max-width:560px){.hero-photograph figcaption{left:14px;right:14px;bottom:13px;font-size:8px}.hero-photograph figcaption span{font-size:7px}.reference-perspectives{grid-template-columns:1fr;gap:6px}.reference-perspectives a{padding:17px 28px 17px 0}.reference-perspectives span{font-size:9px;margin-bottom:8px}.reference-perspectives strong{font-size:20px;max-width:none}.reference-perspectives b{top:16px}.references-page .reference-intro{grid-template-columns:1fr;padding-top:35px;padding-bottom:35px;gap:25px!important}.reference-intro h1{font-size:clamp(40px,13.4vw,58px);margin-top:16px}.reference-intro-copy p{max-width:39ch;font-size:14px}.reference-intro-copy .arrow-link{max-width:280px;margin-top:20px}.reference-cover .cover-open>img{aspect-ratio:1.1}.cover-caption>span:first-child{flex:1 0 100%}.project-story-title h2{font-size:44px}.project-story-copy .story-lead{font-size:20px}.project-story-copy p{font-size:13px}.project-facts{gap:20px}.project-facts dd{font-size:12px}.material-feature{padding-block:45px}.material-feature h2{font-size:38px}.material-feature p{font-size:13px}.reference-gallery-grid{grid-template-columns:1fr;gap:33px}.gallery-image img{aspect-ratio:4/3}.gallery-card h3{font-size:24px;max-width:24ch}.gallery-filters{gap:0 22px}.gallery-filters button{font-size:11px;min-height:44px}.project-gallery .section-heading h2{font-size:40px;max-width:12ch}.reference-next{padding-block:40px 55px}.reference-next h2{font-size:43px}.reference-flyout{width:100vw}.flyout-top{padding:8px 16px;min-height:60px}.flyout-top>span{font-size:8px}.flyout-close{font-size:10px;gap:12px}.flyout-image{height:34dvh;min-height:210px}.flyout-figure{padding:12px 12px 0}.flyout-story{padding:23px 20px}.flyout-story h2{font-size:29px}.flyout-description{line-height:1.9}.flyout-credit{font-size:9px;gap:12px}.flyout-thumbnails{padding:0 20px 24px}.flyout-thumbnails button{width:82px}.flyout-image-controls .flyout-zoom{right:18px}.reference-flyout.is-expanded .flyout-image{height:calc(100dvh - 150px)}}
@media(prefers-reduced-motion:reduce){.reference-flyout[open]{animation:none}.gallery-image img,.built-project-image img,.gallery-filters button:after{transition:none}}
