/* Local homepage refinement. Preserve the original four-image composition. */
#inner-wrap .ph-home-collage::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 4% 0 0 2%;
  border-radius: 50%;
  background: radial-gradient(ellipse at 70% 35%, rgba(119, 91, 193, .12), transparent 62%),
              radial-gradient(ellipse at 25% 70%, rgba(184, 22, 96, .07), transparent 60%);
  pointer-events: none;
}
#inner-wrap .ph-home-collage .ph-collage-panel {
  border-color: rgba(255, 255, 255, .94);
  border-radius: 16px;
  box-shadow: 0 22px 46px -14px rgba(30, 19, 66, .28),
              0 5px 14px rgba(30, 19, 66, .10),
              0 0 0 1px rgba(104, 87, 148, .09);
  cursor: pointer;
}
#inner-wrap .ph-home-collage-figure > figcaption {
  margin-top: 20px;
  color: #514b6a;
  line-height: 1.65;
}
@media (max-width: 600px) {
  #inner-wrap .ph-home-collage .ph-collage-panel { border-radius: 12px; }
  #inner-wrap .ph-home-collage-figure > figcaption { margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  #inner-wrap .ph-home-collage .ph-collage-panel {
    transition: none;
    transform: none;
  }
}

/* Preserve the full results gallery screenshot at its natural proportions. */
#inner-wrap .ph-home-collage .ph-collage-dashboard { aspect-ratio: auto; background: #272727; }
#inner-wrap .ph-home-collage .ph-collage-dashboard img { height: auto; }


/* One homepage frame and content gutter, matching the floating navigation. */
body.home {
  --ph-page-width: 1440px;
  --ph-outer-gap: 32px;
  --ph-content-gutter: 32px;
}
body.home #wrapper > :is(#inner-wrap, #colophon) {
  box-sizing: border-box;
  width: calc(100% - var(--ph-outer-gap));
  max-width: var(--ph-page-width);
  margin-inline: auto;
}
body.home #wrapper #inner-wrap .ph-home-hero > .pa-layout-container,
body.home #wrapper #inner-wrap :is(.ph-section, #services) > .ph-container,
body.home #wrapper #inner-wrap .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap,
body.home #wrapper #colophon .site-container {
  box-sizing: border-box;
  width: calc(100% - var(--ph-content-gutter) - var(--ph-content-gutter));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
#inner-wrap .ph-home-collage a.ph-collage-panel:focus-visible {
  z-index: 10;
  outline: 3px solid #b81660;
  outline-offset: 4px;
  box-shadow: 0 0 0 7px #f5f3fb, 0 22px 46px rgba(30, 19, 66, .20);
}
@media (max-width: 1024px) {
  body.home { --ph-outer-gap: 16px; --ph-content-gutter: 24px; }
}
@media (max-width: 599px) {
  body.home { --ph-content-gutter: 20px; }
}

/* Let the opening content sit directly on the site's light canvas. */
body.home #wrapper #inner-wrap .ph-home-hero {
  background: transparent !important;
  border: 0;
  box-shadow: none;
}
body.home #inner-wrap .ph-home-hero > .pa-layout-wave,
body.home #inner-wrap .ph-home-collage::before {
  display: none;
}


/* Give the desktop collage 24px more clearance below the floating navigation. */
@media (min-width: 901px) {
  body.home #wrapper #inner-wrap .ph-home-hero > .pa-layout-container {
    padding-top: calc(var(--pa-header-height, 105px) + 79px) !important;
  }
}


/* A single section surface surrounds the image and copy, without an inner box. */
body.home #wrapper #inner-wrap .entry-content > .kb-row-layout-wrap .kb-row-layout-wrap {
  background: transparent !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
