    @font-face {
      font-family: 'Sequel Sans Display';
      src: url('../fonts/Sequel Sans Light Disp.otf') format('opentype');
      font-weight: 300;
      font-style: normal;
    }
    @font-face {
      font-family: 'Sequel Sans Display';
      src: url('../fonts/Sequel Sans Book Disp.otf') format('opentype');
      font-weight: 400;
      font-style: normal;
    }
    @font-face {
      font-family: 'Sequel Sans Display';
      src: url('../fonts/Sequel Sans Medium Disp.otf') format('opentype');
      font-weight: 500;
      font-style: normal;
    }
    @font-face {
      font-family: 'Sequel Sans Display';
      src: url('../fonts/Sequel Sans Semi Bold Disp.otf') format('opentype');
      font-weight: 600;
      font-style: normal;
    }
    @font-face {
      font-family: 'Sequel Sans Display';
      src: url('../fonts/Sequel Sans Bold Disp.otf') format('opentype');
      font-weight: 700;
      font-style: normal;
    }
    @font-face {
      font-family: 'Sequel Sans Display';
      src: url('../fonts/Sequel Sans Roman Disp.otf') format('opentype');
      font-weight: 400;
      font-style: normal;
    }

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

    :root {
      --orange: #ff4612;
      --orange-light: #FF6B3D;
      --orange-dark: #CC3710;
      --black: #000000;
      --dark: #111111;
      --dark-gray: #1A1A1A;
      --light: #F5F5F0;
      --white: #FFFFFF;
      --gray: #888888;
      --light-gray: #E8E8E3;
      --hero-bg: #000000;
    }

    html {
      overflow-x: hidden;
    }

    body {
      font-family: Arial, sans-serif;
      color: var(--black);
      /* `clip` (not `hidden`) avoids turning <body> into a scroll container, which would
         break `position: sticky` for descendants while still clipping any horizontal
         overflow from marquees and wide decorative elements. */
      overflow-x: clip;
      background: var(--light);
      transition: background-color 0.6s ease;
    }

    /* Custom cursor square — base styles live here (loaded by every page) so internal
       pages that don't include hero-legacy.css still position it `fixed`. Without this it
       falls back to a static block; the cursor JS then sets width/height inline on hover,
       pushing the header down (the "jump"). */
    .cursor-square {
      position: fixed;
      width: 20px;
      height: 20px;
      background: var(--orange);
      pointer-events: none;
      z-index: 100010;
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .cursor-square.visible {
      opacity: 1;
    }

