/* ===== Fotocall ===== */
.fc{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.tvx.lt{background:#1a1816}
.fc-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:10px;container-type:inline-size;background:#000;--d:7.4s}
.fc-stage svg{position:absolute;inset:0;width:100%;height:100%}
.fc-stage .fl{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}
.fc-stage .cdn{position:absolute;left:50%;top:9cqw;translate:-50% 0;font:800 10cqw/1 var(--display);color:#fff;text-shadow:0 .6cqw 0 rgba(0,0,0,.4);opacity:0}
.fc-stage .pol{position:absolute;left:50%;top:50%;width:26cqw;background:#fff;padding:1.2cqw 1.2cqw 4.6cqw;box-shadow:0 2cqw 5cqw rgba(0,0,0,.55);opacity:0;color:#121110;border-radius:.4cqw}
.fc-stage .pol i{display:block;aspect-ratio:4/3;background:var(--pc)}.fc-stage .pol b{position:absolute;left:0;right:0;bottom:1.1cqw;text-align:center;font:600 2.3cqw/1 var(--display)}
.fc-stage .hint{position:absolute;left:3cqw;bottom:2.6cqw;font:500 1.7cqw var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.55);padding:.9cqw 1.6cqw;border-radius:99px}
.fc-stage .ppl,.fc-stage .ov{transform-box:fill-box}
.fc-stage.run .ppl{animation:fcIn 7.4s var(--ease) both}
@keyframes fcIn{0%{transform:translateX(-80%);opacity:0}9%{transform:translateX(0);opacity:1}93%{opacity:1}100%{opacity:0}}
.fc-stage .ov{transform-origin:center;opacity:0}.fc-stage.run .ov{animation:fcOv 7.4s both;animation-delay:calc(var(--k,0)*.12s)}
@keyframes fcOv{0%,14%{opacity:0;transform:scale(0) rotate(-30deg)}20%{opacity:1;transform:scale(1.25) rotate(8deg)}25%,93%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0}}
.fc-stage.run .fl{animation:fcFl 7.4s linear both}@keyframes fcFl{0%,46%{opacity:0}47%{opacity:.95}53%{opacity:0}100%{opacity:0}}
.fc-stage.run .pol{animation:fcPol 7.4s var(--ease) both}
@keyframes fcPol{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(42%,46%) rotate(8deg) scale(.36)}100%{opacity:0;transform:translate(42%,46%) rotate(8deg) scale(.36)}}
.fc-stage .bat{animation:bat 6s linear infinite}@keyframes bat{from{transform:translateX(-20%)}to{transform:translateX(130%)}}
.fc-stage .lamp{transform-box:fill-box;transform-origin:50% 0;animation:sway 2.6s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.4s)}
.fc-stage .ser{animation:serp 3s ease-in-out infinite alternate}@keyframes serp{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(2%) rotate(3deg)}}
.fc-stage .conf2 i{position:absolute;top:-3cqw;left:var(--l);width:1.3cqw;height:1.3cqw;background:var(--c);animation:fall 4s linear infinite;animation-delay:var(--dl);border-radius:30%}
@keyframes fall{to{transform:translateY(62cqw) rotate(540deg)}}
.fc-steps{list-style:none;display:grid;gap:6px}.fc-steps li{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-top:1px solid rgba(18,17,16,.2)}
.fc-steps li b{font:800 38px/1 var(--display);color:#d9531c;letter-spacing:-.05em;min-width:32px}.fc-steps h3{font-size:22px;margin-bottom:.2em}.fc-steps p{font-size:16px;color:var(--mu-d)}
@media(max-width:900px){.fc{grid-template-columns:1fr}}
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px;margin-top:clamp(36px,5vw,64px)}
.wall i{display:block;background:#fff;padding:6px 6px 22px;box-shadow:0 8px 20px -8px rgba(18,17,16,.5);transform:translateY(-120%) rotate(var(--r));opacity:0;transition:transform .8s cubic-bezier(.3,1.4,.5,1),opacity .4s;transition-delay:calc(var(--i)*90ms);position:relative}
.wall.in i{transform:rotate(var(--r));opacity:1}.wall i::before{content:"";display:block;aspect-ratio:1;background:var(--bg)}.wall i::after{content:attr(data-t);position:absolute;left:0;right:0;bottom:4px;text-align:center;font:600 10px var(--mono);color:#555}

/* ===== Diálogo ===== */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,40px);margin-top:clamp(36px,5vw,64px)}
.two article{border:1px solid rgba(246,235,221,.2);border-radius:32px;padding:clamp(22px,3vw,40px);background:linear-gradient(170deg,rgba(255,255,255,.05),transparent)}
.two small{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--naranja)}
.two h3{font-size:clamp(30px,3.6vw,52px);letter-spacing:-.04em;margin:.3em 0 .4em}.two p{color:var(--mu);font-size:17px;line-height:1.45}
.chat{display:flex;flex-direction:column;gap:10px;margin:24px 0;min-height:170px}
.chat div{max-width:82%;padding:12px 16px;border-radius:20px;font-size:16px;line-height:1.3;opacity:0;transform:translateY(12px) scale(.96);transition:all .5s var(--ease)}.chat div.in{opacity:1;transform:none}
.chat .u{align-self:flex-end;background:var(--naranja);color:var(--tinta);border-bottom-right-radius:6px}.chat .a{background:#2a2724;border-bottom-left-radius:6px}
.ledger{margin:24px 0;border:1px solid rgba(246,235,221,.2);border-radius:18px;overflow:hidden;font:13px var(--mono);min-height:176px}
.ledger .r{display:grid;grid-template-columns:1.2fr 1.2fr .8fr 1fr;gap:8px;padding:11px 14px;border-top:1px solid rgba(246,235,221,.12);opacity:0;transform:translateX(-14px);transition:all .5s var(--ease)}.ledger .r.in{opacity:1;transform:none}
.ledger .h{background:rgba(246,235,221,.08);text-transform:uppercase;letter-spacing:.1em;font-size:11px;opacity:1;transform:none;border-top:0}
.ledger .s{color:#7CC242}.ledger .s.p{color:#FFC400}
.ch{list-style:none;margin-top:6px}.ch li{padding:12px 0;border-top:1px solid rgba(246,235,221,.15);font-size:15px;color:var(--mu)}.ch li b{display:inline-block;min-width:96px;color:var(--crema);font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase}
@media(max-width:900px){.two{grid-template-columns:1fr}}

/* ===== Parrilla ===== */
.par{margin-top:clamp(34px,5vw,60px);display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:clamp(16px,2.4vw,32px);align-items:start;color:var(--tinta)}
.par-main{background:#121110;color:var(--crema);border-radius:26px;padding:clamp(16px,2vw,26px);box-shadow:0 40px 80px -30px rgba(18,17,16,.6)}
.par-k{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.par-k div{background:rgba(246,235,221,.07);border-radius:16px;padding:12px 16px}.par-k b{display:block;font-size:clamp(24px,3vw,38px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.par-k span{font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}
.par-g{display:grid;grid-template-columns:minmax(78px,1.2fr) repeat(8,1fr);gap:5px;align-items:stretch}
.par-g .hd{font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mu);text-align:center;padding:4px 0}
.par-g .rn{font:600 12px/1.15 var(--display);display:flex;align-items:center;color:var(--crema);padding-right:4px}
.cell{position:relative;aspect-ratio:1/.82;border-radius:9px;background:rgba(246,235,221,.08);overflow:hidden;transition:transform .25s var(--ease),box-shadow .3s;cursor:pointer;text-align:left;padding:0}
.cell:hover{transform:scale(1.08);z-index:2}.cell .f{position:absolute;left:0;right:0;bottom:0;background:var(--naranja);height:var(--o);opacity:.9;transition:height .6s var(--ease)}
.cell.full .f{background:#6b6560;opacity:.8}.cell.hot{box-shadow:0 0 0 2px #FFC400}.cell.hot .f{background:linear-gradient(0deg,#FF7A3E,#ff4d5a)}
.cell em{position:absolute;inset:0;display:grid;place-items:center;font:700 clamp(9px,1vw,12px) var(--mono);font-style:normal;color:#fff;text-shadow:0 1px 3px #000;font-variant-numeric:tabular-nums}
.cell.sel{outline:3px solid #fff;z-index:3}.cell.flash{animation:cflash .5s}@keyframes cflash{50%{background:#FFC400}}
.par-leg{display:flex;gap:16px;margin-top:14px;font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mu);flex-wrap:wrap}.par-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.par-s{background:#fff;border-radius:26px;padding:clamp(18px,2.2vw,28px);box-shadow:0 30px 70px -30px rgba(18,17,16,.45);min-height:420px;position:sticky;top:90px}
.par-s .e{color:var(--mu-d);font-size:16px}.par-s h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.03em}
.par-s .pr{font-size:clamp(54px,6vw,84px);font-weight:800;letter-spacing:-.06em;line-height:1;color:#d9531c;font-variant-numeric:tabular-nums;margin:12px 0 2px}.par-s .pr s{font-size:.35em;color:#8c8578;letter-spacing:-.02em;margin-left:.3em;font-weight:600}
.par-s .why{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.par-s .why span{font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(18,17,16,.25);border-radius:99px;padding:5px 10px}
.par-s .row{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(18,17,16,.12);font-size:15px}
.par-s .btn{width:100%;justify-content:center;margin-top:14px}.par-s .btn.gh{background:transparent;border:1.5px solid var(--tinta);color:var(--tinta)}
.par-s .ok{display:grid;place-items:center;text-align:center;min-height:300px}.par-s .ok b{font-size:80px;color:#7CC242;line-height:1;animation:pop .6s var(--ease)}
.par-s .opt{display:grid;gap:8px;margin:12px 0}.par-s .opt button{display:flex;justify-content:space-between;border:1.5px solid rgba(18,17,16,.25);border-radius:14px;padding:12px 16px;text-align:left;font-size:15px;transition:all .25s}.par-s .opt button:hover,.par-s .opt button.on{border-color:#d9531c;background:rgba(255,122,62,.12)}
@media(max-width:1000px){.par{grid-template-columns:1fr}.par-s{position:static;min-height:0}}
@media(max-width:560px){.par-g{grid-template-columns:70px repeat(8,1fr);gap:3px}.cell em{display:none}}

/* ===== Creatividad ===== */
.gen{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:clamp(20px,3vw,48px);margin-top:clamp(36px,5vw,64px);align-items:center}
.gen-f{display:grid;gap:14px}.gen-f label{display:grid;gap:6px;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--naranja)}
.gen-f input,.gen-f textarea{font:600 20px var(--display);letter-spacing:-.02em;background:rgba(246,235,221,.07);border:1px solid rgba(246,235,221,.22);border-radius:14px;padding:12px 16px;color:var(--crema);resize:none;width:100%;transition:border-color .25s}
.gen-f input:focus,.gen-f textarea:focus{outline:none;border-color:var(--naranja)}
.gen-r{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.gen-r>span{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--naranja);min-width:64px}
.gen-v{display:grid;place-items:center}.gen-v .tvx{width:100%;transition:width .5s var(--ease)}.gen-v.reel .tvx{width:min(300px,70%);border-radius:40px}
.gen-tv{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000;transition:aspect-ratio .4s}.gen-v.reel .gen-tv{aspect-ratio:9/16;border-radius:28px}
.gen-tv .ad{position:absolute;inset:0}
@media(max-width:900px){.gen{grid-template-columns:1fr}}
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(40px,6vw,80px)}
.cap{border:1px solid rgba(246,235,221,.18);border-radius:26px;padding:24px;overflow:hidden;position:relative;transition:transform .4s var(--ease),border-color .3s}.cap:hover{transform:translateY(-6px);border-color:var(--naranja)}
.cap h3{font-size:24px;margin:18px 0 6px}.cap p{font-size:16px;color:var(--mu);line-height:1.4}
.cap i{display:block;width:64px;height:64px;position:relative}
.g1{border-radius:50%;background:radial-gradient(circle,#FFC400 0 34%,transparent 36%);box-shadow:0 0 0 0 rgba(255,196,0,.6);animation:pulse2 1.8s infinite}@keyframes pulse2{to{box-shadow:0 0 0 22px rgba(255,196,0,0)}}
.g2{background:conic-gradient(from 0deg,#FF7A3E,#ff4d5a,#FFC400,#FF7A3E);border-radius:30%;animation:spin 3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.g3::before,.g3::after{content:"";position:absolute;border:3px solid #7CC242;border-radius:8px}.g3::before{inset:8px 18px 22px 0}.g3::after{inset:20px 0 0 22px;background:rgba(124,194,66,.25);animation:jump 1.6s ease-in-out infinite alternate}@keyframes jump{to{transform:translate(8px,-10px) scale(1.1)}}
.g4{background:linear-gradient(135deg,#14325e,#ff4d5a);border-radius:12px;overflow:hidden}.g4::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.6) 50%,transparent 60%);animation:shine 2s linear infinite}@keyframes shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.g5::before,.g5::after,.g5{border-radius:6px}.g5::before{content:"";position:absolute;left:0;top:14px;width:44px;height:25px;border:3px solid var(--naranja);animation:fmt 3s infinite}.g5::after{content:"";position:absolute;left:30px;top:0;width:22px;height:40px;border:3px solid #FFC400;animation:fmt 3s infinite reverse}@keyframes fmt{50%{transform:scale(1.2) rotate(6deg)}}
.g6{background:repeating-linear-gradient(90deg,#FF7A3E 0 8px,transparent 8px 14px);border-radius:6px;animation:belt 1s linear infinite;-webkit-mask:linear-gradient(#000 0 0) top/100% 24px no-repeat;height:24px;margin-top:20px}@keyframes belt{to{background-position:14px 0}}
@media(max-width:900px){.caps{grid-template-columns:1fr 1fr}}@media(max-width:560px){.caps{grid-template-columns:1fr}}
.work{overflow:hidden;margin:22px calc(50% - 50vw) 0;padding:6px 0 10px}.work-row{display:flex;gap:18px;width:max-content;animation:tick 60s linear infinite}.work-row:hover{animation-play-state:paused}
.wk-c{display:block;width:clamp(240px,26vw,340px);flex:none;border-radius:22px;overflow:hidden;background:#1d1b19;text-decoration:none;transition:transform .4s var(--ease)}.wk-c:hover{transform:translateY(-8px)}
.wk-c img{width:100%;aspect-ratio:4/3;object-fit:cover}.wk-c span{display:block;padding:16px 18px;font-size:15px;color:var(--mu);line-height:1.35}.wk-c b{display:block;color:var(--crema);font-size:19px;margin-bottom:2px}

/* ===== Empezar y cierre ===== */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(36px,5vw,64px);counter-reset:s}
.st3{background:#fff;border-radius:30px;padding:30px 28px 26px;position:relative;box-shadow:0 30px 60px -30px rgba(18,17,16,.35);transition:transform .5s var(--ease)}.st3:hover{transform:translateY(-8px)}
.st3:not(:last-child)::after{content:"→";position:absolute;right:-22px;top:50%;font:800 28px var(--display);color:#d9531c;z-index:2}
.st3 b{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#d9531c}.st3 h3{font-size:clamp(24px,2.6vw,34px);margin:.4em 0 .4em;letter-spacing:-.035em}.st3 p{font-size:16px;color:var(--mu-d);line-height:1.45}.st3 u{display:inline-block;margin-top:16px;text-decoration:none;font:500 12px var(--mono);border:1px solid rgba(18,17,16,.3);border-radius:99px;padding:6px 12px}
@media(max-width:900px){.steps3{grid-template-columns:1fr}.st3::after{display:none}}
#cierre{padding-bottom:clamp(60px,8vw,110px)}#cierre .big{font-size:clamp(46px,9vw,150px);max-width:12ch}
.cierre{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-top:30px}.cierre .lead{color:rgba(18,17,16,.85);font-weight:500}.cierre a:not(.btn){text-decoration:underline;text-underline-offset:4px}

.gen-v.reel .tvx{width:min(300px,70%);border-radius:40px}

/* ===== Quién está detrás ===== */
.quien{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(28px,5vw,72px);align-items:start;margin-top:clamp(28px,4vw,56px)}
.q-role{font:600 clamp(20px,2.2vw,30px)/1.2 'Bricolage Grotesque',sans-serif;color:var(--naranja);margin:0 0 18px}
.q-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
.q-list li{padding:14px 0 0;border-top:1px solid rgba(246,235,221,.18);color:var(--mu);font-size:16px;line-height:1.4}
.q-list b{display:block;color:var(--crema);font-size:18px;margin-bottom:2px}
.yt{position:relative;display:block;width:100%;padding:0;border:0;border-radius:22px;overflow:hidden;background:#000;aspect-ratio:16/9;cursor:pointer;box-shadow:0 30px 80px -30px rgba(255,122,62,.45);transition:transform .4s var(--ease)}
.yt:hover{transform:scale(1.015)}
.yt img,.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.yt-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--naranja);color:var(--tinta);display:grid;place-items:center;font-style:normal;box-shadow:0 0 0 0 rgba(255,122,62,.6);animation:ytp 2.4s infinite}
.yt-play svg{margin-left:4px}
@keyframes ytp{0%{box-shadow:0 0 0 0 rgba(255,122,62,.55)}70%,100%{box-shadow:0 0 0 28px rgba(255,122,62,0)}}
.q-cap{margin:16px 2px 0;color:var(--mu);font-size:15px;line-height:1.4}.q-cap b{display:block;color:var(--crema);font-size:18px;margin-bottom:2px}
@media(max-width:820px){.quien{grid-template-columns:1fr}}
.q-vids{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}.q-vid{margin:0}
@media(max-width:1100px){.q-vids{grid-template-columns:1fr}}
.yt-play{width:64px;height:64px;margin:-32px 0 0 -32px}.yt-play svg{width:24px;height:24px}
.q-vids{grid-template-columns:repeat(3,1fr)}.q-vids .q-vid:nth-child(n){min-width:0}@media(max-width:1100px){.q-vids{grid-template-columns:1fr}}
.quien{grid-template-columns:minmax(0,.7fr) minmax(0,1.8fr)}@media(max-width:1100px){.quien{grid-template-columns:1fr}}
.quien{grid-template-columns:1fr}
.q-id{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.q-id .lead{grid-column:1}.q-id .q-role{grid-column:1}.q-id .q-list{grid-column:2;grid-row:1/3;margin-top:0}
@media(max-width:820px){.q-id{grid-template-columns:1fr}.q-id .q-list{grid-column:1;grid-row:auto;margin-top:22px}}
.q-vids{grid-template-columns:repeat(2,1fr)}@media(min-width:1500px){.q-vids{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.q-vids{grid-template-columns:1fr}}
.yt::before{content:"";position:absolute;inset:0 0 auto 0;height:55%;background:linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,0));z-index:1;pointer-events:none}
.yt .q-logo{position:absolute;left:5%;top:7%;width:auto;height:auto;max-width:70%;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 1px 6px rgba(0,0,0,.45));z-index:2;pointer-events:none;inset:auto}
.yt .q-logo{left:5%;top:7%;right:auto;bottom:auto}
.yt.on::before,.yt.on .q-logo{display:none}
.yt-play{z-index:3}
