html { scroll-behavior: smooth; }
section[id], #api, #demo { scroll-margin-top: 90px; }
[aria-disabled="true"] { cursor: default; }
:where(a, button, summary, [tabindex]):focus-visible { outline: 2px solid var(--acc); outline-offset: 4px; }
header nav :focus-visible { outline-offset: -2px; }
[data-landing-consent] { max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }
[data-landing-consent]:focus { outline: none; }
[data-landing-consent] button { touch-action: manipulation; }
[data-landing-consent] button[role="switch"]::after { content: ""; position: absolute; inset: -10px -2px; }
[data-local-landing-menu] { overscroll-behavior: contain; }
@media (max-width: 1023px) {
  header nav { padding: 0 16px !important; gap: 8px !important; height: auto !important; min-height: 72px; flex-wrap: wrap; }
  header nav > a { flex: 1; padding: 14px 0; }
  header nav > div:nth-child(2) { order: 3; flex-basis: 100% !important; height: auto !important; min-height: 44px; overflow: visible !important; }
  header nav > div:nth-child(2) > a, header nav > div:nth-child(2) > button { font-size: 13px !important; padding-inline: 4px !important; }
  header nav > div:nth-child(2) > a, header nav > div:nth-child(2) > button { min-height: 44px; display: inline-flex !important; align-items: center; }
  header nav > div:last-child { gap: 4px !important; }
  header nav > div:last-child > a:last-child { display: none !important; }
  [data-local-landing-menu] { top: calc(100% + 4px) !important; left: 12px !important; right: 12px !important; max-height: calc(100dvh - 180px); overflow-y: auto !important; }
  section[id], #api, #demo { scroll-margin-top: 160px; }
  [data-local-landing-product-grid], [data-local-landing-product-groups] { grid-template-columns: minmax(0,1fr) !important; }
  [data-local-landing-product-groups] > div { padding: 20px 16px !important; border-right: 0 !important; }
  header [data-local-landing-three-columns], header [data-local-landing-two-columns] { grid-template-columns: minmax(0,1fr) !important; }
  header [data-local-landing-three-columns] > a, header [data-local-landing-two-columns] > a { flex-direction: column !important; align-items: flex-start !important; text-align: left !important; flex-wrap: wrap; padding: 10px 0 !important; }
  header [data-local-landing-three-columns] > a > span:last-child, header [data-local-landing-two-columns] > a > span:last-child { display: none !important; }
  header [data-local-landing-four-columns] { grid-template-columns: minmax(0,1fr) !important; }
  header [data-local-landing-four-columns] > * { min-width: 0; white-space: normal; }
  header [data-local-landing-four-columns] > * > span { flex-shrink: 0; }
  [data-local-landing-product-grid] > div:last-child { display: none !important; }
}
@media (max-width: 760px) {
  [data-local-landing-feature-card] { padding: 32px 24px 40px !important; }
  #api { padding: 60px 24px !important; }
  [data-local-landing-extras] { padding: 40px 0 !important; }
  #api [data-local-landing-four-columns] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  [data-local-landing-footer-links] { gap: 36px !important; }
  ecom-support { display: none; }
}
@media (max-width: 599px) {
  #hero { padding: 56px 20px 64px !important; }
  [data-local-landing-laurels] { display: none !important; }
  #features { padding-top: 64px !important; }
  #features > div:nth-child(2) { margin-top: 48px !important; }
  #faq { padding: 64px 20px !important; }
  [data-local-landing-final-cta] { padding: 0 20px 64px !important; }
  [data-local-landing-final-cta] > div { padding: 48px 24px !important; }
  [data-local-landing-footer-links] { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 24px !important; }
  [data-local-landing-footer-links] a, [data-local-landing-footer-links] button { overflow-wrap: anywhere; }
  [data-landing-consent] { padding: 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
/* Above-the-fold content must not wait for the scroll-reveal animation. */
#hero [data-reveal] { opacity: 1 !important; translate: none !important; filter: none !important; }
