/* ===== Campañas propias ===== */
.camp{margin-top:clamp(36px,5vw,64px)}
.camp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.camp-tabs button{display:flex;gap:.6em;align-items:baseline;padding:.65em 1.1em;border:1px solid rgba(246,235,221,.25);border-radius:99px;font-size:15px;transition:all .3s var(--ease)}
.camp-tabs button b{font:500 12px var(--mono);color:var(--naranja)}.camp-tabs button:hover{border-color:var(--naranja)}
.camp-tabs button.on{background:var(--naranja);color:var(--tinta);border-color:var(--naranja)}.camp-tabs button.on b{color:var(--tinta)}
.camp-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.tvx{position:relative;border-radius:24px;padding:clamp(8px,1.2vw,16px);background:#161412;box-shadow:0 50px 100px -30px #000,inset 0 0 0 1px #2a2724}
.camp-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:10px;container-type:inline-size;background:#000;color:#fff}
.camp-stage>div{position:absolute;inset:0}
.camp-prog{display:block;height:3px;background:var(--naranja);transform-origin:0 50%;transform:scaleX(0);margin-top:12px;border-radius:2px}
@keyframes campProg{to{transform:scaleX(1)}}
.camp-info{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s var(--ease)}.camp-info.in{opacity:1;transform:none}
.camp-info small{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--naranja)}
.camp-info h3{font-size:clamp(28px,3.4vw,46px);margin:.25em 0 .3em;letter-spacing:-.04em}.camp-info>p{font-size:17px;color:var(--mu);line-height:1.45}
.camp-info dl{margin-top:20px;display:grid;gap:6px}.camp-info dt{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--naranja);margin-top:10px}.camp-info dd{font-size:16px;line-height:1.4}
@media(max-width:900px){.camp-main{grid-template-columns:1fr}}
@keyframes blink{50%{opacity:0}}@keyframes fadeUp{from{opacity:0;transform:translateY(2cqw)}to{opacity:1;transform:none}}

/* 1 píxeles */
.px{background:#0d0b12}.px canvas{width:100%;height:100%;display:block;image-rendering:pixelated}
.pxc{position:absolute;left:4cqw;bottom:6.4cqw;font:2.9cqw/1.2 var(--px);color:#fff;text-shadow:.35cqw .35cqw 0 #d9531c;background:rgba(0,0,0,.6);padding:1.1cqw 1.6cqw;margin:0;min-height:5.2cqw}
.pxc i{animation:blink .8s steps(2) infinite;font-style:normal;color:#FFC400}.px small{position:absolute;left:4cqw;bottom:2.2cqw;font:1.7cqw var(--px);color:#FFC400}
/* 2 lunes */
.lun{background:#121110;display:grid;place-items:center;align-content:center;text-align:center}
.lun .wk{position:absolute;left:4cqw;top:4cqw;display:flex;gap:1cqw}.lun .wk i{width:4.8cqw;height:4.8cqw;border:.2cqw solid #F6EBDD;border-radius:1cqw;display:grid;place-items:center;font:700 2.4cqw var(--mono);font-style:normal;color:#F6EBDD;transition:all .4s}
.lun .wk i.on{background:#FF7A3E;border-color:#FF7A3E;color:#121110;animation:pulse 1.4s infinite}
.lun h4{font-weight:800;font-size:27cqw;line-height:.8;letter-spacing:-.07em;color:#FF7A3E;animation:sleepy 2.4s ease-in-out infinite alternate}
@keyframes sleepy{from{transform:rotate(-2.2deg) translateY(0)}to{transform:rotate(2.2deg) translateY(1.6cqw)}}
.lun p{font-size:3.4cqw;font-weight:600;max-width:70cqw;margin-top:3cqw;min-height:2.4em;color:#F6EBDD}.lun p.in{animation:fadeUp .6s var(--ease) both}
.lun small{position:absolute;right:4cqw;bottom:3cqw;font:1.7cqw var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7CC242}
/* 3 cuenta atrás */
.cd{background:linear-gradient(180deg,#2b0a3d,#a8341c 70%,#FF7A3E);display:grid;place-items:center;align-content:center;text-align:center;overflow:hidden}
.cd .ln{position:absolute;left:0;right:0;top:-1cqw;display:flex;justify-content:space-around;padding:0 3cqw}
.cd .ln svg{width:6.4cqw;color:#4a3a4e;transform-origin:50% 0;transition:color .4s,filter .4s}.cd .ln svg:nth-child(odd).lit{color:#ff4d5a;filter:drop-shadow(0 0 1.6cqw #ff4d5a)}.cd .ln svg:nth-child(even).lit{color:#FFC400;filter:drop-shadow(0 0 1.6cqw #FFC400)}
.cd .ln svg.lit{animation:sway 2.2s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.3s)}@keyframes sway{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
.cd small{font:3cqw var(--mono);letter-spacing:.4em;margin-top:8cqw}.cd b{font-weight:800;font-size:31cqw;line-height:.85;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1cqw 0 rgba(0,0,0,.25)}.cd span{font-size:4.4cqw;font-weight:700}
.cd em{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:13cqw;letter-spacing:-.05em;color:#FFC400;text-shadow:0 1cqw 0 #8f2f0a;opacity:0;transform:scale(.3);text-align:center;line-height:.9;padding:0 6cqw}
.cd.go small,.cd.go b,.cd.go span{opacity:0;transition:opacity .3s}.cd.go em{animation:pop .7s var(--ease) .1s both}@keyframes pop{0%{opacity:0;transform:scale(.3) rotate(-8deg)}70%{opacity:1;transform:scale(1.08) rotate(-2deg)}100%{opacity:1;transform:scale(1) rotate(-3deg)}}
.cd .conf i{position:absolute;left:50%;top:56%;width:1.3cqw;height:2.2cqw;background:var(--c);animation:confet 2.6s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes confet{0%{transform:translate(0,0) rotate(0);opacity:1}45%{transform:translate(var(--x),var(--y)) rotate(var(--r))}100%{transform:translate(var(--x),calc(var(--y) + 62cqw)) rotate(calc(var(--r)*2));opacity:0}}
/* 4 diccionario */
.dic{background:#F6EBDD;color:#121110;display:grid;place-items:center}
.dic>small{position:absolute;left:4cqw;top:3.6cqw;font:1.7cqw var(--mono);letter-spacing:.14em}.dic u{text-decoration:none}
.dic .card{background:#fff;border:.5cqw solid #121110;border-radius:2cqw;padding:3cqw 4.6cqw 3.2cqw;width:68cqw;box-shadow:1.2cqw 1.2cqw 0 #FF7A3E;transform-origin:50% 100%;margin-top:-3cqw}
.dic .card.flip{animation:flipIn .7s var(--ease) both}@keyframes flipIn{from{opacity:0;transform:perspective(60cqw) rotateX(-70deg)}to{opacity:1;transform:perspective(60cqw) rotateX(0)}}
.dic h4{font-size:18cqw;line-height:.85;letter-spacing:-.06em;color:#d9531c;display:inline}.dic i{font:1.9cqw var(--mono);margin-left:2cqw;color:#666}
.dic p{font-size:3.4cqw;line-height:1.2;font-weight:600;margin-top:1.6cqw}.dic q{display:block;font-size:2.8cqw;font-style:italic;color:#555;margin-top:1.4cqw;quotes:none}
.dic .cta{position:absolute;left:0;right:0;bottom:0;background:#121110;color:#F6EBDD;text-align:center;font-size:2.6cqw;padding:1.6cqw}.dic .cta b{color:#FF7A3E}
/* 5 pregunta */
.poll{background:#14325e;padding:4.6cqw 5cqw}.poll>small{font:1.8cqw var(--mono);letter-spacing:.16em;color:#FFC400}
.poll h4{font-size:9.4cqw;line-height:.95;letter-spacing:-.05em;margin:1.2cqw 0 3cqw}
.poll .bar{display:grid;grid-template-columns:14cqw 1fr 9cqw;align-items:center;gap:1.6cqw;margin-bottom:1.6cqw}.poll .bar span{font:700 2.5cqw var(--mono)}
.poll .bar i{display:block;height:6.4cqw;border-radius:1.2cqw;width:50%;transition:width .35s ease-out}.poll .bar.a i{background:#FF7A3E}.poll .bar.b i{background:#FFC400}.poll .bar b{font-size:5cqw;letter-spacing:-.04em;text-align:right}
.poll .qr{position:absolute;right:5cqw;bottom:4cqw;display:flex;gap:1.6cqw;align-items:center;text-align:right}.poll .qr svg{width:13cqw;height:13cqw;background:#fff;padding:1cqw;fill:#121110;border-radius:1cqw;order:2}.poll .qr p{font-size:2.4cqw;line-height:1.2;font-weight:600}.poll .qr em{font-style:normal;color:#FFC400}
.poll .vt{position:absolute;left:5cqw;bottom:5cqw;font:2.2cqw var(--mono);text-decoration:none;color:#9fb6d9}
/* 6 tiempo */
.tmp{background:#3a8fd6;display:grid;place-items:center;align-content:center;text-align:center;overflow:hidden}
.tmp .sun{position:absolute;right:-6cqw;top:-8cqw;width:34cqw;height:34cqw;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fff6bf,#FFC400 60%,#ff8a00);box-shadow:0 0 8cqw #FFC400;transform:scale(.5);transform-origin:70% 30%}
.tmp .th{position:absolute;left:5cqw;top:6cqw;bottom:6cqw;width:3.8cqw;border-radius:2cqw;background:rgba(0,0,0,.28);overflow:hidden}.tmp .th i{position:absolute;bottom:0;left:0;right:0;background:#fff;height:10%}
.tmp small{font:2cqw var(--mono);letter-spacing:.2em;position:relative}.tmp b{font-weight:800;font-size:30cqw;line-height:.85;letter-spacing:-.06em;position:relative;font-variant-numeric:tabular-nums;text-shadow:var(--w,0) 0 0 rgba(255,255,255,.35),calc(var(--w,0)*-1) 0 0 rgba(255,60,0,.45),0 1cqw 0 rgba(0,0,0,.18)}
.tmp p{font-size:4cqw;font-weight:700;max-width:64cqw;position:relative;line-height:1.1;margin-top:2cqw;min-height:2.2em}.tmp p.in{animation:fadeUp .5s var(--ease) both}
/* 7 cromos */
.crm{background:radial-gradient(circle at 50% 40%,#2c2824,#121110);display:grid;place-items:center}
.crm>small{position:absolute;left:4cqw;top:3.6cqw;font:1.7cqw var(--mono);letter-spacing:.14em;color:#FFC400}
.crm .cards{position:relative;width:31cqw;height:43cqw;perspective:90cqw;margin-top:5cqw}
.cro{position:absolute;inset:0;border-radius:2.2cqw;padding:2cqw;background:linear-gradient(160deg,var(--c),#121110 160%);color:#121110;overflow:hidden;box-shadow:0 2cqw 5cqw rgba(0,0,0,.6),inset 0 0 0 .6cqw rgba(255,255,255,.55);animation:croIn .9s var(--ease) both,croTilt 2.6s ease-in-out infinite alternate;transform-style:preserve-3d}
@keyframes croIn{from{transform:rotateY(100deg) translateX(20cqw);opacity:0}to{transform:rotateY(0);opacity:1}}
@keyframes croTilt{from{rotate:y -9deg}to{rotate:y 9deg}}
.cro .sh{position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 35%,rgba(255,0,150,.35) 42%,rgba(0,255,255,.35) 50%,rgba(255,255,0,.35) 58%,transparent 65%);mix-blend-mode:color-dodge;animation:holo 2.6s ease-in-out infinite alternate;z-index:3;pointer-events:none}@keyframes holo{from{transform:translateX(-35%)}to{transform:translateX(35%)}}
.cro header{display:flex;justify-content:space-between;font:700 1.7cqw var(--mono)}.cro .pic{margin:1.2cqw 0;border:.4cqw solid #121110;border-radius:1cqw;overflow:hidden;background:#F6EBDD}.cro .pic svg{width:100%;display:block}
.cro h5{font-size:3.3cqw;line-height:1;letter-spacing:-.03em}.cro p{font-size:1.9cqw;margin:.4cqw 0 1.2cqw;font-weight:600}
.cro ul{list-style:none;display:grid;gap:.8cqw}.cro li{display:grid;grid-template-columns:9cqw 1fr;align-items:center;font:600 1.4cqw var(--mono);text-transform:uppercase}.cro li i{display:block;height:1.4cqw;border-radius:1cqw;background:#121110;width:calc(var(--v)*10%);transform-origin:0 50%;animation:statIn 1s .4s var(--ease) both}@keyframes statIn{from{transform:scaleX(0)}}

/* ===== Versión vertical (pantallas en vertical) ===== */
.tvx:has(.camp-stage.v){width:min(100%,380px);justify-self:center}
.camp-stage.v{aspect-ratio:9/16}
.camp-stage.v .pxc{font-size:5.2cqw;left:4cqw;right:4cqw;bottom:10cqw;min-height:9cqw}.camp-stage.v .px small{font-size:3cqw;bottom:4cqw}
.camp-stage.v .lun h4{font-size:30cqw}.camp-stage.v .lun p{font-size:6cqw;max-width:84cqw}.camp-stage.v .lun .wk i{width:9cqw;height:9cqw;font-size:4.2cqw}.camp-stage.v .lun small{font-size:3cqw;right:5cqw;bottom:5cqw}
.camp-stage.v .cd .ln{flex-wrap:wrap;gap:0 0;padding:0 3cqw}.camp-stage.v .cd .ln svg{width:14.5cqw}.camp-stage.v .cd small{font-size:5cqw;margin-top:30cqw}.camp-stage.v .cd b{font-size:56cqw}.camp-stage.v .cd span{font-size:7.4cqw}.camp-stage.v .cd em{font-size:20cqw}
.camp-stage.v .dic>small{font-size:2.8cqw;left:5cqw}.camp-stage.v .dic .card{width:88cqw;padding:6cqw 6cqw}.camp-stage.v .dic h4{font-size:26cqw;display:block}.camp-stage.v .dic i{font-size:3.4cqw;margin:0}.camp-stage.v .dic p{font-size:6cqw}.camp-stage.v .dic q{font-size:5cqw}.camp-stage.v .dic .cta{font-size:4.4cqw;padding:3cqw}
.camp-stage.v .poll{padding:8cqw 6cqw}.camp-stage.v .poll>small{font-size:3.2cqw}.camp-stage.v .poll h4{font-size:15cqw;margin-bottom:8cqw}.camp-stage.v .poll .bar{grid-template-columns:1fr auto;gap:1cqw 2cqw;margin-bottom:5cqw;align-items:center}.camp-stage.v .poll .bar span{grid-column:1/3}.camp-stage.v .poll .bar span{font-size:4.4cqw}.camp-stage.v .poll .bar i{height:13cqw}.camp-stage.v .poll .bar b{font-size:9cqw;text-align:right;line-height:1;min-width:20cqw}
.camp-stage.v .poll .qr{left:6cqw;right:6cqw;bottom:8cqw;justify-content:space-between}.camp-stage.v .poll .qr svg{width:30cqw;height:30cqw}.camp-stage.v .poll .qr p{font-size:4.6cqw;text-align:left}.camp-stage.v .poll .vt{font-size:3.6cqw;bottom:auto;top:6cqw;right:6cqw;left:auto}
.camp-stage.v .tmp .th{left:5cqw;top:8cqw;bottom:8cqw;width:6cqw}.camp-stage.v .tmp small{font-size:3.6cqw}.camp-stage.v .tmp b{font-size:56cqw}.camp-stage.v .tmp p{font-size:7cqw;max-width:80cqw}.camp-stage.v .tmp .sun{width:60cqw;height:60cqw}
.camp-stage.v .crm>small{font-size:2.8cqw;left:5cqw}.camp-stage.v .crm .cards{transform:scale(1.5);margin-top:4cqw}
/* escena vertical sobre foto */
.fc-stage.v{aspect-ratio:9/16;max-width:330px;margin-inline:auto}
.fc-stage.v .cdn{font-size:26cqw;top:16cqw}.fc-stage.v .pol{width:70cqw;padding:3cqw 3cqw 11cqw}.fc-stage.v .pol b{font-size:6.4cqw;bottom:3cqw}.fc-stage.v .hint{font-size:3.4cqw;left:4cqw;right:4cqw;bottom:5cqw;text-align:center}
@keyframes fcPolV{0%,52%{opacity:0;transform:translate(-50%,-90%) rotate(-12deg) scale(.6)}58%{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}74%{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}86%,93%{opacity:1;transform:translate(10%,70%) rotate(8deg) scale(.4)}100%{opacity:0;transform:translate(10%,70%) rotate(8deg) scale(.4)}}
.fc-stage.v.run .pol{animation-name:fcPolV}
.tvx:has(.fc-stage.v){width:min(100%,390px);margin-inline:auto}
