@font-face {
  font-family: 'Fredoka';
  src: url('/fonts/fredoka/fredoka-v14-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Fredoka';
  src: url('/fonts/fredoka/fredoka-v14-latin-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('/fonts/dm-sans/dm-sans-v15-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('/fonts/dm-sans/dm-sans-v15-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* brand (from rocketacademy.com.au) */
  --ra-yellow:     #FFC700;
  --ra-gold:       #E9A412;
  --ra-black:      #000000;
  --ra-white:      #FFFFFF;
  --ra-section-bg: #F4F4F3;
  --ra-muted:      #6B6B6B;

  /* semantic */
  --bg:           var(--ra-white);
  --fg:           var(--ra-black);
  --accent:       var(--ra-yellow);
  --accent-ink:   var(--ra-black);
  --accent-hover: var(--ra-gold);
  --rule:         rgba(0, 0, 0, 0.08);

  /* type */
  --font-display: 'Fredoka', system-ui, -apple-system, sans-serif;
  --font-body:    'DM Sans', system-ui, -apple-system, sans-serif;
  --font-mono:    ui-monospace, 'SF Mono', 'Menlo', monospace;

  /* scale (fluid) */
  --fs-xs:  clamp(0.9rem, 0.8rem + 0.3vw, 1rem);
  --fs-sm:  clamp(1rem, 0.9rem + 0.4vw, 1.15rem);
  --fs-md:  clamp(1.25rem, 1rem + 0.8vw, 1.5rem);
  --fs-lg:  clamp(1.5rem, 1rem + 1.5vw, 2.25rem);
  --fs-xl:  clamp(2rem, 1rem + 3vw, 3.5rem);
  --fs-xxl: clamp(2.5rem, 1rem + 5vw, 5.5rem);

  /* layout */
  --slide-max:   64rem;
  --slide-pad-x: clamp(2rem, 4vw, 6rem);
  --slide-pad-y: clamp(2rem, 4vw, 4rem);
  --radius-sm:   0.5rem;
  --radius-md:   1rem;
  --radius-pill: 999px;

  /* motion */
  --dur-fast: 150ms;
  --dur-mid:  250ms;
  --dur-slow: 400ms;
  --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0ms;
    --dur-mid:  0ms;
    --dur-slow: 0ms;
  }
}
