/* NY Agency film player: one cinema overlay shared by every page. Any [data-film] element opens it. */
.film{position:fixed;inset:0;z-index:400;display:grid;place-items:center;visibility:hidden;pointer-events:none;transition:visibility 0s linear .7s}
.film.open{visibility:visible;pointer-events:auto;transition-delay:0s}
.film-bg{position:absolute;inset:0;background:rgba(8,7,6,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1)}
.film.open .film-bg{opacity:1}
.film-box{position:relative;width:min(92vw,calc(86vh * 16 / 9),1600px);aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 60px 140px -40px rgba(0,0,0,.9),0 0 0 1px rgba(243,239,232,.08);opacity:0;transform:translateY(30px) scale(.94);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.film.open .film-box{opacity:1;transform:none}
.film-box video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.film-big{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;border:0;background:#F6B95C;color:#1A1408;cursor:pointer;display:grid;place-items:center;box-shadow:0 0 0 0 rgba(246,185,92,.5);animation:filmPulse 2.4s cubic-bezier(.16,1,.3,1) infinite;transition:opacity .4s,transform .4s cubic-bezier(.16,1,.3,1)}
.film-big svg{width:30px;height:30px;margin-left:4px}
.film-big:hover{transform:scale(1.06)}
.film.playing .film-big{opacity:0;transform:scale(.8);pointer-events:none}
@keyframes filmPulse{0%{box-shadow:0 0 0 0 rgba(246,185,92,.45)}70%{box-shadow:0 0 0 22px rgba(246,185,92,0)}100%{box-shadow:0 0 0 0 rgba(246,185,92,0)}}
.film-ui{position:absolute;left:0;right:0;bottom:0;padding:40px 22px 16px;display:flex;align-items:center;gap:14px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#F3EFE8;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.06em;transition:opacity .5s,transform .5s cubic-bezier(.16,1,.3,1)}
.film.idle.playing .film-ui{opacity:0;transform:translateY(10px)}
.film.idle.playing{cursor:none}
.film-ui button{width:40px;height:40px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(243,239,232,.1);color:inherit;cursor:pointer;transition:background .3s}
.film-ui button:hover{background:rgba(246,185,92,.3)}
.film-ui svg{width:16px;height:16px}
.film-bar{position:relative;flex:1;height:22px;cursor:pointer;touch-action:none}
.film-bar::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;border-radius:4px;background:rgba(243,239,232,.18)}
.film-bar .buf,.film-bar .fill{position:absolute;left:0;top:50%;height:4px;margin-top:-2px;border-radius:4px;width:0}
.film-bar .buf{background:rgba(243,239,232,.28)}
.film-bar .fill{background:#F6B95C}
.film-bar .knob{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#F6B95C;box-shadow:0 0 12px rgba(246,185,92,.7);left:0;transform:scale(0);transition:transform .25s}
.film-bar:hover .knob,.film-bar.drag .knob{transform:scale(1)}
.film-time{min-width:92px;text-align:center;font-variant-numeric:tabular-nums}
.film-head{position:absolute;left:0;right:0;top:0;padding:18px 22px 40px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(rgba(0,0,0,.6),transparent);color:#F3EFE8;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:opacity .5s}
.film.idle.playing .film-head{opacity:0}
.film-head b{color:#F6B95C;font-weight:500;margin-right:10px}
.film-x{display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;min-height:44px}
.film-x i{position:relative;width:16px;height:16px}
.film-x i::before,.film-x i::after{content:"";position:absolute;left:0;top:50%;width:16px;height:1.5px;background:#F6B95C;transform:rotate(45deg)}
.film-x i::after{transform:rotate(-45deg)}
.film-load{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:2px solid rgba(243,239,232,.15);border-top-color:#F6B95C;animation:filmSpin .9s linear infinite;opacity:0;transition:opacity .3s;pointer-events:none}
.film.waiting .film-load{opacity:1}
@keyframes filmSpin{to{transform:rotate(360deg)}}
@media (max-width:700px){
  .film-box{width:100vw;border-radius:0}
  .film-ui{padding:30px 12px 10px;gap:8px}
  .film-ui button{width:36px;height:36px}
  .film-time{min-width:0;font-size:11px}
  .film-head{padding:12px 14px 30px;font-size:10px}
  .film-big{width:76px;height:76px;margin:-38px 0 0 -38px}
}
@media (prefers-reduced-motion: reduce){.film *,.film{transition:none!important;animation:none!important}}

/* the preview card: a silent loop of the film with a big play button */
.film-card{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:26px;overflow:hidden;background:#141210;border:1px solid rgba(243,239,232,.1);box-shadow:0 60px 120px -50px rgba(0,0,0,.9);cursor:pointer;transform:scale(calc(.9 + .1*var(--fk,1)));transform-origin:center top}
.film-card video,.film-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,14,12,.05) 40%,rgba(15,14,12,.78)),radial-gradient(60% 60% at 50% 50%,transparent,rgba(15,14,12,.35));transition:opacity .5s}
.film-card:hover::after{opacity:.8}
.film-card .fc-play{position:absolute;left:50%;top:50%;z-index:2;width:104px;height:104px;margin:-52px 0 0 -52px;border-radius:50%;background:#F6B95C;color:#1A1408;display:grid;place-items:center;animation:filmPulse 2.4s cubic-bezier(.16,1,.3,1) infinite;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.film-card:hover .fc-play{transform:scale(1.08)}
.film-card .fc-play svg{width:32px;height:32px;margin-left:5px}
.film-card .fc-meta{position:absolute;left:28px;right:28px;bottom:24px;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;color:#F3EFE8}
.film-card .fc-meta b{display:block;font-family:"Archivo",system-ui,sans-serif;font-stretch:125%;font-weight:800;font-size:clamp(20px,2.2vw,34px);letter-spacing:-.02em;line-height:1.05;max-width:20ch}
.film-card .fc-meta span{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#F6B95C;white-space:nowrap}
@media (max-width:700px){.film-card{border-radius:18px}.film-card .fc-play{width:72px;height:72px;margin:-36px 0 0 -36px}.film-card .fc-play svg{width:24px;height:24px}.film-card .fc-meta{left:16px;right:16px;bottom:14px}.film-card .fc-meta span{font-size:10px}}
.watch-pill{display:inline-flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:999px;border:1px solid rgba(246,185,92,.45);background:rgba(246,185,92,.08);color:#F3EFE8;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .4s,border-color .4s;min-height:44px}
.watch-pill i{width:30px;height:30px;border-radius:50%;background:#F6B95C;display:grid;place-items:center;flex:none}
.watch-pill i svg{width:11px;height:11px;margin-left:2px;color:#1A1408}
.watch-pill:hover{background:rgba(246,185,92,.18);border-color:#F6B95C}
.watch-pill em{font-style:normal;color:#A9A399}
