/* ABA Public Website — global base. Depends on tokens.css. */
*, *::before, *::after { box-sizing: border-box; }

html {
  background: var(--aba-ground);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100%;
  background: var(--aba-ground);
  color: var(--aba-ivory-100);
  font-family: var(--aba-font-sans);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg { display: block; max-width: 100%; }

a { color: var(--aba-champagne); }
a:hover { color: var(--aba-champagne-light); }

button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
button, a { -webkit-tap-highlight-color: transparent; }

:focus-visible { outline: 1px solid var(--aba-focus-ring); outline-offset: 5px; }

::selection { background: #D3AF75; color: #111; }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap;
}

.skip-link {
  position: absolute; z-index: 100; left: 16px; top: -60px;
  padding: 10px 14px; background: var(--aba-panel); color: var(--aba-ivory-100);
  border: 1px solid var(--aba-champagne-rule); text-decoration: none;
}
.skip-link:focus { top: 16px; }
#main:focus { outline: none; }

/* Touch targets: invisible hit-area extensions (no ink moves, nothing painted). The element keeps its approved box;
   its ::after grows the clickable area to at least 44 x 44 CSS px around the centre. */
.hit-y, .hit-x { position: relative; }
.hit-y::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: max(100%, 44px); transform: translateY(-50%); }
.hit-x::after { content: ''; position: absolute; top: 50%; left: 50%; width: max(100%, 44px); height: max(100%, 44px); transform: translate(-50%, -50%); }
.skip-link::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: max(100%, 44px); transform: translateY(-50%); } /* skip-link target (tabindex=-1): focus moves here without a visible change */

/* Reduced motion: only non-essential motion (smooth scroll, UI transitions) is reduced.
   The approved EZRA heartbeat is intentionally NOT replaced or stopped (Tamir decision). */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
