/* Motion language: warm light, connected workflows and scroll depth. */
.reading-progress { position: fixed; top: 75px; left: 0; width: 100%; height: 2px; z-index: 1100; background: linear-gradient(90deg,#ff6000,#ffb36d); box-shadow: 0 0 12px #ff600088; transform: scaleX(0); transform-origin: left; pointer-events: none; }
.motion-section { isolation: isolate; }
.motion-section::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 55% 36% at 95% var(--ambient-y,50%),rgba(255,96,0,.065),transparent 75%); opacity: 0; transition: opacity .9s ease; }
.motion-section:nth-of-type(even)::before { background: radial-gradient(ellipse 60% 40% at 0% var(--ambient-y,50%),rgba(255,96,0,.065),transparent 75%); }
.motion-section.motion-in-view::before { opacity: 1; }
.light-responsive { position: relative; }
.light-responsive::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(420px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(255,142,67,.10),transparent 65%); opacity: 0; transition: opacity .35s; pointer-events: none; z-index: 2; }
@media (hover:hover) and (pointer:fine) {
  .light-responsive:hover::after { opacity: 1; }
  .founder-img-box { overflow: hidden; }
  .founder-img-box img { transform: translateY(var(--portrait-shift,0px)) scale(1.055); transition: transform .25s ease-out; }
}
.motion-in-view .section-eyebrow { animation: eyebrow-enter .8s both; }
@keyframes eyebrow-enter { from { opacity: .3; transform: translateY(12px); letter-spacing: .16em; } to { opacity: 1; transform: translateY(0); } }
.motion-in-view .hero-cockpit-deck::before { background-size: 200% 100%; animation: edge-light 5s ease-in-out infinite; }
@keyframes edge-light { 0%,100% { background-position: 0% 0; opacity: .4; } 50% { background-position: 100% 0; opacity: 1; } }
.motion-in-view .journey-connector::after { animation: journey-pass 3s ease-in-out infinite; }
.motion-in-view .journey-connector:nth-of-type(2)::after { animation-delay: .65s; }
.motion-in-view .pipeline-icon { animation: workflow-beacon 6s ease-in-out infinite; animation-delay: calc(var(--sequence,0) * .65s); }
@keyframes workflow-beacon { 0%,45%,100% { box-shadow: 0 0 0 0 rgba(255,96,0,0); } 12%,25% { color: #ffbc88; border-color: rgba(255,139,66,.75); box-shadow: 0 0 22px -4px rgba(255,96,0,.5); } }
.motion-in-view .hub-node { animation: hub-connect 7s ease-in-out infinite; animation-delay: calc(var(--sequence,0) * .45s); }
@keyframes hub-connect { 0%,35%,100% { border-color: rgba(255,255,255,.1); } 12%,20% { border-color: rgba(255,128,50,.55); box-shadow: inset 3px 0 0 #ff6000; } }
.motion-in-view .cockpit-node-icon { animation: workflow-beacon 7s ease-in-out infinite; animation-delay: calc(var(--sequence,0) * .8s); }
.how-steps-grid { position: relative; }
.how-steps-grid::before { content: ''; position: absolute; left: 0; right: 0; top: -20px; height: 2px; transform-origin: left; transform: scaleX(var(--scroll-position,0)); background: linear-gradient(90deg,#ff6000,#ffb36d 80%,transparent); opacity: .7; }
.motion-in-view .hero-orb-left, .motion-in-view .hero-orb-right { animation-iteration-count: infinite; }
.motion-section:not(.motion-in-view) .pipeline-icon,
.motion-section:not(.motion-in-view) .hub-node,
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused !important; }
@media (max-width:600px) {
  .motion-section::before { background-size: 100% 100%; }
  .light-responsive::after { display:none; }
  .motion-in-view .hero-orb-left, .motion-in-view .hero-orb-right { animation-iteration-count: 1; }
}
@media (prefers-reduced-motion:reduce) {
  .reading-progress, .light-responsive::after, .how-steps-grid::before { display:none; }
  .motion-section::before { opacity: .5; }
  .founder-img-box img { transform:none; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
}

/* Deliberate scroll entrances, with staggered cards and directional service panels. */
.scroll-reveal {
  transition: opacity .85s ease var(--reveal-delay,0ms), transform .85s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms), filter .85s ease var(--reveal-delay,0ms);
}
.scroll-reveal.reveal-pending {
  opacity: 0;
  transform: translate3d(var(--reveal-x,0px),var(--reveal-y,32px),0);
  filter: blur(3px);
}
.scroll-reveal.is-revealed { opacity: 1; transform: none; filter: blur(0); }
.scroll-reveal:focus-within { opacity: 1; transform: none; filter: none; }
@media (max-width:600px) {
  .scroll-reveal.reveal-pending { transform: translateY(var(--reveal-mobile-y,24px)); filter: none; }
}
@media (prefers-reduced-motion:reduce) {
  .scroll-reveal, .scroll-reveal.reveal-pending { transition: none !important; opacity: 1; transform: none; filter: none; }
}
