/* ============================================================
   Shared base — fonts, root vars, html/body, custom cursor.
   ============================================================ */

/* Rany — Pangram Pangram, self-hosted from /assets/fonts */
@font-face {
  font-family: 'Rany';
  src: url('../assets/fonts/RanyLight.otf') format('opentype');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Rany';
  src: url('../assets/fonts/Rany.otf') format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Rany';
  src: url('../assets/fonts/RanyMedium.otf') format('opentype');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Rany';
  src: url('../assets/fonts/RanyBold.otf') format('opentype');
  font-weight: 700; font-style: normal; font-display: swap;
}
   @font-face {
     font-family: 'abcNormal';
     src: url('../assets/fonts/abc-normal/abcNormal-Light.woff2') format('woff2');
     font-weight: 300; font-style: normal; font-display: swap;
   }
   @font-face {
     font-family: 'abcNormal';
     src: url('../assets/fonts/abc-normal/abcNormal-Regular.woff2') format('woff2');
     font-weight: 400; font-style: normal; font-display: swap;
   }
   @font-face {
     font-family: 'abcNormal';
     src: url('../assets/fonts/abc-normal/abcNormal-Medium.woff2') format('woff2');
     font-weight: 500; font-style: normal; font-display: swap;
   }
   @font-face {
     font-family: 'abcNormal';
     src: url('../assets/fonts/abc-normal/abcNormal-Medium.woff2') format('woff2');
     font-weight: 600; font-style: normal; font-display: swap;
   }

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

:root {
  --bg: #000000;
  --ink: #F4F5F7;
  --ink-soft: rgba(244,245,247,0.66);
  --ink-mute: rgba(244,245,247,0.4);
  --line: rgba(244,245,247,0.12);
  /* track accents (used by hero rim + body badges) */
  --cyan:  #6FE9D8;
  --lilac: #B8A4FF;
  --amber: #FEBC42;
  --pink:  #FF6FC1;
  /* hero→body scroll progress, 0..1, written by shared/scroll-glue.js */
  --scrollT: 0;
}

html, body {
  margin: 0; padding: 0;
  background: var(--bg); color: var(--ink);
  font-family: 'Geist', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body { cursor: none; user-select: none; }

/* Custom cursor — a single dot+ring follower used across both regions */
.cursor {
  position: fixed; pointer-events: none; z-index: 1000;
  width: 18px; height: 18px;
  transform: translate(-50%, -50%);
  mix-blend-mode: difference;
}
.cursor::after {
  content: ''; position: absolute; inset: 0;
  border-radius: 50%; border: 1px solid rgba(255,255,255,0.7);
}
.cursor::before {
  content: ''; position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 3px; height: 3px; border-radius: 50%;
  background: rgba(255,255,255,0.9);
}
