/* styles.css — JAVT base styles (extracted from brand.jsx).
   Linked by every page so the HTML stays clean and lightweight. */

html, body { margin: 0; padding: 0; background: #0C0C0E; }
#root { width: 100%; min-height: 100vh; }

.javt {
  font-family: "Noto Sans", sans-serif;
  color: #FFFFFF;
  background: #0C0C0E;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}
.javt * { box-sizing: border-box; }
.javt h1, .javt h2, .javt h3, .javt h4 {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 0;
  line-height: 1.05;
}
.javt p { margin: 0; }
.javt button { font-family: "Montserrat", sans-serif; cursor: pointer; }
.javt a { color: inherit; text-decoration: none; }
.javt .hl {
  font-family: "Fraunces", serif;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0;
}
.javt ::selection { background: #DA2729; color: #fff; }
.javt-eyebrow {
  font-family: "Montserrat", sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

@keyframes javt-fade {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
.javt-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
}
.javt-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .javt-reveal { opacity: 1; transform: none; transition: none; }
}
