

body { overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } body { overflow-x: clip; } }

.deco { z-index: -1 !important; pointer-events: none; }
section:has(> .deco), div:has(> .deco) { isolation: isolate; }

img, video, iframe { max-width: 100%; }
video { height: auto; }

main a[href^="mailto:"], main a[href^="http"] { overflow-wrap: anywhere; }
footer a { overflow-wrap: break-word; }
.nowrap { white-space: nowrap; }

@media (max-width: 640px) {
  input:not([type=checkbox]):not([type=radio]):not([type=range]),
  select, textarea { font-size: 16px !important; }
}

#mobile-menu a { min-height: 44px; display: flex; align-items: center; }
#mobile-menu-button { touch-action: manipulation; }

html { scroll-padding-top: 80px; }

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