@import url('./tokens.css');

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--avita-ivory); color: var(--avita-ink); font-family: var(--avita-sans); font-weight: 400; line-height: 1.55; text-rendering: optimizeLegibility; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 2px solid var(--avita-copper); outline-offset: 4px; }
.shell { width: min(var(--content-max), calc(100% - (2 * var(--content-gutter)))); margin-inline: auto; }
.section { padding-block: var(--section-pad); border-top: 1px solid var(--avita-line-dark); }
.eyebrow { margin: 0; color: var(--avita-copper); font-size: .68rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.display { max-width: 13ch; margin: .75rem 0 1.5rem; font: 400 var(--display-lg)/.9 var(--avita-serif); letter-spacing: -.04em; text-wrap: balance; }
.lede { max-width: 40rem; margin: 0; color: var(--avita-muted); font-size: var(--body-lg); }
.skip-link { position: fixed; z-index: 1000; top: -5rem; left: 1rem; padding: .75rem 1rem; background: var(--avita-espresso); color: var(--avita-white); }
.skip-link:focus { top: 1rem; }
.reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .reveal { animation: avita-fade-up .72s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes avita-fade-up { from { opacity: 0; transform: translateY(1rem); } }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
