/* Balance the reserved scrollbar gutter so the homepage's grid is visually
   centered in the browser window, including with classic desktop scrollbars. */
html { scrollbar-gutter: stable both-edges; }

/* Remove the older services/footer margins so the Instagram section alone
   controls the space between its content and the neighboring sections. */
#home-service-details,
#home-service-details .module-inside,
#home-instagram-wrap > .module-inside {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  #services .module-inside { margin-bottom: 0 !important; }
  #services .text_block_centered > p:last-child { padding-bottom: 0; }
}
/* Homepage-only Instagram proof of concept, between services and contact. */
#home-instagram {
  clear: both;
  padding: 280px 0 320px;
  width: 100%;
}
.home-instagram-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 60px;
}
#home-instagram .home-instagram-header .fauxbutton { margin: 0; }
#home-instagram h2 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(28px, 4.35vw, 64px) !important;
  font-weight: 700;
  line-height: 1.28 !important;
  margin: 0;
}
@media (min-width: 768px) {
  #home-instagram-heading { letter-spacing: -0.02em; }
}
.home-instagram-posts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 32px;
}
.home-instagram-post { min-width: 0; }
#home-instagram .home-instagram-preview-note {
  font-size: 16px !important;
  line-height: 1.5 !important;
  padding: 0;
  margin: -30px 0 40px;
}
#home-instagram .home-instagram-image {
  display: block;
  width: 100%;
  overflow: hidden;
  border: 0;
}
#home-instagram .home-instagram-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  filter: grayscale(100%);
  transition: transform .25s ease, filter .25s ease;
}
#home-instagram .home-instagram-image:hover img { transform: scale(1.025); filter: grayscale(0%); }
#home-instagram .home-instagram-image:focus-visible { outline: 3px solid #000; outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) {
  #home-instagram .home-instagram-image img { transition: none; }
  #home-instagram .home-instagram-image:hover img { transform: none; }
}
#home-instagram .home-instagram-date {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  font-family: 'Lora', serif;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
#home-instagram .home-instagram-date a { border-bottom: 1px dashed currentColor; }
@media (max-width: 1050px) {
  .home-instagram-posts { gap: 24px; }
}
@media (max-width: 767px) {
  #home-instagram { padding: 175px 0 200px; }
  .home-instagram-posts { grid-template-columns: 1fr; gap: 40px; }
  .home-instagram-header { flex-direction: column; align-items: flex-start; margin-bottom: 40px; }
}
