/* Quiet, brief accents. All content remains readable without animation. */
.hero-art{isolation:isolate}
.hero-art::after{content:"";position:absolute;inset:-30% -60%;pointer-events:none;background:linear-gradient(112deg,transparent 36%,rgba(255,236,201,.04) 43%,rgba(255,236,201,.19) 50%,rgba(255,236,201,.04) 57%,transparent 64%);opacity:0;transform:translateX(-55%)}
.hero-art.is-lit::after{animation:moonlight-pass 3.2s cubic-bezier(.2,.6,.3,1) .2s both}
.line-button{position:relative;isolation:isolate;overflow:hidden;transition:filter .25s,transform .25s,box-shadow .35s}
.line-button>*{position:relative;z-index:1}
.line-button::after{content:"";position:absolute;top:-50%;bottom:-50%;left:0;width:36%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.26),transparent);opacity:0;transform:translateX(-150%) skewX(-18deg)}
.line-button.is-lit::after{animation:line-light-pass 1.7s ease-in-out .35s both}
.line-button .arrow{transition:transform .25s ease}
.line-button:active{transform:scale(.985);filter:brightness(.98)}
.line-button:focus-visible .arrow{transform:translateX(3px)}
.scroll-cue span{animation:gentle-invitation 1.6s ease-in-out .8s 2}
.steps li{transition:border-color .4s ease}
.steps li.is-read{border-color:rgba(223,191,131,.65)}
.sticky-cta:not([hidden]){animation:sticky-arrival .35s cubic-bezier(.2,.7,.3,1) both}
@media(hover:hover) and (pointer:fine){
  .line-button:hover{box-shadow:0 12px 32px -8px rgba(6,199,85,.65),0 0 30px -8px rgba(6,199,85,.4)}
  .line-button:hover .arrow{transform:translateX(3px)}
  .hero-art{transition:filter .6s ease,box-shadow .6s ease}
  .hero-art:hover{box-shadow:0 28px 74px #0005,0 0 30px rgba(223,191,131,.12)}
}
@media(hover:none){.line-button:hover{transform:none;filter:none}.line-button:active{transform:scale(.985);filter:brightness(.98)}}
@keyframes moonlight-pass{0%{transform:translateX(-55%);opacity:0}18%{opacity:.85}78%{opacity:.7}100%{transform:translateX(55%);opacity:0}}
@keyframes line-light-pass{0%{transform:translateX(-150%) skewX(-18deg);opacity:0}18%{opacity:1}85%{opacity:1}100%{transform:translateX(440%) skewX(-18deg);opacity:0}}
@keyframes gentle-invitation{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(4px);opacity:1}}
@keyframes sticky-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .line-button:active,.line-button:hover,.line-button:focus-visible .arrow{transform:none}
}
