/* Shared motion rhythm and restrained neon treatments. */
:root {
  --motion-feedback: 180ms;
  --motion-enter: 450ms;
  --motion-data: 900ms;
}
.home-page { --dim: #b6afc8; }
.home-page section[id] { scroll-margin-top:var(--home-nav-height,110px); }
.home-page .hero-tags,.home-page .wpn-slot,.home-page .wpn-stat-label,
.home-page .footer-copy,.home-page .price-note,.case-page .tag { color: #b6afc8; }
.home-page .hero-body,.home-page .wpn-desc,.home-page .about-text,
.home-page .faq-a,.profile-page .summary,.profile-page .pixel-panel p,
.profile-page .pixel-panel li,.case-page .summary,.case-page .insight p { text-shadow: none; }
.home-page::after,.case-page::after { opacity: .45; }
.profile-page { --muted: #c1b9d5; }
.profile-page::before { opacity: .18; }
.profile-page::after { opacity: .55; }
.profile-page .scanline { opacity: .08; }
.profile-page footer { color: #b6afc8; }
.home-page .hero-sub,.case-page .subtitle { text-shadow: 0 0 8px #00ffff55; }
.home-page .btn:focus-visible,.home-page .nav-cta:focus-visible,
.button:focus-visible,.btn:focus-visible,.nav-link:focus-visible {
  outline: 2px solid #ffff00;
  outline-offset: 5px;
}
.btn:active,.button:active,.pl-float-cta:active { translate: 0 2px; }
.btn,.button,.pl-float-cta { touch-action: manipulation; }
.button:active:disabled { translate: none; }
body:has(#contactModal[style*="display: block"]) .pl-float-cta,
body:has(.calendly-overlay) .pl-float-cta,
body:has(.pl-consent:not([hidden])) .pl-float-cta,
.pl-float-cta[data-obscured="true"] { display: none; }
.game-page #gameCanvas { touch-action: none; }
.game-page .run-controls { display:flex;justify-content:flex-end;padding:12px; }
.game-page #pauseButton:disabled { opacity:.5;cursor:default; }
.game-page #pausePanel[hidden] { display:none; }
@media (max-width:680px) {
  .pl-float-cta { left:76px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px;justify-content:center; }
  .sticky-cta { bottom:calc(12px + env(safe-area-inset-bottom)); }
  body.pl-editing .pl-float-cta,body.pl-editing .sticky-cta { display:none; }
  footer,.footer { padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
  .game-page #pausePanel:not([hidden]) { position:relative;inset:auto;padding:18px 12px; }
}
/* Essential user-started gameplay remains available. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .reveal.reveal-pending { opacity: 1; translate: none; }
}
