/* Base elements and utilities. Source: app/globals.css (top of file). */

html, body { margin: 0; padding: 0; background: var(--paper); }
*, *::before, *::after { box-sizing: border-box; }
body {
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  font-family: var(--font-inter), 'Inter', system-ui, sans-serif; font-size: var(--cc-body-size, 15px); line-height: 1.45; color: var(--ink);
  min-height: 100vh; display: flex; flex-direction: column;
}
main { flex: 1; }
a { color: var(--cc-link, var(--orange2)); text-decoration: none; }
a:hover { color: var(--cc-link-hover, var(--rust)); }
input, select, textarea, button { font-family: inherit; }
::selection { background: var(--peach); }
.num { font-variant-numeric: tabular-nums; }
.display { font-family: var(--display); letter-spacing: 0.02em; line-height: 1; font-weight: var(--cc-h-weight, 400); text-transform: var(--cc-h-transform, none); }
.wrap { max-width: var(--cc-content-width, 1300px); margin: 0 auto; padding: 0 16px; }
.eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mute); }
.eyebrow.hot { color: var(--orange2); }
.link { cursor: pointer; font-size: 13.5px; font-weight: 700; color: var(--cc-link, var(--orange2)); background: none; border: 0; padding: 0; }
.link:hover { color: var(--cc-link-hover, var(--rust)); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* WordPress additions (not in the Next app). Focus rings are the browser's default, as on the reference. */
.skip-link:focus {
  position: fixed; top: 8px; left: 8px; z-index: 100000; width: auto; height: auto; clip: auto; overflow: visible;
  background: var(--ink); color: var(--card); padding: 10px 16px; border-radius: 999px; font-size: 14px; font-weight: 700;
}
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
[hidden] { display: none !important; }
