/* Promise hero — static full-bleed opener shared by About + Our Story. */
.flm-promisehero { position: relative; min-height: 100svh; display: flex; overflow: hidden; padding: 0; }
/* Kill the root block-gap between the hero's children (img → scrim → body): it was
   pushing the scrim down ~32px, leaving an unscrimmed bright strip of image right
   under the header. */
.flm-promisehero > * { margin-block-start: 0; }
.flm-promisehero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.flm-promisehero__scrim { position: absolute; inset: 0; background:
  linear-gradient(180deg, rgba(3,9,16,0.6) 0%, rgba(3,9,16,0) 14%),
  linear-gradient(90deg, rgba(3,9,16,0.86) 0%, rgba(3,9,16,0.4) 48%, rgba(3,9,16,0) 82%),
  linear-gradient(0deg, rgba(3,9,16,0.82) 0%, rgba(3,9,16,0) 55%); }
.flm-promisehero__body { position: relative; z-index: 1; align-self: flex-end;
  width: min(92vw, 1180px); margin-inline: auto; padding-block: clamp(4rem, 12svh, 7rem); color: var(--wp--preset--color--text-primary); }
.flm-promisehero__logo { display: block; width: clamp(132px, 14vw, 178px); height: auto; margin: 0 0 clamp(0.9rem, 2vw, 1.25rem); }
.flm-promisehero__rule { display: block; width: 54px; height: 2px; background: var(--wp--preset--color--text-muted); margin: 0 0 clamp(1rem, 2vw, 1.4rem); }
.flm-promisehero__stmt { margin: 0; font-family: var(--wp--preset--font-family--plex); font-weight: 600;
  font-size: clamp(2rem, 5vw, 3.75rem); line-height: 1.1; max-width: 20ch; text-shadow: 0 2px 22px rgba(0,0,0,0.5); }
/* Subhead differentiates the Company hero from Our Story slide 1. */
.flm-promisehero__sub { margin: clamp(0.9rem, 2vw, 1.4rem) 0 0; font-family: var(--wp--preset--font-family--plex);
  font-weight: 400; font-size: clamp(1.05rem, 1.8vw, 1.5rem); line-height: 1.4; max-width: 34ch;
  color: var(--wp--preset--color--text-secondary); text-shadow: 0 1px 12px rgba(0,0,0,0.5); }
.flm-promisehero__cue { display: block; margin-top: clamp(1.25rem, 3vw, 2rem); color: var(--wp--preset--color--text-secondary); animation: flm-ph-bounce 1.6s ease-in-out infinite; }
.flm-promisehero__cue svg { display: block; }
@keyframes flm-ph-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
@media (prefers-reduced-motion: reduce) { .flm-promisehero__cue { animation: none; } }

/* About + Our Story are edge-to-edge full-bleed section stacks — remove the root
   block-gap (2rem) between top-level sections so the dark bands butt cleanly with
   no navy seam. Each section carries its own internal padding for rhythm. */
body.page-company .wp-site-blocks > main > *,
body.page-our-story .wp-site-blocks > main > * { margin-block-start: 0; }

/* Our Story is a full-page slideshow: tuck the deck up under the translucent header
   (~66px) so it fills the whole viewport, header overlaying the top. */
body.page-our-story .wp-site-blocks > main > .flm-slideshow { margin-block-start: -66px; }
/* ...and butt the footer straight against the last slide (kill the root block-gap). */
body.page-our-story .wp-site-blocks > footer { margin-block-start: 0; }
