/* ============================================================
   FKOZ SOUND UNIVERSE — reset.css
   Variables, base reset, base typography
   ============================================================ */

:root{
  /* Core palette */
  --black:#080a0d;
  --deep:#0d1117;
  --iron:#1a2535;
  --iron-light:#243347;
  --blue-cold:#2a5080;
  --blue-deep:#1a5ab8;
  --blue-glow:#3a7ab8;
  --blue-electric:#4a9de0;
  --silver:#a8bfd4;
  --silver-bright:#d4e4f0;
  --white:#f0f4f8;
  --elven-green:#7ab8a0;
  --elven-glow:#9ed4be;
  --gold-rune:#c8a96e;
  --void:rgba(8,10,13,0.92);

  /* Surfaces & borders */
  --surface:rgba(13,17,23,0.55);
  --surface-solid:#0d1117;
  --hairline:1px solid rgba(42,80,128,0.22);
  --hairline-bright:1px solid rgba(74,157,224,0.45);

  /* Fonts */
  --font-display:'Cinzel Decorative', serif;
  --font-title:'Cinzel', serif;
  --font-body:'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  /* Layout */
  --maxw:1140px;
  --nav-h:64px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--silver);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul{list-style:none;}

/* Subtle noise texture over the whole page */
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  opacity:0.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Typography utilities ---------- */
.font-decor{font-family:var(--font-display);}
.font-title{font-family:var(--font-title);}
.eyebrow{font-family:var(--font-title);font-weight:600;text-transform:uppercase;letter-spacing:4px;font-size:.82rem;}
.label{font-family:var(--font-title);font-weight:400;text-transform:uppercase;letter-spacing:5px;font-size:.74rem;color:var(--silver);}
.section-title{font-family:var(--font-title);font-weight:700;color:var(--white);letter-spacing:2px;line-height:1.2;}
.quote{font-style:italic;color:var(--silver-bright);}

/* ---------- Generic layout helpers ---------- */
.pad{padding:clamp(5rem,12vh,9rem) 1.5rem;}
.wrap{max-width:var(--maxw);margin:0 auto;}
.center{text-align:center;}

.divider{width:min(420px,70%);height:1px;margin:2.5rem auto;background:linear-gradient(90deg,transparent,var(--blue-glow),transparent);}
.divider.gold{background:linear-gradient(90deg,transparent,var(--gold-rune),transparent);}

/* ---------- Fantasy cursor (real-mouse desktops only; auto fallback) ---------- */
@media (hover:hover) and (pointer:fine){
  body{cursor:url(../assets/cursor.svg) 4 3, auto;}
  a, button, .btn, [role="button"], .nav-toggle,
  .card:not(.soon), .world-card[href], .plat, .vthumb,
  .realm-video, .er-card{
    cursor:url(../assets/cursor-link.svg) 4 3, pointer;
  }
}
