/* shared talking-head player: homepage, cost page. about-us keeps its own inline copy */
.film__grid{display:grid;gap:clamp(1.4rem,3vw,2.6rem);align-items:start}
@media(min-width:960px){.film__grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);align-items:center}}
.vplay{position:relative;border-radius:var(--r);overflow:hidden;background:#000;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.vplay video{width:100%;height:auto;display:block;aspect-ratio:16/9;background:#000}
.vplay__btn{position:absolute;inset:0;width:100%;height:100%;border:0;cursor:pointer;
  background:linear-gradient(180deg,rgba(20,23,21,.10),rgba(20,23,21,.46));
  display:flex;align-items:center;justify-content:center;transition:background .2s}
.vplay__btn:hover{background:linear-gradient(180deg,rgba(20,23,21,.04),rgba(20,23,21,.36))}
.vplay__btn:focus-visible{outline:3px solid var(--green);outline-offset:-4px}
.vplay__btn span{display:flex;align-items:center;justify-content:center;
  width:clamp(58px,6.6vw,84px);aspect-ratio:1;border-radius:50%;background:var(--green);
  box-shadow:0 8px 28px rgba(0,0,0,.4);transition:transform .18s}
.vplay__btn:hover span{transform:scale(1.07)}
.vplay__btn svg{margin-left:4px}
.vplay.is-playing .vplay__btn{display:none}
.vsound{position:absolute;right:clamp(.7rem,1.6vw,1.1rem);bottom:clamp(2.9rem,5vw,3.6rem);
  display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .95rem;border:0;cursor:pointer;
  border-radius:999px;background:var(--green);color:#141715;font:600 .88rem/1 inherit;
  box-shadow:0 6px 20px rgba(20,23,21,.32);transition:transform .16s ease,opacity .2s ease}
.vsound:hover{transform:translateY(-1px)}
.vsound:focus-visible{outline:3px solid #fff;outline-offset:2px}
.vplay.has-sound .vsound{opacity:0;pointer-events:none}
.film__cta{margin:clamp(1.2rem,2.6vw,1.8rem) 0 0;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.film__txt h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin:.5rem 0 .8rem;text-wrap:balance}
.film__txt p{margin:0 0 .9rem;text-wrap:pretty}
.film__meta{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;
  color:var(--grey)!important}
/* compact variant: player sitting in a narrow column with a caption under it */
.filmcard{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:0 6px 30px rgba(20,23,21,.12);background:var(--paper-2)}
.filmcard .vplay{border-radius:0;box-shadow:none}
.filmcard figcaption{padding:1.05rem 1.15rem 1.2rem}
.filmcard figcaption b{display:block;font-size:1.06rem;color:var(--ink);line-height:1.3}
.filmcard figcaption i{display:block;font-style:normal;font-size:.74rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:var(--green-deep);margin:.24rem 0 .55rem}
.filmcard figcaption p{margin:0 0 .7rem;font-size:.93rem;color:var(--grey);line-height:1.55;text-wrap:pretty}
.filmcard figcaption a.filmcard__cta{font-weight:600;font-size:.92rem;color:var(--green-deep);text-decoration:none}
.filmcard figcaption a.filmcard__cta:hover{text-decoration:underline}
