/* =========================================================
   PYC 47 · Landing Los 100 de Xentral (destino del QR del spot)
   Ligera a propósito: sin 3D, mismo lenguaje que el sitio y el spot
   ========================================================= */
:root{
  --grafito:#17181A;
  --concreto:#212225;
  --linea:#34353A;
  --acero:#737277;
  --rojo:#DE1D31;
  --hueso:#ECEAE6;
  --texto2:#BEBCB8;
  --display:"Archivo", system-ui, sans-serif;
  --mono:"Martian Mono", ui-monospace, monospace;
  --ease:cubic-bezier(.7,0,.2,1);
  --g:clamp(16px, 4vw, 56px);
  --nav-h:60px;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{overflow-x:clip;background:var(--grafito);scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{background:var(--grafito);color:var(--hueso);font-family:var(--display);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,video{display:block;max-width:100%;height:auto}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--rojo);outline-offset:4px}
.mono{font-family:var(--mono);font-variation-settings:"wdth" 87;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.u{text-decoration:underline;text-underline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--rojo);padding:10px 16px}
.skip:focus{left:8px}
.eyebrow{color:var(--texto2)}
.eyebrow b{color:var(--hueso);font-weight:600}
h1,h2,h3{font-weight:850;font-variation-settings:"wdth" 125;text-transform:uppercase;letter-spacing:-.015em;line-height:.92}
h2 em,h1 em{font-style:normal;color:var(--rojo)}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:16px 26px;background:var(--rojo);color:var(--hueso);
  font-weight:650;font-size:15px;transition:gap .3s var(--ease),background .2s}
.btn:hover{gap:22px;background:#c4142a}
.btn--sm{min-height:0;padding:12px 18px;font-size:13px}
.btn--oscuro{background:var(--grafito)}
.btn--oscuro:hover{background:#000}
.btn-ghost{padding:12px 18px;font-size:13px;font-weight:600;border:1px solid var(--acero)}
.link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:14px 0;border-bottom:1px solid var(--acero)}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:60;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:0 var(--g);background:rgba(23,24,26,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.marca{display:flex;align-items:center;gap:10px;font-weight:850;font-variation-settings:"wdth" 125;font-size:17px;letter-spacing:.01em}
.marca img{width:30px;height:30px}
.marca em{font-style:normal;color:var(--rojo)}
.nav-tag{display:flex;align-items:center;gap:8px;color:var(--texto2)}
.nav-tag i{width:7px;height:7px;border-radius:50%;background:var(--rojo);animation:latido 1.6s ease-in-out infinite}
@keyframes latido{50%{opacity:.25}}
.nav-tel{font-weight:650;font-size:14px;padding:9px 16px;border:1px solid var(--rojo);color:var(--hueso);transition:background .2s}
.nav-tel:hover{background:var(--rojo)}

/* ---------- apertura: spot + mensaje ---------- */
.apertura{padding:calc(var(--nav-h) + 16px) var(--g) clamp(56px,9vw,120px);display:grid;grid-template-columns:minmax(0,1fr);gap:28px;
  background:radial-gradient(120% 70% at 85% 0%,rgba(222,29,49,.14),transparent 60%)}
.spot{position:relative;aspect-ratio:16/9;background:#000 url(/xentral100/spot-loop.webp) center/cover;margin:0 calc(var(--g) * -1)}
.spot video{width:100%;height:100%;object-fit:cover}
.esq{position:absolute;width:18px;height:18px;border:2px solid var(--rojo);pointer-events:none}
.esq--a{top:10px;left:10px;border-right:0;border-bottom:0}
.esq--b{top:10px;right:10px;border-left:0;border-bottom:0}
.esq--c{bottom:10px;left:10px;border-right:0;border-top:0}
.esq--d{bottom:10px;right:10px;border-left:0;border-top:0}
.spot-audio{position:absolute;right:36px;bottom:14px;padding:8px 12px;background:rgba(23,24,26,.8);border:1px solid rgba(236,234,230,.25);font-size:9px}
.spot-audio[aria-pressed="true"]{border-color:var(--rojo)}
.spot-barra{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(236,234,230,.12)}
.spot-barra i{display:block;height:100%;width:0;background:var(--rojo)}

.apertura h1{font-size:clamp(28px,8.7vw,104px);margin-top:16px}
.apertura h1 span{display:block}
.apertura h1 .l1{color:transparent;-webkit-text-stroke:1.5px var(--hueso)}
.apertura h1 .l2{color:var(--rojo);margin-top:.06em}
.lead{margin-top:22px;font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:var(--texto2);max-width:46ch}
.lead strong{color:var(--hueso);font-weight:650}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:30px}

/* entrada del titular */
.apertura h1 span,.apertura .eyebrow,.apertura .lead,.apertura .ctas{animation:sube .9s var(--ease) both}
.apertura .eyebrow{animation-delay:.1s}
.apertura h1 .l1{animation-delay:.2s}
.apertura h1 .l2{animation-delay:.32s}
.apertura .lead{animation-delay:.45s}
.apertura .ctas{animation-delay:.55s}
@keyframes sube{from{opacity:0;transform:translateY(24px)}}

/* ---------- los tres tiempos del spot ---------- */
.tiempo{padding:clamp(56px,9vw,128px) var(--g);border-top:1px solid var(--linea);display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.num{color:var(--acero)}
.num b{color:var(--rojo);font-weight:600}
.tiempo h2{font-size:clamp(28px,7.9vw,88px);margin-top:12px}
.foto{position:relative;margin:0 calc(var(--g) * -1);overflow:hidden;background:var(--concreto)}
.foto img{width:100%;aspect-ratio:4/5;object-fit:cover}
.foto--ancha img{aspect-ratio:1/1}
.hud{position:absolute;left:12px;bottom:12px;padding:6px 10px;background:rgba(23,24,26,.82);border-left:2px solid var(--rojo);font-size:9px}
.tiempo-txt p{font-size:17px;line-height:1.6;color:var(--texto2);max-width:52ch}
.sellos{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.sellos li{padding:8px 10px;border:1px solid var(--linea);color:var(--hueso);font-size:10px}
.sellos li::before{content:"+ ";color:var(--rojo)}

/* revelado al hacer scroll */
.revela{clip-path:inset(12% 0 12% 0);transition:clip-path 1.1s var(--ease)}
.revela.visto{clip-path:inset(0)}
.revela img{transform:scale(1.12);transition:transform 1.6s var(--ease)}
.revela.visto img{transform:none}

/* evolución: maqueta → versiones → obra */
.tiempo--ing{background:linear-gradient(180deg,transparent,rgba(222,29,49,.06))}
.evo{margin:0 calc(var(--g) * -1)}
.evo-marco{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--concreto)}
.evo-marco img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .6s,transform 1.2s var(--ease)}
.evo-marco img.on{opacity:1;transform:none}
.evo-marco .hud{z-index:2}
.evo-pasos{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--linea)}
.evo-pasos button{position:relative;padding:14px 4px 16px;text-align:left;font-size:12px;font-weight:650;line-height:1.2;color:var(--texto2);
  display:flex;flex-direction:column;gap:6px;padding-left:var(--pl,0)}
.evo-pasos button:first-child{--pl:var(--g)}
.evo-pasos button .mono{font-size:9px;color:var(--acero)}
.evo-pasos button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--rojo);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.evo-pasos button[aria-selected="true"]{color:var(--hueso)}
.evo-pasos button[aria-selected="true"] .mono{color:var(--rojo)}
.evo-pasos button[aria-selected="true"]::after{transform:none}

/* ---------- el parque ---------- */
.parque{padding:clamp(56px,9vw,128px) 0;background:var(--rojo);color:var(--grafito)}
.parque-cab{padding:0 var(--g);display:grid;gap:12px}
.parque .eyebrow{color:var(--grafito);opacity:.75}
.parque h2{font-size:clamp(34px,8vw,80px)}
.parque h2 b{color:transparent;-webkit-text-stroke:2px var(--grafito)}
.parque-guia{opacity:.7}
.parque-guia span{display:inline-block;animation:empuja 1.4s ease-in-out infinite}
@keyframes empuja{50%{transform:translateX(6px)}}
.tarjetas{display:flex;gap:12px;margin-top:28px;padding:0 var(--g) 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--g);scrollbar-width:none}
.tarjetas::-webkit-scrollbar{display:none}
.tarjeta{flex:0 0 min(78vw,340px);scroll-snap-align:start;background:var(--grafito);color:var(--hueso);padding-bottom:20px}
.tarjeta img{width:100%;aspect-ratio:8/5;object-fit:cover}
.tarjeta .mono{margin:16px 18px 0;color:var(--rojo);font-size:9px}
.tarjeta h3{margin:8px 18px 0;font-size:22px;line-height:1}
.tarjeta p:last-child{margin:10px 18px 0;font-size:14px;line-height:1.5;color:var(--texto2)}

/* ---------- quiénes somos ---------- */
.nos{padding:clamp(56px,9vw,120px) var(--g);display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.cifras{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linea)}
.cifras div{padding:18px 12px 0 0}
.cifras dt{color:var(--acero);font-size:9px}
.cifras dd{display:flex;align-items:baseline;gap:6px;margin-top:10px;flex-wrap:wrap}
.cifras b{font-size:clamp(44px,10vw,96px);font-weight:850;font-variation-settings:"wdth" 125;line-height:.9;color:var(--hueso)}
.cifras span{font-size:13px;color:var(--texto2)}
.nos-txt{font-size:18px;line-height:1.6;color:var(--texto2);max-width:54ch}
.nos-txt strong{color:var(--hueso);font-weight:650}

/* ---------- contacto ---------- */
.contacto{padding:clamp(56px,9vw,128px) var(--g);background:var(--rojo);color:var(--grafito);display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.contacto .eyebrow{color:var(--grafito);opacity:.75}
.contacto h2{font-size:clamp(30px,6.4vw,64px);margin-top:12px;max-width:16ch}
.contacto-cab > p:last-child{margin-top:16px;font-size:17px;font-weight:500}
.tipos{border:0;display:flex;flex-wrap:wrap;gap:8px}
.tipos legend{margin-bottom:12px;font-weight:600}
.tipos label{position:relative}
.tipos input{position:absolute;opacity:0;inset:0}
.tipos span{display:block;padding:12px 16px;border:1.5px solid var(--grafito);font-weight:650;font-size:14px;transition:background .2s,color .2s}
.tipos input:checked + span{background:var(--grafito);color:var(--hueso)}
.tipos input:focus-visible + span{outline:2px solid var(--hueso);outline-offset:2px}
.campos{display:grid;gap:12px;margin-top:24px}
.campo{display:grid;gap:6px}
.campo .mono{font-weight:600;font-size:10px}
.campo input,.campo textarea{width:100%;font:inherit;font-size:16px;color:var(--grafito);background:rgba(255,255,255,.18);border:0;border-bottom:2px solid var(--grafito);
  padding:12px 12px;border-radius:0;resize:vertical}
.campo input:focus,.campo textarea:focus{outline:0;background:rgba(255,255,255,.32)}
.campo.mal input{border-bottom-color:#fff;background:rgba(0,0,0,.12)}
.privacidad{display:flex;gap:10px;align-items:flex-start;margin-top:20px;font-size:14px;line-height:1.4}
.privacidad input{width:20px;height:20px;accent-color:var(--grafito);flex:none}
.trampa{position:absolute;left:-9999px;width:1px;height:1px}
.forma .btn{margin-top:24px;width:100%}
.forma-estado{margin-top:14px;font-weight:600;min-height:1.4em}
.forma.listo .campos,.forma.listo .tipos,.forma.listo .privacidad,.forma.listo .btn{display:none}
.forma.listo .forma-estado{font-size:22px;font-weight:800;font-variation-settings:"wdth" 125;text-transform:uppercase;line-height:1.1}
.directo{display:grid;gap:10px}
.directo a{display:grid;gap:4px;padding:16px 18px;background:var(--grafito);color:var(--hueso);font-weight:650;font-size:16px;word-break:break-word;transition:background .2s}
.directo a:hover{background:#000}
.directo .mono{color:var(--rojo);font-size:9px}

/* ---------- pie ---------- */
.pie{padding:clamp(48px,8vw,96px) var(--g) 32px;border-top:1px solid var(--linea)}
.pie-sitio{display:grid;gap:10px;font-weight:850;font-variation-settings:"wdth" 125;text-transform:uppercase;font-size:clamp(28px,6vw,64px);line-height:.95;
  padding-bottom:28px;border-bottom:1px solid var(--linea)}
.pie-sitio .mono{color:var(--rojo);font-weight:500}
.pie-sitio > span:last-child{color:var(--rojo);transition:margin .3s var(--ease)}
.pie-sitio:hover > span:last-child{margin-left:12px}
.pie-dir{margin-top:24px;color:var(--texto2);font-size:14px;line-height:1.5;max-width:46ch}
.pie-legal{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px;color:var(--acero);font-size:10px}
.pie-legal a:hover,.pie-legal button:hover{color:var(--hueso)}
.pie-legal button{font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit}

/* ---------- cookies ---------- */
.cookies{position:fixed;left:8px;right:8px;bottom:8px;z-index:70;padding:18px 20px;background:rgba(33,34,37,.97);border:1px solid var(--linea);
  opacity:0;transform:translateY(16px);transition:opacity .4s,transform .4s var(--ease)}
.cookies.on{opacity:1;transform:none}
.cookies > .mono{color:var(--rojo);margin-bottom:8px}
.cookies p:not(.mono){font-size:13px;line-height:1.55;color:var(--texto2)}
.cookies-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

/* ---------- escritorio ---------- */
@media (min-width:960px){
  :root{--nav-h:72px}
  .apertura{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:56px;min-height:100svh;padding-top:calc(var(--nav-h) + 40px)}
  .apertura-txt{grid-row:1;grid-column:1}
  .spot{grid-column:2;margin:0;box-shadow:0 40px 120px -40px rgba(222,29,49,.45)}
  .apertura h1{font-size:clamp(44px,4.3vw,84px)}
  .tiempo{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:56px;row-gap:28px;align-items:start}
  .tiempo-cab{grid-column:1}
  .tiempo > figure,.tiempo > .evo{grid-column:2;grid-row:1 / span 2;margin:0}
  .tiempo-txt{grid-column:1}
  .tiempo h2{font-size:clamp(40px,4vw,72px)}
  .foto img,.foto--ancha img{aspect-ratio:4/3}
  .evo-pasos button:first-child{--pl:0}
  .tarjetas{overflow:visible;display:grid;grid-template-columns:repeat(5,1fr)}
  .tarjeta{flex:none}
  .parque-guia{display:none}
  .nos{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:56px}
  .contacto{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:56px;align-items:start}
  .contacto-cab{grid-row:1 / span 2}
  .campos{grid-template-columns:1fr 1fr}
  .campo--todo{grid-column:1 / -1}
  .forma .btn{width:auto}
  .directo{grid-column:2;grid-template-columns:1fr 1fr}
  .cookies{left:16px;right:auto;bottom:16px;width:420px}
}
@media (max-width:420px){
  .nav-tag{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .revela{clip-path:none}
  .revela img{transform:none}
}
