.about-visual {
  box-sizing: border-box;
  padding-top: 30px;
  padding-bottom: 30px;
}

.about-visual-inner {
  position: relative;
  width: 100%;
  height: 100%;
}

@media (min-width: 1101px) {
  .services-transition + .intro { grid-template-columns: minmax(0, 4fr) minmax(0, 1fr); gap: 40px; }
  .about-visual { min-height: 500px; height: 500px; }
  .about-visual-inner { position: absolute; top: 50%; left: 50%; width: 500px; height: 500px; transform: translate(-50%, -50%) scale(.8); transform-origin: center center; }
  .about-photo { width: 400px; height: 470px; border-radius: 32px; }
  .about-card { right: -55px; bottom: 0; width: 480px; padding: 26px 28px; border-radius: 19px; }
  .about-card > p { margin-bottom: 10px; }
  .about-card h3 { font-size: 21px; }
  .about-card > i { margin: 15px 0; }
  .about-card > div { font-size: 13px; line-height: 1.75; }
  .about-card footer { margin-top: 16px; padding-top: 15px; }
}

@media (min-width: 651px) and (max-width: 1100px) {
  .about-visual { min-height: 620px; height: 620px; }
  .about-visual-inner { position: absolute; inset: 0; height: 620px; transform: scale(.9032); transform-origin: center center; }
  .about-photo { width: 460px; height: 570px; }
  .about-card { width: 500px; right: -40px; bottom: 0; padding: 30px; }
}

@media (max-width: 650px) {
  .about-visual { padding-top: 30px; padding-bottom: 30px; }
}
