/* ====== HOME "WOW" — solo aplica con <body class="home"> ====== */
body.home{background:#070b14;color:#e8eefb;overflow-x:hidden}
body.home ::selection{background:#5b8fd6;color:#07101f}

/* cursor custom */
body.home{cursor:none}
.cursor,.cursor-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:screen}
.cursor{width:7px;height:7px;background:#9fc7ff;transform:translate(-50%,-50%)}
.cursor-ring{width:38px;height:38px;border:1px solid rgba(159,199,255,.6);transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,border-color .25s}
.cursor-ring.hot{width:64px;height:64px;background:rgba(91,143,214,.16);border-color:transparent}
@media(max-width:920px){body.home{cursor:auto}.cursor,.cursor-ring{display:none}}

/* preloader */
#pre{position:fixed;inset:0;z-index:10000;background:#070b14;display:grid;place-items:center;transition:opacity .8s ease,visibility .8s}
#pre.done{opacity:0;visibility:hidden}
#pre .pl{font-family:'Fraunces',serif;font-size:clamp(1.8rem,6.5vw,4.6rem);font-style:italic;letter-spacing:0;
  padding:.1em .32em .24em .12em;max-width:92vw;text-align:center;line-height:1.1;
  background:linear-gradient(100deg,#7fb0ff,#cfe0ff,#5b8fd6);-webkit-background-clip:text;background-clip:text;color:transparent;
  opacity:0;transform:translateY(20px)}
#pre .bar{position:absolute;bottom:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#3e5a78,#7fb0ff)}

/* nav dark glass */
body.home header{background:rgba(10,16,28,.35);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid rgba(159,199,255,.12);box-shadow:none}
body.home header.scrolled{background:rgba(8,12,22,.7);border-bottom:1px solid rgba(159,199,255,.14)}
body.home .logo{background:transparent;border-radius:0;padding:0;height:auto}
body.home .logo .mark{height:54px;width:auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35))}
body.home .brand b{color:#f4f7ff}
body.home .brand i{color:#9fc7ff}
body.home .flogo{background:transparent;padding:0}
body.home .flogo .mark{height:54px;width:auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35))}
body.home .flogo .brand b{color:#f4f7ff}
body.home .flogo .brand i{color:#9fc7ff}
body.home .menu a{color:rgba(220,230,248,.72)}
body.home .menu a:hover,body.home .menu a.active{color:#fff}
body.home .menu a.active::after,body.home .menu a:hover::after{background:#7fb0ff}
body.home .btn-primary{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(159,199,255,.35);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
body.home .btn-primary:hover{background:rgba(127,176,255,.22);transform:translateY(-2px)}
body.home .burger span{background:#cfe0ff}

/* ===== STAGE / HERO ===== */
#stage{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  background:#070b14 url('hero.jpg') center/cover no-repeat}
#stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,11,20,.92) 0%,rgba(7,11,20,.7) 38%,rgba(7,11,20,.35) 75%,rgba(7,11,20,.28) 100%),
    linear-gradient(180deg,rgba(7,11,20,.55) 0%,transparent 30%,transparent 65%,rgba(7,11,20,.7) 100%),
    radial-gradient(130% 90% at 72% 35%,transparent 22%,rgba(7,11,20,.45) 72%,#070b14 100%)}
.stage-inner{position:relative;z-index:2;width:100%}
.huge{font-family:'Fraunces',serif;font-weight:600;line-height:.96;letter-spacing:-.03em;color:#f4f7ff;
  text-shadow:0 2px 30px rgba(4,9,20,.55);font-size:clamp(3rem,9vw,8.5rem);margin:26px 0 22px}
.huge .ln{display:block;overflow:hidden}
.huge .ln > span{display:block;transform:translateY(110%)}
.huge em{font-style:italic;font-weight:500;padding:.02em .2em .18em .04em;
  background:linear-gradient(100deg,#7fb0ff 0%,#cfe0ff 50%,#5b8fd6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{max-width:52ch;color:#aebbd2;font-size:clamp(1.05rem,1.5vw,1.3rem);opacity:0;transform:translateY(24px)}
.cta-row{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;opacity:0;transform:translateY(24px)}
.btn-glass{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:44px;font-weight:500;font-size:.95rem;
  background:rgba(255,255,255,.08);border:1px solid rgba(159,199,255,.3);color:#fff;backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25);transition:transform .25s,background .25s,box-shadow .25s}
.btn-glass:hover{transform:translateY(-3px);background:rgba(127,176,255,.2);box-shadow:0 18px 40px -16px rgba(127,176,255,.5),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-fill{background:#fff;color:#0a1422;border:0}
.btn-fill:hover{background:#dce9ff}
.scrollcue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;color:#7e93b5;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0}
.scrollcue .ln2{width:1px;height:46px;background:linear-gradient(#7fb0ff,transparent);animation:cue 2s infinite}
@keyframes cue{0%{opacity:0;transform:scaleY(.2)}40%{opacity:1}100%{opacity:0;transform:scaleY(1)}}

/* ===== dark sections ===== */
body.home section{padding:120px 0}
body.home .eyebrow{color:#7fb0ff}
body.home h2,body.home h3{color:#fff}
body.home h2 em,body.home h3 em{background:linear-gradient(100deg,#7fb0ff,#cfe0ff);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic;font-weight:500;padding:.02em .2em .18em .04em}
body.home .lead,body.home .sec-head p,body.home p{color:#9fb0cb}
body.home .stats{background:rgba(159,199,255,.12);border-color:rgba(159,199,255,.14)}
body.home .stat{background:rgba(255,255,255,.02)}
body.home .stat .n{color:#9fc7ff}
body.home .stat .l{color:#8ea2c2}
body.home a.steel{color:#9fc7ff !important}

/* glass cards */
body.home .card{background:rgba(255,255,255,.04);border:1px solid rgba(159,199,255,.14);backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
body.home .card:hover{border-color:rgba(127,176,255,.5);box-shadow:0 30px 60px -30px rgba(0,0,0,.8),0 0 0 1px rgba(127,176,255,.25);background:rgba(127,176,255,.08)}
body.home .card h3{color:#fff}
body.home .card p{color:#9fb0cb}
body.home .card .ico{background:rgba(127,176,255,.1);border-color:rgba(159,199,255,.2);color:#9fc7ff}
body.home section[style]{background:transparent !important;border-color:rgba(159,199,255,.12) !important}

/* CTA glow */
body.home .cta{background:linear-gradient(120deg,#13243d,#1b2c42);border:1px solid rgba(159,199,255,.18);position:relative;overflow:hidden}
body.home .cta::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(127,176,255,.5),transparent 70%);top:-160px;right:-80px;filter:blur(20px)}
body.home .cta .btn-primary{background:#fff;color:#0a1422;border:0}

/* reveal */
body.home .reveal{opacity:0;transform:translateY(42px);filter:blur(6px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter 1s}
body.home .reveal.in{opacity:1;transform:none;filter:none}

/* ===== MARQUEE ===== */
.marquee{position:relative;overflow:hidden;padding:22px 0;background:rgba(8,12,22,.6);
  border-top:1px solid rgba(159,199,255,.12);border-bottom:1px solid rgba(159,199,255,.12);backdrop-filter:blur(8px)}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,#070b14,transparent)}
.marquee::after{right:0;background:linear-gradient(270deg,#070b14,transparent)}
.marquee-track{display:inline-flex;align-items:center;gap:14px;white-space:nowrap;will-change:transform;animation:marquee 36s linear infinite}
.marquee .pill{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1rem,1.8vw,1.4rem);color:#cfe0ff;
  padding:8px 22px;border-radius:40px;border:1px solid rgba(159,199,255,.18);background:rgba(127,176,255,.06)}
.marquee .dot{color:#7fb0ff;font-size:1.2rem}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee:hover .marquee-track{animation-play-state:paused}

/* ===== WhatsApp flotante (presente en todas las páginas) ===== */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:9000;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;color:#fff;background:#25d366;text-decoration:none;
  box-shadow:0 12px 30px -8px rgba(37,211,102,.6),0 2px 8px rgba(0,0,0,.3);
  transition:transform .25s,box-shadow .25s}
.wa-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 18px 40px -10px rgba(37,211,102,.8),0 2px 8px rgba(0,0,0,.3)}
.wa-float:focus-visible{outline:3px solid #cfe0ff;outline-offset:3px}
@media(max-width:600px){.wa-float{width:52px;height:52px;right:16px;bottom:16px}}

/* ===== mobile / performance ===== */
@media(max-width:768px){
  /* en mobile mostramos el poster (hero.jpg) en vez de cargar el video */
  .hero-vid{display:none}
  #stage{background:#070b14 url('hero.jpg') center/cover no-repeat}
}

/* respeta prefers-reduced-motion: sin video animado ni marquee */
@media(prefers-reduced-motion:reduce){
  .hero-vid{display:none}
  #stage{background:#070b14 url('hero.jpg') center/cover no-repeat}
  .marquee-track{animation:none}
}
