/* A quiet download shortcut once the opening invitation is behind you. */
.mobile-download-bar { display: none; }
.mobile-download-bar[hidden] { display: none !important; }

.download-qr { display: flex; align-items: center; justify-content: center; gap: 20px; width: fit-content; max-width: 100%; margin: 26px auto 0; padding: 18px 20px; border: 1px solid #d8d9ca; border-radius: 19px; background: #fffdfa; color: #303d35; text-align: left; }
.download-qr img { display: block; width: 144px; height: 144px; flex: 0 0 144px; object-fit: contain; background: #fff; border-radius: 5px; }
.download-qr-copy { max-width: 195px; }
.download-qr-copy strong { display: block; font-size: 15px; line-height: 1.4; font-weight: 500; }
.download-qr-copy p, .download-qr-copy > span { display: block; margin-top: 7px; color: #606f63; font-size: 12px; line-height: 1.6; }

@media (max-width: 700px) {
  .download-qr { display: none; }
  .mobile-download-bar { position: fixed; z-index: 30; inset: auto 0 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px max(20px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); border-top: 1px solid #c6d5be; background: #faf7f2; color: #303d35; box-shadow: 0 -8px 24px #304b3910; }
  .mobile-download-brand { display: flex; min-width: 0; align-items: center; gap: 9px; }
  .mobile-download-brand > img { width: 35px; height: 35px; flex-shrink: 0; object-fit: contain; }
  .mobile-download-copy { min-width: 0; }
  .mobile-download-copy strong { display: block; font-size: 17px; line-height: 1.15; letter-spacing: -.025em; font-weight: 500; }
  .mobile-download-copy small { display: block; color: #606f63; font-size: 10px; line-height: 1.4; margin-top: 3px; }
  .mobile-download-link { display: inline-flex; justify-content: center; align-items: center; gap: 9px; flex-shrink: 0; min-height: 44px; max-width: 60%; padding: 10px 17px; border: 1px solid #426653; border-radius: 26px; background: #426653; color: #faf7f2; font-size: 13px; font-weight: 500; line-height: 1.4; text-align: center; }
  .mobile-download-link:hover { border-color: #355842; background: #355842; }
  .mobile-download-link:focus-visible { outline: 2px solid #9d583c; outline-offset: 4px; border-radius: 26px; }
  .mobile-download-link .icon { width: 17px; height: 17px; }
  html.mobile-download-visible { scroll-padding-bottom: calc(var(--mobile-download-height, 76px) + 12px); }
  html.mobile-download-visible body { padding-bottom: var(--mobile-download-height, calc(76px + env(safe-area-inset-bottom))); }
}
@media (max-width: 350px) {
  .mobile-download-bar { gap: 10px; padding-inline: max(15px, env(safe-area-inset-left)) max(15px, env(safe-area-inset-right)); }
  .mobile-download-brand { gap: 7px; }
  .mobile-download-brand > img { width: 31px; height: 31px; }
  .mobile-download-link { padding-inline: 13px; font-size: 12px; gap: 6px; }
}
