:root {
    /* Colors */
    --dark-blue: #102A6A;
    --royal-blue: #2962FF;
    --sky-blue: #50B5FF;
    --orange: #FF6B35;
    --yellow: #FFC640;
    --light-blue: #EAF6FF;
    --cream: #FFF7ED;
    --lavender: #EDEBFF;
    
    --nav-text: #1F2937;
    --brush-red: #F25B3F;
    --brush-blue: #1848C8;
    --brush-red-2: #F44336;
    --text-dark: #454545;
    --text-light: #707070;
    --pill-blue: #3B82F6;

    /* Fonts */
    --font-inter: 'Inter', sans-serif;
    --font-brush: 'Dancing Script', cursive; /* Fallback for Playlist Script */
    --font-quote: 'Playfair Display', serif;
}

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

body {
    font-family: var(--font-inter);
    color: var(--text-dark);
    line-height: 1.5;
    overflow-x: hidden;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Hide Scrollbars */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

@keyframes pan-bg {
  0% {
    background-position: 0% 100%;
  }
  50% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 0% 100%;
  }
}

.animate-pan-bg {
  background-size: 110% 110%; /* Slightly larger so it has room to pan */
}

/* Word/character shells the GSAP text splitter creates at runtime.
   They only exist once GSAP is live, so unsplit copy is never affected. */
.gsap-word,
.gsap-char {
  display: inline-block;
}

