/* 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)}
.hero-art.is-lit img{animation:portrait-settle 4.2s cubic-bezier(.2,.6,.3,1) both}
.orbit{animation:orbit-arrival 2.4s ease-out both}
.section-heading h2::after{content:"";display:block;width:48px;height:1px;margin:21px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.section-heading.is-revealed h2::after{animation:gold-line-arrival 1.1s ease-out .25s both}
.closing-moon.is-revealed{animation:moon-halo 3.8s ease-in-out both}
.voice,.method{transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease}
.method-top svg{transition:transform .5s ease}
.text-link span{display:inline-block;transition:transform .3s ease}
@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)}
  .voice:hover{transform:translateY(-3px);border-color:#dfbf8370;box-shadow:0 12px 32px #0002}
  .method:hover{border-color:#dfbf83a0}
  .method:hover .method-top svg{transform:translateY(-3px)}
  .text-link:hover span{transform:translateY(3px)}
}
@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 portrait-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes orbit-arrival{from{opacity:.15;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes gold-line-arrival{from{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}
@keyframes moon-halo{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 10px #dfbf8380)}}
@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}
  .voice:hover,.method:hover .method-top svg,.text-link:hover span{transform:none}
}
