.brand-logo {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 50%;
  flex: 0 0 auto;
}

.site-header nav { gap: 22px; }

.service-grid {
  grid-template-columns: repeat(3, 1fr);
}

.service-card { min-height: 450px; }

.service-card ul {
  list-style: none;
  padding: 0;
  margin: 8px 0 28px;
}

.service-card li {
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}

.service-card.featured li {
  color: #e0e9e4;
  border-color: rgba(255,255,255,.14);
}

.work {
  background: #eef0ea;
  padding: 100px max(5vw, 24px);
}

.section-heading {
  max-width: 1180px;
  margin: 0 auto 48px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 70px;
  align-items: end;
}

.section-heading h2 {
  margin: 0;
  font: 700 clamp(2.3rem, 4vw, 4.2rem)/1.08 "Libre Baskerville", serif;
  letter-spacing: -.03em;
}

.section-heading > p {
  color: var(--muted);
  font-size: 19px;
  margin: 0 0 5px;
}

.gallery {
  max-width: 1180px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 260px;
  gap: 14px;
}

.gallery figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: var(--forest);
  border-radius: 4px;
}

.gallery figure.wide { grid-column: span 2; }
.gallery figure.tall { grid-row: span 2; }
.gallery figure.flyer { background: #09251c; }

.gallery img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}

.gallery .flyer img { object-fit: contain; }
.gallery figure:hover img { transform: scale(1.025); }

.gallery figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 32px 16px 13px;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  background: linear-gradient(transparent, rgba(2,16,11,.86));
}

.footer {
  flex-wrap: wrap;
}

.footer-links {
  display: flex;
  gap: 18px;
}

.footer-links a { color: #dfe8e3; font-size: 13px; }
.footer-services { flex-basis: 100%; text-align: center; margin: 0!important; color: #92a69d; }

@media (max-width: 1000px) {
  .site-header nav { gap: 15px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: auto; }
  .gallery { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 850px) {
  .brand-logo { width: 44px; height: 44px; }
  .section-heading { grid-template-columns: 1fr; gap: 24px; }
  .work { padding-top: 72px; padding-bottom: 72px; }
  .footer-links { justify-content: center; }
}

@media (max-width: 560px) {
  .gallery { grid-template-columns: 1fr; grid-auto-rows: 320px; }
  .gallery figure.wide { grid-column: auto; }
  .gallery figure.tall { grid-row: auto; }
  .gallery figure.flyer { min-height: 430px; }
}
