/* Translucent contours: decorative, non-interactive and contained in each surface. */
.photo-frame::after {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgb(255 255 255 / 62%);
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
}
.photo-label, .image-caption { z-index: 2; }

.service-main::before, .service-main::after {
  content: "";
  position: absolute;
  width: 255px;
  height: 255px;
  right: -140px;
  top: -135px;
  border: 1px solid rgb(255 255 255 / 32%);
  border-radius: 54px;
  transform: rotate(32deg);
  pointer-events: none;
  z-index: -1;
}
.service-main::after {
  width: 300px;
  height: 300px;
  right: -162px;
  top: -157px;
  border-color: rgb(255 255 255 / 22%);
  border-radius: 68px;
}

.service-card { position: relative; isolation: isolate; overflow: hidden; }
.service-card:first-child::after {
  content: "";
  position: absolute;
  right: -90px;
  top: -125px;
  width: 235px;
  height: 235px;
  border: 1px solid rgb(7 89 187 / 22%);
  border-radius: 50%;
  box-shadow: 0 0 0 24px rgb(7 89 187 / 4%);
  pointer-events: none;
  z-index: -1;
}

.about-section, .reviews-section { position: relative; isolation: isolate; }
.about-section::before, .about-section::after {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  left: -350px;
  bottom: -340px;
  border: 1px solid rgb(7 89 187 / 25%);
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
}
.about-section::after {
  width: 590px;
  height: 590px;
  left: -385px;
  bottom: -375px;
  border-color: rgb(7 89 187 / 16%);
}
.about-image::after {
  content: "";
  position: absolute;
  top: 13px;
  right: 13px;
  width: 95px;
  height: 100px;
  border-top: 1px solid rgb(255 255 255 / 80%);
  border-right: 1px solid rgb(255 255 255 / 80%);
  border-top-right-radius: 13px;
  pointer-events: none;
}

.reviews-section::before {
  content: "";
  position: absolute;
  width: 330px;
  height: 400px;
  top: -240px;
  right: -130px;
  border: 1px solid rgb(7 89 187 / 22%);
  border-radius: 58px;
  transform: rotate(-32deg);
  pointer-events: none;
  z-index: -1;
}

.contact-card { isolation: isolate; }
.contact-card::before {
  border-color: rgb(255 255 255 / 28%);
  z-index: -1;
}
.contact-card::after {
  content: "";
  position: absolute;
  left: -115px;
  bottom: -255px;
  width: 360px;
  height: 340px;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 52px;
  transform: rotate(-22deg);
  pointer-events: none;
  z-index: -1;
}

@media (max-width: 600px) {
  .photo-frame::after { inset: 9px; }
  .service-main::before { right: -155px; top: -140px; }
  .service-main::after { right: -177px; top: -162px; }
  .about-section::before { left: -390px; bottom: -350px; }
  .about-section::after { left: -425px; bottom: -385px; }
  .reviews-section::before { right: -195px; top: -290px; }
  .contact-card::after { left: -235px; bottom: -200px; }
}

/* Additional corner treatments leave the central reading area clear. */
.service-card:last-child::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -115px;
  width: 190px;
  height: 195px;
  border: 1px solid rgb(7 89 187 / 22%);
  border-radius: 32px;
  transform: rotate(28deg);
  pointer-events: none;
  z-index: -1;
}
.review-card { position: relative; isolation: isolate; overflow: hidden; }
.review-card::after {
  content: "";
  position: absolute;
  width: 115px;
  height: 115px;
  right: -63px;
  bottom: -62px;
  border: 1px solid rgb(7 89 187 / 22%);
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
}
.review-card:nth-child(even)::after {
  border-radius: 23px;
  transform: rotate(30deg);
}
.benefit-strip { position: relative; isolation: isolate; overflow: hidden; }
.benefit-strip::before {
  content: "";
  position: absolute;
  width: 200px;
  height: 200px;
  right: -155px;
  top: -75px;
  border: 1px solid rgb(7 89 187 / 23%);
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
}
