.maintenance-page { min-height: 100svh; display: flex; flex-direction: column; }
.maintenance-page #maintenance-main { width: 100%; max-width: none; flex: 1; min-height: calc(100svh - 88px); display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 0; }
.maintenance-top .top-in { padding-bottom: 12px; }
.maintenance-hero { position: relative; min-height: 0; display: flex; flex: 1; flex-direction: column; justify-content: center; overflow: hidden; isolation: isolate; border: 0; background: #070c22; color: #f5f3ff; }
.maintenance-hero > .bgk { z-index: -4; }
.maintenance-hero > .ht { z-index: -3; opacity: .56; }
.maintenance-hero > .floor { z-index: -2; }
.maintenance-hero .hero-frame { display: none; }
.maintenance-content { position: relative; z-index: 2; width: min(1330px,100%); margin: auto; padding: clamp(40px,6vw,88px) clamp(26px,7vw,102px) 92px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(22px,5vw,75px); }
.maintenance-copy { min-width: 0; }
.maintenance-copy .hero-note { max-width: 600px; }
.maintenance-copy .hero-title { font-size: clamp(58px,6vw,90px); }
.maintenance-copy .hero-title span:nth-child(2) { margin-left: .16em; }
.maintenance-message { max-width: 510px; margin: 0; color: #d4def4; font-size: 18px; line-height: 1.55; }
.maintenance-progress { max-width: 410px; margin-top: 23px; }
.maintenance-progress-track { height: 17px; overflow: hidden; border: 2px dashed rgb(245 243 255 / 68%); background: rgb(7 12 34 / 70%); }
.maintenance-progress-track span { display: block; width: 42%; height: 100%; background: repeating-linear-gradient(135deg,var(--b1) 0 9px,#8bb0ff 9px 13px,var(--b1) 13px 20px); animation: maintenance-sweep 2.8s ease-in-out infinite alternate; }
.maintenance-progress > p { margin: 7px 0 0; color: #b9c8e7; font-size: 11px; letter-spacing: .12em; }
.maintenance-progress > p i { color: var(--b2); font-style: normal; }
.maintenance-content .hero-actions { margin-top: 25px; }
.maintenance-content .cta-paper { text-decoration: none; }
.maintenance-content .cta-link { text-decoration: none; }
.maintenance-copy .hero-footnote { margin-top: 20px; }
.maintenance-art { position: relative; min-height: clamp(320px,37vw,465px); display: grid; place-items: center; perspective: 900px; }
.maintenance-art .hero-orbit { width: 81%; aspect-ratio: 1.24; }
.maintenance-art .orbit-b { width: 101%; aspect-ratio: 1.7; }
.maintenance-gear { position: relative; z-index: 2; width: clamp(155px,18vw,225px); aspect-ratio: 1; display: grid; place-items: center; border: 3px dashed #f5f3ff; border-radius: 50%; background: rgb(31 107 255 / 89%); box-shadow: 10px 12px 0 rgb(0 0 0 / 46%); animation: maintenance-turn 24s linear infinite; }
.maintenance-gear span { color: #fff; font-size: clamp(112px,15vw,184px); line-height: 1; text-shadow: 5px 6px 0 rgb(0 0 0 / 28%); }
.maintenance-sticker { position: absolute; z-index: 3; right: 2%; bottom: 12%; padding: 14px 24px; background: #f2f5ff; color: #1f6bff; box-shadow: 7px 8px 0 rgb(0 0 0 / 38%); font-size: 19px; line-height: 1.4; text-align: center; transform: rotate(6deg); }
.maintenance-doodle { position: absolute; z-index: 4; top: 5%; right: 0; width: 145px; overflow: visible; filter: url(#rough2); }
.maintenance-caption { position: absolute; left: 0; bottom: 9%; color: #d4def4; font-size: 21px; transform: rotate(-6deg); }
.maintenance-spark { position: absolute; z-index: 2; color: var(--b2); filter: url(#rough2); }
.spark-one { top: 19%; right: 8%; font-size: 46px; animation: wob 2.6s ease-in-out infinite; }
.spark-two { bottom: 24%; left: 6%; color: #f5f3ff; font-size: 36px; animation: twk 2.4s ease-in-out infinite; }

@keyframes maintenance-sweep {
  from { transform: translateX(-45%); }
  to { transform: translateX(190%); }
}
@keyframes maintenance-turn {
  to { rotate: 360deg; }
}

@media (max-width: 800px) {
  .maintenance-content { grid-template-columns: 1fr .72fr; gap: 18px; padding-right: 35px; padding-left: 35px; }
  .maintenance-copy .hero-title { font-size: clamp(58px,7.2vw,82px); }
  .maintenance-art { min-height: 340px; }
  .maintenance-doodle { width: 105px; }
}
@media (max-width: 600px) {
  .maintenance-page #maintenance-main { min-height: calc(100svh - 88px); }
  .maintenance-top .top-in { padding: 11px 13px 10px; }
  .maintenance-top .brandline { align-items: baseline; }
  .maintenance-top .brandline h1 { font-size: 25px; }
  .maintenance-top .brandline p { font-size: 14px; }
  .maintenance-hero { min-height: 760px; }
  .maintenance-content { grid-template-columns: 1fr; gap: 0; padding: 36px 23px 92px; }
  .maintenance-copy .hero-note { margin: 22px 0 15px; font-size: 20px; }
  .maintenance-copy .hero-title { font-size: clamp(42px,11vw,62px); }
  .maintenance-copy .hero-role { font-size: 23px; }
  .maintenance-message { font-size: 16px; }
  .maintenance-progress { margin-top: 18px; }
  .maintenance-art { min-height: 250px; width: min(370px,94%); margin: 2px auto 0; }
  .maintenance-gear { width: 145px; }
  .maintenance-gear span { font-size: 116px; }
  .maintenance-sticker { right: 1%; bottom: 5%; padding: 9px 16px; font-size: 14px; }
  .maintenance-doodle { width: 90px; }
  .maintenance-caption { bottom: 1%; font-size: 17px; }
  .maintenance-spark { display: none; }
  .maintenance-hero .hero-status { right: 14px; bottom: 16px; left: 14px; gap: 7px; font-size: 8px; }
  .maintenance-content .hero-actions { gap: 13px; margin-top: 19px; }
  .maintenance-content .cta-paper { gap: 10px; font-size: 15px; }
  .maintenance-content .cta-link { font-size: 19px; }
}
@media (max-width: 380px) {
  .maintenance-top .brandline { gap: 6px 10px; }
  .maintenance-top .brandline h1 { font-size: 22px; }
  .maintenance-top .brandline p { font-size: 12px; }
  .maintenance-content { padding-right: 18px; padding-left: 18px; }
  .maintenance-copy .hero-title { font-size: 38px; }
  .maintenance-art { min-height: 225px; }
}
@media (prefers-reduced-motion: reduce) {
  .maintenance-page *, .maintenance-page *::before, .maintenance-page *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
