/* Ambient motion: readable at rest, optional with reduced motion. */
.motion-reveal{transition:opacity .72s ease,transform .72s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.reveal-pending{opacity:0;transform:translate3d(0,24px,0)}
.motion-reveal.reveal-visible{opacity:1;transform:none}
header.top{position:relative;isolation:isolate;overflow:hidden}
header.top::before{content:"";position:absolute;z-index:-1;width:65%;height:90%;top:-28%;left:-10%;pointer-events:none;background:radial-gradient(ellipse,#ffe1640d,transparent 65%);animation:ambient-drift 16s ease-in-out infinite alternate}
.top-inner{position:relative;z-index:1}
.sparkle-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.sparkle{position:absolute;left:var(--spark-x);top:var(--spark-y);width:4px;height:4px;border-radius:50%;background:#ffe99e;opacity:.12;box-shadow:0 0 12px #ffe16466;animation:sparkle-breathe var(--spark-duration,6s) ease-in-out var(--spark-delay,0s) infinite}
.sparkle:nth-child(3n){width:7px;height:7px;background:linear-gradient(90deg,transparent 40%,#ffe99e 50%,transparent 60%),linear-gradient(transparent 40%,#ffe99e 50%,transparent 60%);box-shadow:none}
.landing-section{position:relative;isolation:isolate;overflow:clip}
.landing-section::before{content:"";position:absolute;left:0;top:-1px;width:34%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#ffe164bb,transparent);opacity:0;transform:translateX(-60%)}
.landing-section.section-arrived::before{animation:section-light 1.8s ease-out forwards}
.section-kicker::after{content:"✦";display:inline-block;margin-left:12px;font-size:11px;color:#ffe792;animation:star-glow 5s ease-in-out infinite}
.guide-card,.book,.btncard{position:relative;overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease}
.guide-card::after{content:"";position:absolute;inset:-80% -70%;pointer-events:none;background:linear-gradient(115deg,transparent 43%,#ffe1640c 49%,#fff4bf17 50%,transparent 57%);transform:translateX(-70%);opacity:0}
.guide-card:hover::after,.guide-card:focus-visible::after{animation:card-shimmer 1s ease-out}
.guide-card:hover,.guide-card:focus-visible{transform:translateY(-4px);box-shadow:0 12px 36px #0005,0 0 20px #ffe1640a}
.program-preview a{transition:box-shadow .4s ease,border-color .4s ease}
.program-preview a:hover{border-color:#958345;box-shadow:0 15px 55px #0009,0 0 32px #ffe16412}
.hero-actions a,.nav-cta{transition:box-shadow .25s ease,transform .25s ease}
.hero-actions a:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 0 22px #ffe16422}
@keyframes ambient-drift{to{transform:translate(50%,25%)}}
@keyframes sparkle-breathe{0%,100%{opacity:.08;transform:translateY(0) scale(.7)}50%{opacity:.65;transform:translateY(-7px) scale(1)}}
@keyframes star-glow{0%,100%{opacity:.35;text-shadow:none}50%{opacity:.95;text-shadow:0 0 12px #ffe16480}}
@keyframes section-light{0%{opacity:0;transform:translateX(-60%)}25%{opacity:.8}100%{opacity:.18;transform:translateX(220%)}}
@keyframes card-shimmer{0%{opacity:0;transform:translateX(-65%)}25%{opacity:1}100%{opacity:0;transform:translateX(65%)}}
@media(hover:none){.guide-card:hover{transform:none}.guide-card:hover::after{animation:none}}
@media(prefers-reduced-motion:reduce){.motion-reveal,.guide-card,.book,.btncard,.hero-actions a,.nav-cta,.program-preview a{transition:none!important;transform:none!important;opacity:1!important}.sparkle,header.top::before,.section-kicker::after,.landing-section::before,.guide-card::after{animation:none!important}.sparkle-field{display:none}.motion-reveal.reveal-pending{opacity:1;transform:none}}

.guide-card.motion-reveal{transition:opacity .72s ease,transform .72s cubic-bezier(.2,.65,.2,1),border-color .28s ease,box-shadow .28s ease;transition-delay:var(--reveal-delay,0ms)}
