/* Added after existing site styles; content is never CSS-hidden for reveals. */
.az-hero-drafting { position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;color:var(--gold,#ccb891);opacity:.4;mask-image:linear-gradient(90deg,transparent 36%,#000 78%); }
.complex:has(.az-engineering) { padding-bottom:240px; }
.complex-note.az-engineering { width:min(750px,calc(100% - 2 * var(--space)));bottom:32px;right:var(--space);letter-spacing:.1em;color:#d9dccf; }
.az-engineering-diagram { display:block;width:100%;height:auto;max-height:116px;color:var(--gold,#ccb891);overflow:visible; }
.az-engineering-labels { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:center;font-size:11px;line-height:1.55; }
.az-engineering-labels > span { overflow-wrap:anywhere; }
/* Layer order: frames (-2), existing scrim (-1), original copy/controls (auto).
   Original image is retained as a functional loading/error fallback. */
.az-film-frames { position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden; }
.az-film-frames > img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.55);opacity:0; }
.film-screen.az-film-enhanced > #film-image { opacity:0!important;animation:none!important;transition:none!important; }
.film-screen:has(.az-film-frames).playing > #film-image { animation:none; }
@media (max-width:700px) {
  .az-hero-drafting { opacity:.26;mask-image:linear-gradient(0deg,#000,transparent 82%); }
  .complex:has(.az-engineering) { padding-bottom:210px; }
  .complex-note.az-engineering { bottom:30px;letter-spacing:0; }
  .az-engineering-labels { font-size:10px;gap:6px; }
}
@media (prefers-reduced-motion:reduce) {
  .az-hero-drafting { display:none; }
  .az-film-frames { display:none!important; }
  .film-screen:has(.az-film-frames) > #film-image { animation:none!important;transform:none!important;transition:none!important; }
  .film-screen.az-film-enhanced:not(.final) > #film-image { opacity:1!important; }
}

/* Final film card reuses the exact brand mark from the site header. */
#film-kicker > svg { display:block;width:clamp(104px,10vw,144px);height:clamp(104px,10vw,144px);margin:0 auto;fill:none;stroke:var(--gold);stroke-width:1.6; }

/* A larger, centered closing signature, clear of the playback controls. */
.film-screen.final .film-overlay { top:0;bottom:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px; }
.film-screen.final #film-kicker { margin:0; }
.film-screen.final #film-caption { font-size:clamp(52px,10vw,144px);line-height:1.1;letter-spacing:.12em;text-indent:.12em;white-space:nowrap; }
.film-screen.final #film-subtitle { display:none; }
@media (max-width:600px) {
  .film-screen.final .film-overlay { gap:20px; }
  .film-screen.final #film-caption { font-size:clamp(48px,13vw,78px);letter-spacing:.08em;text-indent:.08em; }
}

/* The closing signature is an authored brand card, not another photograph.
   Keep its existing colors explicit and fade away the photo-only dark scrim
   with the outgoing image. Rewinding restores that scrim immediately. */
.film-screen.final {
  background: var(--black, #111411);
  color: var(--ivory, #f0ede5);
  color-scheme: only light;
}
.film-screen.final .film-scrim {
  opacity: 0;
  transition: opacity .7s ease-in-out;
}
.film-screen.final #film-caption { color: var(--gold, #ccb891); }
@media (prefers-reduced-motion: reduce) {
  .film-screen.final .film-scrim { transition: none; }
}
