/* Final usability and accessibility layer shared by the public website. */
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #ea876b;
  outline-offset: 4px;
}

/* WCAG AA contrast corrections verified with Lighthouse mobile emulation. */
.share-visual small,
.invitation-copy .lead,
.invitation-copy li,
.album-copy .lead,
.album-steps span,
.share-apps b,
.clarity-cards a span,
.clarity-cards a small,
.partners-heading .lead,
.partner-journey article p,
.partner-journey article > span,
.quote-slip div span { color: #453940; }
.partners-action small { color: #f8f4ea; }

.live-demo .kicker,
.album-demo .kicker { color: #742f38; }
.gallery-arrival > span { background: #9b3e35; color: #fff; }
.album-steps span.done { color: #285943; }
.trust-copy .kicker,
.trust-copy .lead { color: #fff; }
.private-pill { color: #274f3f; }
.control-foot span { color: #342a30; }

:where(button, .button, .nav-cta, .store) { min-height: 44px; }
button, summary, select { cursor: pointer; }
img { background: #eee6da; }
.gallery-mosaic img { object-position: center 38%; }
.gallery-mosaic .gallery-b { object-position: center 45%; }

@media (max-width: 820px) {
  header { min-height: 68px; height: auto; }
  .hero-product, .gallery-stage { max-width: 640px; margin-inline: auto; }
}

@media (max-width: 520px) {
  body { font-size: 16px; }
  h1 { font-size: clamp(48px, 15vw, 58px); }
  .lead, .hero-copy > p:not(.kicker) { font-size: 17px; }
  footer a { display: inline-flex; align-items: center; min-height: 44px; }
  .nav-share { border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; padding: 8px 0; }
  .nav-share:hover, .nav-share:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
  .share-mehfil-button { margin: 18px auto 0; border: 0; cursor: pointer; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
