/* Photo helpers layered on top of the WebWhittle standard site.css */
.hero{ position:relative; overflow:hidden; }
.hero__photo{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
}
.hero__photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg, rgba(8,30,48,.86) 0%, rgba(8,30,48,.62) 55%, rgba(8,30,48,.35) 100%);
}
.hero--photo .hero__inner{ position:relative; z-index:1; }
.hero--photo .hero__copy h1,
.hero--photo .hero__copy p,
.hero--photo .kicker,
.hero--photo .stat__num,
.hero--photo .stat__label{ color:#fff; }
.hero--photo .stat__label{ opacity:.85; }

/* Photo cards / gallery */
.photo{
  display:block; width:100%; height:100%; object-fit:cover;
  border:0; background:#e8eef4;
}
.svc__photo,
.gal__photo{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px;
  display:block; background:#e8eef4;
}
.svc--photo{ padding:0; overflow:hidden; }
.svc--photo .svc__body{ padding:1.4rem 1.5rem 1.6rem; }
.svc--photo h3{ margin-top:0; }

.gal-grid--photo{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.gal-grid--photo figure{ margin:0; position:relative; border-radius:14px; overflow:hidden; }
.gal-grid--photo figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:.7rem .9rem; color:#fff; font-weight:600; font-size:.95rem;
  background:linear-gradient(0deg, rgba(0,0,0,.6), rgba(0,0,0,0));
}
@media (max-width:820px){ .gal-grid--photo{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .gal-grid--photo{ grid-template-columns:1fr; } }

.split__photo{ border-radius:18px; overflow:hidden; }
.split__photo img{ width:100%; height:100%; object-fit:cover; display:block; min-height:280px; }
