:root{
  --bg:#060607; --ink:#F5F3EF; --muted:#A8A29E;
  --ember:#FF6A00; --emerald:#10B981; --magenta:#E879F9;
  --accent:#FF6A00;
}
html{scroll-behavior:auto}
body{background:var(--bg)}
#loader{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:rgba(255,255,255,.08)}
#loader-bar{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}
#pin-wrap{background:#000}
#stage{position:absolute;inset:0;width:100%;height:100%;display:block}
#poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
#lightfx{position:absolute;inset:0;z-index:5;pointer-events:none;mix-blend-mode:screen;opacity:0}
#sweep{position:absolute;left:-10%;width:120%;height:26%;top:-30%;opacity:0;filter:blur(30px)}
.font-display{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto;letter-spacing:-0.01em}
.eyebrow{font-family:'IBM Plex Mono',ui-monospace,monospace}
#hud{position:absolute;z-index:20;pointer-events:none}
#floors button{font-family:'IBM Plex Mono',ui-monospace,monospace}
#floors{display:flex;gap:.4rem;pointer-events:auto}
#floors button{font-size:.7rem;letter-spacing:.1em;border:1px solid rgba(255,255,255,.25);border-radius:999px;
  padding:.25rem .6rem;color:#fff;opacity:.45;transition:all .3s;background:transparent;cursor:pointer;min-width:44px;min-height:44px}
#floors button.on{opacity:1;border-color:var(--accent);color:var(--accent)}
#floors button:hover{opacity:1}
#progress{flex:1;height:2px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden}
#progress-fill{display:block;height:100%;width:0;background:var(--accent)}
.ui-layer{position:absolute;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none;
  padding:clamp(1rem,4vw,4rem);opacity:0;visibility:hidden}
.ui-layer .card{position:relative;max-width:32rem;margin:0 auto}
.ui-layer .scrim{position:absolute;inset:0;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.68) 0%,rgba(0,0,0,.42) 55%,transparent 82%)}
.brand .logo{height:2.5rem;object-fit:contain;margin:0 auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
#welcome{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:1.5rem;background:rgba(3,3,4,.55);backdrop-filter:blur(10px);transition:opacity .5s}
#welcome.hide{opacity:0;pointer-events:none}
#welcome-card{max-width:36rem;background:rgba(10,10,12,.82);border:1px solid rgba(255,255,255,.14);
  border-radius:1.25rem;padding:2.5rem 2rem}
#ui-intro{justify-content:center;text-align:center}
#ui-intro .scrim{background:radial-gradient(ellipse at center,rgba(0,0,0,.65) 0%,rgba(0,0,0,.3) 55%,transparent 80%)}
#ui-intro .card{margin:0 auto}
#ui-intro .eyebrow{letter-spacing:.3em;font-size:.7rem;text-transform:uppercase;color:var(--muted)}
.brand .eyebrow{letter-spacing:.25em;font-size:.7rem;text-transform:uppercase;margin:.75rem 0 .5rem}
.brand .sub{margin-top:.6rem;color:#E7E5E4}
.brand .logo{height:2.5rem;object-fit:contain;margin:0 auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
#ui-laedu .logo{height:7.5rem}
.brand .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem}
.brand .grid div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  border-radius:.75rem;padding:.7rem;backdrop-filter:blur(6px)}
.brand .grid strong{display:block;font-size:.95rem;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.brand .grid strong .rate{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.85rem}
.brand .grid span{font-size:.72rem;color:#D6D3D1}
.cta{display:inline-block;margin-top:1rem;padding:.8rem 1.4rem;border-radius:999px;color:#fff;
  font-weight:600;pointer-events:auto;min-height:44px}
.cta:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:768px){
  .ui-layer{align-items:center;padding:1rem 1rem 6rem}
  .ui-layer .scrim{background:radial-gradient(ellipse at center,rgba(0,0,0,.8) 0%,rgba(0,0,0,.45) 65%,transparent 90%)}
  .brand .grid{grid-template-columns:1fr 1fr}
  .brand .logo{height:2rem}
  #ui-laedu .logo{height:5rem}
}
@media (prefers-reduced-motion:reduce){
  #stage{display:none}
  #poster{display:block;position:relative;height:40vh}
  .ui-layer{position:relative;opacity:1;visibility:visible;inset:auto}
}
/* Sin GSAP (CDN bloqueado): mismo fallback estático, sin modal bloqueante. */
body.no-motion #stage{display:none}
body.no-motion #poster{display:block;position:relative;height:40vh}
body.no-motion .ui-layer{position:relative;opacity:1;visibility:visible;inset:auto}
body.no-motion #welcome{display:none}
body.no-motion #lightfx{display:none}
