:root { --ease-out: cubic-bezier(.23, 1, .32, 1); }
.nox-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) 220px;
  gap: 40px;
  align-items: center;
  margin-bottom: 30px;
}
.nox-heading .section-intro { margin-bottom: 0; }
.nox-slot { overflow: clip; }
.nox-enter { opacity: 1; transform: none; }
.nox-enter img:not(.hero-nox) { display: block; width: 100%; height: auto; }
.nox-slot-pattern { width: 220px; }
.nox-slot-practice { width: 200px; margin: -20px 0 24px; }
.nox-slot-call { width: 240px; margin-top: 28px; }
.nox-slot-questions { width: 200px; justify-self: end; }
.nox-heading-faq { margin-bottom: 20px; }
.nox-heading-faq h2 { margin-bottom: 0; }
.nox-stages { overflow: clip; padding-block: 10px; }
.nox-stages .nox-enter:nth-child(2) { transition-delay: 60ms; }
.nox-stages .nox-enter:nth-child(3) { transition-delay: 120ms; }
/* Static by default. Scripts only opt into reveals when motion is available. */
@media (prefers-reduced-motion: no-preference) {
  .nox-reveal-ready .nox-enter {
    transition: opacity 550ms var(--ease-out), transform 550ms var(--ease-out);
  }
  .nox-reveal-ready .nox-enter:not(.is-entered) {
    opacity: 0;
    transform: translate3d(22%,12%,0) rotate(5deg);
  }
  .nox-reveal-ready .nox-from-left:not(.is-entered) {
    transform: translate3d(-22%,12%,0) rotate(-5deg);
  }
  .nox-reveal-ready .nox-enter.is-entered { opacity: 1; transform: none; }
  .nox-enter.is-entered[data-nox-action='laptop-rabbit-hole'] img { animation: nox-tab-fidget 700ms var(--ease-out) 2; }
  .nox-enter.is-entered[data-nox-action='hypnosis-reset'] img { animation: nox-phone-down 1.2s var(--ease-out) 1; }
  .nox-enter.is-entered[data-nox-action='honest-call'] img { animation: nox-call-shift 1.2s var(--ease-out) 1; }
  .nox-enter.is-entered[data-nox-action='questions'] img { animation: nox-page-peek 900ms var(--ease-out) 1; }
}
@keyframes nox-tab-fidget { 0%,100% { transform: none; } 35% { transform: rotate(-1.5deg) translateX(-1%); } 65% { transform: rotate(1deg); } }
@keyframes nox-phone-down { from { transform: rotate(-3deg); } to { transform: none; } }
@keyframes nox-call-shift { 0% { transform: rotate(-2deg); } 45% { transform: rotate(1deg); } 100% { transform: none; } }
@keyframes nox-page-peek { 0%,100% { transform: none; } 40% { transform: rotate(3deg); } }
/* Pause also applies to entrances; nobody disappears when animation is off. */
.page-motion-paused .nox-enter { opacity: 1 !important; transform: none !important; transition: none !important; }
.page-motion-paused .nox-enter img { animation: none !important; }
@media (max-width: 1050px) {
  .nox-heading { grid-template-columns: minmax(0,1fr) 180px; gap: 24px; }
  .nox-slot-pattern { width: 180px; }
  .nox-slot-questions { width: 170px; }
}
@media (max-width: 767px) {
  .nox-heading { grid-template-columns: minmax(0,1fr); gap: 14px; margin-bottom: 20px; }
  .nox-slot-pattern { width: 180px; justify-self: end; }
  .nox-slot-practice { width: 180px; margin: -12px 0 24px; }
  .nox-slot-call { width: 200px; margin-top: 20px; }
  .nox-heading-faq { grid-template-columns: minmax(0,1fr) 100px; gap: 12px; }
  .nox-slot-questions { width: 100px; }
  .nox-heading-faq h2 { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .nox-enter { opacity: 1 !important; transform: none !important; transition: none !important; }
}
