/* ════════════════════════════════════════════════════
   BASE — Reset, Tokens, Container, Selection
   ════════════════════════════════════════════════════ */

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

:root{
  --navy:   #001220;
  --black:  #0A0A0A;
  --white:  #FFFFFF;
  --gold:   #D4AF37;
  --gold-dim: rgba(212,175,55,.25);
  --serif:  'DM Serif Display', Georgia, serif;
  --sans:   'Inter', 'Helvetica Neue', Arial, sans-serif;
  --ease:   cubic-bezier(.22,1,.36,1);
  --dur:    .8s;
}

html{scroll-behavior:auto;overflow-x:hidden;font-size:16px}
body{
  font-family:var(--sans);
  background:var(--navy);
  color:var(--white);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}

::selection{background:var(--gold);color:var(--black)}

.container{width:90%;max-width:1200px;margin:0 auto}
.container.narrow{max-width:720px}

/* ── Buttons ─────────────────────────────────────── */
.btn{
  display:inline-block;padding:.9rem 2.4rem;
  font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;
  transition:all .4s var(--ease);
  position:relative;overflow:hidden;
}
.btn::before{
  content:'';position:absolute;inset:0;
  background:var(--gold);
  transform:translateY(100%);
  transition:transform .5s var(--ease);
  z-index:-1;
}
.btn:hover::before{
  transform:translateY(0);
}
.btn-gold{background:var(--gold);color:var(--black)}
.btn-gold:hover{box-shadow:0 0 50px rgba(212,175,55,.4)}
.btn-gold::before{background:var(--white)}
.btn-outline{border:1px solid var(--gold);color:var(--gold)}
.btn-outline:hover{color:var(--black)}
.full-width{width:100%;text-align:center}
