:root{--gutter:12px;--gap:14px;--header-height:96px;--content-top:0px;--columns:1;--tracks:var(--columns);--track:calc((100vw - 2*var(--gutter) - (var(--tracks) - 1)*var(--gap))/var(--tracks));--ink:#151515}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.4}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{border:0;border-radius:0;background:none;color:inherit;cursor:pointer}button:hover,a:hover{color:#777}button:disabled{cursor:default}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #333;outline-offset:3px}[hidden]{display:none!important}.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:10px;left:10px;z-index:200;background:white;padding:10px}
.content-frame{padding:var(--content-top) var(--gutter) 0}#main:focus{outline:none}
/* A single navigation block is shared by every viewport. */
.nav{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;min-height:96px;padding:15px var(--gutter)}.brand{display:flex;align-items:baseline;justify-content:flex-end;gap:var(--gap);width:100%;min-width:0}.site-description{margin:0;font-size:11px;line-height:1.4;text-align:right;min-width:0;overflow-wrap:anywhere}.wordmark{flex:none;padding:0;font-size:36px;font-weight:700;letter-spacing:-2px;line-height:.9}.menu-trigger{position:fixed;z-index:60;top:75dvh;right:var(--gutter);display:flex;align-items:center;justify-content:center;width:72px;min-width:72px;max-width:72px;flex:none;min-height:16px;height:16px;padding:0 10px;background:#000;color:#fff;font-size:11px;line-height:1;letter-spacing:1px}.menu-trigger:hover,.menu-trigger:disabled{background:#000;color:white}.nav #site-menu{position:fixed;z-index:50;top:64px;right:0;bottom:0;width:100%;background:#fff;padding:15px var(--gutter);overflow:auto;overscroll-behavior:contain}#site-menu nav :is(a,button){display:block;text-align:right;min-height:60px;width:100%;font-size:18px;padding:18px 0;letter-spacing:1px;text-transform:uppercase}#site-menu [aria-current=page]{font-weight:700}#site-menu [aria-current=page]::before{content:'—';margin-right:12px}#site-menu .menu-arrow{display:none}#site-menu a:focus-visible{outline-offset:-2px}#site-menu p{margin-top:40px;text-align:right;font-size:11px;color:#777}body.menu-modal{overflow:hidden}
/* Equal column widths, image bottoms and summary tops aligned by row. */
.projects{padding:0}.tools{width:100%;margin:8px 0 28px auto}.type-select select{display:block;width:100%;border:1px solid #aaa;border-radius:0;padding:6px 9px;background:#fff;font-size:11px;height:36px}.grid,.project-detail{grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gap)}.grid{display:grid;row-gap:12px}.tile{padding:0;text-align:left;display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:10px;min-width:0;color:inherit}.tile:hover{color:inherit}.tile-image{align-self:end;overflow:hidden;min-width:0}.tile img,.tile video{display:block;width:100%;height:auto}.tile img{transition:opacity .25s}.tile:hover img{opacity:.88}.tile-info{align-self:start;padding:0 0 25px;min-width:0;overflow-wrap:anywhere}.tile h2{font-size:12px;line-height:1.4;letter-spacing:.65px;text-transform:uppercase;font-weight:400;margin:0 0 5px}.tile-info p{font-size:11px;line-height:1.45;margin:0;color:#555;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tile-index{display:none}.grid.index-mode{display:block}.index-mode .tile{display:block;padding:10px 0}.index-mode .tile-image{display:none}.index-mode .tile-info{display:grid;grid-template-columns:25px 1fr;column-gap:10px;padding:0}.index-mode .tile-index{display:block;grid-column:1;grid-row:1;font-size:10px;color:#777}.index-mode .tile h2{grid-column:2;grid-row:1;margin:0}.index-mode .tile p{display:none}.pagination{display:flex;gap:16px;padding:30px 0;font-size:12px}.pagination .current{font-weight:700}.media-placeholder{display:block;min-height:140px;padding:20px;background:#f4f4f4}
.simple-view{padding:35px 0 70px;min-height:60vh}.simple-view h1{font-size:28px;font-weight:400;line-height:1.15;margin:0 0 30px}.simple-view p{font-size:13px;line-height:1.6}.contact-layout{display:grid;grid-template-columns:1fr;gap:30px;min-width:0}.contact-layout #respond{display:block!important;width:100%}.contact-layout input,.contact-layout textarea{display:block;border:0;border-bottom:1px solid #bbb;background:#fff;width:100%;padding:8px 0;margin-bottom:20px;border-radius:0;resize:vertical}.contact-layout input[type=submit]{background:#000;color:#fff;cursor:pointer}.contact-layout .submitted{padding:15px;border:1px solid #aaa}.contact-layout .success{border-color:#286b39}.contact-layout .error{border-color:#9c2727}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:40px var(--gutter) 20px;font-size:11px;color:#555}.footer-brand{font-size:28px;letter-spacing:-2px;font-weight:700}footer>p{display:none}
/* First slide is eager; subsequent cover media are hydrated by the local Swiper. */
body.cover-mode{overflow:hidden}.cover-mode>.nav,.cover-mode>main,.cover-mode>footer{visibility:hidden}#cover{position:fixed;inset:0;z-index:100;background:#151515;color:#fff;opacity:1;transition:opacity .35s ease}#cover.leaving{opacity:0;pointer-events:none}#cover-swiper{width:100%;height:100%;cursor:pointer;touch-action:pan-y}.swiper-slide img{display:block;width:100%;height:100%;object-fit:cover}.cover-wordmark{position:absolute;top:25px;right:var(--gutter);font-size:54px;letter-spacing:-3px;font-weight:700;line-height:1;z-index:2;pointer-events:none;text-shadow:0 1px 12px #0003}.cover-controls{position:absolute;z-index:3;bottom:20px;left:10px;display:flex;align-items:center;gap:5px}.cover-controls button{color:white;min-width:44px;min-height:44px;font-size:12px;text-shadow:0 1px 8px #0008}#cover-enter{position:absolute;z-index:3;bottom:20px;right:12px;min-height:44px;color:#fff;font-size:11px;letter-spacing:.8px;text-transform:uppercase;text-shadow:0 1px 8px #0008}.cover-controls button:focus-visible,#cover-enter:focus-visible{outline-color:white}
/* Articles retain the original editorial text and media order on small screens. */
.project-detail{display:block}.project-copy{padding:30px 0 45px;margin:0;min-width:0;overflow-wrap:anywhere}.project-copy h1{font-size:26px;font-weight:400;text-transform:uppercase;margin:20px 0 30px}.back-link{font-size:11px}#article-body{font-size:14px;line-height:1.65}#article-body p{margin:0 0 24px}#article-body h2,#article-body h3,#article-body h4{font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;margin:28px 0 18px}#article-body figure{margin:24px 0}#article-body img,#article-body video{max-width:100%;height:auto;display:block;margin:24px 0}#article-body .alignleft,#article-body .alignright{float:none;margin-inline:0}#article-body iframe{max-width:100%}#article-gallery{display:none;min-width:0;position:relative;overflow:hidden}#article-swiper{width:100%;height:100%;min-width:0}#article-swiper .swiper-slide{background:#fff;display:flex;align-items:center;justify-content:center}#article-swiper img,#article-swiper video{display:block;width:100%;height:100%;object-fit:contain}.gallery-tools{position:absolute;z-index:2;bottom:15px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px}.gallery-tools button{width:44px;height:44px;background:#ffffffdf;font-size:20px}.gallery-tools button:disabled{opacity:.3}.gallery-tools span{background:#ffffffdf;padding:8px 10px}.project-copy .cartouche{list-style:none;margin:30px 0;padding:0}.CartLabel{font-size:10px;text-transform:uppercase;color:#777;margin:15px 0}.CartItem{display:block;font-size:12px;text-transform:none;color:#151515;margin-top:4px}
@media(min-width:600px){:root{--columns:2}.nav #site-menu{right:var(--gutter);width:var(--track);padding-inline:0}}
@media(min-width:768px){:root{--gutter:10px;--gap:16px}.tools{width:calc((100% - (var(--columns) - 1)*var(--gap))/var(--columns));margin-top:0;margin-bottom:32px}.type-select select{height:30px}.index-mode .tile-info{grid-template-columns:40px minmax(150px,1fr) 1.5fr;column-gap:20px}.index-mode .tile p{display:-webkit-box;grid-column:3;grid-row:1;-webkit-line-clamp:1}.simple-view{width:calc(var(--track)*2 + var(--gap));max-width:100%;margin-left:auto;margin-right:0;padding:45px 0 100px}.contact-layout{grid-template-columns:1fr 1fr;gap:40px}footer>p{display:block}.cover-wordmark{top:28px;right:var(--gutter);font-size:76px;letter-spacing:-5px}.cover-controls{left:50%;transform:translateX(-50%)}#cover-enter{right:25px}}
@media(min-width:1024px){:root{--columns:3}.project-detail{display:grid;height:calc(100dvh - var(--header-height) - var(--content-top));padding:0;overflow:hidden}.project-copy{grid-column:3;height:100%;padding:70px 0 45px;max-width:none;width:100%;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.project-copy h1{font-size:21px}#article-body{font-size:12px;line-height:1.6}#article-body p{margin-bottom:22px}#article-gallery{grid-column:span 2;display:block;height:100%}.article-has-gallery #article-body img,.article-has-gallery #article-body video{display:none}.article-has-gallery #article-body figure:has(img),.article-has-gallery #article-body figure:has(video){margin:0}.article-has-gallery #article-body p:has(>img:only-child){display:none}.article-paragraph{cursor:pointer}.article-paragraph:hover,.article-paragraph:focus-visible{background:#f4f4f4}.text-only{display:block;height:auto}.text-only .project-copy{height:auto}}
@media(min-width:1440px){:root{--tracks:4;--header-height:0px;--content-top:26px}.nav{position:fixed;z-index:40;top:0;right:var(--gutter);width:var(--track);padding:15px 0}.menu-trigger{display:none}.nav #site-menu{position:static;flex-basis:auto;width:100%;padding:0;max-height:calc(100dvh - 64px);margin:16px 0 0}body>main,body>footer{width:calc(100% - var(--track) - var(--gap))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

#article-body .mediaFigure.vrview{height:min(65vh,600px);margin:24px 0}#article-body .mediaFigure.vrview iframe{display:block;width:100%;height:100%}
