.projects-gallery-section>.container{width:90%;max-width:none}.story-grid.is-project-showcase{display:block;margin-top:52px}.featured-project-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(0,1.5fr);grid-template-rows:repeat(2,minmax(230px,1fr));gap:12px;height:clamp(540px,57vw,820px)}.featured-project-grid .project-tile:first-child{grid-row:1/3}.project-archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.project-archive-grid .project-tile{aspect-ratio:1.48/1}.project-tile{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:4px;background:#dfe8f3}.project-tile img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.01);transition:transform 500ms cubic-bezier(.22,1,.36,1),filter 500ms ease}.project-tile::after{position:absolute;inset:45% 0 0;background:linear-gradient(to top,rgba(8,20,35,.4),rgba(8,20,35,.06),transparent);content:"";transition:opacity 500ms ease}.project-tile-copy{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:22px 23px;color:#fff;transition:transform 500ms cubic-bezier(.22,1,.36,1)}.project-location{display:flex;align-items:center;gap:6px;margin-bottom:7px;font-size:12px;font-weight:400;line-height:1.2;letter-spacing:.06em;color:rgba(255,255,255,.88);text-shadow:0 1px 8px rgba(0,15,35,.22)}.project-location svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.project-tile-copy h3{max-width:92%;font-size:clamp(15px,1.25vw,21px);font-weight:400;line-height:1.35;letter-spacing:.02em;text-shadow:0 1px 12px rgba(0,15,35,.24)}.featured-project-grid .project-tile:first-child .project-tile-copy{padding:30px}.featured-project-grid .project-tile:first-child h3{font-size:clamp(23px,2.25vw,34px);font-weight:400}.featured-project-grid .project-tile:first-child .project-location{font-size:13px}.project-tile:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.02)}.project-tile:hover::after{opacity:1.18}.project-tile:hover .project-tile-copy{transform:translateY(-4px)}.is-project-showcase .story-body{display:none}@media(max-width:900px){.projects-gallery-section>.container{width:92%}.featured-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;height:auto}.featured-project-grid .project-tile,.featured-project-grid .project-tile:first-child{grid-row:auto;aspect-ratio:1.4/1}.featured-project-grid .project-tile:first-child{grid-column:1/3;aspect-ratio:2/1}.project-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-archive-grid .project-tile{aspect-ratio:1.4/1}}@media(max-width:600px){.projects-gallery-section>.container{width:calc(100% - 32px)}.story-grid.is-project-showcase{margin-top:34px}.featured-project-grid,.project-archive-grid{grid-template-columns:1fr;gap:10px}.featured-project-grid .project-tile,.featured-project-grid .project-tile:first-child,.project-archive-grid .project-tile{grid-column:auto;aspect-ratio:4/3}.project-archive-grid{margin-top:10px}.project-tile-copy,.featured-project-grid .project-tile:first-child .project-tile-copy{padding:19px}.featured-project-grid .project-tile:first-child h3,.project-tile-copy h3{font-size:18px}.project-location,.featured-project-grid .project-tile:first-child .project-location{font-size:12px}}@media(prefers-reduced-motion:reduce){.project-tile img,.project-tile::after,.project-tile-copy{transition:none}}

.is-project-showcase .featured-project-grid{height:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:clamp(160px,15vw,260px);grid-auto-flow:row dense;gap:10px}
.is-project-showcase .featured-project-grid .project-tile{grid-row:auto;grid-column:auto;aspect-ratio:auto;border-radius:0}
.is-project-showcase .featured-project-grid .project-tile-major{grid-column:span 2;grid-row:span 2}
.is-project-showcase .project-tile-major h3{font-size:clamp(23px,2.25vw,34px)}
@media(max-width:900px){.is-project-showcase .featured-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:25vw}}
@media(max-width:600px){.is-project-showcase .featured-project-grid{grid-auto-rows:38vw;gap:6px}.is-project-showcase .project-tile-copy{padding:12px}.is-project-showcase .project-tile-copy h3{font-size:14px}.is-project-showcase .project-tile-major h3{font-size:23px}}

.is-project-showcase .featured-project-grid .project-tile-wide{grid-column:span 2}
.project-tile[hidden],.project-more-controls[hidden]{display:none!important}.project-more-controls{display:flex;justify-content:center;margin-top:32px}.project-more-controls button{cursor:pointer;font:inherit}
