/* Studios of Las Vegas — shared design system.
   Every page links this first. Page-specific CSS may extend, never redefine tokens. */

:root{
  /* ground */
  --bg-dark:#0E1014;
  --bg-deep:#08090C;
  --surface:#14171D;
  --surface-2:#1B1F27;
  --line:#252A34;
  --line-warm:#3A3020;

  /* ink */
  --text-on-dark:#F4F1EA;
  --text-dim:#A29C90;
  --text-faint:#6E6A63;

  /* accent */
  --amber:#E0A34A;
  --amber-deep:#8A6526;

  --font-display:"Archivo Black","Arial Black",system-ui,sans-serif;
  --font-body:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --maxw:1180px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg-dark); color:var(--text-on-dark);
  font-family:var(--font-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{color:inherit}
img{max-width:100%}

h1,h2,h3{
  margin:0; font-family:var(--font-display); font-weight:400;
  line-height:1.02; letter-spacing:-.028em; text-wrap:balance;
}

.mono{font-family:var(--font-mono)}
.section-label{
  display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:.3em;
  text-transform:uppercase; color:var(--amber);
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 5vw}

/* ---- shared header ---- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:90;
  display:flex; align-items:center; gap:16px; padding:20px 5vw;
}
.site-header.solid{
  background:rgba(14,16,20,.92); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header .logo{display:flex; align-items:center; gap:11px; text-decoration:none}
.site-header .logo img{width:26px; height:26px; object-fit:contain}
.site-header .logo span{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.26em; color:var(--text-on-dark);
}
.site-header nav{margin-left:auto; display:flex; gap:24px; align-items:center}
.site-header nav a{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--text-dim); text-decoration:none;
  padding-bottom:3px; border-bottom:1px solid transparent;
}
.site-header nav a:hover,.site-header nav a:focus-visible{
  color:var(--text-on-dark); border-bottom-color:var(--amber);
}
.site-header nav a.active{color:var(--text-on-dark)}

/* ---- shared button ---- */
.btn{
  display:inline-block; padding:14px 26px; background:var(--amber); color:#0E1014;
  text-decoration:none; font-weight:600; font-size:14px; border-radius:2px;
  border:1px solid var(--amber);
}
.btn:hover,.btn:focus-visible{filter:brightness(1.09)}
.btn.ghost{
  background:transparent; color:var(--amber); border-color:var(--amber-deep);
}
.btn.ghost:hover{background:rgba(224,163,74,.09); filter:none}

/* ---- shared footer ---- */
.site-footer{
  border-top:1px solid var(--line); margin-top:96px; padding:36px 5vw 64px;
  color:var(--text-faint); font-size:12.5px;
}
.site-footer .frow{
  max-width:var(--maxw); margin:0 auto;
  display:flex; flex-wrap:wrap; gap:12px 28px; align-items:center;
}
.site-footer .mono{font-size:11px; letter-spacing:.12em}
.site-footer .amber{color:var(--amber)}

a:focus-visible,.btn:focus-visible,button:focus-visible{
  outline:2px solid var(--amber); outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important}
}
