/* DrukCyr */
@font-face {
  font-family: 'DrukCyr';
  src: url('/fonts/DrukCyr/DrukCyr-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DrukCyr';
  src: url('/fonts/DrukCyr/DrukCyr-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DrukCyr';
  src: url('/fonts/DrukCyr/DrukCyr-Heavy.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DrukCyr';
  src: url('/fonts/DrukCyr/DrukCyr-Super.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Neue Haas Display */
@font-face {
  font-family: 'NeueHaasDisplay';
  src: url('/fonts/NeueHaasDisplay/NeueHaasDisplay-Roman.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NeueHaasDisplay';
  src: url('/fonts/NeueHaasDisplay/NeueHaasDisplay-Mediu.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NeueHaasDisplay';
  src: url('/fonts/NeueHaasDisplay/NeueHaasDisplay-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NeueHaasDisplay';
  src: url('/fonts/NeueHaasDisplay/NeueHaasDisplay-Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --accent: rgb(225, 191, 51);
  --bg-dark: #0a0a0a;
  --bg-light: #ffffff;
  --bg-light-alt: #f9f9f9;
  --bg-card: #ebebeb;
  --bg-insight-01: #111111;
  --bg-insight-02: #f5e6c8;
  --bg-insight-03: rgb(225, 191, 51);
  --text-dark: #1a1a1a;
  --text-light: #ffffff;
  --text-muted: #6b7280;
  --font-sans: 'NeueHaasDisplay', Arial, sans-serif;
  --font-display: 'DrukCyr', Impact, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
  --max-w: 1200px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  background: var(--bg-dark);
  color: var(--text-light);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { cursor: pointer; }

/* ── Hero char stream (Splitting.js) ── */
.splitting .char { display: inline-block; }
.hero .headline .char,
.hero .headline-rest .char {
  display: inline-block;
  opacity: 0;
  animation: char-stream 0.45s ease-out forwards;
  animation-delay: calc(100ms + var(--char-index) * 55ms);
}
@keyframes char-stream {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Scroll Reveal ── */
[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.75s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.75s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
[data-reveal="right"] { transform: translateX(32px); }
[data-reveal="left"]  { transform: translateX(-32px); }
[data-reveal].revealed {
  opacity: 1;
  transform: none;
}
