/* LandoHOUSE · Intro de marca · v2026.10.25
   Tecnología con estrategia. Innovación con propósito. Protección del negocio.
   Se muestra en cada visita, solo en la página de inicio (ES/EN).
   Sin JavaScript o con movimiento reducido, no aparece. */

/* Cubierta mientras carga intro.js (evita ver el sitio un instante antes de la intro).
   Si intro.js no llegara a cargar, se retira sola a los 4 s. */
html.intro-on body::before{content:"";position:fixed;inset:0;z-index:9998;background:#131645;animation:lhCover 0s linear 4s forwards}
html.intro-ready body::before{display:none}
@keyframes lhCover{to{visibility:hidden;opacity:0}}
html.intro-lock,html.intro-lock body{overflow:hidden}

.lh-intro{position:fixed;inset:0;z-index:9999;overflow:hidden;font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  transition:transform .9s cubic-bezier(.77,0,.18,1),opacity .6s ease}
.lh-intro.is-leaving{transform:translateY(-100%)}
.lh-intro.is-skipping{opacity:0;transition:opacity .45s ease}

/* ---------- Capa clara (logo + principio) ---------- */
.lh-light{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,3vh,30px);padding:0 16px;text-align:center}
.lh-logo{width:min(520px,78vw);height:auto;mix-blend-mode:multiply;opacity:0;transform:scale(.92);transition:opacity .8s ease .15s,transform 1.1s cubic-bezier(.2,.8,.2,1) .15s}
.lh-claim{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;font-family:"Archivo Narrow",Arial,sans-serif;font-weight:600;
  font-size:clamp(13px,1.6vw,17px);letter-spacing:.18em;text-transform:uppercase;color:#131645}
.lh-claim span{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.lh-claim span:nth-child(1){transition-delay:.55s}
.lh-claim span:nth-child(2){transition-delay:.75s}
.lh-claim span:nth-child(3){transition-delay:.95s}
.lh-claim b{color:#bb0027;font-weight:700}
.lh-intro.is-brand .lh-logo{opacity:1;transform:none}
.lh-intro.is-brand .lh-claim span{opacity:1;transform:none}

/* ---------- Capa oscura (palabras) ---------- */
.lh-dark{position:absolute;inset:0;background:
   radial-gradient(1200px 600px at 75% 110%,rgba(187,0,39,.28),transparent 60%),
   radial-gradient(900px 500px at 10% -10%,rgba(191,194,251,.14),transparent 60%),
   #131645;color:#fff;transition:transform 1s cubic-bezier(.77,0,.18,1)}
.lh-dark::before{content:"";position:absolute;inset:0;opacity:.07;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.9) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.9) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 75%);mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 75%)}
.lh-intro.is-brand .lh-dark{transform:translateY(-100%)}

.lh-top{position:absolute;top:clamp(18px,4vh,36px);left:clamp(16px,4vw,48px);right:clamp(16px,4vw,48px);display:flex;justify-content:space-between;align-items:center;
  font-family:"Archivo Narrow",Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.lh-top b{color:#fff;font-family:"Barlow Condensed",sans-serif;font-size:20px;letter-spacing:.04em}
.lh-top b i{font-style:normal;color:#e41a38}
.lh-count{font-variant-numeric:tabular-nums}
.lh-count em{font-style:normal;color:#fff}

.lh-stage{position:absolute;inset:0;display:grid;place-items:center;padding:0 16px}
.lh-word{grid-area:1/1;text-align:center}
.lh-big{display:block;overflow:hidden;line-height:1;padding:.14em .02em .06em;font-weight:700;text-transform:uppercase;letter-spacing:-.01em;
  font-size:clamp(58px,15.5vw,230px);white-space:nowrap}
.lh-big .c{display:inline-block;transform:translateY(120%);transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.lh-big .dot{color:#e41a38}
.lh-sub{display:block;margin-top:clamp(8px,1.6vh,18px);overflow:hidden;font-family:"Archivo Narrow",Arial,sans-serif;font-weight:600;
  font-size:clamp(15px,2vw,26px);letter-spacing:.32em;text-transform:uppercase;color:#ffb3b1}
.lh-sub span{display:inline-block;transform:translateY(110%);transition:transform .7s cubic-bezier(.2,.8,.2,1) .25s}
.lh-word.is-in .c,.lh-word.is-in .lh-sub span{transform:none}
.lh-word.is-out .c{transform:translateY(-120%);transition-duration:.55s;transition-timing-function:cubic-bezier(.7,0,.84,0)}
.lh-word.is-out .lh-sub span{transform:translateY(-110%);transition:transform .45s cubic-bezier(.7,0,.84,0) 0s}

/* Línea roja que crece bajo la palabra */
.lh-rule{position:absolute;left:50%;bottom:clamp(90px,16vh,150px);width:min(180px,40vw);height:3px;margin-left:max(-90px,-20vw);background:#bb0027;transform:scaleX(0);transform-origin:left;transition:transform 3.6s linear}
.lh-intro.is-run .lh-rule{transform:scaleX(1)}

/* ---------- Progreso y botón ---------- */
.lh-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(19,22,69,.12);z-index:2}
.lh-bar i{display:block;height:100%;width:100%;background:#e41a38;transform:scaleX(0);transform-origin:left}
.lh-intro.is-run .lh-bar i{transform:scaleX(1);transition:transform var(--lh-total,5.4s) linear}
.lh-skip{position:absolute;z-index:3;right:clamp(16px,4vw,48px);bottom:clamp(20px,4vh,40px);display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;
  border:1px solid rgba(255,255,255,.45);border-radius:999px;background:transparent;color:#fff;cursor:pointer;
  font-family:"Archivo Narrow",Arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:background .2s,color .2s,border-color .4s}
.lh-skip:hover,.lh-skip:focus-visible{background:#fff;color:#131645;outline:none}
.lh-skip svg{width:16px;height:16px}
.lh-intro.is-brand .lh-skip{color:#131645;border-color:rgba(19,22,69,.35)}
.lh-intro.is-brand .lh-skip:hover,.lh-intro.is-brand .lh-skip:focus-visible{background:#131645;color:#fff}
.lh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:600px){
  .lh-sub{letter-spacing:.22em}
  .lh-rule{bottom:120px}
}
@media (prefers-reduced-motion:reduce){.lh-intro{display:none!important}}
