/* Route-scoped cinematic presentation. The final Club hero is text only. */
:root { --amc-cinema-blur: 14px; --amc-cinema-scrim: rgba(250,247,242,.2); }
@view-transition { navigation: auto; }
/* Capture only the stationery; the surrounding presentation stays live. */
html[data-amc-cinema-bridge] { view-transition-name: none; }
html[data-amc-cinema-bridge]::view-transition { pointer-events: none; }
html[data-amc-cinema-bridge]::view-transition-group(amc-cinema-scene) { animation-duration: 180ms; animation-timing-function: cubic-bezier(.22,1,.36,1); }
html[data-amc-cinema-bridge]::view-transition-image-pair(amc-cinema-scene) { isolation: isolate; }
html[data-amc-cinema-bridge]::view-transition-old(amc-cinema-scene),
html[data-amc-cinema-bridge]::view-transition-new(amc-cinema-scene) { animation: none; mix-blend-mode: normal; }
/* The incoming pose is numerically identical. Prefer its complete capture:
   an outgoing scene whose carrier exceeds a short viewport can be empty. */
html[data-amc-cinema-bridge]::view-transition-old(amc-cinema-scene) { opacity: 0; }
html[data-amc-cinema-bridge]::view-transition-new(amc-cinema-scene) { opacity: 1; }
/* Only a validated incoming marker enables this pre-dialog paint guard. */
html[data-amc-cinema-pending]:not([data-amc-cinema-active])::after {
  content: ""; position: fixed; inset: 0; z-index: 2147483000; pointer-events: none;
  background: var(--amc-cinema-scrim);
  -webkit-backdrop-filter: blur(var(--amc-cinema-blur)); backdrop-filter: blur(var(--amc-cinema-blur));
  animation: amc-cinema-guard-release 1ms 12s forwards;
}
@keyframes amc-cinema-guard-release { to { opacity: 0; visibility: hidden; } }
dialog.amc-cinema {
  --amc-invite-bg: transparent;
  display: none; position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100dvh;
  max-width: none; max-height: none; margin: 0; padding: 0; border: 0; overflow: hidden;
  background: transparent; color: var(--amc-invite-ink); overscroll-behavior: contain; touch-action: none;
}
dialog.amc-cinema[open] { display: block; }
dialog.amc-cinema::backdrop { background: transparent; }
.amc-cinema__veil {
  position: absolute; inset: 0; background: rgba(250,247,242,0);
  -webkit-backdrop-filter: blur(0px); backdrop-filter: blur(0px); pointer-events: none;
}
.amc-cinema__travel, .amc-cinema__fit { position: absolute; top: 0; left: 0; transform-origin: 0 0; pointer-events: none; }
.amc-cinema__travel { z-index: 1; }
.amc-cinema .amc-invite__stage { overflow: visible; }
.amc-cinema .amc-invite__caption, .amc-cinema .amc-invite__trigger { display: none; }
.amc-cinema .amc-invite__tilt { transition: none; }
.amc-cinema .amc-invite__card-channel { top: -700px; }
.amc-cinema .amc-invite__card { top: 712px; }
.amc-cinema__status {
  position: absolute; z-index: 2; bottom: max(18px, env(safe-area-inset-bottom)); inset-inline: 20px; margin: 0;
  color: #3a3530; font: 400 .8125rem/1.5 var(--amc-invite-sans); text-align: center;
}
.amc-cinema__status:empty { display: none; }
.club-hero.amc-club-welcome {
  --amc-invite-bg: var(--color-premium-black, #0A0A0B);
  padding: clamp(54px,6vw,88px) 24px 124px; color: var(--color-pearl-white, #FAFAF7); text-align: center;
}
.amc-club-welcome .club-hero-inner { width: 100%; max-width: 780px; margin-inline: auto; }
.amc-club-welcome .club-hero-eyebrow {
  display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 26px;
  color: var(--amc-invite-gold); font-family: var(--amc-invite-sans); font-weight: 500;
}
.amc-club-welcome .club-hero-eyebrow::before,
.amc-club-welcome .club-hero-eyebrow::after { content: ""; width: 28px; height: 1px; background: currentColor; }
.amc-club-welcome .club-hero-title {
  margin: 0 0 27px; color: var(--color-pearl-white, #FAFAF7); font-family: var(--amc-invite-serif);
  font-size: clamp(2.75rem,4.7vw,4.25rem); font-weight: 400; line-height: 1.1; letter-spacing: -.04em;
}
.amc-club-welcome .club-hero-title em { color: var(--amc-invite-gold); font-style: italic; font-weight: 400; }
.amc-club-welcome .club-hero-lead { max-width: 58ch; margin-inline: auto; color: #d5d1c8; font: 400 1rem/1.75 var(--amc-invite-sans); }
.amc-club-welcome__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px 28px; margin-top: 30px; }
.amc-club-welcome__primary { gap: 18px; padding-inline: 24px; }
.amc-club-welcome__secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px;
  color: var(--color-pearl-white, #FAFAF7); font: 400 .8125rem/1.5 var(--amc-invite-sans);
  text-decoration: underline; text-decoration-color: var(--amc-invite-gold); text-underline-offset: 7px;
}
.amc-club-welcome__secondary:focus-visible { outline: 2px solid var(--amc-invite-gold); outline-offset: 5px; }
#amc-club-memberships { scroll-margin-top: 100px; }
@media (max-width: 700px) {
  :root { --amc-cinema-blur: 8px; --amc-cinema-scrim: rgba(250,247,242,.18); }
  .club-hero.amc-club-welcome { padding: 42px 18px 112px; }
  .amc-club-welcome .club-hero-eyebrow { margin-bottom: 22px; font-size: .625rem; }
  .amc-club-welcome .club-hero-title { font-size: clamp(2.4rem,10.5vw,3.4rem); margin-bottom: 24px; }
  .amc-club-welcome .club-hero-lead { line-height: 1.7; }
  .amc-club-welcome__actions { flex-direction: column; gap: 10px; margin-top: 26px; }
  .amc-club-welcome__primary { width: 100%; max-width: 420px; }
}
@media (max-height: 500px) {
  /* Short viewports can drop the outgoing dialog during native capture.
     Keep the same matched live-DOM handoff without that snapshot bridge. */
  @view-transition { navigation: none; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  html[data-amc-cinema-pending]::after { display: none; }
}
