/* Sol hero component (scoped) */
.sol-hero .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- stage (1536 x 1024 design pixels, scaled to fit) ---------- */
.sol-hero{position:relative;width:100%;max-width:1536px;margin:0 auto;overflow:hidden;background:#04050F}
.sol-hero .frame{position:relative;width:100%;aspect-ratio:1536/1024;overflow:hidden}
.sol-hero .stage{position:absolute;left:0;top:0;width:1536px;height:1024px;transform-origin:0 0}
.sol-hero .stage img,.sol-hero .stage .ly{position:absolute;display:block;pointer-events:none;user-select:none}
.sol-hero .art{left:0;top:0;width:1536px;height:1024px}
.sol-hero .sunglow{filter:brightness(1.4) saturate(1.12);opacity:0;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 60%,transparent 92%);mask-image:radial-gradient(circle at 50% 50%,#000 60%,transparent 92%)}
.sol-hero .ray{opacity:0;visibility:hidden;filter:none}
.sol-hero .smile{opacity:0}
.sol-hero .facefx img,.sol-hero .facefx div{position:absolute;display:block;pointer-events:none}
.sol-hero .facefx .eyeopen{overflow:hidden}
.sol-hero .facefx .eyeopen img{left:0;top:0;width:100%;height:100%}
.sol-hero .facefx .closed,.sol-hero .facefx .pleased{opacity:0}

/* white core: neutral white, normal blending (no additive modes, so the ray's own colours are never shifted) */
.sol-hero .ray.hot{filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 12px rgba(255,255,255,.95))}
.sol-hero .ray.flare{filter:blur(5px)}
/* GusNexa-blue outer glow around the moving front only */
.sol-hero .ray.flare2{filter:blur(22px)}
.sol-hero .ray.bloomH{filter:blur(12px)}
/* exact copy of the approved ray pixels, keeps the ray in its original colours above the box glow */
.sol-hero .ray.orig{filter:none}
.sol-hero .core{left:615px;top:361px;width:300px;height:300px;border-radius:50%;mix-blend-mode:screen;opacity:0;
  background:radial-gradient(circle,rgba(255,250,230,.7) 0%,rgba(255,232,165,.5) 14%,rgba(255,205,100,.38) 30%,rgba(255,190,80,0) 62%)}
.sol-hero .fx{position:absolute;left:0;top:0;width:1536px;height:1024px;overflow:visible;pointer-events:none}
.sol-hero .box{position:absolute;border-radius:32px;transform-origin:50% 50%}
.sol-hero .box .skin{position:absolute;inset:0;border-radius:32px;background-repeat:no-repeat;background-size:1536px 1024px;background-image:url(/assets/sol/sol-hero-art.webp)}
.sol-hero .box .glow{position:absolute;inset:-5px;border-radius:36px;opacity:0;border:4px solid rgba(200,228,255,1);
  box-shadow:0 0 10px #fff,0 0 26px rgba(150,205,255,1),0 0 50px rgba(64,136,240,1),0 0 100px rgba(64,136,240,.9),0 0 150px rgba(244,194,78,.6),inset 0 0 30px rgba(170,215,255,.8),inset 0 0 90px rgba(80,150,255,.45)}
.sol-hero .box .shine{position:absolute;inset:0;border-radius:32px;opacity:0;mix-blend-mode:screen;
  background:radial-gradient(ellipse at 22% 50%,rgba(120,180,255,.35),rgba(120,180,255,0) 45%),linear-gradient(100deg,rgba(255,255,255,0) 40%,rgba(255,236,190,.16) 60%,rgba(255,255,255,0) 75%)}

/* ---------- mobile ---------- */
.sol-hero .mob{display:none}
@media (max-width:719px){
  .sol-hero .desk-sr{display:none}
  .sol-hero .frame{aspect-ratio:1/1;-webkit-mask-image:radial-gradient(circle closest-side at 50% 50%,#000 70%,transparent 86%);mask-image:radial-gradient(circle closest-side at 50% 50%,#000 70%,transparent 86%)}
  .sol-hero .mob{display:block;padding:0 18px 28px}
}
.sol-hero .card{position:relative;display:flex;gap:16px;align-items:center;padding:18px;border-radius:24px;margin-top:-6px;
  background:linear-gradient(135deg,rgba(18,28,76,.85),rgba(8,12,36,.92));border:2px solid rgba(110,175,255,.9);
  box-shadow:0 0 18px rgba(64,136,240,.8),0 0 42px rgba(244,194,78,.28),inset 0 0 30px rgba(90,160,255,.3);transition:opacity .35s ease,transform .35s ease}
.sol-hero .card img{width:72px;height:72px;flex:0 0 72px;border-radius:50%}
.sol-hero .card .t{font-size:20px;font-weight:600;letter-spacing:.01em} .sol-hero .card .t span{color:var(--gold)}
.sol-hero .card .d{font-size:15px;line-height:1.45;color:var(--muted);margin-top:4px;white-space:pre-line}
.sol-hero .card.dim{opacity:.35;transform:scale(.98)}
.sol-hero .dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.sol-hero .dots button{width:30px;height:30px;border:0;padding:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}
.sol-hero .dots button i{width:8px;height:8px;border-radius:50%;background:rgba(200,210,240,.35);transition:all .3s}
.sol-hero .dots button[aria-current="true"] i{background:var(--gold);box-shadow:0 0 10px var(--gold);width:18px;border-radius:4px}
.sol-hero .allgrid{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.sol-hero .allgrid div{font-size:12px;font-weight:600;padding:9px 10px;border-radius:12px;border:1px solid rgba(110,175,255,.8);box-shadow:0 0 12px rgba(64,136,240,.5);background:rgba(10,16,48,.8)}
.sol-hero .allgrid span{color:var(--gold)}
