/* Portfolio gallery */
.featured-projects{background:var(--paper);padding-bottom:30px}.featured-intro{grid-template-columns:1.35fr .65fr;align-items:end;gap:70px;margin-bottom:100px;display:grid}.featured-intro h2{font-family:var(--font-noto-serif),Georgia,serif;letter-spacing:-.05em;margin:18px 0 0;font-size:clamp(54px,7vw,100px);font-weight:450;line-height:.94}.featured-intro h2 em{color:var(--plum);font-weight:450}.featured-intro>p{color:var(--graphite);max-width:520px;font-size:17px;line-height:1.7}.featured-project{border-top:1px solid var(--line);grid-template-columns:minmax(260px,.72fr) minmax(0,1.8fr);gap:60px;padding-top:38px;padding-bottom:120px;display:grid;scroll-margin-top:100px}.featured-project header{position:sticky;top:110px;align-self:start}.project-code{color:var(--plum);font:700 10px var(--font-lato),Arial,sans-serif;letter-spacing:.16em;margin:0 0 18px}.featured-project h3{font-family:var(--font-noto-serif),Georgia,serif;letter-spacing:-.04em;margin:0 0 24px;font-size:clamp(36px,4.3vw,64px);font-weight:450;line-height:1}.featured-project header>p:not(.project-code){color:var(--graphite);max-width:430px;font-size:15px;line-height:1.75}.featured-project ul{border-top:1px solid var(--line);list-style:none;margin:28px 0 0;padding:18px 0 0}.featured-project li{color:var(--muted);text-transform:uppercase;margin:0 0 8px;font-size:9px;font-weight:700;letter-spacing:.12em}.featured-images{grid-template-columns:1fr 1fr;gap:12px;display:grid}.featured-images figure{background:var(--mist);margin:0;min-height:330px;overflow:hidden}.featured-images .featured-main{grid-column:1/-1;min-height:520px}.featured-images img{object-fit:cover;width:100%;height:100%;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.featured-images figure:hover img{transform:scale(1.015)}.featured-images .drawing img{object-fit:contain;background:#fff}.featured-images.two-up .featured-main{grid-column:auto;min-height:520px}.featured-images.two-up figure{min-height:520px}.featured-images.two-up img{object-position:center}
.portfolio-hero{background:linear-gradient(100deg,#1d1727f2,#1d172760),url(/work/gallery/render-23.webp) 50% 48%/cover;min-height:760px}.portfolio-hero .wrap{position:relative}.portfolio-count{border-left:1px solid #ffffff38;align-items:center;gap:18px;margin-top:48px;padding-left:22px;display:flex}.portfolio-count strong{font-family:var(--font-noto-serif),Georgia,serif;font-size:48px;font-weight:450;line-height:1}.portfolio-count span{color:#cac4d0;text-transform:uppercase;font-size:9px;letter-spacing:.14em;line-height:1.5}.gallery-section{padding-top:110px}.gallery-intro{grid-template-columns:1.35fr .65fr;align-items:end;gap:70px;margin-bottom:58px;display:grid}.gallery-intro h2{font-family:var(--font-noto-serif),Georgia,serif;letter-spacing:-.05em;margin:18px 0 0;font-size:clamp(52px,7vw,100px);font-weight:450;line-height:.95}.gallery-intro>p{color:var(--graphite);max-width:520px;font-size:16px;line-height:1.7}.gallery-filters{border-bottom:1px solid var(--line);gap:7px;margin-bottom:30px;padding-bottom:18px;display:flex;overflow-x:auto}.gallery-filters button{white-space:nowrap;color:var(--graphite);background:transparent;border:1px solid var(--line);border-radius:999px;padding:12px 16px;font:700 10px var(--font-lato),Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:.2s}.gallery-filters button:hover,.gallery-filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}.gallery-filters span{opacity:.55;margin-left:6px}.portfolio-grid{grid-template-columns:repeat(12,1fr);gap:14px;display:grid}.portfolio-item{grid-column:span 4;margin:0;min-height:360px;overflow:hidden}.portfolio-item.wide{grid-column:span 8}.portfolio-item.feature{grid-column:span 8;grid-row:span 2;min-height:734px}.portfolio-item.tall{grid-row:span 2;min-height:734px}.portfolio-item[hidden]{display:none}.portfolio-item button{color:#fff;background:var(--ink);border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden;text-align:left;cursor:zoom-in}.portfolio-item img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .3s}.portfolio-item button:hover img{transform:scale(1.025);filter:brightness(.82)}.portfolio-item button>span{background:#1d1727c7;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:9px;display:flex;position:absolute;top:14px;left:14px}.portfolio-item figcaption{background:linear-gradient(#0000,#17121ee8);padding:70px 22px 20px;position:absolute;left:0;right:0;bottom:0}.portfolio-item figcaption strong{font-family:var(--font-noto-serif),Georgia,serif;font-size:22px;font-weight:450;display:block}.portfolio-item figcaption small{color:#d5d0da;margin-top:5px;font-size:11px;display:block}.gallery-note{color:var(--muted);border-top:1px solid var(--line);margin:32px 0 0;padding-top:18px;font-size:11px}.portfolio-lightbox{background:#15101bf2;color:#fff;border:0;width:100vw;max-width:none;height:100vh;max-height:none;padding:40px}.portfolio-lightbox::backdrop{background:#15101bf2}.portfolio-lightbox[open]{grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;gap:20px;display:grid}.portfolio-lightbox>div{text-align:center;max-height:calc(100vh - 80px)}.portfolio-lightbox img{object-fit:contain;max-width:100%;max-height:calc(100vh - 140px)}.portfolio-lightbox p{font-family:var(--font-noto-serif),Georgia,serif;margin:15px 0 0;font-size:18px}.portfolio-lightbox button{color:#fff;background:#ffffff12;border:1px solid #ffffff35;border-radius:50%;width:48px;height:48px;font-size:22px;cursor:pointer}.lightbox-close{position:absolute;top:24px;right:24px}.instagram-gallery{background:var(--mist)}.instagram-gallery-heading{grid-template-columns:1.35fr .65fr;align-items:end;gap:70px;margin-bottom:58px;display:grid}.instagram-gallery-heading h2{margin:15px 0 0;font-size:clamp(50px,6vw,86px)}.instagram-gallery-heading>div:last-child p{color:var(--graphite);font-size:16px;line-height:1.65}.instagram-gallery-heading .button{margin-top:18px}.instagram-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.instagram-grid a{aspect-ratio:1;color:#fff;background:var(--ink);position:relative;overflow:hidden}.instagram-grid img{object-fit:cover;width:100%;height:100%;transition:transform .5s,filter .4s}.instagram-grid span{opacity:0;background:linear-gradient(#0000,#1d1727d9);padding:70px 16px 16px;font-size:11px;transition:opacity .3s;position:absolute;left:0;right:0;bottom:0}.instagram-grid a:hover img{transform:scale(1.025);filter:brightness(.8)}.instagram-grid a:hover span{opacity:1}
@media(max-width:1000px){.featured-intro,.gallery-intro,.instagram-gallery-heading{grid-template-columns:1fr;gap:30px}.featured-project{grid-template-columns:1fr;gap:35px}.featured-project header{position:static}.featured-images .featured-main{min-height:430px}.portfolio-item{grid-column:span 6}.portfolio-item.wide,.portfolio-item.feature{grid-column:span 12}.instagram-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.portfolio-hero{min-height:720px}.featured-intro{margin-bottom:65px}.featured-project{padding-bottom:80px}.featured-images,.featured-images.two-up{grid-template-columns:1fr}.featured-images .featured-main,.featured-images.two-up .featured-main{grid-column:auto;min-height:0;aspect-ratio:4/3}.featured-images figure,.featured-images.two-up figure{min-height:0;aspect-ratio:4/3}.featured-images .drawing{aspect-ratio:1.42}.gallery-section{padding-top:80px}.gallery-filters{margin-left:-16px;margin-right:-16px;padding-left:16px}.portfolio-grid{grid-template-columns:1fr;gap:10px}.portfolio-item,.portfolio-item.wide,.portfolio-item.feature,.portfolio-item.tall{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/3}.portfolio-item:nth-child(3n){aspect-ratio:3/4}.portfolio-item figcaption{padding:55px 16px 15px}.portfolio-lightbox{padding:18px}.portfolio-lightbox[open]{grid-template-columns:1fr;align-content:center}.portfolio-lightbox .lightbox-prev,.portfolio-lightbox .lightbox-next{position:absolute;bottom:22px}.portfolio-lightbox .lightbox-prev{left:22px}.portfolio-lightbox .lightbox-next{right:22px}.instagram-grid{gap:5px}.instagram-grid span{display:none}}
