/* IME — reset and element defaults.
   Box model, typography, links, lists, the page `.container` and the shared
   reveal-on-scroll classes driven by assets/js/site.js. */

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

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  background:
    radial-gradient(1200px 700px at 100% -5%, rgba(21, 94, 203, .14), transparent 55%),
    radial-gradient(1000px 620px at -5% 8%, rgba(10, 47, 107, .10), transparent 55%),
    var(--page);
  background-attachment: fixed;
  color: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

input,
button,
textarea,
select {
  font-family: inherit;
}

a {
  text-decoration: none;
  color: inherit;
}

ul {
  list-style: none;
}

img,
svg {
  display: block;
}

.container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 6%;
}

/* ---------- Reveal ---------- */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .9s var(--ease), transform .9s var(--ease);
}

.reveal.in {
  opacity: 1;
  transform: translateY(0);
}

.reveal.d1 {
  transition-delay: .08s;
}

.reveal.d2 {
  transition-delay: .16s;
}

.reveal.d3 {
  transition-delay: .24s;
}

.reveal.d4 {
  transition-delay: .32s;
}