/* ============================================================================
   Globex — base
   ----------------------------------------------------------------------------
   Reset plus the document defaults. Ye har page par same tha (13 pages par
   bilkul ek jaisa reset likha hua tha), isliye ek jagah aa gaya.

   Har value tokens.css se aati hai — yahan koi hardcoded colour ya size nahi.
   Kuch badalna ho to tokens.css edit karo, ye file nahi.

   Note: `body` ka background/layout har page par alag hai (kuch pages flex se
   centre karte hain, kuch gradient use karte hain). Yahan sirf safe default
   hai; page apni sheet mein use override kar sakta hai.
   ============================================================================ */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: var(--gx-font);
  font-size: var(--gx-fs-base);
  line-height: 1.5;
  color: var(--gx-ink);
  background: var(--gx-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Media should never spill out of its column. */
img,
svg,
video,
iframe {
  max-width: 100%;
}

img,
svg,
video {
  height: auto;
}

/* Form controls do not inherit type by default. */
input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
}

/* Long words and URLs should wrap rather than force a horizontal scrollbar. */
p,
h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

/* Keyboard users must be able to see where they are. Several pages set
   outline:none on inputs without providing a replacement. */
:focus-visible {
  outline: 2px solid var(--gx-indigo);
  outline-offset: 2px;
}

/* Tables that outgrow the viewport scroll inside their own container rather
   than pushing the whole page sideways. */
.gx-scroll-x {
  overflow-x: auto;
}

/* Visually hidden, still read by screen readers. */
.gx-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

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