/* Bloques en panel (propuesta de diseño del 31-oct, referencia de Karen). */
.panel-blocks{display:flex;flex-direction:column;gap:40px;padding:24px 0 80px}
.panel{position:relative;border-radius:32px;padding:34px 34px 30px;background:linear-gradient(160deg,#1b1b1a 0%,#111110 55%,#0c0c0b 100%);border:1px solid rgba(255,255,255,.07);box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;scroll-margin-top:24px}
.panel-head{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,1fr);gap:0 44px;align-items:start;margin-bottom:28px}
.panel-num{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;font-size:clamp(72px,8vw,118px);line-height:.8;letter-spacing:-.045em;color:#f5f5f1;margin:0}
.panel h2{font-size:13px!important;line-height:1.35!important;letter-spacing:.06em!important;text-transform:uppercase;font-weight:600!important;margin:0 0 10px!important;max-width:280px}
.panel-tags{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.panel-tags span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#bdbdb8;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px 10px}
.panel-desc{font-size:12px!important;line-height:1.55!important;letter-spacing:.04em;text-transform:uppercase;color:#cfcfca;margin:0!important;max-width:330px}
.panel-body{display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:22px;align-items:end}
.panel-side{display:flex;flex-direction:column;gap:14px}
.mini-card{position:relative;aspect-ratio:3/4;border-radius:26px;overflow:hidden;background:#0b0b0b}
.mini-card img,.mini-card video{width:100%;height:100%;object-fit:cover;display:block}
.mini-card .label{position:absolute;top:18px;left:20px;font-size:22px;font-weight:600;letter-spacing:-.02em;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.mini-card .label small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-top:4px}
.round-btn{position:absolute;right:14px;bottom:14px;width:48px;height:48px;border-radius:50%;background:#0d0d0c;color:#fff;display:grid;place-items:center;font-size:18px;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.4)}
.pill{white-space:nowrap;display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(245,245,241,.92);color:#111;border-radius:999px;padding:11px 18px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;text-decoration:none}
.pill i{font-style:normal;letter-spacing:0;text-transform:none;color:#666;font-weight:400}
.big-card{position:relative;height:clamp(380px,46vw,560px);border-radius:28px;overflow:hidden;background:#0b0b0b}
.big-card .fill{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(38px) saturate(1.15);opacity:.75;transform:scale(1.1)}
.big-card .shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.45) 100%)}
.big-card video,.big-card>img{position:relative;height:100%;width:auto;max-width:100%;display:block;margin:0 auto;object-fit:contain}
.big-card .label{position:absolute;top:22px;left:26px;z-index:2;font-size:24px;font-weight:600;letter-spacing:-.02em;color:#fff}
.big-card .label small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.big-card .actions{position:absolute;right:20px;bottom:20px;z-index:2;display:flex;gap:8px}
.big-card .actions a,.big-card .actions span{background:#0d0d0c;color:#fff;border-radius:999px;padding:13px 20px;font-size:12px;text-decoration:none}
.big-card .actions .dot{width:44px;height:44px;padding:0;display:grid;place-items:center;font-size:18px}
/* Variante B: texto en la columna izquierda en lugar del fotograma. */
.panel-text{display:flex;flex-direction:column;gap:14px;align-self:stretch;justify-content:flex-end;padding-bottom:6px}
.panel-text p{font-size:15px;line-height:1.6;color:#d7d7d2;margin:0}
@media(max-width:800px){.panel{padding:22px 18px;border-radius:24px}.panel-head{grid-template-columns:1fr;gap:12px}.panel-body{grid-template-columns:1fr}.mini-card{aspect-ratio:4/5}.big-card{height:auto;aspect-ratio:4/5}}
.panel .label{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}
.panel-text .panel-num{font-size:clamp(72px,8vw,118px);line-height:.78;margin:0 0 18px}

.mini-card .swap{cursor:pointer;border:0}
.mini-card .count,.big-card .count{font-size:10px;letter-spacing:.14em;margin-top:6px;display:block;opacity:.8}
.big-card video,.big-card>img{transition:opacity .35s}

/* Barra de progreso real del vídeo y botón de cambio. */
.big-card .progress{position:absolute;top:26px;right:26px;z-index:2;width:22%;height:3px;border-radius:3px;background:rgba(255,255,255,.25);overflow:hidden}
.big-card .progress i{position:absolute;inset:0 auto 0 0;width:0;background:#fff}
.round-btn.swap{color:#fff;font-family:inherit}
.round-btn.swap:hover{background:#2a2a28}
.round-btn.swap:focus-visible{outline:2px solid #f5f5f1;outline-offset:3px}
.big-card .label,.mini-card .label{max-width:70%}
/* Legibilidad de las etiquetas sobre fondos claros y píldora más compacta. */
.mini-card::after{content:"";position:absolute;inset:0 0 auto 0;height:45%;background:linear-gradient(rgba(0,0,0,.5),transparent);pointer-events:none}
.mini-card .label{z-index:1}
.mini-card .round-btn{z-index:2}
.big-card .label{text-shadow:0 1px 14px rgba(0,0,0,.45)}
.pill{letter-spacing:.08em;padding:11px 16px;gap:10px}
.pill i{white-space:nowrap}
/* Paginador claro dentro de la tarjeta grande (1-nov). */
.mini-card::after{display:none}
.big-card{touch-action:pan-y;user-select:none}
.pager{position:absolute;left:20px;bottom:20px;z-index:3;display:flex;align-items:center;gap:6px;background:rgba(13,13,12,.88);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px;backdrop-filter:blur(8px)}
.pager button{border:0;cursor:pointer;font:inherit;color:#111;background:#f5f5f1;border-radius:999px;height:44px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.pager .pg-prev{width:44px;background:transparent;color:#f5f5f1;border:1px solid rgba(255,255,255,.25);font-size:16px}
.pager .pg-next{padding:0 20px}
.pager button:hover{filter:brightness(.9)}
.pager button:focus-visible{outline:2px solid #f5f5f1;outline-offset:3px}
.pg-count{color:#f5f5f1;font-size:12px;letter-spacing:.14em;min-width:52px;text-align:center}
/* Panel de tres vídeos: la misma campaña en tres países, a la vista. */
.trio-card{position:relative;border-radius:28px;background:#0b0b0b;padding:26px 26px 30px}
.trio-title{margin:0 0 20px;font-size:24px;font-weight:600;letter-spacing:-.02em;color:#fff}
.trio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:980px;margin:0 auto}
.trio-item{margin:0}
.trio-media{aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#111}
.trio-media video{width:100%;height:100%;object-fit:cover;display:block}
.trio-item figcaption{margin-top:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#f5f5f1;text-align:center}
.trio-card .actions{position:static;margin-top:22px;display:flex;justify-content:flex-end}
@media(max-width:800px){.trio-grid{grid-template-columns:repeat(3,72vw);overflow-x:auto;scroll-snap-type:x mandatory;max-width:none}.trio-item{scroll-snap-align:start}.pager .pg-next{padding:0 14px}}
/* Móvil: el cuadro grande toma la forma de la pieza (horizontal 4/3, vertical 4/5); el trío lleva su fotograma al lado como los demás. */
@media(max-width:800px){.big-card{aspect-ratio:var(--r,4/5)}}
.panel-trio .panel-body{align-items:stretch}
.panel-trio .panel-side{justify-content:flex-end}
@media(max-width:800px){.panel-body{grid-template-columns:minmax(0,1fr)}}
