/* Shared hero typography, based on the company introduction. */
body .company-hero h1,body .ap-hero h1,body .hp-intro h1,body .apz-hero h1,body .wz-hero h1{
 font-size:clamp(40px,4.7vw,70px);line-height:1.19;letter-spacing:-.06em;font-weight:800;word-break:keep-all;overflow-wrap:normal
}
body .ap-hero{padding-top:94px;aspect-ratio:auto;min-height:650px}
body .ap-hero .ap-hero-image-platform{
 width:80%;height:auto;margin-left:auto;object-fit:contain;filter:none;
 -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 8%,#000 26%),linear-gradient(to bottom,transparent 0%,#000 18%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 8%,#000 26%),linear-gradient(to bottom,transparent 0%,#000 18%);
 mask-composite:intersect
}
body .ap-hero .ap-hero-copy{left:5%;width:35%;max-width:none;top:52%;transform:translateY(-43%);padding:0}
body .ap-hero .ap-hero-copy>p:not(.ap-kicker){font-size:18px}
@media(max-width:960px){
 body .ap-hero{padding-top:0;min-height:0}
 body .ap-hero .ap-hero-copy{position:relative;left:auto;top:auto;transform:none;width:calc(100% - 40px);margin:0 auto;padding:125px 0 30px}
 body .ap-hero .ap-hero-image-platform{
  width:100%;margin:0;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 16%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 16%);
  -webkit-mask-composite:source-over;mask-composite:add
 }
}
@media(max-width:720px){
 body .company-hero h1,body .ap-hero h1,body .hp-intro h1,body .apz-hero h1,body .wz-hero h1{font-size:clamp(34px,9.7vw,40px);line-height:1.24;letter-spacing:-.06em}
 body .ap-hero .ap-hero-copy>p:not(.ap-kicker){font-size:16px}
}
