/* Web de quiencubre.com. Misma maqueta que se aprobó en el diseño (14/10/2026). */
@font-face{font-family:'Bricolage Grotesque';src:url(/recursos/bricolage.woff2) format('woff2');font-weight:200 800;font-display:swap}
:root{--fondo:#FFD23F;--mancha:#3D63FF;--tinta:#141414;--crema:#FBF5E8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--tinta)}a:hover{color:#000}
h1,h2,h3,p{margin:0}
img{max-width:100%}
.saltar{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:10px 16px;border-radius:999px}
.saltar:focus{left:16px}
:focus-visible{outline:3px solid var(--mancha);outline-offset:3px}

/* Botones */
.boton{display:inline-block;text-decoration:none;font:inherit;font-weight:600;font-size:17px;padding:15px 26px;border-radius:999px;background:var(--tinta);color:#fff;border:0;cursor:pointer}
.boton:hover{color:#fff;background:#000}
.boton.borde{background:none;color:var(--tinta);border:2px solid var(--tinta);padding:13px 24px}
.boton.borde:hover{background:rgba(20,20,20,.06)}
.boton.peq{font-size:16px;padding:12px 20px}

/* Menú */
.menu{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:50;width:min(1100px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 10px 10px 20px;background:#fff;border-radius:999px;box-shadow:0 6px 24px rgba(20,20,20,.10)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:-.02em;white-space:nowrap}
.menu-enlaces{display:flex;gap:28px;align-items:center;font-size:16px;font-weight:600}
.menu-enlaces a,.menu-entrar{text-decoration:none}
.menu-der{display:flex;gap:8px;align-items:center;white-space:nowrap}
.menu-entrar{font-weight:600;font-size:16px;padding:12px 16px;border-radius:999px}
@media (max-width:760px){
  .menu-enlaces{display:none}
  .menu{padding:8px 8px 8px 14px;gap:8px}
  .logo{font-size:18px;gap:8px}
  .menu-entrar{padding:10px 8px;font-size:15px}
  .menu .boton.peq{padding:10px 14px;font-size:15px}
}
@media (max-width:370px){
  .menu-entrar{display:none}
}

/* Escena de la portada */
.escena{position:relative;height:100vh}
.escena-fija{position:sticky;top:0;height:100vh;overflow:hidden}
.anim .escena{height:460vh}
.portada{position:absolute;left:0;right:0;top:15vh;display:flex;flex-direction:column;align-items:center;gap:20px;padding:0 20px;text-align:center}
.portada h1{font-size:clamp(54px,9.4vw,152px);line-height:.92;font-weight:800;letter-spacing:-.045em}
.portada p{max-width:620px;font-size:clamp(18px,1.6vw,22px);line-height:1.4}
.portada-botones{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.lamina{position:absolute;left:0;right:0;top:5vh;bottom:-60px;background:var(--crema);border-radius:44px 44px 0 0;box-shadow:0 -10px 40px rgba(20,20,20,.08);transform:translateY(100%)}
.lamina svg{position:absolute;left:50%;top:52%;width:78vmax;height:78vmax;transform:translate(-50%,-50%) scale(.04)}
.lamina path{fill:var(--mancha)}
.confeti{position:absolute;transform:translate(-50%,0)}
.confeti svg{display:block;width:100%;height:auto;overflow:visible}
.tarjeta{position:absolute;width:clamp(150px,15.5vw,250px);aspect-ratio:1/1;transform:translate(-50%,0)}
.tarjeta div{position:relative;width:100%;height:100%;overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 14px 34px rgba(20,20,20,.18)}
.tarjeta canvas{position:absolute;width:200%;height:200%}
@media (max-width:760px){.tarjeta{width:27vw;border-radius:18px}.tarjeta div{border-radius:18px}}
.caja{width:min(440px,86vw);padding:30px 32px;background:#fff;border-radius:24px}
.caja h2{margin-bottom:10px;font-size:clamp(28px,2.6vw,38px);line-height:1;font-weight:800;letter-spacing:-.03em}
.caja p{font-size:18px;line-height:1.45}
.caja .boton{margin-top:18px}
.escena .caja{position:absolute;left:50%;top:50%;box-shadow:0 20px 50px rgba(20,20,20,.16);opacity:0;transform:translate(-50%,-50%);display:none}
.anim .escena .caja{display:block}
.cajas-quietas{background:var(--crema);padding:72px 20px;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
.anim .cajas-quietas{display:none}

/* Secciones */
.seccion{position:relative;z-index:2;padding:clamp(72px,9vw,130px) 20px;display:flex;flex-direction:column;align-items:center}
.ancho{width:min(1120px,100%)}
.titulo{font-size:clamp(40px,5.6vw,84px);line-height:.95;font-weight:800;letter-spacing:-.045em}
.centrado{max-width:760px;text-align:center;display:flex;flex-direction:column;gap:14px}
.centrado p{font-size:19px;line-height:1.45}

.como{background:#fff;gap:clamp(48px,6vw,88px)}
.paso{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,4vw,64px)}
.paso.al-reves{flex-wrap:wrap-reverse}
.paso-texto{flex:1 1 320px;display:flex;flex-direction:column;gap:12px}
.paso-texto h3{font-size:clamp(30px,3.2vw,46px);line-height:1;font-weight:800;letter-spacing:-.03em}
.paso p{font-size:18px;line-height:1.5}
.numero{align-self:flex-start;font-weight:800;font-size:15px;padding:6px 14px;border-radius:999px;background:var(--fondo)}
.captura{flex:1.4 1 420px;min-width:0;border-radius:22px;overflow:hidden;background:#F4F4F4;box-shadow:0 18px 50px rgba(20,20,20,.12);border:1px solid #ECECEC}
.captura img{display:block;width:100%;height:auto}
.paso-cero{gap:16px 32px;padding:clamp(24px,3vw,36px);border-radius:22px;border:2px dashed #D9D2C2;background:var(--crema)}
.paso-cero .etiqueta{display:flex;align-items:center;gap:12px}
.paso-cero .paso-texto{flex:1 1 420px;gap:8px}
.paso-cero h3{font-size:clamp(26px,2.6vw,36px);line-height:1.05}
.opcional{font-size:14px;font-weight:600;color:#5C5C5C}
@media (max-width:480px){.captura{flex-basis:100%}.paso-texto{flex-basis:100%}}

.asistente{background:var(--mancha);color:#fff}
.asistente .ancho{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,72px);align-items:center}
.asistente-texto{flex:1 1 380px;display:flex;flex-direction:column;gap:16px}
.asistente-texto .etiqueta{display:flex;align-items:center;gap:14px}
.asistente .opcional{color:#fff;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.16)}
.asistente h2{font-size:clamp(40px,5vw,76px);line-height:.95;font-weight:800;letter-spacing:-.045em}
.asistente-texto p{font-size:19px;line-height:1.5}
.asistente-texto p.nota{font-size:16px;color:#E3E9FF}
.chat{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:26px;background:#fff;color:var(--tinta);box-shadow:0 24px 60px rgba(10,20,80,.35)}
.chat div{max-width:90%;padding:12px 16px;font-size:16px;line-height:1.5}
.chat .yo{align-self:flex-end;max-width:85%;border-radius:18px 18px 4px 18px;background:var(--tinta);color:#fff;line-height:1.4}
.chat .el{align-self:flex-start;border-radius:18px 18px 18px 4px;background:#F2F2F2}

.para{background:var(--fondo)}
.para .ancho{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,80px);align-items:flex-start}
.para h2{flex:1 1 340px}
.para-texto{flex:1 1 380px;display:flex;flex-direction:column;gap:18px;font-size:19px;line-height:1.5}

.privacidad{background:var(--crema);gap:40px}
.rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.rejilla div{background:#fff;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:10px}
.rejilla h3{font-size:24px;line-height:1.1;font-weight:800;letter-spacing:-.02em}
.rejilla p{font-size:17px;line-height:1.5}

.contacto{background:var(--tinta);color:#fff;padding-bottom:40px;gap:22px;text-align:center}
.contacto a{color:#fff}
.contacto h2{font-size:clamp(44px,7vw,110px);line-height:.95;font-weight:800;letter-spacing:-.045em}
.contacto>p{max-width:560px;font-size:19px;line-height:1.45;color:#E8E8E8}
.formulario{width:min(560px,100%);margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;text-align:left}
.formulario label{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:600}
.formulario .entero{grid-column:1/-1}
.formulario input,.formulario textarea{font:inherit;font-weight:400;font-size:17px;padding:13px 14px;border-radius:12px;border:1px solid #3A3A3A;background:#1F1F1F;color:#fff}
.formulario textarea{resize:vertical}
.formulario button{grid-column:1/-1;justify-self:center;margin-top:6px;background:var(--fondo);color:var(--tinta);padding:15px 30px}
.formulario button:hover{background:#FFDD66;color:var(--tinta)}
.formulario button:disabled{opacity:.6;cursor:default}
.trampa{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.formulario .error{grid-column:1/-1;color:#FF9C8F;font-size:16px}
.gracias{margin-top:12px;font-size:22px;font-weight:600;padding:22px 28px;border-radius:20px;background:var(--fondo);color:var(--tinta)}
.o-escribe{margin-top:8px;font-size:15px;color:#BDBDBD}
@media (max-width:520px){.formulario{grid-template-columns:1fr}}
.pie{margin-top:72px;padding-top:24px;border-top:1px solid #2E2E2E;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:13px;color:#BDBDBD;text-align:left}
.pie a{color:#E8E8E8}
.pie-enlaces{display:flex;flex-wrap:wrap;gap:8px 18px}
.pie-credito{flex-basis:100%}

/* Dónde empieza cada tarjeta y cada pieza de confeti (la animación las mueve desde aquí) */
.t1{left:27%;bottom:5vh}.t2{left:42.5%;bottom:9vh}.t3{left:57.5%;bottom:4vh}.t4{left:73%;bottom:8vh}
.t1 canvas{left:0;top:0}.t2 canvas{left:-100%;top:0}.t3 canvas{left:0;top:-100%}.t4 canvas{left:-100%;top:-100%}
.f1{left:22%;bottom:34vh;width:72px}.f2{left:80%;bottom:34vh;width:46px}.f3{left:12%;bottom:12vh;width:30px}.f4{left:89%;bottom:14vh;width:40px}.f5{left:50%;bottom:37vh;width:34px}
.tarjeta{opacity:0;transition:opacity .4s}.con-rive .tarjeta{opacity:1}
.no-encontrada{min-height:100vh;justify-content:center;gap:24px;text-align:center}.no-encontrada p{font-size:19px}

/* Entrada al cargar: las tarjetas y el confeti suben a su sitio sin esperar a que se baje */
@keyframes subir{from{transform:translateY(45vh) rotate(-8deg)}to{transform:none}}
@keyframes aparecer{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.anim .portada{animation:aparecer .7s cubic-bezier(.2,.8,.2,1) both}
.anim.con-rive .tarjeta>div{animation:subir .9s cubic-bezier(.2,.8,.2,1) both}
.anim.con-rive .t2>div{animation-delay:.08s}.anim.con-rive .t3>div{animation-delay:.16s}.anim.con-rive .t4>div{animation-delay:.24s}
.anim.con-rive .confeti svg{animation:aparecer .8s .3s cubic-bezier(.2,.8,.2,1) both}
.anim .confeti svg{opacity:0}.anim.con-rive .confeti svg{opacity:1}
