:root{--bg:#f5f5f1;--ink:#151515;--muted:#777;--line:#d8d8d3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.header{padding:25px 30px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:10}.brand{font-size:var(--brand-size,18px);letter-spacing:-.04em;font-weight:400;line-height:1}.brand span{display:block;font-size:var(--subtitle-size,10px);letter-spacing:.08em;font-weight:400;margin-top:8px}nav{display:flex;flex-wrap:wrap;gap:23px;font-size:var(--nav-size,11px);font-weight:400;letter-spacing:.03em}nav a:hover,.link:hover{text-decoration:underline}main{min-height:75vh}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap,8px);padding:8px}.tile{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:#ddd}.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.tile:hover img{transform:scale(1.045)}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 60%,#00000073);opacity:0;transition:opacity .25s}.tile:hover:after{opacity:1}.tile-label{font-weight:500;position:absolute;z-index:1;bottom:17px;left:18px;color:#fff;font-size:17px;font-weight:400;opacity:0;transition:opacity .25s}.tile:hover .tile-label{font-weight:500;opacity:1}.project{max-width:1250px;margin:auto;padding:45px 30px 90px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}h1{font-size:clamp(42px,7vw,110px);line-height:.93;letter-spacing:-.03em;margin:20px 0 30px;font-weight:400}h2{font-size:clamp(28px,4vw,56px);letter-spacing:-.025em;line-height:1.05}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;margin:20px 0 55px}.intro p,.content p{font-size:clamp(17px,1.7vw,22px);line-height:1.45;margin:0 0 20px}.meta{display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:13px;border-top:1px solid var(--line);padding:12px 0}.meta b{font-weight:400}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery img{width:100%;display:block}.gallery img:first-child{grid-column:span 2}.content{max-width:950px;padding:45px 30px 100px}.content h1{margin-bottom:45px}.press-item{display:grid;grid-template-columns:170px 1fr;gap:20px;border-top:1px solid var(--line);padding:20px 0}.press-item a{text-decoration:underline;text-underline-offset:3px}.press-item p{font-size:14px;color:#555;margin:8px 0}.note{border-left:3px solid #222;padding-left:16px;font-size:13px;color:#555;line-height:1.5;margin:30px 0}.back{display:inline-block;margin-bottom:22px;font-size:12px;text-transform:uppercase}.back:hover{text-decoration:underline}footer{border-top:1px solid var(--line);padding:24px 30px;display:flex;justify-content:space-between;color:#666;font-size:10px;letter-spacing:.08em}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.intro{grid-template-columns:1fr;gap:10px}.header{padding:20px;flex-direction:column;gap:20px}.project{padding:35px 20px 70px}}@media(max-width:550px){.grid{grid-template-columns:1fr}.tile{aspect-ratio:4/3}.tile-label{font-weight:500;opacity:1}.tile:after{opacity:1}nav{gap:14px}.gallery{grid-template-columns:1fr}.gallery img:first-child{grid-column:span 1}.press-item{grid-template-columns:1fr;gap:5px}.content{padding:25px 20px 70px}footer{padding:20px}}.intro>div{border-top:1px solid var(--line);padding-top:12px;min-width:0}.intro .meta:first-child{border-top:0;padding-top:0}.intro .meta{align-items:baseline}.tile img{background:#e4e4e0}.tile-label{font-weight:500}.intro>div{align-self:start}.intro .meta:first-child{padding-top:0}.placeholder{display:flex;align-items:center;justify-content:center;min-height:260px;background:#e2e2de;color:#777;font-size:12px;letter-spacing:.08em;text-align:center;padding:25px}.gallery .placeholder:first-child{grid-column:span 2;min-height:480px}.tile .placeholder{height:100%;min-height:0}.tile-label{opacity:1;color:#fff}.tile:after{opacity:1;background:linear-gradient(transparent 65%,#00000059)}.tile:nth-child(3n+1) .placeholder{background:#a4b7c7}.tile:nth-child(3n+2) .placeholder{background:#c9c1b7}.tile:nth-child(3n) .placeholder{background:#b9c3b2}@media(max-width:550px){.gallery .placeholder:first-child{grid-column:span 1;min-height:260px}}.placeholder{width:100%;height:100%}.gallery .placeholder{min-height:280px}.gallery .placeholder:first-child{min-height:480px}.tile:focus-visible,.back:focus-visible,nav a:focus-visible{outline:2px solid currentColor;outline-offset:3px}.gallery figure{margin:0}.gallery figure:first-child{grid-column:span 2}.gallery figure img{height:auto}.gallery figcaption{font-size:12px;color:var(--muted);padding-top:8px}.content p{line-height:1.5}.press-item strong{font-weight:500}.content .press-item p{font-size:14px}.empty-state{padding:30px;color:var(--muted);font-size:14px}.tile img{aspect-ratio:4/3}.content .eyebrow{margin-bottom:12px}@media(max-width:550px){.gallery figure:first-child{grid-column:span 1}}.header{background-color:var(--header-bg, var(--bg));color:var(--header-ink, var(--ink))}.mobile-menu{display:none}@media(max-width:900px){.header{flex-direction:row;align-items:flex-start;justify-content:space-between}.desktop-nav{display:none}.mobile-menu{display:block;position:relative;flex-shrink:0}.mobile-menu summary{display:flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:22px;height:1px;background:currentColor;position:relative;transition:transform .2s}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-7px}.menu-icon:after{top:7px}.mobile-menu[open] .menu-icon{background:transparent}.mobile-menu[open] .menu-icon:before{top:0;transform:rotate(45deg)}.mobile-menu[open] .menu-icon:after{top:0;transform:rotate(-45deg)}.mobile-menu nav{display:flex;flex-direction:column;align-items:flex-start;gap:22px;position:absolute;right:-20px;top:44px;width:min(300px,90vw);padding:24px 20px;background:var(--header-bg, var(--bg));color:var(--header-ink, var(--ink));border:1px solid var(--line);z-index:20}}
