@import url('./nightshift.css');
/* MoxiVPS-specific content layouts; base tokens and components are Nightshift. */
.vps-logo { height: 38px; width: auto; max-width: min(210px, 44vw); object-fit: contain; }
.vps-logo--light { display: none; }
:root[data-theme="light"] .vps-logo--dark { display: none; }
:root[data-theme="light"] .vps-logo--light { display: block; }
.site-header::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: min(180px, 24vw);
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, var(--ns-accent), transparent);
  animation: vps-hero-sweep 7s linear infinite;
}
/* Match the slow telemetry light pass in the MoxiServers Nightshift hero. */
.ns-hero__field::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: min(240px, 22vw);
  background: linear-gradient(90deg, transparent, rgba(62, 201, 221, 0.2) 50%, transparent);
  pointer-events: none;
  animation: vps-hero-sweep 7s linear infinite;
}
@keyframes vps-hero-sweep {
  from { transform: translateX(-240px); }
  to { transform: translateX(calc(100vw + 240px)); }
}
.vps-console { min-height: 390px; overflow: hidden; padding: 0; }
.vps-dashboard-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.7rem; height: 2.7rem; color: var(--ns-accent); border: 1px solid var(--ns-accent-line); background: var(--ns-accent-soft); }
.vps-dashboard-icon svg { width: 1.45rem; height: 1.45rem; }
.vps-console__top,.vps-console__bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; font: .68rem var(--ns-mono); letter-spacing:.09em; color:var(--ns-ink-2); text-transform:uppercase; border-bottom:1px solid var(--ns-line); }
.vps-console__top .ns-dot { margin-right:auto; }
.vps-console__bottom { border-top:1px solid var(--ns-line); border-bottom:0; }
.vps-console__body { min-height:290px; display:grid; place-items:center; position:relative; background:radial-gradient(circle at 50% 48%,var(--ns-accent-soft),transparent 57%); }
.vps-console__orbit { position:relative; width:min(260px,65vw); aspect-ratio:1; display:grid; place-items:center; }
.vps-console__orbit span { position:absolute; border:1px solid var(--ns-line-2); border-radius:50%; width:100%; height:100%; }
.vps-console__orbit span:nth-child(2) { width:72%; height:72%; border-style:dashed; animation:ns-spin 48s linear infinite; }
.vps-console__orbit span:nth-child(3) { width:43%; height:43%; border-color:var(--ns-accent-line); }
.vps-console__orbit i { width:16px; height:16px; background:var(--ns-accent); transform:rotate(45deg); box-shadow:0 0 0 10px var(--ns-accent-soft); }
.vps-console__readout { position:absolute; inset:auto 1rem 1rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem; font:.62rem var(--ns-mono); color:var(--ns-ink-2); letter-spacing:.03em; }
.vps-index { color:var(--ns-accent); font:.7rem var(--ns-mono); letter-spacing:.08em; }
.ns-feature { grid-template-columns:2.5rem minmax(0,1fr); }
.ns-feature .ns-feature__body { grid-column:2; }
.vps-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ns-line); border-left:1px solid var(--ns-line); }
.vps-dashboard-item { display:grid; align-content:start; gap:.75rem; padding:clamp(1.4rem,3vw,2.25rem); border-right:1px solid var(--ns-line); border-bottom:1px solid var(--ns-line); }
.vps-dashboard-item h3,.vps-faq-item h3,.vps-prose-rows h3,.vps-infra-intro h3 { font-size:1.1rem; font-weight:600; line-height:1.3; color:var(--ns-ink); }
.vps-dashboard-item p,.vps-faq-item p { color:var(--ns-ink-2); max-width:55ch; }
.vps-plan-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:center; gap:0; font:.72rem var(--ns-mono); border-inline:1px solid var(--ns-line); }
.vps-plan-specs li { border-bottom:1px solid var(--ns-line); padding:.55rem 1rem; color:var(--ns-ink-2); }
.vps-plan-specs li::before { content:'+'; color:var(--ns-accent); margin-right:.5rem; }
.vps-plan-specs li:last-child { border-bottom:0; }
.vps-included { margin-top:1.5rem; padding:1.3rem; border:1px solid var(--ns-line); color:var(--ns-ink-2); font:.76rem/1.8 var(--ns-mono); }
.vps-subtitle { color:var(--ns-accent); display:block; font:.75rem var(--ns-mono); margin-top:.45rem; }
.vps-faq-list { border-top:1px solid var(--ns-line); }
.vps-faq-item { display:grid; grid-template-columns:2.5rem minmax(0,1fr); gap:.55rem 1rem; padding:1.55rem 0; border-bottom:1px solid var(--ns-line); }
.vps-faq-item p { grid-column:2; }
.vps-page-hero { border-bottom:1px solid var(--ns-line); padding:clamp(5rem,11vw,9rem) 0; background:var(--ns-bg-alt); }
.vps-page-hero h1 { font:500 clamp(2.5rem,7vw,5rem)/1.05 var(--ns-mono); letter-spacing:-.045em; margin:1.2rem 0; }
.vps-page-hero p:last-child { color:var(--ns-ink-2); font-size:1.1rem; max-width:60ch; }
.vps-story-grid,.vps-infra-intro,.vps-contact-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(2rem,6vw,5rem); }
.vps-prose { display:grid; gap:1rem; }
.vps-stat-panel { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--ns-line); border-left:1px solid var(--ns-line); }
.vps-stat { display:grid; padding:1.7rem; gap:.5rem; border-right:1px solid var(--ns-line); border-bottom:1px solid var(--ns-line); }
.vps-stat strong { font:1.65rem var(--ns-num); color:var(--ns-accent); }
.vps-stat span { font:.72rem var(--ns-mono); color:var(--ns-ink-2); text-transform:uppercase; }
.vps-infra-intro { margin-bottom:3rem; }
.vps-infra-art,.vps-contact-aside { min-height:330px; display:grid; place-items:center; border:1px solid var(--ns-line); background:var(--ns-panel); position:relative; }
.vps-infra-intro h3 { margin-bottom:1.2rem; }
.vps-prose-rows { border-top:1px solid var(--ns-line); }
.vps-prose-rows article { display:grid; grid-template-columns:minmax(180px,.7fr) 1.3fr; gap:2rem; padding:2rem 0; border-bottom:1px solid var(--ns-line); }
.vps-team-prose { max-width:80ch; }
.vps-team-prose .ns-body + .ns-body { margin-top:1rem; }
.vps-contact-aside { min-height:560px; overflow:hidden; }
.vps-contact-aside>.vps-index { position:absolute; top:1.5rem; left:1.5rem; }
.ns-form { min-width:0; }
@media(max-width:899px) { .vps-logo { height:31px; } .vps-contact-grid,.vps-story-grid,.vps-infra-intro { grid-template-columns:1fr; } .vps-contact-aside { min-height:240px; } .vps-contact-aside .vps-console__orbit { width:170px; } .vps-plan-specs { border:0; border-top:1px solid var(--ns-line); } }
@media(max-width:600px) { .vps-dashboard-grid,.vps-plan-specs { grid-template-columns:1fr; } .vps-faq-item { grid-template-columns:2rem minmax(0,1fr); } .vps-prose-rows article { grid-template-columns:1fr; gap:.7rem; } .vps-console__readout { font-size:.54rem; } .vps-console__bottom { font-size:.55rem; } }
