/* GoPlenty · «Jaque» · Sección Formatos: cada nicho juega con su propia pieza */
.formatos{position:relative;padding:clamp(90px,10vw,150px) 0;overflow:hidden;background:radial-gradient(60% 50% at 0% 0%,rgba(242,237,228,0.06),transparent 70%),var(--negro)}
.fm-cab{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,80px);align-items:end;padding:0 var(--pad);margin-bottom:clamp(36px,5vw,64px)}
.fm-cab .rotulo{color:var(--oro2);opacity:1}
.fm-cab h2{max-width:13ch}
.fm-cab h2 em{color:var(--oro2)}
.fm-intro p{margin:0 0 14px;color:var(--muted);max-width:52ch}
.fm-intro .fm-nota{font-size:13px;opacity:.75}

/* Pista: carrusel con scroll-snap en móvil, grid 4+3 centrado en escritorio */
.fm-pista{list-style:none;margin:0;padding:6px var(--pad) 26px;display:grid;grid-auto-flow:column;grid-auto-columns:min(82vw,340px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--pad);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--oro) transparent}
.fm-pista:focus-visible{outline-offset:-2px}
.fm-card{scroll-snap-align:start;display:flex;flex-direction:column;gap:14px}
@media (min-width:1024px){
  .fm-pista{grid-auto-flow:row;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-columns:auto;overflow:visible;gap:clamp(22px,2.4vw,40px) clamp(18px,2vw,32px);max-width:1360px;margin:0 auto;padding-bottom:0}
  .fm-card{grid-column:span 2;min-width:0}
  .fm-card:nth-child(5){grid-column:2 / span 2}
}
.fm-meta{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fm-pill{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:#000;color:var(--oro2);border:1px solid var(--oro);font:700 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.fm-nicho{font:400 15px/1 var(--acento);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.fm-uso{margin:0;font-size:15px;line-height:1.45;color:var(--muted);max-width:40ch}

/* Maqueta 4:5 */
.fm-ad{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;isolation:isolate;box-shadow:0 30px 50px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.06);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.fm-ad::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--oro);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1);z-index:5}
@media (hover:hover){.fm-card:hover .fm-ad{transform:translateY(-4px);box-shadow:0 40px 60px -30px rgba(0,0,0,.95),0 0 0 1px rgba(242,237,228,0.27)}.fm-card:hover .fm-ad::after{transform:scaleX(1)}}
.fm-pieza{position:absolute;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(0,0,0,.35))}

/* 1 · Ugly ad */
.fm-ugly{background:#FFE600;color:#000;font-family:Arial,Helvetica,sans-serif}
.fm-ugly-t{position:absolute;left:6%;right:6%;top:5%;margin:0;font:900 clamp(19px,2vw,26px)/1.08 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:-.01em;z-index:2}
.fm-ugly .fm-pieza{left:22%;bottom:12%;height:58%;width:56%;transform:rotate(-3deg)}
.fm-flecha{position:absolute;width:30%;fill:none;stroke:#E1060F;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;z-index:3}
.fm-flecha.f1{left:2%;top:34%}
.fm-flecha.f2{right:2%;top:46%}
.fm-ugly-b{position:absolute;left:0;right:0;bottom:0;margin:0;padding:9px 6%;background:#000;color:#FFE600;font:700 13px/1.2 Arial,Helvetica,sans-serif;text-transform:uppercase}

/* 2 · Paper */
.fm-paper{background:repeating-linear-gradient(0deg,rgba(0,0,0,.025) 0 2px,transparent 2px 5px),radial-gradient(circle at 30% 20%,#efe7d9,#d9cdb8)}
.fm-paper .fm-pieza{left:8%;bottom:6%;height:72%;width:52%}
.fm-postit{position:absolute;right:7%;top:12%;width:50%;aspect-ratio:1;padding:9% 8%;background:linear-gradient(160deg,#F3E2AE,#E8CF94);color:#2a2116;transform:rotate(4deg);box-shadow:0 18px 22px -14px rgba(0,0,0,.55);z-index:2;font-family:Caveat,"Comic Sans MS",cursive;font-weight:600}
.fm-postit p{margin:0 0 6px;font-size:clamp(22px,2.2vw,30px);line-height:1}
.fm-postit ol{margin:0;padding-left:1.1em;font-size:clamp(17px,1.6vw,21px);line-height:1.15}
.fm-cinta{position:absolute;right:22%;top:9%;width:20%;height:7%;background:rgba(242,237,228,.7);transform:rotate(-8deg);z-index:3;box-shadow:0 1px 2px rgba(0,0,0,.15)}

/* 3 · Meme */
.fm-meme{display:grid;grid-template-rows:1fr 1fr;gap:4px;background:#000;padding:4px}
.fm-panel{position:relative;overflow:hidden;border-radius:4px;background:var(--blanco)}
.fm-panel:first-child{background:var(--blanco2)}
.fm-panel p{position:absolute;left:5%;top:7%;width:52%;margin:0;color:#0b0b0c;font:900 clamp(15px,1.4vw,19px)/1.1 var(--sans);text-transform:lowercase;z-index:2}
.fm-panel .fm-pieza{right:8%;bottom:6%;height:84%;width:36%}
.fm-panel .fm-caido{right:4%;bottom:-6%;width:34%;transform:rotate(78deg);filter:grayscale(.6) drop-shadow(0 10px 10px rgba(0,0,0,.3))}

/* 4 · Chat */
.fm-chat{background:linear-gradient(180deg,#f6f2ea,#ece6da);color:#0b0b0c;display:flex;flex-direction:column;font-family:var(--sans)}
.fm-chat-bar{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 12px;background:#0b0b0c;color:var(--blanco)}
.fm-avatar{grid-row:1/3;width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--blanco2);border:1px solid var(--oro);position:relative}
.fm-av-img{position:absolute;inset:8% 15% 0;width:70%;height:92%;object-fit:contain}
.fm-chat-bar b{font-size:14px;line-height:1.1}
.fm-chat-bar small{font-size:11px;color:var(--oro2)}
.fm-chat-cuerpo{display:flex;flex-direction:column;gap:7px;padding:12px}
.fm-chat-cuerpo p{margin:0;max-width:80%;padding:7px 10px 5px;border-radius:12px;font-size:13.5px;line-height:1.3}
.fm-chat-cuerpo i{display:block;margin-top:2px;font-style:normal;font-size:10px;text-align:right;opacity:.6}
.fm-chat-cuerpo i b{color:var(--oro)}
.fm-in{align-self:flex-start;background:#fff;border-top-left-radius:3px;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.fm-out{align-self:flex-end;background:#0b0b0c;color:var(--blanco);border-top-right-radius:3px}
.fm-out i{opacity:.75}
.fm-torre-esq{right:-4%;bottom:-3%;height:34%;width:30%;z-index:0;opacity:.95}
.fm-chat-cuerpo{position:relative;z-index:1}

/* 5 · Número gigante */
.fm-stat{background:radial-gradient(80% 60% at 80% 100%,rgba(242,237,228,0.072),transparent 70%),#0b0b0c;color:var(--blanco)}
.fm-sello{position:absolute;left:6%;top:5%;padding:5px 9px;border:1px dashed var(--oro2);border-radius:4px;color:var(--oro2);font:700 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;z-index:3}
.fm-num{position:absolute;left:5%;top:9%;margin:0;font:400 clamp(110px,11vw,160px)/1 var(--acento);color:var(--oro);letter-spacing:-.02em;background:linear-gradient(170deg,var(--oro2),var(--oro) 60%,#8f6b2b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fm-num span{font-size:.45em;vertical-align:.9em;margin-left:4px}
.fm-num-t{position:absolute;left:6%;top:47%;width:56%;margin:0;font:700 clamp(15px,1.4vw,18px)/1.2 var(--titulo)}
.fm-num-t em{display:block;color:var(--oro2)}
.fm-stat ul{position:absolute;left:6%;bottom:6%;width:58%;margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:12.5px;line-height:1.25;color:rgba(242,237,228,.85)}
.fm-stat li{padding-left:18px;position:relative}
.fm-stat li::before{content:"";position:absolute;left:0;top:.25em;width:9px;height:5px;border-left:2px solid var(--oro);border-bottom:2px solid var(--oro);transform:rotate(-45deg)}
.fm-stat .fm-pieza{right:2%;bottom:4%;height:66%;width:38%;filter:drop-shadow(0 0 1px rgba(242,237,228,.4)) drop-shadow(0 18px 20px rgba(0,0,0,.7))}

/* 6 · Collage casero */
.fm-collage{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:8px;padding:8px;background:#cdbfa6 repeating-linear-gradient(90deg,rgba(0,0,0,.025) 0 1px,transparent 1px 4px)}
.fm-foto{position:relative;margin:0;overflow:hidden;background:var(--blanco);border:6px solid #fff;box-shadow:0 6px 10px -6px rgba(0,0,0,.5)}
.fm-foto.g1{grid-row:1/3;transform:rotate(-1.2deg)}
.fm-foto.g2{transform:rotate(1.5deg);background:var(--blanco2)}
.fm-foto.g3{transform:rotate(-.8deg);background:#e9e2d4}
.fm-foto .fm-pieza{left:10%;right:10%;bottom:16%;top:6%;width:80%;height:78%}
.fm-foto .fm-zoom{left:-10%;top:-2%;width:150%;height:150%;object-position:30% 10%}
.fm-foto figcaption{position:absolute;left:6px;right:6px;bottom:2px;font:600 clamp(16px,1.5vw,20px)/1 Caveat,"Comic Sans MS",cursive;color:#2a2116;text-align:center}

/* 7 · X razones */
.fm-razones{background:radial-gradient(ellipse at 50% 65%,rgba(242,237,228,0.132),transparent 65%),#0b0b0c;color:var(--oro2)}
.fm-razones-t{position:absolute;top:6%;left:7%;right:7%;margin:0;text-align:center;font:700 clamp(21px,2vw,28px)/1.15 var(--titulo);z-index:2}
.fm-razones .fm-pieza{left:32%;top:30%;width:36%;height:52%}
.fm-callouts{position:absolute;inset:0;margin:0;padding:0;list-style:none;font:400 clamp(10px,1vw,13px)/1.2 var(--sans)}
.fm-callouts li{position:absolute;padding-bottom:5px;border-bottom:1px solid var(--oro);z-index:2}
.fm-callouts li::after{content:"";position:absolute;bottom:-1px;width:16px;border-bottom:1px solid var(--oro)}
.fm-callouts li:nth-child(odd)::after{left:100%;transform:rotate(30deg);transform-origin:left}
.fm-callouts li:nth-child(even)::after{right:100%;transform:rotate(-30deg);transform-origin:right}
.fm-callouts li:nth-child(1){left:5%;top:35%}
.fm-callouts li:nth-child(2){right:5%;top:43%}
.fm-callouts li:nth-child(3){left:5%;top:58%}
.fm-callouts li:nth-child(4){right:5%;top:70%}
.fm-callouts li:nth-child(5){left:8%;top:86%}

/* Línea de carrusel + CTA */
.fm-carrusel{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin:clamp(34px,4vw,56px) auto 0;padding:24px var(--pad) 0;max-width:1360px;border-top:1px solid var(--line)}
.fm-carrusel p{margin:0;flex:1 1 300px;color:var(--muted)}
.fm-carrusel p b{color:#fff;font-family:var(--titulo);font-size:1.15em}
.fm-slides{display:flex;gap:6px}
.fm-slides span{display:grid;place-items:end center;width:26px;height:32px;padding-bottom:3px;border-radius:4px;border:1px solid rgba(242,237,228,0.3);font:400 9px/1 var(--acento);color:rgba(242,237,228,.8)}
.fm-slides span.on{background:var(--oro);color:#000;border-color:var(--oro)}

@media (max-width:860px){
  .fm-cab{grid-template-columns:1fr;align-items:start}
}
@media (prefers-reduced-motion:reduce){.fm-ad,.fm-ad::after{transition:none}.fm-pista{scroll-behavior:auto}}

/* ===== Repaso 31-oct: menos texto, piezas apoyadas, sin cortes de etiqueta ===== */
.formatos{padding:clamp(80px,9vw,130px) 0}
.fm-cab{align-items:end}
.fm-cab h2{max-width:none}
.fm-intro{margin:0;font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:var(--txt-claro);max-width:44ch}
.fm-intro span{display:block;margin-top:8px;font-size:14px;color:rgba(242,237,228,.7)}
.fm-meta{flex-wrap:nowrap;justify-content:space-between;gap:14px}
.fm-pill{flex:none;height:30px;font-size:12px}
.fm-nicho{white-space:nowrap;font-size:15px;color:var(--txt-claro);overflow:hidden;text-overflow:ellipsis}
.fm-card{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.fm-card.visto{opacity:1;transform:none}
.fm-card:nth-child(2){transition-delay:.08s}.fm-card:nth-child(3){transition-delay:.16s}.fm-card:nth-child(4){transition-delay:.24s}
.fm-card:nth-child(6){transition-delay:.08s}.fm-card:nth-child(7){transition-delay:.16s}
/* Piezas dentro de los anuncios: base en el suelo + sombra de contacto */
.fm-pieza{object-position:bottom;filter:drop-shadow(-4px 6px 8px rgba(0,0,0,.28)) drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.fm-ugly .fm-pieza{bottom:13%;transform:none}
.fm-ugly::before{content:"";position:absolute;left:28%;right:28%;bottom:11.5%;height:5%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.45),transparent);z-index:0}
.fm-paper .fm-pieza{bottom:8%}
.fm-paper::before{content:"";position:absolute;left:12%;width:44%;bottom:6%;height:5%;border-radius:50%;background:radial-gradient(closest-side,rgba(60,40,20,.45),transparent)}
.fm-panel .fm-pieza{bottom:8%}
.fm-panel:last-child::after{content:"";position:absolute;right:8%;width:36%;bottom:4%;height:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.35),transparent)}
.fm-panel .fm-caido{top:auto;bottom:9%;right:5%;left:auto;width:50%;height:auto;transform:none;filter:grayscale(.5) drop-shadow(0 4px 4px rgba(0,0,0,.35))}
.fm-panel:first-child::after{content:"";position:absolute;right:7%;width:46%;bottom:6%;height:6%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.4),transparent)}
.fm-torre-esq{bottom:0;right:0;height:36%;width:32%}
.fm-stat .fm-pieza{bottom:5%}
.fm-stat::before{content:"";position:absolute;right:6%;width:30%;bottom:3.5%;height:5%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.85),transparent);z-index:0}
.fm-foto .fm-pieza{top:auto;bottom:18%;height:72%}
.fm-razones .fm-pieza{top:auto;bottom:16%;height:52%}
.fm-razones::before{content:"";position:absolute;left:34%;right:34%;bottom:14%;height:4%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.9),transparent);z-index:1}
.fm-razones .fm-pieza{z-index:2}
.fm-carrusel{justify-content:space-between}
.fm-carrusel p{color:var(--txt-claro)}
.fm-botones{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.fm-carrusel{flex-direction:column;align-items:flex-start}.fm-botones{width:100%}.fm-botones .boton{flex:1 1 200px}}
@media (prefers-reduced-motion:reduce){.fm-card{opacity:1;transform:none}}
.fm-nicho{font:700 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#ece6da}
@media (max-width:860px){.fm-carrusel p{flex:none}.fm-botones .boton{flex:1 1 auto}}
/* Cifra: en tarjetas angostas (escritorio de 1024 a ~1300 px) el texto se achica y la lista se oculta para que nada se pise */
.fm-card{container-type:inline-size}
@container (max-width:300px){
  .fm-stat .fm-num{font-size:31cqw;top:17%}
  .fm-stat .fm-num-t{top:auto;bottom:8%;width:52%;font-size:13px}
  .fm-stat ul{display:none}
}/* ===== Fila de personas (adaptación del «clothing rail»): de perfil en reposo, de frente al tocarlas ===== */
.fila{position:relative;max-width:1440px;margin:0 auto;padding:0 var(--pad)}
.fila-etapa{position:relative;width:100%;touch-action:pan-y;user-select:none;-webkit-user-select:none;overflow-x:clip}
.fila-etapa::after{content:"";position:absolute;left:4%;right:4%;bottom:2px;height:1px;background:linear-gradient(90deg,transparent,rgba(242,237,228,.18),transparent);pointer-events:none}
.persona{position:absolute;left:0;bottom:0;padding:0;border:0;background:none;cursor:pointer;transform-origin:50% 100%;outline:none;-webkit-tap-highlight-color:transparent}
.persona:focus-visible{outline:2px solid var(--blanco);outline-offset:6px;border-radius:14px}
.persona img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom center;backface-visibility:hidden;pointer-events:none;will-change:transform,opacity}
.persona .frente{opacity:0}
.persona-sombra{position:absolute;left:22%;right:22%;bottom:-6px;height:14px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.85),transparent);filter:blur(2px)}
.fila-pie{display:flex;justify-content:center;align-items:baseline;gap:14px;min-height:2.6em;margin:22px 0 0;text-align:center;color:var(--txt-claro);font-size:15px}
.fila-pie b{font:600 clamp(24px,2.4vw,34px)/1 var(--titulo);color:var(--blanco)}
.fila-pie span{letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:rgba(242,237,228,.6)}
.fila[data-modo=carrusel] .fila-pie{flex-direction:column;align-items:center;gap:8px}
.fila-vista{width:min(980px,94vw);max-height:92vh;padding:clamp(20px,3vw,40px);border:1px solid rgba(242,237,228,.14);border-radius:20px;background:#0b0b0c;color:var(--blanco)}
.fila-vista::backdrop{background:rgba(5,5,6,.82);backdrop-filter:blur(10px)}
.fv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(20px,4vw,48px);align-items:center}
.fv-grid img{width:100%;height:auto;max-height:78vh;object-fit:contain}
.fv-pill{margin:0}
.fv-formato{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;border:1px solid rgba(242,237,228,.5);font:700 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.fv-nicho{margin:18px 0 0;font:600 clamp(30px,3.4vw,46px)/1.05 var(--titulo)}
.fv-texto{margin:14px 0 28px;color:var(--txt-claro);max-width:34ch}
.fila-vista .modal-x{position:absolute;top:12px;right:12px}
@media (max-width:700px){.fv-grid{grid-template-columns:1fr}.fv-grid img{max-height:52vh}}
