/* Homepage motion is progressive enhancement: the default page stays visible. */
.home-motion .site-content { overflow:clip; }
.home-motion .motion-reveal { opacity:var(--reveal-opacity,1); transform:translate3d(0,var(--reveal-y,0px),0); }
.home-motion .motion-reveal.is-revealing { will-change:transform,opacity; }
.home-motion .motion-reveal.is-revealed { transform:none; }
.home-motion .motion-reveal:focus-within { opacity:1; transform:none; }
.home-motion .page::after { content:''; position:absolute; z-index:3; bottom:0; left:var(--side); right:var(--side); height:1px; pointer-events:none; background:linear-gradient(90deg,transparent,#8dd9f047 18%,#d9f6ffb3 50%,#8dd9f047 82%,transparent); transform:scaleX(var(--hero-rule,.15)); opacity:var(--hero-rule,.15); }
.home-motion .hero-copy { opacity:var(--hero-opacity,1); }
.home-motion .motion-card { position:relative; overflow:hidden; transition:border-color .3s ease,box-shadow .3s ease; }
.home-motion .motion-card::after { content:''; position:absolute; inset:0; z-index:2; pointer-events:none; border-radius:inherit; background:linear-gradient(112deg,transparent 30%,#ccefff0c 49%,transparent 68%); opacity:0; transform:translateX(-115%); }
.home-motion .motion-card.is-arriving.is-on-screen::after { animation:card-reflection .95s cubic-bezier(.2,.65,.3,1) both,card-reflection-repeat 7.5s linear calc(1.1s + var(--card-loop-delay,0s)) infinite; }
.home-motion .fit-card.motion-card::after { display:none; }
.home-motion .fit-card.is-arriving.is-on-screen .fit-art::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(112deg,transparent 30%,#ccefff12 49%,transparent 68%); animation:card-reflection .95s cubic-bezier(.2,.65,.3,1) both,card-reflection-repeat 7.5s linear calc(1.1s + var(--card-loop-delay,0s)) infinite; }
.home-motion .step-icon, .home-motion .scope-symbol, .home-motion .fit-art > svg { transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.home-motion .motion-card:focus-within { border-color:#8dd9f070; }
.home-motion .preset-group button { transition:background-color .22s,color .22s,border-color .22s,transform .22s; }
.home-motion .preset-group button:active { transform:scale(.96); }
.home-motion .money-input { transition:border-color .25s,box-shadow .25s; }
.home-motion .money-input:focus-within { box-shadow:0 0 0 3px #8dd9f00b; }
.home-motion .faq-item summary > span, .home-motion .planner-assumptions summary > span { transition:transform .3s ease,color .3s ease; }
.home-motion .faq-item[open] > p { animation:answer-enter .3s ease-out; }
.result-value-wrap { position:relative; min-width:0; }
.result-number-visual { position:absolute; inset:0; pointer-events:none; white-space:nowrap; font-variant-numeric:tabular-nums; }
.home-motion .planner-results.is-calculating .planner-main-result { animation:calculation-light .65s ease-out; }
@keyframes card-reflection { 0% { opacity:0; transform:translateX(-115%); } 20% { opacity:1; } 100% { opacity:0; transform:translateX(115%); } }
@keyframes card-reflection-repeat { 0%,72% { opacity:0; transform:translateX(-115%); } 78% { opacity:.8; } 96%,100% { opacity:0; transform:translateX(115%); } }
@keyframes calculation-light { 0% { box-shadow:inset 0 0 0 1px #8dd9f05c; } 100% { box-shadow:inset 0 0 0 1px #8dd9f000; } }
@keyframes answer-enter { from { opacity:.3; transform:translateY(-5px); } to { opacity:1; transform:none; } }
@media (hover:hover) and (pointer:fine) {
  .home-motion .motion-card:hover { border-color:#8dd9f074; box-shadow:0 10px 28px #00000026,inset 0 1px 0 #ccefff0b; }
  .home-motion .fit-card:hover { box-shadow:none; }
  .home-motion .fit-card:hover .fit-art { border-color:#8dd9f074; }
  .home-motion .motion-card:hover .step-icon { transform:translateY(-3px) rotate(-6deg); }
  .home-motion .motion-card:hover .scope-symbol { transform:translateY(-3px) rotate(-4deg); }
  .home-motion .fit-card:hover .fit-art > svg { transform:translateY(-4px) scale(1.04); }
}
