/* Hero drone film. Only applies when the hero carries .is-film; without it the
   hero is exactly the image hero it was before. */
.tams-hero.is-film { display:block; min-height:0; overflow:clip; height:calc(var(--film-screens, 3.5) * 100svh); }
.tams-film-stage { position:sticky; top:var(--header-h, 0px); height:calc(100svh - var(--header-h, 0px)); min-height:480px; overflow:hidden; display:flex; align-items:center; }
.tams-hero.is-film .tams-hero-media { inset:0; }
.tams-film-poster, .tams-film-cv { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.tams-film-cv { opacity:0; }
.tams-film-cv.on { opacity:1; }
.tams-hero.is-film .tams-shell { position:relative; z-index:2; width:100%; }
/* the veil eases off as the drone climbs, so the lot itself carries the end of the film */
/* the image hero's veil is built for a still; over the film it is lighter, and the
   side veil keeps carrying the headline. It eases off further as the drone climbs. */
.tams-hero.is-film .tams-hero-veil { background:linear-gradient(to top, rgba(5,2,41,.62) 0%, rgba(5,2,41,.28) 34%, rgba(5,2,41,.06) 70%, rgba(5,2,41,0) 100%); }
.tams-film-skip { position:absolute; z-index:3; inset-block-end:18px; inset-inline-start:50%; transform:translateX(50%); display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:var(--radius-pill, 999px); background:rgba(5,2,41,.55); color:#fff; font-size:14px; font-weight:700; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.tams-film-skip:hover { background:rgba(5,2,41,.75); }
.tams-film-skip svg { animation:tams-film-nudge 1.8s ease-in-out infinite; }
@keyframes tams-film-nudge { 50% { transform:translateY(3px); } }
/* legibility over moving footage: a soft shadow under the words, a stronger side veil
   where the text sits (desktop, RTL = right), and on a portrait phone a band behind the
   text block instead of the side veil (the text spans the full width there) */
.tams-hero.is-film .tams-hero-in h1, .tams-hero.is-film .tams-hero-in p, .tams-hero.is-film .tams-eyebrow { text-shadow:0 1px 2px rgba(5,2,41,.55), 0 4px 28px rgba(5,2,41,.65); }
.tams-hero.is-film .tams-hero-veil-side { background:linear-gradient(to left, rgba(5,2,41,.80) 0%, rgba(5,2,41,.55) 38%, transparent 70%); }
@media (max-aspect-ratio: 4/5) {
	.tams-hero.is-film .tams-hero-veil-side { background:linear-gradient(to bottom, rgba(5,2,41,.08) 0%, rgba(5,2,41,.66) 30%, rgba(5,2,41,.66) 74%, rgba(5,2,41,.25) 100%); }
}
/* reduced motion / data saver: a normal hero on the poster frame */
.tams-hero.is-film.is-film-still { height:auto; min-height:clamp(560px, 82vh, 860px); }
.tams-hero.is-film.is-film-still .tams-film-stage { position:relative; top:0; height:auto; min-height:clamp(560px, 82vh, 860px); }
.tams-hero.is-film.is-film-still .tams-film-cv, .tams-hero.is-film.is-film-still .tams-film-skip { display:none; }
@media (prefers-reduced-motion: reduce) { .tams-film-skip svg { animation:none; } }
