/* Soft entrances, floating surfaces, and blue-and-gold reflected light. */
body{--soft-ease:cubic-bezier(.16,1,.3,1)}
body .reveal-ready{transition:opacity 1s ease,translate 1.15s var(--soft-ease),filter .9s ease,transform .7s var(--soft-ease),box-shadow .65s ease,border-color .5s ease;transition-delay:var(--arrival-delay,0ms),var(--arrival-delay,0ms),var(--arrival-delay,0ms),0s,0s,0s}
body .reveal-ready.is-visible{opacity:1;translate:0 0;filter:none}
body .hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(550px circle at var(--ambient-x,50%) var(--ambient-y,35%),#8cbcff13,transparent 75%);transition:opacity 1s;opacity:.9}
body .aurora{translate:var(--parallax-x,0px) var(--parallax-y,0px)}
body .hero .frame{border-radius:21px;animation:soft-float 9s ease-in-out infinite;animation-play-state:paused}
body.effects-enabled .hero-in-view .frame{animation-play-state:running}
body .hero .frame:hover,body .hero .frame:focus-within{animation-play-state:paused}
body .collection-stage,body .wand-illustration,body .prepaid-pack,body .plan{border-radius:19px}
body .collection-preview .preview-image,body .hero-preview .preview-image{border-radius:11px}
body .depth-surface{transform:perspective(1000px) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg));transition:transform .8s var(--soft-ease),box-shadow .65s ease,border-color .5s ease}
body .depth-surface.depth-active{transition:transform 70ms linear,box-shadow .65s ease,border-color .5s ease;box-shadow:0 24px 45px -22px #000a,0 0 32px -14px #99caff45,inset 0 1px 0 #dcecff25}
body .hero .frame.depth-active{box-shadow:0 0 0 5px #8bbdff0a,0 35px 75px -20px #000b,0 0 70px -22px #75b1ff66}
body .depth-surface:after{background:radial-gradient(ellipse at var(--depth-light-x,50%) var(--depth-light-y,30%),#f8e5b621,transparent 57%),linear-gradient(125deg,#dcefff08,transparent 50%);transition:opacity .65s ease}
body .collection-preview img,body .hero-preview img{transition:opacity .65s ease,transform 1.1s var(--soft-ease)}
body .collection-preview:hover img,body .hero-preview:hover img{transform:scale(1.065)}
body .preview-caption{transition:color .5s ease}
body .btn,body .cast-magic,body .collection-reveal,body .collection-filters button,body .effects-toggle{border-radius:11px;transition:transform .65s var(--soft-ease),box-shadow .65s ease,background .5s ease,border-color .5s ease,color .5s ease}
body .btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px -13px #7cafffa6,inset 0 1px 0 #ffffff45}
body .btn-red:hover{box-shadow:0 12px 28px -13px #ee6c7790,inset 0 1px 0 #ffffff45}
body .btn:active,body .cast-magic:active,body .collection-reveal:active{transform:translateY(0) scale(.98);transition-duration:.15s}
body .cast-magic:hover,body .collection-reveal:hover{transform:translateY(-2px);box-shadow:0 7px 28px -12px #edcd9270,inset 0 1px 0 #fff5d030}
body .nav-links a,body .text-link,body .collection-link,body .footer-links a{transition:color .45s ease,text-shadow .45s ease}
body .nav-links a:hover,body .text-link:hover,body .collection-link:hover{color:#f4e6c7;text-shadow:0 0 18px #edd6a144}
body .feature-list article{transition:opacity 1s ease,translate 1s var(--soft-ease),filter .9s ease,background .55s ease,box-shadow .55s ease,border-color .55s ease;border-radius:8px}
body .feature-list article:hover{border-color:#b8d5f459;background:#bddcff05;box-shadow:0 0 28px #a5cfff07}
body .feature-number{transition:color .5s ease,text-shadow .5s ease}
body .feature-list article:hover .feature-number{color:#eddbb7;text-shadow:0 0 15px #e9cc9860}
@keyframes soft-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
body.effects-off .reveal-ready{opacity:1;translate:none;filter:none;transition:none}
body.effects-off .hero .frame{animation:none;translate:none}
body.effects-off .depth-surface{transform:none}
body.effects-off .depth-surface:after{opacity:0}
body.effects-off .hero:before{opacity:0}
body.effects-off .btn:hover,body.effects-off .cast-magic:hover,body.effects-off .collection-reveal:hover{transform:none}
body.effects-off .collection-preview:hover img,body.effects-off .hero-preview:hover img{transform:none}
@media(hover:none),(pointer:coarse){body .depth-surface{transform:none}body .hero .frame{animation:none}body .btn:hover{transform:none}}
@media(max-width:560px){body .reveal-ready{filter:none;translate:0 16px}body .reveal-ready.is-visible,body.effects-off .reveal-ready{translate:none}body .hero .frame,body .collection-stage{border-radius:16px}}
@media(prefers-reduced-motion:reduce){body:not(.effects-enabled) .reveal-ready{opacity:1;translate:none;filter:none}body:not(.effects-enabled) .hero .frame{animation:none}}

/* Editorial selling points stay directly on the photo, without a panel. */
body .scene-benefit{position:absolute;z-index:4;left:22px;bottom:22px;max-width:min(340px,calc(100% - 44px));padding:0;background:none;border:0;border-radius:0;box-shadow:none;pointer-events:none;color:#fff;text-shadow:0 1px 2px #000,0 2px 6px #000,0 3px 18px #000e}body .scene-benefit>span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#fff0d4;margin-bottom:7px;font-weight:650}body .scene-benefit>strong{display:block;font-size:clamp(18px,1.7vw,23px);font-weight:600;line-height:1.4;letter-spacing:-.015em;text-wrap:balance}@media(max-width:560px){body .scene-benefit{left:15px;bottom:15px;padding:0;max-width:calc(100% - 30px)}body .scene-benefit>strong{font-size:16px}body .scene-benefit>span{font-size:9px;margin-bottom:5px}}

.hero-media{position:relative;min-width:0}.hero-scene-nav{position:absolute;z-index:5;right:16px;bottom:16px;display:flex;gap:7px}.hero-scene-nav button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #e0edfb60;border-radius:50%;color:#f5f8ff;background:#102035b8;backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 #ffffff15,0 3px 10px #0003;transition:background .35s,border-color .35s,box-shadow .35s;cursor:pointer}.hero-scene-nav button:hover{background:#34536fde;border-color:#eee0bf;box-shadow:0 0 15px #c3ddfa25}.hero-scene-nav button:focus-visible{outline:2px solid #f2dca7;outline-offset:3px}.hero-scene-nav svg{width:18px;height:18px}.hero-media:has(video:not([hidden])) .hero-scene-nav{top:14px;bottom:auto}body .scene-benefit{max-width:min(340px,calc(100% - 140px))}@media(max-width:560px){.hero-scene-nav{right:12px;bottom:14px;gap:6px}.hero-scene-nav button{width:36px;height:36px}body .scene-benefit{max-width:calc(100% - 120px)}}

.hero-media:has(video:not([hidden])) .scene-benefit{bottom:62px}

/* An occasional soft halo draws attention without shifting the action. */
body .btn.cta-attention{--cta-halo:#60a5fa26;animation:cta-soft-glow 7s ease-in-out infinite}
body .btn.btn-red.cta-attention{--cta-halo:#f8717126;animation-delay:1.2s}
body .btn.cta-attention:hover,body .btn.cta-attention:focus-visible{animation:none}
@keyframes cta-soft-glow{0%,55%,100%{box-shadow:inset 0 2px 4px #0000000d,0 0 0 0 transparent,0 0 0 transparent}72%{box-shadow:inset 0 1px 2px #ffffff18,0 0 0 3px var(--cta-halo),0 0 21px var(--cta-halo)}}
@media(prefers-reduced-motion:reduce){body .btn.cta-attention{animation:none}}

/* The persistent red action uses the same soft treatment as Wizard's Choice. */
body .btn.btn-red{background:#d9324333;border:1px solid #ef444499;border-radius:12px;color:#fef2f2;box-shadow:inset 0 2px 4px #0000000d;backdrop-filter:blur(4px);font-weight:600;transform:none;transition:background .35s,border-color .35s,box-shadow .35s}
body .btn.btn-red:hover{background:#d932434d;border-color:#f87171cc;box-shadow:inset 0 2px 4px #0000000d;transform:none}
body .btn.btn-red:active{background:#d9324359;transform:none}
body .btn.btn-red:focus-visible{outline:2px solid #fecaca;outline-offset:3px}
body .btn.btn-red::before{display:none}
@media(prefers-reduced-motion:reduce){body .btn.btn-red{transition:none}}

/* Homepage blue actions share the app's Wizard's Choice treatment. */
body .btn:is(.btn-primary,.btn-outline),body .collection-reveal{background:#2563eb33;border:1px solid #3b82f699;border-radius:12px;color:#eff6ff;box-shadow:inset 0 2px 4px #0000000d;backdrop-filter:blur(4px);font-weight:600;transform:none;transition:background .35s,border-color .35s,box-shadow .35s}body .btn:is(.btn-primary,.btn-outline):hover,body .collection-reveal:hover{background:#2563eb4d;border-color:#60a5facc;color:#eff6ff;box-shadow:inset 0 2px 4px #0000000d;transform:none}body .btn:is(.btn-primary,.btn-outline):active,body .collection-reveal:active{background:#2563eb59;transform:none}body .btn:is(.btn-primary,.btn-outline):focus-visible,body .collection-reveal:focus-visible{outline:2px solid #a8d2ff;outline-offset:3px}body .btn.btn-primary::before{display:none}@media(prefers-reduced-motion:reduce){body .btn:is(.btn-primary,.btn-outline),body .collection-reveal{transition:none}}
