* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-interface);
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: -.01em;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle at 4% 0, rgba(59,130,246,.07), transparent 30rem), radial-gradient(circle at 98% 12%, rgba(147,197,253,.08), transparent 26rem);
}
h1, h2, h3 { margin-top: 0; color: inherit; font-family: var(--font-display); font-weight: 700; letter-spacing: -.035em; line-height: 1.08; text-wrap: balance; }
h1 { font-size: clamp(3rem, 5.6vw, 6.4rem); }
h2 { font-size: clamp(2rem, 3.2vw, 3.75rem); }
h3 { font-size: clamp(1.2rem, 1.4vw, 1.55rem); }
p { max-width: var(--readable); }
a { color: inherit; text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
.page-shell { width: 100%; max-width: none; margin-inline: auto; padding-inline: var(--gutter); }
main { min-height: 72vh; }
.workspace:not(#recruiterWorkspace), .home-landing, .our-jobs-shell, .candidate-shell { width: min(100%, var(--layout-public)); margin-inline: auto; }
#recruiterWorkspace, #adminWorkspace, #designSystemWorkspace { width: min(100%, var(--layout-workspace)); margin-inline: auto; }
.workspace, .home-landing, .candidate-shell, .platform-content { animation: surface-in var(--ease) both; }
@keyframes surface-in { from { opacity: .01; transform: translateY(5px); } to { opacity: 1; transform: none; } }
::selection { background: var(--color-mint); color: var(--color-ink-deep); }
:focus-visible { outline: none; box-shadow: var(--focus); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
