.home-collection.firmas-story{padding:0;height:360svh;background:#fff;color:#151515}
.firmas-stage{position:sticky;top:76px;height:calc(100svh - 76px);overflow:hidden;background:#fff}
.firmas-heading{position:absolute;left:4vw;right:4vw;top:24px;display:flex;align-items:center;justify-content:space-between;z-index:3;font:12px Menlo,monospace}
.firmas-heading h2{font:400 clamp(28px,4vw,52px)/1 'Helvetica Neue',Arial,sans-serif;letter-spacing:-.05em;margin:0}
.firmas-pattern{position:absolute;inset:16% 0 12%;pointer-events:none}
.firmas-token{position:absolute;object-fit:contain;will-change:transform;transform-origin:center}
.firmas-pair{position:absolute;left:4vw;right:4vw;top:23%;bottom:8%;display:grid;grid-template-columns:1fr 1fr;gap:4vw;pointer-events:none}
.firmas-card{position:relative;min-width:0;background:#f1f1ed}
.firmas-card picture{display:block;width:100%;height:100%}
.firmas-card img{display:block;width:100%;height:100%;object-fit:cover}
.firmas-card button{position:absolute;bottom:0;left:0;right:0;width:100%;height:58px;background:#fff;color:#151515;border:0;border-bottom:1px solid #151515;display:flex;justify-content:space-between;align-items:center;padding:0 12px;font:12px Menlo,monospace;pointer-events:auto}
.firmas-card button span{font-size:24px}
.firmas-flyers{position:absolute;inset:0;pointer-events:none;z-index:2}
.firmas-flyer{position:absolute;object-fit:contain;will-change:transform,opacity}
@media(max-width:820px){.firmas-stage{top:66px;height:calc(100svh - 66px)}.firmas-heading{left:20px;right:20px;top:20px}.firmas-pair{left:20px;right:20px;gap:12px;top:31%;bottom:23%}.firmas-card button{height:54px;padding:0 8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.home-collection.firmas-story{height:auto}.firmas-stage{position:relative;top:0;height:650px}.firmas-pattern,.firmas-flyers{display:none}}
/* v02: blanco puro, aparición irregular y foto bajo demanda. */
.firmas-card{background:#fff}
.firmas-card .firmas-preview{position:absolute;inset:0 0 58px;width:100%;height:auto;padding:0;border:0;background:#fff;display:block;overflow:hidden}
.firmas-card .firmas-preview picture{position:absolute;inset:0;visibility:hidden}
.firmas-card .firmas-final{position:absolute;left:4.5%;top:4.5%;width:91%;height:91%;object-fit:contain}
.firmas-card .firmas-preview-label{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font:11px Menlo,monospace;padding:8px 10px;background:#fff;color:#151515;white-space:nowrap}
.firmas-card.show-photo picture{visibility:visible}
.firmas-card.show-photo .firmas-final{visibility:hidden}
@media(min-width:821px) and (hover:hover) and (pointer:fine){.firmas-card .firmas-preview:hover picture{visibility:visible}.firmas-card .firmas-preview:hover .firmas-final{visibility:hidden}.firmas-preview-label{display:none}}
@media(max-width:820px){.firmas-card .firmas-preview{bottom:54px}}
.firmas-card button:focus-visible{outline:2px solid #151515;outline-offset:-3px}
/* v03: recorrido más corto y par móvil grande, apilado. */
.home-collection.firmas-story{height:230svh}
@media(max-width:820px){
 .firmas-pair{grid-template-columns:1fr;grid-template-rows:1fr 1fr;top:15%;bottom:5%;gap:16px;left:20px;right:20px}
 .firmas-card .firmas-preview-label{display:none}
 .firmas-pattern{inset:12% 0 8%}
 .firmas-card .firmas-preview{bottom:54px}
}
@media(prefers-reduced-motion:reduce){.home-collection.firmas-story{height:auto}}
/* v04: recortes transparentes y acciones en una fila. */
.firmas-card .firmas-preview picture img{object-fit:contain}
.firmas-actions{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;height:58px;border-bottom:1px solid #151515;will-change:transform,opacity;pointer-events:auto}
.firmas-card .firmas-actions button{position:static;width:auto;height:58px;border:0;padding:0 10px;font:12px Menlo,monospace;white-space:nowrap}
.firmas-card .firmas-actions .firmas-buy{text-align:right}
@media(max-width:820px){.firmas-actions,.firmas-card .firmas-actions button{height:54px}.firmas-card .firmas-actions button{font-size:11px;padding:0 8px}}
@media(prefers-reduced-motion:reduce){.firmas-actions{will-change:auto}}

/* v02: un toque muestra el producto; acciones separadas. */
@media(max-width:820px){.firmas-card .firmas-preview-label{display:block;font-size:10px;padding:6px;bottom:6px}.firmas-card .firmas-preview picture img{padding-bottom:22px}}

/* v03: intercambio suave, sin transformación geométrica del símbolo. */
.firmas-card .firmas-preview picture{visibility:visible;opacity:0;transform:translateY(8px) scale(.975);transition:opacity 420ms ease,transform 520ms cubic-bezier(.22,1,.36,1);pointer-events:none}
.firmas-card .firmas-preview .firmas-final{visibility:visible;opacity:1;transform:scale(1);transition:opacity 240ms ease,transform 420ms cubic-bezier(.22,1,.36,1);pointer-events:none}
.firmas-card.show-photo picture{opacity:1;transform:translateY(0) scale(1)}
.firmas-card.show-photo .firmas-final{visibility:visible;opacity:0;transform:scale(.96)}
@media(min-width:821px) and (hover:hover) and (pointer:fine){
 .firmas-card .firmas-preview:hover picture,.firmas-card .firmas-preview:focus-visible picture{opacity:1;transform:translateY(0) scale(1)}
 .firmas-card .firmas-preview:hover .firmas-final,.firmas-card .firmas-preview:focus-visible .firmas-final{visibility:visible;opacity:0;transform:scale(.96)}
 .firmas-card .firmas-preview{cursor:pointer}
}
.home-campaign-signal i{position:relative;flex:none}
.home-campaign-signal i::after{content:"";position:absolute;left:50%;top:50%;width:55%;height:55%;transform:translate(-50%,-50%);border-radius:50%;background:#1749d7;border:1px solid currentColor}
@media(prefers-reduced-motion:reduce){.firmas-card .firmas-preview picture,.firmas-card .firmas-preview .firmas-final{transition:none;transform:none}}
