.az-sub-page{padding-top:0;}

.az-page-header{
  max-width:900px;
  margin:0 auto;
  padding:180px 40px 70px;
  text-align:left;
}
.az-page-header h1{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(34px, 5.4vw, 64px);
  line-height:1.06;
  margin-bottom:22px;
}
.az-page-sub{
  color:var(--stone);
  font-size:16px;
  max-width:520px;
  line-height:1.7;
}

/* ---------- filters ---------- */
.az-filter-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  max-width:1400px;
  margin:0 auto 50px;
  padding:0 40px;
}
.az-filter{
  background:none;
  border:1px solid var(--line);
  color:var(--silver);
  padding:10px 20px;
  border-radius:2px;
  font-size:13px;
  font-family:inherit;
  cursor:pointer;
  transition:border-color .3s, color .3s;
}
.az-filter:hover{color:var(--milk);}
.az-filter-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--silver);
  margin-right:6px;
  align-self:center;
}
.az-filter.active{border-color:var(--gold); color:var(--gold);}

/* ---------- masonry portfolio grid ---------- */
.az-portfolio-full{padding:0 0 150px;}
.az-grid-masonry{
  max-width:1400px;
  margin:0 auto;
  padding:0 40px;
  columns:5 200px;
  column-gap:16px;
}
.az-mas-item{
  break-inside:avoid;
  margin-bottom:16px;
  position:relative;
  overflow:hidden;
  border-radius:2px;
  cursor:zoom-in;
}
.az-mas-item img{
  width:100%;
  display:block;
  transition:transform 1s var(--ease);
}
.az-mas-item:hover img{transform:scale(1.045);}
.az-mas-item::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg, rgba(10,10,10,0.75), rgba(10,10,10,0) 55%);
  opacity:0;
  transition:opacity .4s;
}
.az-mas-item:hover::before{opacity:1;}
.az-mas-caption{
  position:absolute;
  left:14px; bottom:12px; right:14px;
  z-index:1;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s var(--ease), transform .35s var(--ease);
  color:#f5f2ec;
  font-size:12px;
}
.az-mas-item:hover .az-mas-caption{opacity:1; transform:translateY(0);}
.az-mas-item.hidden{display:none;}

.az-load-more-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  max-width:1400px;
  margin:36px auto 0;
  padding:0 40px;
}
.az-load-more-label{font-size:13px; color:var(--silver); margin-right:4px;}

/* ---------- cta strip ---------- */
.az-cta-strip{
  max-width:900px;
  margin:0 auto;
  padding:100px 40px 160px;
  text-align:center;
}
.az-cta-strip h2{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(26px, 3.6vw, 42px);
  margin-bottom:34px;
}

/* lightbox rules moved to style.css (shared, so the homepage can use it too) */

@media (max-width: 640px){
  .az-page-header{padding:150px 22px 50px;}
  .az-filter-row{padding:0 22px;}
  .az-grid-masonry{padding:0 22px; columns:2 140px; column-gap:12px;}
  .az-load-more-row{padding:0 22px;}
}
