/* Editorial artwork for the introduction to each service. */
.page-hero--visual{isolation:isolate;min-height:620px;padding-top:44px;padding-bottom:68px}
.page-hero-copy{position:relative;z-index:2;max-width:68%}
.page-hero--visual h1{font-size:clamp(52px,5.9vw,80px);line-height:1.09;max-width:820px;text-wrap:balance}
.page-hero--visual .page-lede{max-width:665px;color:#c5c5cd;text-shadow:0 2px 24px #08090c}
.page-hero--visual .page-actions{gap:16px 22px}
.page-hero--visual .page-actions .text-link{margin-top:0}
.page-hero--visual .doc-demo-note{max-width:630px;background:#101115d9}
.page-hero-visual{position:absolute;z-index:1;inset:0 -12px 0 25%;pointer-events:none}
.page-hero-art{position:absolute;inset:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 51%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 51%,#000 100%)}
.page-hero-art::after{content:'';position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,var(--bg) 0%,transparent 14%,transparent 70%,var(--bg) 100%);pointer-events:none}
.page-hero-art picture{display:block;width:100%;height:100%;transform:scale(1.045);animation:page-art-drift 22s ease-in-out infinite alternate;animation-play-state:paused}
.page-hero-art img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:62% center}
.page-hero--rogue .page-hero-art img{object-position:65% 45%}
.page-hero--gate .page-hero-art img{object-position:60% 48%}
.page-hero--signal .page-hero-art img{object-position:62% center}
.page-hero-scan{position:absolute;inset:-28% 0 auto;height:26%;z-index:2;opacity:0;background:linear-gradient(180deg,transparent 84%,#ff516a13 98%,#ff8b9b40 99%,transparent 100%);animation:page-art-scan 17s linear infinite;animation-play-state:paused}
.page-hero-grain{position:absolute;inset:0;z-index:2;opacity:.075;background:repeating-linear-gradient(0deg,transparent 0 3px,#08090c 3px 4px);pointer-events:none}
.page-hero--visual.is-motion-active .page-hero-art picture,.page-hero--visual.is-motion-active .page-hero-scan{animation-play-state:running}
.page-hero--visual.is-signal-break .page-hero-art img{animation:page-art-interference .36s steps(1,end) both}
@keyframes page-art-drift{from{transform:scale(1.045) translate3d(0,0,0)}to{transform:scale(1.065) translate3d(-5px,-3px,0)}}
@keyframes page-art-scan{0%,8%{transform:translateY(0);opacity:0}18%{opacity:.5}74%{opacity:.5}90%,100%{transform:translateY(520%);opacity:0}}
@keyframes page-art-interference{0%,100%{transform:translateX(0)}20%{transform:translateX(-3px)}48%{transform:translateX(2px)}76%{transform:translateX(0)}}
@media(min-width:1600px){.page-hero--visual{min-height:660px}.page-hero-visual{right:-52px;left:24%}}
@media(max-width:1100px) and (min-width:761px){
  .page-hero--visual{min-height:580px;padding-top:38px;padding-bottom:56px}
  .page-hero-copy{max-width:74%}
  .page-hero--visual h1{font-size:clamp(49px,6.6vw,68px)}
  .page-hero--visual .page-lede{max-width:550px;font-size:17px}
  .page-hero-visual{left:25%;right:0}
  .page-hero-art{mask-image:linear-gradient(90deg,transparent 0%,#000 68%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 68%,#000 100%)}
}
@media(max-width:760px){
  .page-hero--visual{display:flex;flex-direction:column;min-height:0;padding-top:24px;padding-bottom:38px}
  .page-hero-copy{display:contents}
  .page-hero--visual .page-breadcrumb{order:-2;margin-bottom:18px}
  .page-hero-visual{position:relative;inset:auto;order:-1;height:310px;width:100%;margin-bottom:27px}
  .page-hero-art{mask-image:linear-gradient(180deg,#000 0%,#000 80%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 80%,transparent 100%)}
  .page-hero-art::after{background:linear-gradient(180deg,var(--bg) 0%,transparent 11%,transparent 78%,var(--bg) 100%)}
  .page-hero-art img,.page-hero--rogue .page-hero-art img,.page-hero--gate .page-hero-art img,.page-hero--signal .page-hero-art img{object-position:center 45%}
  .page-hero--visual .eyebrow{margin-bottom:16px}
  .page-hero--visual h1{font-size:clamp(41px,7.4vw,56px);line-height:1.1;margin-bottom:23px;text-wrap:initial}
  .page-hero--visual .page-lede{max-width:650px;font-size:17px;text-shadow:none}
  .page-hero--visual .page-actions{gap:14px 20px;margin-top:25px}
  .page-hero--visual .doc-demo-note{max-width:none}
}
@media(max-width:480px){
  .page-hero--visual{padding-top:21px;padding-bottom:32px}
  .page-hero-visual{height:250px;margin-bottom:23px}
  .page-hero--visual h1{font-size:clamp(36px,9.8vw,43px)}
  .page-hero--visual .page-lede{font-size:16px;line-height:1.7}
  .page-hero--visual .page-actions{align-items:stretch;flex-direction:column}
  .page-hero--visual .page-actions .text-link{align-self:flex-start;font-size:13px;gap:16px}
}
@media(prefers-reduced-motion:reduce){
  .page-hero-art picture,.page-hero-art img,.page-hero-scan{animation:none!important;transform:none!important}
  .page-hero-scan{display:none!important}
}
@media print{
  .page-hero--visual{display:block;min-height:0;padding:0 0 22px}
  .page-hero-copy{display:block;max-width:none;pointer-events:auto}
  .page-hero-visual{display:none!important}
  .page-hero--visual h1{font-size:27pt;line-height:1.1;text-shadow:none}
  .page-hero--visual .page-lede{font-size:10pt;max-width:none;color:#444;text-shadow:none}
  .page-hero--visual .doc-demo-note{max-width:none;background:#f4f4f4}
}
