.photo-filmstrip-pin{padding-bottom:112px}
.engagement-video-action{position:absolute;z-index:2;bottom:64px;left:0;right:0;display:flex;justify-content:center;padding:0 24px}
.engagement-video-trigger{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:min(280px,100%);min-height:52px;padding:12px 24px;border:0;border-radius:24px;background:var(--cream);color:var(--chocolate);box-shadow:var(--paper-shadow);font:1.25rem/1 var(--serif);letter-spacing:normal;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease,filter .2s ease}
.engagement-video-trigger svg{display:block;flex-shrink:0}
@media(min-width:801px){.engagement-video-trigger{font-size:1.375rem}}
/* Lift the desktop composition together while retaining the section's snap height. */
@media(min-width:801px){
  .photo-filmstrip{--ribbon-layout-lift:clamp(12px,3svh,32px)}
  .photo-filmstrip-intro,.photo-filmstrip-stage{top:calc(-1 * var(--ribbon-layout-lift))}
  .engagement-video-action{bottom:calc(64px + var(--ribbon-layout-lift))}
}
.photo-filmstrip[data-sequence="done"] .engagement-video-trigger{opacity:1;visibility:visible;transform:translateY(0)}
.engagement-video-trigger:hover{filter:brightness(1.13)}
.engagement-video-trigger:focus-visible,.engagement-video-close:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.engagement-video-dialog{box-sizing:border-box;width:min(94vw,1400px);height:min(92dvh,1000px);max-width:none;max-height:none;margin:auto;padding:16px 20px 20px;border:1px solid rgba(250,244,237,.2);border-radius:8px;background:var(--chocolate);color:var(--cream);overflow:hidden;box-shadow:0 16px 80px rgba(0,0,0,.5)}
.engagement-video-dialog[open]{display:flex;flex-direction:column;gap:12px}
.engagement-video-dialog::backdrop{background:rgba(12,8,6,.85)}
.engagement-video-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}
.engagement-video-header h2{margin:0;font:1.25rem/1.3 var(--serif)}
.engagement-video-close{display:flex;align-items:center;justify-content:center;align-self:center;flex-shrink:0;gap:8px;min-width:112px;min-height:44px;padding:8px 16px;border:1px solid rgba(250,244,237,.5);border-radius:4px;background:transparent;color:inherit;font:1rem/1 var(--serif);cursor:pointer}
.engagement-video-close span[aria-hidden]{font:1.5rem/1 sans-serif}
.engagement-video-dialog video{display:block;flex:1;min-height:0;width:100%;height:100%;object-fit:contain;background:#100b09}
.engagement-video-status{margin:0;text-align:center;font:1rem/1.3 var(--serif)}
html.video-lightbox-open{scroll-snap-type:none!important;scroll-behavior:auto!important;overflow:hidden}
html.video-lightbox-open body{overscroll-behavior:none}
@media(max-width:800px){
  .photo-filmstrip-pin{padding-bottom:104px}
  .engagement-video-action{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .engagement-video-dialog{width:calc(100% - 16px);height:calc(100dvh - 16px);padding:max(8px,env(safe-area-inset-top,0px)) 8px max(8px,env(safe-area-inset-bottom,0px));gap:8px}
  .engagement-video-header{padding-left:8px}
}
@media(max-width:800px) and (max-height:720px){.photo-filmstrip{--film-frame-width:min(clamp(190px,60vw,250px),32svh)}}
@media(prefers-reduced-motion:reduce){.engagement-video-trigger{transition:none}}
