/* ============================================================
   SPLASH · entrada de marca (mobile-first)
   Composición vertical, usando el espacio: neurona (emblema) ·
   marca · frase · hint. Sin superposiciones.
   ============================================================ */
#splash{
  position:fixed; top:0; left:0; width:100%; height:100%; z-index:20;  /* sin `inset` (compat celular) */
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(ellipse at center, var(--ent-hi) 0%, var(--ent-navy) 55%, var(--ent-deep) 100%);
  text-align:center; padding:56px 32px;
  transition:opacity .6s ease;
}
#splash.is-leaving{ opacity:0; pointer-events:none; }

.sp-inner{
  display:flex; flex-direction:column; align-items:center; gap:26px;
  max-width:380px; width:100%;
  animation:spIn 1s ease both;
}

/* Orden visual: marca → neurona → frase (vía flex order, sin mover el SVG) */
.sp-brand{ order:1; }
.sp-neuron{ order:2; }
.sp-quote{ order:3; }

/* la neurona como emblema contenido (no full-bleed) → no se superpone con el texto */
.sp-neuron{ position:relative; width:min(230px,56vw); aspect-ratio:1; pointer-events:none; }
.sp-neuron svg{ width:100%; height:100%; transform:translate(var(--px,0),var(--py,0)); transition:transform .1s linear; }
.lg-terms circle{ transform-box:fill-box; transform-origin:center; transition:transform .3s ease, fill-opacity .3s ease; }
.lg-terms circle.near{ filter:drop-shadow(0 0 9px rgba(255,248,234,1)) drop-shadow(0 0 18px rgba(var(--ent-gold-rgb),.7)); }

.sp-title{ font-family:var(--font-serif); font-size:var(--fs-hero); color:#fff; letter-spacing:-.02em; line-height:1.02; margin-bottom:8px; }
.sp-tagline{ font-family:var(--font-serif); font-style:italic; font-size:var(--fs-body-sm); color:var(--ent-gold); }

.sp-quote{ font-family:var(--font-serif); font-style:italic; font-size:var(--fs-body-sm); line-height:1.7; color:rgba(239,228,201,.68); max-width:300px; }

.sp-hint{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:2;
  font-family:var(--font-sans); font-size:var(--fs-label); letter-spacing:.22em;
  text-transform:uppercase; color:rgba(var(--ent-ink-rgb),.32); font-weight:600;
  opacity:0; transition:opacity .6s ease;
}
.sp-hint.is-visible{ opacity:1; animation:spHintPulse 2.4s ease-in-out infinite; }

@keyframes spIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }
@keyframes spHintPulse{ 0%,100%{ opacity:.32; } 50%{ opacity:.66; } }

@media(min-width:768px){
  .sp-neuron{ width:min(280px,34vh); }
  .sp-title{ font-size:56px; }
  .sp-tagline{ font-size:20px; }
  .sp-quote{ font-size:16px; max-width:380px; }
  .sp-inner{ gap:30px; max-width:460px; }
}
@media(prefers-reduced-motion:reduce){
  #splash, .sp-inner, .sp-hint, .sp-neuron *{ animation:none !important; }
  .sp-neuron svg{ transition:none !important; }
}
