/* Staging parity overrides — keep thin; prefer matching live Webflow */

/* Blog listing cards: landscape frame; image fills without stretching the box tall */
.blog-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 4.27 / 2.33;
  position: relative;
  overflow: hidden;
}

.blog-card-image > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
}

/* Featured first-card keeps its own height rules from Webflow CSS */
.blog-card-image.first-card-blog > img {
  position: absolute;
  inset: 0;
}

/* Decorative hover heading inside list cards must never cover the image */
.blog-card-image > .heading-wrap,
.blog-card-image .heading-wrap {
  display: none !important;
}

/* Blog article hero: landscape frame instead of 80vh portrait on mobile */
.blog-image-wrapper {
  width: 100%;
  height: auto !important;
  aspect-ratio: 1497 / 1212;
  max-height: 80vh;
  overflow: hidden;
}
.blog-image-wrapper > img,
.blog-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 992px) {
  .blog-image-wrapper { aspect-ratio: 16 / 9; }
}

/* Our Work: space above Previous/Next under last marquee card */
.w-pagination-wrapper {
  margin-top: 4rem;
  padding-top: 0.5rem;
  margin-bottom: 2rem;
}

/* Contact form: Turnstile + honeypot */
.tfc-turnstile {
  margin: 1.25rem 0 0.5rem;
}
.tfc-hp {
  position: absolute !important;
  left: -10000px !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
#tfc-contact-status {
  margin: 0.75rem 0 0;
  font-size: 0.95rem;
}
