/* Sections settle near the viewport edge without taking over touch scrolling. */
html { scroll-snap-type: y proximity; }
.feature-card, .feature-grid > .photo-card, .shared-row > .photo-card,
.benefits, .steps, .testimonials, .faq, .footer,
.tool-card, .price-card, .value-card { scroll-snap-align: start; scroll-margin-top: 8px; }
.motion-active .reveal {
  opacity: 0;
  transform: translate3d(0, 42px, 0) scale(.985);
  transition: opacity .85s cubic-bezier(.16, 1, .3, 1), transform 1.05s cubic-bezier(.16, 1, .3, 1);
  transition-delay: var(--reveal-delay, 0ms);
}
.motion-active .reveal.is-in-view { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.motion-active .reveal:focus-within { opacity: 1; transform: none; transition: none; }
.motion-active .feature-card, .motion-active .photo-card { transition-property: opacity, transform, box-shadow; }
.motion-active .photo-card img { scale: 1.025; translate: 0 calc(var(--drift, 0px) * .38); }
.motion-active .goal-row { translate: 0 calc(var(--drift, 0px) * .55); }
.motion-active .goal-row:nth-child(2) { translate: 0 calc(var(--drift, 0px) * .9); }
.motion-active .chart-card { translate: 0 calc(var(--drift, 0px) * .5); }
.motion-active .monthly-card { translate: 0 calc(var(--drift, 0px) * -.65); }
.motion-active .bill-notice { translate: 0 calc(var(--drift, 0px) * .6); }
.motion-active .bubble { translate: calc(var(--drift, 0px) * -.2) calc(var(--drift, 0px) * .65); }
.motion-active .bubble-leon { translate: calc(var(--drift, 0px) * .3) calc(var(--drift, 0px) * -.55); }
.motion-active .bubble-mira { translate: calc(var(--drift, 0px) * -.3) calc(var(--drift, 0px) * .45); }
.motion-active .bubble-you { translate: calc(var(--drift, 0px) * .3) calc(var(--drift, 0px) * -.7); }
.motion-active .bubble-total { translate: 0 calc(var(--drift, 0px) * .85); }
.bill-notice { box-shadow: 0 8px 28px #0b131e16, 0 0 0 1px #0b131e08; }
.magnetic { translate: var(--magnet-x, 0px) var(--magnet-y, 0px); transition: translate .55s cubic-bezier(.16, 1, .3, 1), background .2s, color .2s; }
.magnetic.is-magnetic { transition-duration: .16s; }
.magnetic.button:hover { transform: none; }
@media (min-width: 901px) {
  .budget .monthly-card { top: 248px; }
  .budget .chart-card { top: 263px; }
}
@media (max-width: 600px) {
  .motion-active .reveal { transform: translate3d(0, 26px, 0) scale(.99); }
  .motion-active .reveal.is-in-view { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-snap-type: none; scroll-behavior: auto; }
  .motion-active .reveal { opacity: 1; transform: none; transition: none; }
  .motion-active .photo-card img, .motion-active .goal-row,
  .motion-active .chart-card, .motion-active .monthly-card,
  .motion-active .bill-notice, .motion-active .bubble,
  .magnetic { translate: none; scale: 1; transition: none; }
}
