.tw{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px}
.tw[hidden]{display:none}
.tw-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .3s}
.tw-box{position:relative;display:grid;width:min(820px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;color:#000;opacity:0;transform:translateY(16px);transition:opacity .3s var(--z-ease,ease),transform .3s var(--z-ease,ease)}
.tw.is-open .tw-backdrop{opacity:1}
.tw.is-open .tw-box{opacity:1;transform:none}
.tw-box.has-image{grid-template-columns:1fr}
.tw-media{display:none;background:#f2f2f2}
.tw-media img{width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:720px){.tw-box.has-image{grid-template-columns:1fr 1fr}.tw-media{display:block;min-height:480px}}
.tw-body{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(40px,6vw,64px) clamp(24px,4vw,48px) clamp(28px,4vw,44px)}
.tw-x{position:absolute;top:8px;right:8px;width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:#000;cursor:pointer}
.tw-kicker{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--z-muted,#6b6b6b)}
.tw-title{margin:0 0 14px;font-weight:300;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(32px,5vw,52px);line-height:.95}
.tw-text{margin:0 0 24px;font-size:13px;line-height:1.6;max-width:36ch}
.tw-code{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px dashed #000;margin-bottom:6px}
.tw-code__label{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--z-muted,#6b6b6b)}
.tw-code__value{flex:1;font-size:20px;font-weight:500;letter-spacing:.12em}
.tw-copy{border:0;background:none;padding:6px 0;font:inherit;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:#000}
.tw-status{min-height:18px;margin:0 0 14px;font-size:11px;color:var(--z-muted,#6b6b6b)}
.tw-cta{width:100%}
.tw-no{margin-top:14px;align-self:center;border:0;background:none;font:inherit;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--z-muted,#6b6b6b);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
html.tw-locked,html.tw-locked body{overflow:hidden}
/* Móvil: hoja que sube desde abajo */
@media (max-width:719px){.tw{align-items:flex-end;padding:0}.tw-box{width:100%;max-height:92dvh}.tw-body{padding-bottom:max(28px,env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.tw-box,.tw-backdrop{transition:none}}
