/* ETERNAL · Cinematic polish V4 · 2026-09-19
   Fine direction pass: hero stars, stable perspectives, living finale. */
:root{--v4-violet:#a78bfa;--v4-lilac:#d8b4fe;--v4-blue:#60a5fa;--v4-cyan:#5eead4;--v4-pink:#f9a8d4}

/* HERO — keep the star field here, not as a generic texture everywhere. */
.neo-hero{background:radial-gradient(ellipse at 50% 58%,rgba(107,75,202,.17),transparent 34%),radial-gradient(circle at 18% 18%,rgba(55,119,255,.07),transparent 24%),linear-gradient(180deg,#05040b 0%,#070610 60%,#05050a 100%)!important}
.neo-hero-starfield{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 0 88%,transparent)}
.neo-hero-starfield::before,.neo-hero-starfield::after,.neo-hero-starfield i{content:"";position:absolute;inset:-10%;background-repeat:repeat;transform:translateZ(0)}
.neo-hero-starfield::before{background-image:radial-gradient(circle,rgba(255,255,255,.96) 0 1px,transparent 1.35px);background-size:83px 83px;opacity:.18}
.neo-hero-starfield::after{background-image:radial-gradient(circle,rgba(157,208,255,.9) 0 1px,transparent 1.45px);background-size:137px 137px;background-position:31px 46px;opacity:.13;animation:v4StarsDrift 34s linear infinite}
.neo-hero-starfield i:nth-child(1){background-image:radial-gradient(circle,rgba(216,180,254,.9) 0 1.2px,transparent 1.6px);background-size:211px 211px;background-position:73px 18px;opacity:.18;animation:v4StarsDrift 48s linear infinite reverse}
.neo-hero-starfield i:nth-child(2){background:radial-gradient(circle at 18% 33%,rgba(255,255,255,.95) 0 1px,transparent 2px),radial-gradient(circle at 82% 23%,rgba(94,234,212,.8) 0 1px,transparent 2.2px),radial-gradient(circle at 71% 68%,rgba(216,180,254,.86) 0 1px,transparent 2.2px);animation:v4Twinkle 4.8s ease-in-out infinite alternate}
.neo-hero-starfield i:nth-child(3){inset:0;background:radial-gradient(ellipse at 50% 45%,transparent 15%,rgba(5,5,10,.22) 74%,rgba(5,5,10,.7) 100%)}
@keyframes v4StarsDrift{to{transform:translate3d(36px,22px,0)}}
@keyframes v4Twinkle{0%{opacity:.25;filter:blur(.2px)}100%{opacity:.82;filter:drop-shadow(0 0 5px rgba(255,255,255,.5))}}

/* Neuroadaptation — no scan gimmick. Let the character/profile transformation carry the idea. */
.neo-scanline,.neo-scan-tag{display:none!important}
.neo-adapt-orbit::after{display:none!important}

/* Ecosystem dock belongs immediately under the hero. */
.et-audience-switcher{z-index:30!important;margin-top:-1px!important;background:linear-gradient(180deg,rgba(8,7,16,.97),rgba(7,7,13,.94))!important;border-top:1px solid rgba(216,180,254,.11)!important;border-bottom:1px solid rgba(255,255,255,.065)!important;box-shadow:0 34px 90px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025)}
.et-audience-inner{max-width:1440px!important;padding-top:22px!important;padding-bottom:24px!important}
.et-audience-tabs a{background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transform:translateZ(0)}
.et-audience-tabs a:hover{box-shadow:0 16px 34px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.055)}

/* Perspectives — fixed geometry. Color is the interaction, not layout reflow. */
.neo-perspective-stage{grid-template-columns:repeat(3,minmax(0,1fr))!important;transition:none!important;overflow:hidden!important}
.neo-perspective-stage:has(.neo-perspective:nth-child(1):hover),.neo-perspective-stage:has(.neo-perspective:nth-child(2):hover),.neo-perspective-stage:has(.neo-perspective:nth-child(3):hover),.neo-perspective-stage:has(.neo-perspective:hover){grid-template-columns:repeat(3,minmax(0,1fr))!important}
.neo-perspective{transform:translateZ(0);transition:opacity .45s ease,background .45s ease,box-shadow .45s ease!important}
.neo-perspective-art,.neo-parent-dashboard,.neo-therapy-radar{transition:filter .55s cubic-bezier(.2,.8,.2,1),opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1)!important}
@media (hover:hover) and (pointer:fine){
  .neo-perspective-stage .neo-perspective-art,.neo-perspective-stage .neo-parent-dashboard,.neo-perspective-stage .neo-therapy-radar{filter:grayscale(1) saturate(.12) brightness(.72);opacity:.68}
  .neo-perspective-stage:hover .neo-perspective:not(:hover){opacity:.58}
  .neo-perspective:hover,.neo-perspective:focus-visible{opacity:1;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:inset 0 0 70px rgba(167,139,250,.035)}
  .neo-perspective:hover .neo-perspective-art,.neo-perspective:focus-visible .neo-perspective-art,.neo-perspective:hover .neo-parent-dashboard,.neo-perspective:focus-visible .neo-parent-dashboard,.neo-perspective:hover .neo-therapy-radar,.neo-perspective:focus-visible .neo-therapy-radar{filter:none;opacity:1}
  .neo-perspective:hover .neo-perspective-art>img{transform:translateY(-10px) scale(1.035)!important}
}

/* Tablet: each perspective becomes a cinematic horizontal scene instead of three cramped columns. */
@media(max-width:1050px){
  .neo-perspective-stage{grid-template-columns:1fr!important;width:min(860px,calc(100% - 2rem))!important;border-radius:32px!important}
  .neo-perspective-stage:has(.neo-perspective:hover){grid-template-columns:1fr!important}
  .neo-perspective{min-height:0!important;display:grid!important;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:center;gap:1.25rem;padding:1.35rem 2rem 1.8rem!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.075)}
  .neo-perspective:last-child{border-bottom:0!important}
  .neo-perspective-index{grid-column:1/-1;padding:.3rem 0 0!important}
  .neo-perspective-art{height:360px!important;min-height:0!important}
  .neo-perspective-copy{padding-right:1rem}
  .neo-perspective-copy h3{font-size:clamp(2.65rem,6vw,4.5rem)!important}
  .neo-perspective::before{writing-mode:initial!important;transform:none!important;top:1rem!important;right:1rem!important;left:auto!important;font-size:clamp(4rem,12vw,8rem)!important}
}
@media(max-width:700px){
  .neo-perspective-stage{width:100%!important;border-radius:26px!important}
  .neo-perspective{display:flex!important;min-height:590px!important;padding:1.1rem 1rem 1.8rem!important}
  .neo-perspective-index{width:100%}
  .neo-perspective-art{height:330px!important;min-height:300px!important}
  .neo-perspective-copy{padding-right:0}
  .neo-perspective-copy h3{font-size:clamp(2.5rem,12vw,3.8rem)!important}
  .neo-perspective::before{font-size:22vw!important;top:5%!important;right:auto!important;left:2%!important}
  .neo-perspective-art,.neo-parent-dashboard,.neo-therapy-radar{filter:none!important;opacity:1!important}
}

/* Finale — crew, deeper glow, and a logo that stays alive after formation. */
.neo-finale{min-height:108vh!important;background:radial-gradient(circle at 50% 48%,rgba(114,78,220,.22),transparent 26%),radial-gradient(circle at 20% 70%,rgba(61,143,255,.08),transparent 28%),radial-gradient(circle at 80% 68%,rgba(249,168,212,.07),transparent 27%),linear-gradient(180deg,#020205,#05030b 74%,#020205)!important}
.neo-finale::before{opacity:.15!important;background-size:74px 74px!important}
.neo-fireworks-canvas{z-index:3!important;filter:drop-shadow(0 0 5px rgba(216,180,254,.35))}
.neo-finale-copy{z-index:6!important;pointer-events:auto!important;isolation:isolate}
.neo-finale-logo-fallback{position:relative;z-index:4;width:min(650px,75vw)!important;opacity:.22!important;cursor:pointer;pointer-events:auto!important;filter:drop-shadow(0 0 12px rgba(255,255,255,.28)) drop-shadow(0 0 34px rgba(216,180,254,.48)) drop-shadow(0 0 78px rgba(96,165,250,.3))!important;transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1),filter .6s ease!important;animation:v4LogoBreath 4.6s ease-in-out infinite}
.neo-finale.is-formed .neo-finale-logo-fallback{opacity:.24!important}
.neo-finale-logo-fallback:hover{transform:scale(1.035);filter:drop-shadow(0 0 14px rgba(255,255,255,.5)) drop-shadow(0 0 44px rgba(216,180,254,.75)) drop-shadow(0 0 105px rgba(96,165,250,.52))!important}
@keyframes v4LogoBreath{0%,100%{filter:drop-shadow(0 0 12px rgba(255,255,255,.25)) drop-shadow(0 0 30px rgba(216,180,254,.42)) drop-shadow(0 0 66px rgba(96,165,250,.25))}50%{filter:drop-shadow(0 0 18px rgba(255,255,255,.42)) drop-shadow(0 0 48px rgba(216,180,254,.68)) drop-shadow(0 0 105px rgba(96,165,250,.42))}}
.neo-finale-copy::before{content:"";position:absolute;z-index:-1;left:50%;top:46%;width:min(760px,86vw);height:260px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(151,111,255,.22),rgba(82,146,255,.07) 42%,transparent 70%);filter:blur(32px);animation:v4Halo 5.5s ease-in-out infinite}
@keyframes v4Halo{50%{transform:translate(-50%,-50%) scale(1.12);opacity:.65}}
.neo-finale-crew{position:absolute;z-index:2;inset:0;pointer-events:none;overflow:hidden;mask-image:linear-gradient(transparent 0 36%,#000 55% 90%,transparent 100%)}
.neo-finale-crew figure{position:absolute;bottom:-5%;margin:0;width:clamp(145px,15vw,270px);opacity:.58;filter:saturate(.8) brightness(.63) drop-shadow(0 28px 32px rgba(0,0,0,.65)) drop-shadow(0 0 24px rgba(167,139,250,.12));transform-origin:50% 100%;transition:opacity .7s ease,filter .7s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.neo-finale-crew img{display:block;width:100%;height:auto}
.neo-finale-crew .c-maia{left:2%;transform:rotate(-8deg) scale(.92)}
.neo-finale-crew .c-terra{left:18%;bottom:-8%;transform:rotate(-3deg) scale(1.02)}
.neo-finale-crew .c-juno{left:50%;bottom:-11%;transform:translateX(-50%) scale(1.16);opacity:.42}
.neo-finale-crew .c-marcus{right:18%;bottom:-8%;transform:rotate(3deg) scale(1.02)}
.neo-finale-crew .c-nilo{right:2%;transform:rotate(8deg) scale(.92)}
.neo-finale.is-formed .neo-finale-crew figure{opacity:.72;filter:saturate(.96) brightness(.78) drop-shadow(0 32px 34px rgba(0,0,0,.68)) drop-shadow(0 0 34px rgba(167,139,250,.2))}
.neo-finale.is-reacting .neo-finale-crew figure{filter:saturate(1.08) brightness(.9) drop-shadow(0 32px 34px rgba(0,0,0,.68)) drop-shadow(0 0 48px rgba(96,165,250,.28))}
.neo-finale-replay{margin:1rem auto 0;display:inline-flex;align-items:center;gap:.55rem;border:0;background:none;color:rgba(255,255,255,.3);font-size:.5rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color .3s ease,transform .3s ease;pointer-events:auto}
.neo-finale-replay i{width:5px;height:5px;border-radius:50%;background:var(--v4-cyan);box-shadow:0 0 14px var(--v4-cyan);animation:v4ReplayDot 1.7s ease-in-out infinite}
.neo-finale-replay:hover{color:rgba(255,255,255,.78);transform:translateY(-2px)}
@keyframes v4ReplayDot{50%{transform:scale(1.8);opacity:.4}}

@media(max-width:820px){
  .neo-finale{min-height:860px!important}
  .neo-finale-crew figure{width:clamp(105px,25vw,180px);bottom:-1%}
  .neo-finale-crew .c-maia{left:-7%}.neo-finale-crew .c-terra{left:10%;bottom:-4%}.neo-finale-crew .c-juno{bottom:-8%}.neo-finale-crew .c-marcus{right:10%;bottom:-4%}.neo-finale-crew .c-nilo{right:-7%}
  .neo-finale-copy{padding:0 1rem}.neo-finale-copy span{font-size:.48rem!important;letter-spacing:.18em!important}.neo-finale-copy p{font-size:.55rem!important;line-height:1.6}
}
@media(max-width:520px){
  .neo-finale{min-height:780px!important}.neo-finale-crew{opacity:.74}.neo-finale-crew figure{width:118px}.neo-finale-crew .c-maia{left:-14%}.neo-finale-crew .c-terra{left:3%}.neo-finale-crew .c-marcus{right:3%}.neo-finale-crew .c-nilo{right:-14%}.neo-finale-crew .c-juno{width:140px}
  .neo-finale-replay{font-size:.42rem;letter-spacing:.12em}
}
@media(prefers-reduced-motion:reduce){.neo-hero-starfield::after,.neo-hero-starfield i,.neo-finale-logo-fallback,.neo-finale-copy::before,.neo-finale-replay i{animation:none!important}.neo-finale-logo-fallback{opacity:.32!important}.neo-finale-crew figure{opacity:.68!important}}
