/* ============================================================
   Live film text (js/film-text.js) - the films' own type rules
   (marketing/lcs-104td/tools/film.css), so the HTML text reads
   exactly like the rendered films did.
   ============================================================ */
.ft {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    overflow: hidden;
    font-family: 'Inter', system-ui, sans-serif;
    color: #0e1417;
    -webkit-font-smoothing: antialiased;
}
.ft-block, .ft-end > div { position: absolute; will-change: transform, opacity; }
.ft-block.is-center { text-align: center; }
.ft-block.is-center .ft-body { margin-left: auto; margin-right: auto; }
.ft-eyebrow { font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #0f7c70; }
.ft-hl { font-family: 'Inter Tight', 'Inter', system-ui, sans-serif; font-weight: 600; letter-spacing: -.035em; line-height: 1.02; color: #0e1417; }
.ft-mask { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.ft-mask > span { display: inline-block; will-change: transform; }
.ft-accent { color: #0f7c70; }
.ft-body { font-weight: 400; color: #5d676c; line-height: 1.4; }
.ft-num { font-family: 'Inter Tight', 'Inter', system-ui, sans-serif; font-weight: 300; letter-spacing: -.05em; line-height: .9; color: #0f7c70; }
.ft-end > div { left: 0; right: 0; text-align: center; }
.ft-word { font-weight: 600; letter-spacing: -.04em; line-height: 1; white-space: nowrap; }
.ft-tag { color: #5d676c; line-height: 1.4; }
.ft-meta { color: #8b9498; font-weight: 500; white-space: nowrap; }
.ft-meta b { font-weight: 400; padding: 0 .6em; }
