/* Motion layer: progressive enhancement, no external runtime required. */
body:not(.dashboard-body) {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}
body:not(.dashboard-body) > main { flex: 1 0 auto; }
body:not(.dashboard-body) > .footer { flex-shrink: 0; }

.motion-orbs {
  position: fixed;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.motion-orbs i {
  position: absolute;
  border-radius: 50%;
  opacity: .18;
  filter: blur(2px);
  background: radial-gradient(circle, rgba(200,255,77,.42), rgba(41,105,82,.05) 58%, transparent 72%);
  animation: ambient-levitate 14s ease-in-out infinite alternate;
}
.motion-orbs i:nth-child(1) { top: 12%; left: -7%; width: 280px; height: 280px; }
.motion-orbs i:nth-child(2) { top: 47%; right: -9%; width: 360px; height: 360px; animation-delay: -6s; }
.motion-orbs i:nth-child(3) { bottom: -9%; left: 36%; width: 240px; height: 240px; animation-delay: -10s; }
@keyframes ambient-levitate {
  to { opacity: .28; transform: translate3d(38px,-52px,0) scale(1.12); }
}

.hero-media img,
.closing-image img,
.auth-visual img {
  transform: translate3d(var(--image-x,0),var(--image-y,0),0) scale(var(--image-scale,1.035));
  transform-origin: center;
  transition: transform 1.2s cubic-bezier(.16,.72,.2,1), filter .8s ease;
  will-change: transform;
}
.hero:hover .hero-media img,
.closing:hover .closing-image img { --image-scale: 1.07; filter: saturate(1.08) contrast(1.04); }

.motion-tilt {
  --motion-rx: 0deg;
  --motion-ry: 0deg;
  --motion-lift: 0px;
  transform: perspective(1000px) translate3d(0,var(--motion-lift),0) rotateX(var(--motion-rx)) rotateY(var(--motion-ry)) !important;
  transform-style: preserve-3d;
  transition: transform .45s cubic-bezier(.19,.75,.22,1), border-color .35s, box-shadow .45s !important;
  will-change: transform;
}
.motion-tilt:hover {
  --motion-lift: -10px;
  border-color: rgba(200,255,77,.42) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.38), 0 0 38px rgba(200,255,77,.09), inset 0 1px rgba(255,255,255,.08) !important;
}
.motion-tilt > * { transform: translateZ(0); }
.motion-tilt:hover > .method-card-head,
.motion-tilt:hover > .standard-card-top,
.motion-tilt:hover > .order-info { transform: translateZ(18px); }

.motion-reveal-left,
.motion-reveal-right,
.motion-reveal-float {
  opacity: 0;
  transition: opacity .9s ease, transform 1s cubic-bezier(.19,.75,.22,1);
}
.motion-reveal-left { transform: translate3d(-42px,22px,0); }
.motion-reveal-right { transform: translate3d(42px,22px,0); }
.motion-reveal-float { transform: translate3d(0,42px,0) scale(.97); }
.motion-reveal-left.motion-in,
.motion-reveal-right.motion-in,
.motion-reveal-float.motion-in { opacity: 1; transform: none; }

.book-object::before { transition: border-color .45s, box-shadow .45s; }
.book-object.motion-tilt:hover::before { border-color: rgba(200,255,77,.48); box-shadow: inset 0 0 35px rgba(200,255,77,.08); }
.book-object.motion-tilt:hover strong { color: #c9ffae; text-shadow: 0 0 22px rgba(200,255,77,.18); }

.standard-card,
.order-card,
.method-card { contain: layout paint; }
.standard-card blockquote,
.method-card-copy,
.order-info { transition: transform .45s cubic-bezier(.19,.75,.22,1); }
.standard-card.motion-tilt:hover blockquote,
.method-card.motion-tilt:hover .method-card-copy { transform: translate3d(0,-4px,24px); }

.footer {
  position: relative;
  z-index: 2;
  box-shadow: 0 -28px 90px rgba(0,0,0,.18);
}
.footer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 10%;
  left: 10%;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(200,255,77,.48),transparent);
  animation: footer-breathe 4s ease-in-out infinite alternate;
}
@keyframes footer-breathe { to { opacity: .25; transform: scaleX(.72); } }

.debug-ribbon {
  position: fixed;
  z-index: 450;
  right: 12px;
  bottom: 12px;
  padding: 7px 10px;
  border: 1px solid rgba(255,190,90,.5);
  border-radius: 99px;
  color: #ffd692;
  background: rgba(26,18,5,.86);
  backdrop-filter: blur(12px);
  font: 700 8px/1 var(--sans);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.diagnostic-page { min-height: 100svh; color: #eff5f1; background: radial-gradient(circle at 80% 5%,rgba(200,255,77,.08),transparent 27%),#05070a; }
.diagnostic-shell { width: min(980px,calc(100vw - 34px)); margin: auto; padding: 70px 0; }
.diagnostic-shell > h1 { max-width: 760px; margin: 14px 0 12px; font-family: var(--serif); font-size: clamp(52px,10vw,88px); font-weight: 400; letter-spacing: -.06em; line-height: .9; }
.diagnostic-shell > p { color: #92a19a; }
.diagnostic-grid { display: grid; gap: 10px; margin-top: 42px; }
.diagnostic-card { padding: 18px; border: 1px solid rgba(255,255,255,.14); background: rgba(16,35,29,.62); backdrop-filter: blur(15px); }
.diagnostic-card > span { color: var(--acid); font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.diagnostic-card.is-error { border-color: rgba(255,120,105,.44); }
.diagnostic-card.is-error > span { color: #ff8b7d; }
.diagnostic-card h2 { margin: 8px 0; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.diagnostic-card code { display: block; overflow-wrap: anywhere; color: #9aaba3; font-size: 10px; }
.diagnostic-action { display: inline-flex; margin-top: 30px; padding: 14px 19px; color: #05070a; background: var(--acid); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.diagnostic-warning { margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); font-size: 11px; }
@media (min-width: 700px) { .diagnostic-grid { grid-template-columns: repeat(2,1fr); } }

@media (max-width: 759px) {
  .motion-tilt { transform: none !important; }
  .motion-tilt:hover { --motion-lift: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-orbs { display: none; }
  .motion-reveal-left,.motion-reveal-right,.motion-reveal-float { opacity: 1; transform: none; }
  .motion-tilt { transform: none !important; }
  .hero-media img,.closing-image img,.auth-visual img { transform: none; }
}
