.pezy-el-visual {
  overflow: clip;
  padding: clamp(48px, 7vw, 112px) 0;
}
.pezy-visual__inner { margin: 0 auto; max-width: min(1440px, calc(100% - 64px)); }
.pezy-visual__head { max-width: 780px; margin: 0 0 clamp(24px, 3vw, 40px); }
.pezy-visual__kicker { color: #00a6e4; font-weight: 700; letter-spacing: .08em; margin: 0 0 10px; text-transform: uppercase; }
.pezy-visual__head h2 { color: #002b3a; font-size: clamp(30px, 3.5vw, 54px); line-height: 1.04; margin: 0; }
.pezy-visual__intro { color: #385461; font-size: clamp(17px, 1.4vw, 21px); line-height: 1.55; margin: 18px 0 0; }
.pezy-visual__frame { margin: 0 auto; max-width: 100%; transition: max-width 900ms cubic-bezier(.2,.75,.2,1), opacity 650ms ease; }
.pezy-visual__image { display: block; height: auto; width: 100%; }
.pezy-visual__frame figcaption { color: #526c76; font-size: 14px; margin-top: 12px; }
.pezy-el-visual.has-scroll-reveal .pezy-visual__frame { max-width: 86%; opacity: .82; }
.pezy-el-visual.has-scroll-reveal.is-revealed .pezy-visual__frame { max-width: 100%; opacity: 1; }
@media (max-width: 767px) {
  .pezy-visual__inner { max-width: calc(100% - 32px); }
  .pezy-el-visual.has-scroll-reveal .pezy-visual__frame { max-width: 100%; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .pezy-visual__frame { transition: none; }
  .pezy-el-visual.has-scroll-reveal .pezy-visual__frame { max-width: 100%; opacity: 1; }
}

/* Shared mobile page edge: 10px per side. */
@media screen and (max-width:767px){
.pezy-visual__inner{max-width:calc(100% - 2 * max(0px, 10px - (100vw - 100%) / 2))}
}
