/* Photo-led refinements; the original copy, sections and diagnosis path remain. */
.phone-preview {
  position: absolute;
  z-index: 2;
  top: 56px;
  left: 42%;
  width: min(58%, 380px);
  margin: 0;
  transform: translateX(-54%);
  filter:
    drop-shadow(0 18px 28px rgba(8, 43, 84, .22)) drop-shadow(0 4px 10px rgba(8, 43, 84, .14));
}

.phone-preview img {
  width: 100%;
  height: auto;
  display: block;
  clip-path: polygon(30.939% 6.492%, 26.335% 7.044%, 24.770% 7.597%, 23.757% 8.149%, 23.020% 8.702%, 22.376% 9.254%, 21.915% 9.807%, 21.547% 10.359%, 21.363% 10.912%, 21.087% 11.464%, 20.994% 12.017%, 20.810% 12.569%, 20.810% 13.122%, 20.718% 13.674%, 20.718% 14.227%, 20.718% 14.779%, 20.718% 15.331%, 20.718% 15.884%, 20.718% 16.436%, 20.718% 16.989%, 20.718% 17.541%, 20.718% 18.094%, 20.718% 18.646%, 20.718% 19.199%, 20.718% 19.751%, 20.534% 20.304%, 20.534% 20.856%, 20.534% 21.409%, 20.534% 21.961%, 20.534% 22.514%, 20.442% 23.066%, 20.718% 23.619%, 20.718% 24.171%, 20.718% 24.724%, 20.718% 25.276%, 20.718% 25.829%, 20.350% 26.381%, 20.534% 26.934%, 20.534% 27.486%, 20.350% 28.039%, 20.350% 28.591%, 20.350% 29.144%, 20.350% 29.696%, 20.350% 30.249%, 20.350% 30.801%, 20.350% 31.354%, 20.350% 31.906%, 20.718% 32.459%, 20.718% 33.011%, 20.718% 33.564%, 20.442% 34.116%, 20.350% 34.669%, 20.350% 35.221%, 20.350% 35.773%, 20.350% 36.326%, 20.350% 36.878%, 20.350% 37.431%, 20.350% 37.983%, 20.350% 38.536%, 20.350% 39.088%, 20.350% 39.641%, 20.350% 40.193%, 20.718% 40.746%, 20.718% 41.298%, 20.718% 41.851%, 20.718% 42.403%, 20.718% 42.956%, 20.718% 43.508%, 20.718% 44.061%, 20.718% 44.613%, 20.718% 45.166%, 20.718% 45.718%, 20.718% 46.271%, 20.718% 46.823%, 20.718% 47.376%, 20.718% 47.928%, 20.718% 48.481%, 20.718% 49.033%, 20.718% 49.586%, 20.718% 50.138%, 20.718% 50.691%, 20.718% 51.243%, 20.718% 51.796%, 20.718% 52.348%, 20.718% 52.901%, 20.718% 53.453%, 20.718% 54.006%, 20.718% 54.558%, 20.718% 55.110%, 20.718% 55.663%, 20.718% 56.215%, 20.718% 56.768%, 20.718% 57.320%, 20.718% 57.873%, 20.718% 58.425%, 20.718% 58.978%, 20.718% 59.530%, 20.718% 60.083%, 20.718% 60.635%, 20.718% 61.188%, 20.718% 61.740%, 20.718% 62.293%, 20.718% 62.845%, 20.718% 63.398%, 20.718% 63.950%, 20.718% 64.503%, 20.718% 65.055%, 20.718% 65.608%, 20.718% 66.160%, 20.718% 66.713%, 20.718% 67.265%, 20.718% 67.818%, 20.718% 68.370%, 20.718% 68.923%, 20.718% 69.475%, 20.718% 70.028%, 20.718% 70.580%, 20.718% 71.133%, 20.718% 71.685%, 20.718% 72.238%, 20.718% 72.790%, 20.718% 73.343%, 20.718% 73.895%, 20.718% 74.448%, 20.718% 75.000%, 20.718% 75.552%, 20.718% 76.105%, 20.718% 76.657%, 20.718% 77.210%, 20.718% 77.762%, 20.718% 78.315%, 20.718% 78.867%, 20.718% 79.420%, 20.718% 79.972%, 20.718% 80.525%, 20.718% 81.077%, 20.718% 81.630%, 20.718% 82.182%, 20.718% 82.735%, 20.718% 83.287%, 20.718% 83.840%, 20.718% 84.392%, 20.718% 84.945%, 20.718% 85.497%, 20.718% 86.050%, 20.718% 86.602%, 20.718% 87.155%, 20.810% 87.707%, 20.902% 88.260%, 20.994% 88.812%, 21.087% 89.365%, 21.363% 89.917%, 21.639% 90.470%, 22.007% 91.022%, 22.468% 91.575%, 23.020% 92.127%, 23.757% 92.680%, 24.862% 93.232%, 26.335% 93.785%, 29.650% 94.268%, 70.166% 94.268%, 73.389% 93.785%, 74.954% 93.232%, 75.967% 92.680%, 76.703% 92.127%, 77.256% 91.575%, 77.716% 91.022%, 78.085% 90.470%, 78.361% 89.917%, 78.545% 89.365%, 78.729% 88.812%, 78.821% 88.260%, 78.913% 87.707%, 78.913% 87.155%, 78.913% 86.602%, 78.913% 86.050%, 78.913% 85.497%, 78.913% 84.945%, 78.913% 84.392%, 78.913% 83.840%, 78.913% 83.287%, 78.913% 82.735%, 78.913% 82.182%, 78.913% 81.630%, 78.913% 81.077%, 78.913% 80.525%, 78.913% 79.972%, 78.913% 79.420%, 78.913% 78.867%, 78.913% 78.315%, 78.913% 77.762%, 78.913% 77.210%, 78.913% 76.657%, 78.913% 76.105%, 78.913% 75.552%, 78.913% 75.000%, 78.913% 74.448%, 78.913% 73.895%, 78.913% 73.343%, 78.913% 72.790%, 78.913% 72.238%, 78.913% 71.685%, 78.913% 71.133%, 78.913% 70.580%, 78.913% 70.028%, 78.913% 69.475%, 78.913% 68.923%, 78.913% 68.370%, 78.913% 67.818%, 78.913% 67.265%, 78.913% 66.713%, 78.913% 66.160%, 78.913% 65.608%, 78.913% 65.055%, 78.913% 64.503%, 78.913% 63.950%, 78.913% 63.398%, 78.913% 62.845%, 78.913% 62.293%, 78.913% 61.740%, 78.913% 61.188%, 78.913% 60.635%, 78.913% 60.083%, 78.913% 59.530%, 78.913% 58.978%, 78.913% 58.425%, 78.913% 57.873%, 78.913% 57.320%, 78.913% 56.768%, 78.913% 56.215%, 78.913% 55.663%, 78.913% 55.110%, 78.913% 54.558%, 78.913% 54.006%, 78.913% 53.453%, 78.913% 52.901%, 78.913% 52.348%, 78.913% 51.796%, 78.913% 51.243%, 78.913% 50.691%, 78.913% 50.138%, 78.913% 49.586%, 78.913% 49.033%, 78.913% 48.481%, 78.913% 47.928%, 78.913% 47.376%, 78.913% 46.823%, 78.913% 46.271%, 78.913% 45.718%, 78.913% 45.166%, 78.913% 44.613%, 78.913% 44.061%, 78.913% 43.508%, 78.913% 42.956%, 78.913% 42.403%, 78.913% 41.851%, 78.913% 41.298%, 78.913% 40.746%, 78.913% 40.193%, 78.913% 39.641%, 78.913% 39.088%, 79.006% 38.536%, 79.282% 37.983%, 79.374% 37.431%, 79.374% 36.878%, 79.374% 36.326%, 79.374% 35.773%, 79.374% 35.221%, 79.374% 34.669%, 79.374% 34.116%, 79.374% 33.564%, 79.374% 33.011%, 79.374% 32.459%, 79.374% 31.906%, 79.374% 31.354%, 79.374% 30.801%, 79.374% 30.249%, 79.374% 29.696%, 79.374% 29.144%, 79.374% 28.591%, 79.006% 28.039%, 78.913% 27.486%, 78.913% 26.934%, 78.913% 26.381%, 78.913% 25.829%, 78.913% 25.276%, 78.913% 24.724%, 78.913% 24.171%, 78.913% 23.619%, 78.913% 23.066%, 78.913% 22.514%, 78.913% 21.961%, 78.913% 21.409%, 78.913% 20.856%, 78.913% 20.304%, 78.913% 19.751%, 79.006% 19.199%, 78.913% 18.646%, 78.913% 18.094%, 78.913% 17.541%, 78.913% 16.989%, 78.913% 16.436%, 79.006% 15.884%, 78.913% 15.331%, 78.913% 14.779%, 78.913% 14.227%, 78.913% 13.674%, 78.913% 13.122%, 78.821% 12.569%, 78.729% 12.017%, 78.545% 11.464%, 78.361% 10.912%, 78.085% 10.359%, 77.716% 9.807%, 77.256% 9.254%, 76.703% 8.702%, 75.967% 8.149%, 74.862% 7.597%, 73.389% 7.044%, 69.061% 6.492%);
}

.phone-preview figcaption {
  margin-top: 10px;
  text-align: center;
  font-size: .75rem;
  color: var(--muted);
  background: #fffffff0;
  border-radius: 20px;
  padding: 4px 10px;
}

.hero-visual .visual-caption {
  bottom: 28px;
  right: 28px;
  max-width: 17.5rem;
  padding: 14px 18px;
  border-radius: 4px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 10px 28px rgba(8, 43, 84, .12);
  color: var(--navy);
  font-size: .84rem;
  font-weight: 650;
  letter-spacing: .04em;
  line-height: 1.75;
  backdrop-filter: blur(8px);
}

.service .section-heading {
  align-self: start;
}

.service-photo {
  margin: 30px 0 0;
  border-radius: 14px;
  overflow: hidden;
}

.service-photo img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.service .steps {
  align-self: center;
}

.items-photo {
  margin: 0 0 16px;
  border-radius: 14px;
  overflow: hidden;
  background: #edf4f8;
}

.items-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.items .item-grid {
  border-radius: 0 0 12px 12px;
}

@media (max-width: 760px) {
  .hero-visual {
    height: 545px;
    margin-top: 0;
    overflow: hidden;
  }

  .hero-visual>img {
    object-position: center;
  }

  .phone-preview {
    top: 18px;
    left: 50%;
    width: min(68%, 268px);
    transform: translateX(-50%);
    filter:
      drop-shadow(0 14px 22px rgba(8, 43, 84, .2)) drop-shadow(0 3px 8px rgba(8, 43, 84, .12));
  }

  .hero-visual .visual-caption {
    left: 18px;
    right: auto;
    bottom: 16px;
    max-width: 15.5rem;
    padding: 10px 14px;
    font-size: .78rem;
  }

  .service-photo {
    margin-top: 25px;
  }

  .service .steps {
    margin-top: 30px;
  }

  .items-photo {
    margin-left: -8px;
    margin-right: -8px;
    border-radius: 10px;
  }
}

@media screen and (max-width: 480px) {
  .hero-visual .visual-caption {
    left: 0;
    right: 0;
    margin: auto;
    bottom: 18%;
    max-width: min(88%, 300px);
    text-align: center;
    font-size: .8rem;
  }
}

@media (max-width: 360px) {
  .hero-visual {
    height: 490px;
  }

  .phone-preview {
    width: 240px;
    max-width: 78%;
  }

  .hero-visual .visual-caption {
    font-size: .75rem;
  }
}