/* Decorative effects only; this layer never represents server data. */
.hero .hero-image{inset:-18px;animation:none;transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(1.025);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.hero .hero-grid{opacity:.12}
.scene-light{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 80% 30%,#d54c2426,transparent 48%);animation:scene-breathe 12s ease-in-out infinite alternate}
.scene-emblem{position:absolute;right:12%;top:24%;width:190px;height:190px;z-index:-2;pointer-events:none;opacity:.38;filter:drop-shadow(0 0 18px #db423b55);transform:translate3d(var(--emblem-x,0px),var(--emblem-y,0px),0);transition:transform 1.3s ease-out}
.scene-emblem svg{width:100%;height:100%;fill:none;stroke:#f17365;stroke-width:1;stroke-linecap:square}
.scene-emblem path{stroke-dasharray:600;stroke-dashoffset:0;animation:scene-draw 2.2s ease-out both}
.scene-emblem path:nth-child(2){animation-delay:.2s}
.scene-emblem path:nth-child(3){animation-delay:.4s}
.scene-dust{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;mask-image:linear-gradient(0deg,transparent,#000 25%,#000 80%,transparent)}
.scene-dust i{position:absolute;left:var(--x);top:85%;width:2px;height:2px;background:#edac79;border-radius:50%;opacity:0;box-shadow:0 0 7px #edac7977;animation:scene-ember var(--duration) linear var(--delay) infinite}
.scene-card{isolation:isolate;--spot-x:50%;--spot-y:50%}
.scene-card:not(.live-panel){position:relative}
.scene-card::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(320px circle at var(--spot-x) var(--spot-y),#e35b3c17,transparent 75%);box-shadow:inset 0 0 0 1px #ed715126;opacity:0;transition:opacity .3s}
.scene-card:hover::after,.scene-card:focus-within::after{opacity:1}
.hero-actions .button>span:last-child{transition:transform .25s}.hero-actions .button:hover>span:last-child{transform:translateY(3px)}
.site-header .brand-mark{animation:scene-brand 1.1s ease-out both}
.scene-toggle{position:fixed;bottom:18px;left:18px;z-index:40;display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #6a77794a;background:#0e1319eb;color:#b6bec7;font:11px "Segoe UI",sans-serif;letter-spacing:.03em;cursor:pointer;border-radius:4px;backdrop-filter:blur(8px)}
.scene-toggle::before{content:"";width:5px;height:5px;border-radius:50%;background:#d46b53}.scene-toggle[aria-pressed="false"]::before{background:#6f7882}.scene-toggle:focus-visible{outline:2px solid #efb798;outline-offset:3px}
.scene-paused .scene-dust i,.scene-paused .scene-light{animation-play-state:paused}
.scene-off .scene-dust,.scene-off .scene-light{display:none}.scene-off .hero .hero-image,.scene-off .scene-emblem{transform:none;transition:none}.scene-off .scene-card::after{display:none}
@keyframes scene-draw{from{stroke-dashoffset:600;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes scene-brand{from{opacity:0;transform:rotate(20deg) scale(.8)}to{opacity:1;transform:rotate(45deg) scale(1)}}
@keyframes scene-breathe{from{opacity:.35}to{opacity:.9}}
@keyframes scene-ember{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:.5}80%{opacity:.3}100%{transform:translate3d(65px,-500px,0);opacity:0}}
@media(max-width:1100px){.scene-emblem{right:8%;top:18%;width:130px;height:130px;opacity:.22}}
@media(max-width:760px),(pointer:coarse){.scene-emblem{right:3%;top:17%;width:110px;height:110px;opacity:.16}.scene-dust{display:none}.scene-light{animation:none;opacity:.5}.hero .hero-image{transform:none;inset:0}.scene-toggle{bottom:10px;left:10px;padding:8px 10px}.scene-card::after{display:none}}
@media(prefers-reduced-motion:reduce){.scene-dust,.scene-light,.scene-toggle{display:none}.scene-emblem path,.site-header .brand-mark{animation:none}.hero .hero-image,.scene-emblem{transform:none!important;transition:none}.scene-card::after{display:none}.hero-actions .button:hover>span:last-child{transform:none}}
/* A single fixed scene behind the complete homepage, outside hero clipping. */
body.scene-fixed{isolation:isolate;background:#090c0f}
.scene-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;isolation:isolate;background:#090c0f}
.scene-backdrop .hero-image{inset:0;animation:none;transform:none;transition:none}
.scene-backdrop::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#080b0ff0 0%,#080b0fc2 40%,#080b0f66 100%),linear-gradient(0deg,#090c0f99,transparent 65%)}
.scene-backdrop .hero-grid{opacity:.1}
.scene-backdrop .scene-emblem{transform:none;transition:none}
.scene-backdrop .scene-dust{z-index:1;opacity:.6}
.scene-fixed .hero::before{background:none}
.scene-fixed .hero{background:transparent}
@media(max-width:760px){.scene-backdrop .hero-image{background-position:62% center}.scene-backdrop::after{background:linear-gradient(90deg,#080b0feb,#080b0fa8)}}
/* Stronger atmospheric motion, without moving the fixed background image. */
.scene-backdrop .scene-light{z-index:1;background:radial-gradient(ellipse at 78% 32%,#ef652752,transparent 48%),radial-gradient(ellipse at 35% 80%,#dc3b251f,transparent 50%);animation:scene-glow-drift 8s ease-in-out infinite alternate;mix-blend-mode:screen}
.scene-backdrop .scene-dust{opacity:1}
.scene-dust i{width:3px;height:3px;background:#ffc28a;box-shadow:0 0 9px #ff9b51bb,0 0 20px #e9533544}
.scene-dust i:nth-child(3n){width:2px;height:5px}
@keyframes scene-glow-drift{0%{opacity:.35;transform:translate3d(-3%,2%,0) scale(1)}50%{opacity:.75}100%{opacity:1;transform:translate3d(4%,-3%,0) scale(1.12)}}
@keyframes scene-ember{0%{transform:translate3d(0,35px,0);opacity:0}12%{opacity:.9}65%{opacity:.7}100%{transform:translate3d(115px,-650px,0);opacity:0}}
.scene-paused .scene-light{animation-play-state:paused}
@media(max-width:760px),(pointer:coarse){.scene-backdrop .scene-light{animation:none;opacity:.45;transform:none}.scene-dust{display:none}}
@media(prefers-reduced-motion:reduce){.scene-backdrop .scene-light,.scene-backdrop .scene-dust{display:none;animation:none}}
