  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{ background:var(--bg); color:var(--text); font-family:var(--sans); line-height:1.65; font-size:16px; }
  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
    .reveal{ opacity:1 !important; transform:none !important; }
  }
  a{ color:var(--blue); text-decoration:none; }
  a:hover{ text-decoration:underline; }
  a:focus-visible, button:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; }
  ::selection{ background: var(--blue); color:#06070a; }
  .wrap{ max-width:920px; margin:0 auto; padding:0 24px; }
  .reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in-view{ opacity:1; transform:translateY(0); }

  @keyframes fadeSlideUp{
    from{ opacity:0; transform:translateY(28px); }
    to{ opacity:1; transform:translateY(0); }
  }
  .hero-anim{ opacity:0; animation:fadeSlideUp .8s cubic-bezier(.16,1,.3,1) forwards; }
  .hero .eyebrow.hero-anim{ animation-delay:.05s; }
  .hero h1.hero-anim{ animation-delay:.15s; }
  .hero-sub.hero-anim{ animation-delay:.3s; }
  .hero-actions.hero-anim{ animation-delay:.45s; }
  .stat-strip.hero-anim{ animation-delay:.6s; }

  .stagger{ opacity:0; transform:translateY(22px); transition:opacity .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1); }
  .stagger.in-view{ opacity:1; transform:translateY(0); }
  .stagger:nth-child(1){ transition-delay:0ms; }
  .stagger:nth-child(2){ transition-delay:90ms; }
  .stagger:nth-child(3){ transition-delay:180ms; }
  .stagger:nth-child(4){ transition-delay:270ms; }
