:root{--paper:#f8f7f3;--ink:#20211e;--muted:#73756d;--line:#d9dad2;--dark:#171915;--accent:#ece9c4;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.viewer-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #8a732e;outline-offset:7px}img{display:block;max-width:100%}button{cursor:pointer}::selection{background:#dcd7a7}.skip-link{position:absolute;left:20px;top:-70px;z-index:50;padding:12px;background:white;color:black}.skip-link:focus{top:12px}.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.22em;text-transform:uppercase;font-weight:400}.site-header{background:var(--dark);color:#f8f7f1;padding:0 5vw}.topbar{max-width:1320px;margin:auto;min-height:75px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff26;gap:20px}.brand{font:italic 30px var(--serif);letter-spacing:-.09em}.brand span{font-size:14px;letter-spacing:.06em;font-style:normal;margin-left:18px;vertical-align:middle}.navigation{display:flex;gap:36px;font-size:11px;letter-spacing:.17em;text-transform:uppercase}.navigation a{padding:12px 0}.navigation a:hover{color:var(--accent)}.masthead{max-width:1320px;margin:auto;text-align:center;padding:39px 0 42px}.masthead h1{font:400 clamp(42px,6.5vw,103px)/1.14 var(--serif);letter-spacing:-.055em;margin:0 0 18px}.masthead .eyebrow{color:#c6c7b9;margin:0}.compact-header .topbar{border:0}.compact-brand{font:400 23px var(--serif);letter-spacing:-.035em}.compact-brand em{font-style:italic}.wrap{width:min(1180px,88vw);margin-inline:auto}.hero{margin:0 auto;background:#fff;max-width:1600px}.hero .photo-window{width:100%}.hero-caption{padding:20px 6vw 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:var(--paper)}.hero-caption p{margin:0}.text-link{font-size:11px;letter-spacing:.11em;text-transform:uppercase;display:inline-flex;align-items:center;gap:24px;padding-bottom:10px;border-bottom:1px solid currentColor}.text-link .arrow{font-size:19px;line-height:1;transition:transform .2s}.text-link:hover .arrow{transform:translate(4px,-3px)}.intro{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;padding:110px 0 100px;align-items:start}.intro h2{font:400 clamp(34px,3.6vw,54px)/1.15 var(--serif);letter-spacing:-.04em;margin:18px 0}.intro h2 em{font-weight:400}.body-copy{font-size:14px;line-height:1.95}.intro .body-copy{margin:18px 0 25px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:32px 0;border-top:1px solid var(--ink);gap:20px}.section-heading h2{font:400 clamp(35px,5vw,62px)/1.1 var(--serif);letter-spacing:-.05em;margin:0}.section-heading p{margin:0 0 5px;color:var(--muted)}.project-list{padding-bottom:80px}.project-row{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding:55px 0;align-items:center;border-bottom:1px solid var(--line)}.project-row:nth-child(even){grid-template-columns:1fr 1.1fr}.project-row:nth-child(even) .project-visual{grid-column:2;grid-row:1}.project-row:nth-child(even) .project-copy{grid-column:1;grid-row:1;padding-left:18px}.project-visual{display:block;background:#eeede6;overflow:hidden}.project-visual .photo-window{transition:transform .6s ease}.project-visual:hover .photo-window{transform:scale(1.025)}.project-copy{padding-block:20px;max-width:420px}.project-number{display:flex;gap:18px;align-items:center;color:var(--muted);margin-bottom:22px}.project-number:after{content:'';display:block;height:1px;background:var(--line);width:44px}.project-copy h3{font:400 clamp(32px,4.2vw,54px)/1.12 var(--serif);letter-spacing:-.04em;margin:0 0 12px}.project-category{color:var(--muted);margin:0 0 24px}.project-copy .body-copy{margin:0 0 30px;color:#5b5e55}.project-copy .text-link{margin-top:8px}.about-section{background:#ebece5;padding:95px 0 110px;scroll-margin-top:0}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.about-grid h2{font:400 clamp(36px,4.3vw,64px)/1.1 var(--serif);letter-spacing:-.045em;margin:20px 0 35px}.about-grid p{margin:0 0 23px}.about-aside{position:relative}.about-aside .about-rule{width:70px;height:1px;background:#939588;margin:30px 0}.about-detail{font-size:11px;letter-spacing:.08em;line-height:1.9;color:#63675a}.site-footer{padding:32px 6vw;background:var(--dark);color:#d7d9cc;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.08em;line-height:1.8}.footer-name{font:20px var(--serif);letter-spacing:-.025em}.site-footer a{padding:2px 0;border-bottom:1px solid #ffffff55}.project-intro{padding:48px 0 52px}.breadcrumb{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);display:inline-flex;gap:12px;align-items:center;padding:10px 0;margin-bottom:46px}.project-title-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9%;align-items:end}.project-title-grid h1{font:400 clamp(42px,6vw,84px)/1.08 var(--serif);letter-spacing:-.05em;margin:15px 0}.project-title-grid .body-copy{margin:0 0 4px;color:#5b5e55}.project-subtitle{font:italic 25px var(--serif);margin:14px 0 0}.project-meta{display:flex;justify-content:space-between;gap:18px;margin-top:42px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted)}.gallery{columns:3;column-gap:20px;padding:5px 0 70px}.gallery-item{position:relative;display:block;break-inside:avoid;width:100%;border:0;padding:0;margin:0 0 20px;background:#ecebe4;text-align:left;overflow:hidden}.gallery-item .photo-window{transition:filter .2s}.gallery-item:hover .photo-window{filter:brightness(.95)}.gallery-item .image-open{position:absolute;bottom:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;background:#fafaf4e8;border-radius:50%;font-size:18px;opacity:0;transition:opacity .2s}.gallery-item:hover .image-open,.gallery-item:focus-visible .image-open{opacity:1}.photo-window{display:block;position:relative;overflow:hidden;aspect-ratio:var(--frame-ratio,1);background:#efeee9}.photo-window img{position:absolute;display:block;width:var(--image-width,100%);max-width:none;height:auto;left:var(--image-left,0);top:var(--image-top,0)}.project-navigation{display:flex;justify-content:space-between;align-items:center;padding:38px 0 70px;border-top:1px solid var(--line);gap:25px}.project-navigation>a{max-width:42%}.project-navigation .next{text-align:right}.project-navigation .nav-title{font:25px var(--serif);margin:12px 0 0;display:block;letter-spacing:-.025em}.project-navigation .all-projects{font-size:22px;color:var(--muted)}.viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;background:#11130ff5;color:white;overflow:auto}.viewer::backdrop{background:#10120ff2}.viewer-panel{width:100%;min-height:100%;padding:76px 60px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.viewer-toolbar{position:absolute;top:25px;left:35px;right:35px;display:flex;justify-content:space-between;align-items:center;gap:20px}.viewer-toolbar>div{display:flex;gap:20px;align-items:center}.viewer-toolbar button{background:transparent;border:0;color:#fff;padding:10px;font-size:12px;letter-spacing:.08em}.viewer-toolbar [data-viewer-close]{font-size:26px;line-height:1}.viewer-stage{display:flex;align-items:center;justify-content:center;width:100%;min-height:50vh}.viewer #viewer-frame{width:min(82vw,calc(72vh * var(--frame-ratio-num,1)));flex-shrink:0;background:transparent}.viewer.is-loading #viewer-image{opacity:.4}.viewer.is-zoomed .viewer-stage{display:block;overflow:auto;max-height:78vh}.viewer.is-zoomed #viewer-frame{width:max(1100px,140vw);margin:auto}.viewer-caption{font-size:11px;letter-spacing:.04em;color:#cccfc3;text-align:center;line-height:1.6;margin:20px 0 0}.viewer-nav{position:fixed;top:50%;transform:translateY(-50%);background:#181b1666;border:1px solid #ffffff45;color:white;border-radius:50%;width:40px;height:40px;font-size:22px;z-index:2}.viewer-nav:hover{background:#ffffff22}.viewer-prev{left:18px}.viewer-next{right:18px}.viewer-counter{font-size:12px;letter-spacing:.15em;color:#d3d6c9}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.back-to-top{white-space:nowrap}.no-js-note{padding:15px;background:#eeeddf;font-size:13px;line-height:1.6}
@media(min-width:1600px){.hero-caption{padding-inline:80px}.site-header{padding-inline:80px}}@media(max-width:850px){.wrap{width:88vw}.masthead{padding:36px 0}.masthead h1{font-size:7.4vw}.intro{gap:7%;padding:70px 0}.project-row,.project-row:nth-child(even){gap:6%}.project-copy h3{font-size:36px}.about-grid{gap:7%}.gallery{columns:2}.project-title-grid{grid-template-columns:1fr 1fr;gap:7%}.project-title-grid h1{font-size:54px}.brand span{display:none}.navigation{gap:25px}.site-footer .footer-note{max-width:230px}.viewer-panel{padding-inline:48px}}
@media(max-width:580px){.topbar{min-height:65px}.navigation{gap:22px;font-size:10px}.masthead{padding:32px 0 36px}.masthead h1{font-size:12vw;line-height:1.06;letter-spacing:-.05em;margin-bottom:23px}.masthead h1 span{display:block}.masthead .eyebrow{font-size:8px;letter-spacing:.16em}.hero-caption{padding:17px 6vw}.hero-caption .eyebrow{font-size:8px;letter-spacing:.12em}.hero-caption .text-link{font-size:9px;gap:10px;padding-bottom:5px}.intro{grid-template-columns:1fr;gap:8px;padding:60px 0}.intro h2{font-size:39px;max-width:300px}.intro .body-copy{font-size:13px;margin-top:10px}.section-heading{padding:24px 0;align-items:center}.section-heading h2{font-size:39px}.section-heading .eyebrow{font-size:8px;letter-spacing:.1em}.project-row,.project-row:nth-child(even){grid-template-columns:1fr;gap:10px;padding:35px 0}.project-row:nth-child(even) .project-visual,.project-row:nth-child(even) .project-copy{grid-column:auto;grid-row:auto;padding-left:0}.project-copy{padding:22px 0 4px;max-width:none}.project-number{margin-bottom:13px;font-size:9px}.project-copy h3{font-size:39px}.project-category{margin-bottom:15px;font-size:9px}.project-copy .body-copy{font-size:13px;margin-bottom:19px}.project-list{padding-bottom:55px}.about-section{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:25px}.about-grid h2{font-size:43px;margin-bottom:23px}.about-grid .body-copy{font-size:13px}.about-detail{font-size:10px}.about-aside .about-rule{margin:22px 0}.site-footer{flex-wrap:wrap;padding-block:30px;gap:22px}.site-footer .footer-note{max-width:75%;font-size:9px}.footer-name{font-size:20px}.compact-brand{font-size:17px}.compact-header .navigation{gap:16px;font-size:9px}.project-intro{padding:24px 0 26px}.breadcrumb{margin-bottom:28px;font-size:9px}.project-title-grid{grid-template-columns:1fr;gap:20px}.project-title-grid h1{font-size:53px}.project-title-grid .body-copy{font-size:13px}.project-subtitle{font-size:23px}.project-meta{margin-top:26px;gap:14px}.project-meta .eyebrow{font-size:8px;letter-spacing:.1em}.gallery{columns:1;column-gap:12px;padding-bottom:35px}.gallery-item{margin-bottom:16px}.gallery-item .image-open{opacity:.85;width:28px;height:28px;font-size:15px}.project-navigation{padding:28px 0 40px}.project-navigation .eyebrow{font-size:8px;letter-spacing:.08em}.project-navigation .nav-title{font-size:20px}.viewer-panel{padding:70px 35px 24px}.viewer-toolbar{top:14px;left:12px;right:12px}.viewer-toolbar button{font-size:10px;padding:8px}.viewer-nav{width:30px;height:30px;font-size:18px}.viewer-prev{left:4px}.viewer-next{right:4px}.viewer #viewer-frame{width:min(82vw,calc(73vh * var(--frame-ratio-num,1)))}.viewer-caption{font-size:10px}.viewer.is-zoomed #viewer-frame{width:1000px}.body-copy{line-height:1.85}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Ordered project edits and illustration recognition. */
.site-header{background:#000}
.masthead h1{margin-bottom:0}
.gallery.ordered-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;columns:auto;align-items:start}
.ordered-gallery .gallery-item{margin:0}
.project-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:9%;align-items:center;padding:5px 0 65px}
.project-feature .gallery-item{margin:0}
.award-copy{padding:25px 0}
.award-copy .eyebrow{color:var(--muted);margin-bottom:24px}
.award-copy h2{font:400 clamp(25px,3vw,42px)/1.2 var(--serif);letter-spacing:-.035em;margin:0 0 28px}
.award-result{font:italic clamp(22px,2.2vw,30px)/1.4 var(--serif);border-top:1px solid var(--line);padding-top:24px;margin:0}
@media(max-width:850px){.gallery.ordered-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-feature{gap:7%}}
@media(max-width:580px){.gallery.ordered-gallery{grid-template-columns:1fr;gap:16px}.project-feature{grid-template-columns:1fr;gap:18px;padding-bottom:40px}.award-copy{padding:8px 0}.award-copy .eyebrow{margin-bottom:12px}.award-copy h2{font-size:29px;margin-bottom:20px}.award-result{padding-top:18px;font-size:24px}}

/* White masthead and contact footer. */
.site-header{background:#fff;color:#000}
.site-header .topbar{border-bottom-color:#deded9}
.site-header .navigation a:hover{color:#66675f}
.site-header .masthead h1{color:#000}
.site-footer{display:block;padding:58px 6vw 28px}
.footer-main{display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:46px;max-width:1320px;margin-inline:auto}
.footer-identity .footer-name{font-size:28px;line-height:1.3;display:inline-block;margin-bottom:12px;border:0}
.footer-identity .eyebrow{font-size:9px;letter-spacing:.15em;color:#aeb2a3}
.footer-contact h2,.footer-social h2{font:400 10px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin:0 0 20px;color:#aeb2a3}
.site-footer .contact-link{display:block;width:fit-content;max-width:100%;border:0;margin:0 0 10px;padding:0;font-size:13px;letter-spacing:.025em;line-height:1.7;overflow-wrap:anywhere}
.site-footer .contact-link:hover{text-decoration:underline;text-underline-offset:5px}
.social-links{display:flex;gap:25px;align-items:flex-start;flex-wrap:wrap}
.site-footer .social-link{display:inline-flex;flex-direction:column;align-items:center;gap:10px;padding:0;border:0;font-size:10px;letter-spacing:.04em;line-height:1.5}
.social-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff60;border-radius:50%;transition:background .2s,color .2s}
.social-icon svg{width:20px;height:20px;display:block}
.social-link:hover .social-icon{background:#f8f7f1;color:#171915}
.footer-bottom{max-width:1320px;margin:34px auto 0;padding-top:24px;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;align-items:center;gap:24px;color:#aeb2a3;font-size:9px;letter-spacing:.05em}
.footer-bottom .back-to-top{color:#d7d9cc;flex-shrink:0}
@media(max-width:850px){.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-identity{grid-column:1/-1}.footer-contact,.footer-social{min-width:0}}
@media(max-width:580px){.site-footer{padding-top:42px}.footer-main{grid-template-columns:1fr;gap:26px}.footer-identity{grid-column:auto}.footer-identity .footer-name{font-size:25px}.footer-contact h2,.footer-social h2{margin-bottom:14px}.footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:15px;margin-top:30px}.footer-bottom>span{max-width:230px}.social-links{gap:27px}}

/* Document studies: source-order page boards with original PDF access. */
.project-documents{padding-bottom:70px}
.project-documents .document-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 65px;padding:0 0 30px;border-bottom:1px solid var(--line)}
.project-documents .document-index-link{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px 14px;align-content:start;padding:18px 0;border-top:1px solid var(--line)}
.project-documents .document-index-link:hover{border-top-color:var(--ink)}
.project-documents .document-index-number{color:var(--muted);margin-top:2px}
.project-documents .document-index-title{font:400 20px/1.3 var(--serif);letter-spacing:-.025em;overflow-wrap:anywhere}
.project-documents .document-index-pages{grid-column:2;font-size:10px;line-height:1.6;letter-spacing:.08em;color:var(--muted)}
.project-documents .document-index-pages span{margin-left:10px}
.project-documents .document-section{margin:0 0 80px;scroll-margin-top:35px}
.project-documents .document-section:last-child{margin-bottom:0}
.project-documents .document-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:30px;padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.project-documents .document-heading h2{font:400 clamp(29px,3.4vw,45px)/1.13 var(--serif);letter-spacing:-.035em;margin:14px 0 17px;max-width:850px}
.project-documents .document-heading .body-copy{margin:0;max-width:760px;color:#5b5e55;font-size:13px}
.project-documents .document-heading .eyebrow{margin:0;color:var(--muted)}
.project-documents .document-tools{text-align:right;padding-bottom:2px}
.project-documents .document-tools .eyebrow{margin-bottom:17px}
.project-documents .document-tools .text-link{white-space:nowrap;gap:20px}
.project-documents .document-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:30px 24px}
.project-documents .document-page{margin:0;min-width:0}
.project-documents .document-page-button{margin:0;border:1px solid var(--line);background:#fff}
.project-documents .document-page-button .photo-window{background:#fff}
.project-documents .document-page-label{margin:12px 0 0;font-size:10px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media(max-width:850px){.project-documents .document-index{grid-template-columns:1fr;gap:0;margin-bottom:48px;padding-bottom:12px}.project-documents .document-index-link{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 0}.project-documents .document-index-pages{grid-column:3;white-space:nowrap}.project-documents .document-index-title{font-size:21px}.project-documents .document-gallery{gap:26px 18px}}
@media(max-width:700px){.project-documents{padding-bottom:45px}.project-documents .document-gallery{grid-template-columns:1fr;gap:26px}.project-documents .document-heading{grid-template-columns:1fr;gap:23px;margin-bottom:23px;padding-bottom:24px}.project-documents .document-heading h2{font-size:33px}.project-documents .document-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;padding:0}.project-documents .document-tools .eyebrow{margin:0}.project-documents .document-section{margin-bottom:60px}}
@media(max-width:420px){.project-documents .document-index-link{grid-template-columns:22px minmax(0,1fr);gap:10px 12px}.project-documents .document-index-title{font-size:20px}.project-documents .document-index-pages{grid-column:2}.project-documents .document-heading h2{font-size:30px}}
