:root{
  --navy-deep:#142440;
  --navy:#20345f;
  --navy-soft:#2c4577;
  --gold-deep:#D4AB4C;
  --gold-light:#F0C957;
  --paper:#FAF8F4;
  --ink:#1B2740;
  --ink-soft:#5b6a8a;
  --line:#e7e2d8;
  --success:#1e7a4c;
  --danger:#b5432e;
}

*{box-sizing:border-box;}
html,body{height:100%;margin:0;}
body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Space Grotesk',sans-serif;
  letter-spacing:-.01em;
}
.mono{font-family:'IBM Plex Mono',monospace;}

.gold-text{
  background:linear-gradient(100deg, var(--gold-deep), var(--gold-light));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.btn-gold{
  border:none; border-radius:12px;
  font-family:'Space Grotesk',sans-serif; font-weight:600;
  color:var(--navy-deep);
  background:linear-gradient(100deg, var(--gold-deep), var(--gold-light));
  box-shadow:0 8px 20px rgba(212,171,76,.35);
  cursor:pointer;
  transition:.18s transform, .18s box-shadow;
}
.btn-gold:hover{transform:translateY(-1px); box-shadow:0 10px 24px rgba(212,171,76,.45);}
.btn-gold:focus-visible{outline:2px solid var(--navy); outline-offset:3px;}

input:focus-visible, button:focus-visible, a:focus-visible{
  outline:2px solid var(--gold-deep); outline-offset:2px;
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important; animation-iteration-count:1 !important;}
}
