/* Portfolio — photography grid */
.portfolio-page{background:#F5F5F5;}

.portfolio-intro{
  text-align:center;
  max-width:980px;
  margin:0 auto;
  padding:clamp(48px,7vw,88px) 5vw clamp(24px,4vw,40px);
}
.portfolio-intro .script-heading{font-weight:400;}
.portfolio-intro .body-p{margin-bottom:0;}

.portfolio-gallery{
  max-width:1200px;
  margin:0 auto;
  padding:0 5vw 0;
}

.portfolio-shoot{margin-bottom:10px;}
.portfolio-shoot:last-child{margin-bottom:0;}

.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.portfolio-item{
  margin:0;
  aspect-ratio:3/4;
  overflow:hidden;
  background:#EEEEEE;
  position:relative;
}
.portfolio-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 0.45s ease;
}
.portfolio-item:hover img{transform:scale(1.02);}
.portfolio-item--crop-top img{
  transform:scale(1.05);
  transform-origin:50% 40%;
}
.portfolio-item--crop-top:hover img{transform:scale(1.07);}

.portfolio-cta{
  text-align:center;
  padding:clamp(24px,4vw,32px) 5vw clamp(64px,8vw,96px);
}
.portfolio-cta .body-p{margin-bottom:0;color:#555;}
.portfolio-cta .body-p a{color:#555;text-decoration:underline;text-underline-offset:3px;}
.portfolio-cta .body-p a:hover{color:#19427D;}

@media(max-width:900px){
  .portfolio-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:520px){
  .portfolio-grid{grid-template-columns:1fr;}
}
