/* Maintenance hero: headline + turning-gear 3D scene. */
.jp-maint-hero{position:relative;color:#fff;padding:140px 0 120px;overflow:hidden;background:radial-gradient(55% 70% at 75% 45%,rgba(67,186,255,.75),rgba(67,186,255,0) 70%),linear-gradient(160deg,#0b5d8f 0%,#08466c 60%,#06324d 100%)}
.jp-maint-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;-webkit-mask-image:radial-gradient(80% 80% at 60% 40%,#000,transparent);mask-image:radial-gradient(80% 80% at 60% 40%,#000,transparent)}
.jp-maint-hero .hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center}
.jp-maint-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 10px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;border:2px solid rgba(255,255,255,.18)}
.jp-maint-hero .eyebrow svg{width:16px;height:16px;fill:none;stroke:var(--sun);stroke-width:3;stroke-linecap:round;animation:jp-maint-hero-turn 3s linear infinite}
.jp-maint-hero .mt-h1{font-family:var(--jp-display);font-weight:800;color:#fff;font-size:clamp(42px,6vw,90px);line-height:.92;letter-spacing:-.045em;margin:24px 0 26px}
.jp-maint-hero .mt-h1 .hl{display:inline-block;background:var(--sun);color:var(--ink);padding:0 .14em .06em;border-radius:.16em;box-shadow:.06em .06em 0 var(--ink);transform:rotate(-2deg);margin-top:.08em}
.jp-maint-hero .lead{font-size:clamp(16px,1.5vw,19px);max-width:34em;color:#e9f6ff;margin-bottom:34px}
.jp-maint-hero .acts{display:flex;flex-wrap:wrap;gap:16px}
.jp-maint-hero .btn{white-space:normal;text-align:left}
.jp-maint-hero .facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.jp-maint-hero .facts li{background:rgba(28,29,30,.55);border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:8px 12px;font-size:14px;font-weight:600;color:#fff}
.jp-maint-hero .facts b{color:var(--sun)}

.jp-maint-hero .mt-scene{width:min(540px,100%)}
.jp-maint-hero .mt-scene .stage{transform:rotateX(calc(14deg + var(--rx,0deg))) rotateY(calc(-16deg + var(--ry,0deg)))}
.jp-maint-hero .spin{width:100%;height:100%;transform-style:preserve-3d;animation:jp-maint-hero-turn var(--t,16s) linear infinite;animation-direction:var(--dir,normal)}
@keyframes jp-maint-hero-turn{to{transform:rotate(360deg)}}
.jp-maint-hero .refresh{position:absolute;left:6%;top:6%;width:88%;height:88%;transform:translateZ(-40px);animation:jp-maint-hero-rot 22s linear infinite reverse}
@keyframes jp-maint-hero-rot{to{rotate:360deg}}
.jp-maint-hero .refresh path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:5;stroke-linecap:round;stroke-dasharray:6 14}
.jp-maint-hero .refresh .head{fill:var(--sun);stroke:var(--ink);stroke-width:2;stroke-dasharray:none}
.jp-maint-hero .tagpop{position:absolute;transform:translateZ(var(--z));background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);font:700 14px/1 var(--jp-display);padding:10px 12px;white-space:nowrap;animation:jp-float var(--d,4s) ease-in-out infinite alternate}
.jp-maint-hero .tagpop i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2fbf71;margin-right:7px;border:2px solid var(--ink);vertical-align:-1px}

.jp-maint-hero.off *{animation-play-state:paused!important}

@media (max-width:980px){
  .jp-maint-hero .hero-grid{grid-template-columns:minmax(0,1fr)}
  .jp-maint-hero .mt-scene{width:min(420px,100%)}
}
@media (max-width:560px){
  .jp-maint-hero{padding:120px 0 90px}
}
