/* Integrated photography, scoped to the 17 owner-selected overview headers. */
main .botanical.service-image-hero {
  position: relative;
  background-color: var(--dark);
  padding: 56px 0;
  min-height: 540px;
  display: flex;
  align-items: center;
}
/* Match the visible botanical texture on each family hub, rather than flattening it. */
main .botanical.service-image-hero:before { opacity: .85; }
.theme-gold main .botanical.service-image-hero:before,
.theme-amethyst main .botanical.service-image-hero:before { opacity: .82; }
main .service-image-hero .container.service-imagery-grid {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 1200px;
}
.service-imagery-grid > div:first-child { width: 48%; min-width: 0; }
.service-imagery-grid h1 { overflow-wrap: anywhere; }
.service-hero-media {
  --service-focus: 50% 45%;
  position: absolute;
  inset-block: 0;
  right: max(0px, calc((100% - 1440px) / 2));
  width: 50%;
  max-width: 720px;
  margin: 0;
  pointer-events: none;
}
.service-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--service-focus);
  opacity: .9;
}
.service-hero-media:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--dark), transparent 20%, transparent 90%, var(--dark)), linear-gradient(0deg, var(--dark), transparent 28%);
}
.service-hero-media figcaption {
  position: absolute;
  z-index: 1;
  bottom: 18px;
  right: 20px;
  max-width: calc(100% - 40px);
  padding: 6px 10px;
  background: var(--dark);
  color: #fffdf8;
  font: .8125rem/1.5 Arial, sans-serif;
}
.service-connection-band { padding: 32px 0; }
main .service-connection-band .container { max-width: 1200px; }
main .service-connection-band aside {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: 40px;
  align-items: center;
  padding: 28px 40px;
  text-align: left;
}
.service-connection-band aside > div { min-width: 0; }
.service-connection-band .service-connection-identity > img {
  width: 80px;
  height: 80px;
  margin: 0 0 12px;
  object-fit: contain;
}
.service-connection-band .service-connection-identity h2 { font-size: 1.65rem; }
.service-connection-band .service-connection-copy p:first-child { margin-top: 0; }
.service-connection-band .fv-connection .service-connection-copy > p:last-child { font: .9375rem/1.7 Arial, sans-serif; color: var(--muted); }
.service-connection-band .ap-connection .service-connection-copy > p:last-child,
.service-connection-band .pf-connection .service-connection-copy > p:last-child { font: 1rem/1.7 Arial, sans-serif; color: var(--muted); }
/* Different original portrait compositions require different crop anchors. */
.service-focal-01 { --service-focus: 50% 34%; }
.service-focal-02 { --service-focus: 50% 47%; }
.service-focal-03 { --service-focus: 50% 32%; }
.service-focal-04 { --service-focus: 50% 28%; }
.service-focal-05 { --service-focus: 50% 55%; }
.service-focal-06 { --service-focus: 50% 52%; }
.service-focal-07 { --service-focus: 50% 34%; }
.service-focal-08 { --service-focus: 50% 34%; }
.service-focal-09 { --service-focus: 50% 34%; }
.service-focal-10 { --service-focus: 50% 32%; }
.service-focal-11 { --service-focus: 50% 52%; }
.service-focal-12 { --service-focus: 50% 62%; }
.service-focal-13 { --service-focus: 50% 55%; }
.service-focal-14 { --service-focus: 50% 45%; }
.service-focal-15 { --service-focus: 50% 55%; }
.service-focal-16 { --service-focus: 50% 32%; }
.service-focal-17 { --service-focus: 50% 52%; }
@media (max-width: 1023px) {
  main .botanical.service-image-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    min-height: 0;
  }
  main .service-image-hero .container.service-imagery-grid { padding-block: 32px 40px; }
  .service-imagery-grid > div:first-child { width: 100%; }
  .service-hero-media {
    position: relative;
    inset: auto;
    order: -1;
    width: 100%;
    max-width: none;
    height: clamp(180px, 30vw, 240px);
  }
  .service-hero-media:after { background: linear-gradient(0deg, var(--dark), transparent 35%); }
  .service-hero-media figcaption { bottom: 10px; }
  /* The family spans two rows of faces: a shallow panoramic crop would lose the children. */
  .service-hero-media.service-focal-08 { height: clamp(280px, 70vw, 420px); }
  .service-hero-media.service-focal-08 img {
    width: min(100%, 540px);
    margin-inline: auto;
    mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  }
}
@media (max-width: 760px) {
  main .service-connection-band aside { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px; }
  .service-connection-band { padding: 24px 0; }
}
@media (forced-colors: active) {
  .service-hero-media img, .service-hero-media:after { visibility: hidden; }
  .service-hero-media figcaption { color: CanvasText; background: Canvas; }
}
