    :root {
      --blue-dark: #1663A7;
      --blue-main: #4BCD9;
      --blue-light: #2EFAB;
      --red-accent: #588E1E;
      --white: #FFFFFF;
    }

    * {
      box-sizing: border-box;
    }

    html, body {
      overflow-x: hidden;
    }

    body {
      margin: 0;
      font-family: "Comic Sans MS", "Trebuchet MS", system-ui, sans-serif;
      background-color: #fef8f8;
      background-image: url('Background.jpg');
      background-repeat: repeat;
      background-size: auto;
      color: var(--blue-dark);
      line-height: 1.5;
    }

    header {
      background: linear-gradient(135deg, var(--blue-main), var(--blue-dark));
      color: var(--white);
      padding: 4rem 1.5rem;
      text-align: center;
    }

    header h1 {
      font-size: 3rem;
      margin: 0 0 0.5rem;
      color: var(--blue-dark);
    }

    header p {
      font-size: 1.25rem;
      margin: 0 auto 2rem;
      max-width: 600px;
      color: var(--blue-dark);
    }

    .btn {
      display: inline-block;
      padding: 0.75rem 1.5rem;
      color: var(--blue-dark);
      border-radius: 999px;
      font-weight: bold;
      text-decoration: none;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 10px rgba(0,0,0,0.15);
    }

    section {
      position: relative;

      padding: 4rem 1.5rem;
      max-width: 1100px;
      margin: 0 auto;
    }

    section h2 {
      font-size: 2.25rem;
      margin-bottom: 1rem;
      text-align: center;
    }

    section p {
      max-width: 1100px;
      margin: 0 auto 2.5rem;
      text-align: center;
    }

    .brand-sheet {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 2rem;
      align-items: center;
    }

    .brand-sheet img {
      width: 100%;
      border-radius: 16px;
      box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    }

    .traits {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1rem;
      margin-top: 2rem;
    }

    .trait {
      background: var(--blue-main);
      color: var(--blue-main);
      padding: 0.75rem 1.25rem;
      border-radius: 999px;
      font-weight: bold;
    }

  .trait a img {
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  .trait a:hover img {
    transform: scale(1.05);
    opacity: 0.9;
  }

    .use-cases {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 1.5rem;
      margin-top: 3rem;
    }

    .card {
      background: var(--white);
      border-radius: 20px;
      padding: 1.5rem;
      text-align: center;
      box-shadow: 0 8px 24px rgba(0,0,0,0.08);
      transition: transform 0.2s ease;
    }

    .card:hover {
      transform: translateY(-4px);
    }

    footer {
      background: var(--blue-dark);
      color: var(--white);
      text-align: center;
      padding: 2rem 1.5rem;
    }

    footer small {
      opacity: 0.85;
    }

/* ================================
   Speedy Running Animation
================================ */

.speedy-runner {
  position: fixed;
  bottom: 10px;
  left: -200px; /* start off-screen */
  width: 160px;
  z-index: 9999;
  pointer-events: none; /* click-through */
  animation: run-across 15s linear infinite;
}

.speedy-runner img {
  width: 100%;
  animation: bounce 0.7s ease-in-out infinite;
}

/* Horizontal movement */
@keyframes run-across {
  0% {
    transform: translateX(-200px);
  }
  100% {
    transform: translateX(100vw);
  }
}

/* Small running bounce */
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}

#character {
  position:absolute;
  bottom:0;
  left:-150px;
  width:120px;
  height:180px;
  
  background-image: url("SunshineTheBunny.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;

  animation: walkIn 2s forwards;
}
#stars {
  position:absolute;
  bottom:50px;
  left:120px;
  width:150px;
  height:100px;

  background-image: url("SunshineTheBunnyPower.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;

  border-radius:0%;
  opacity:0;
}
@keyframes walkIn {
  to { left:20px; }
}
@keyframes throwStars {
  from { opacity:1; transform:translateX(0); }
  to { opacity:0; transform:translateX(300px); }
}
@keyframes walkOut {
  to { left:-150px; }
}

/* ================================
   Framed Image Style
================================ */

.framed-image {
    display: block;
    margin: 10px auto 1.5rem !important;
    border: 20px solid #1663A7;      /* First Blue Frame */
    outline: 5px solid #ffffff;     /* White Gap */
    box-shadow: 0 0 0 10px #1c4a8a; /* Second Blue Frame */
    border-radius: 5px;            /* Note: Outlines don't always follow radius in older browsers */
}

@media (max-width: 600px) {
  .hero-logo {
    width: 90vw;       /* fills most of the screen */
    max-width: 420px;  /* prevents it from getting too big */
  }
}

/* ================================
   Top Navigation
================================ */

.top-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #034d8e;
  backdrop-filter: blur(6px);
  z-index: 10000;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.top-nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.50rem 1.00rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.top-nav-links {
  display: flex;
  gap: 1.5rem;
}

.top-nav-links a {
  text-decoration: none;
  font-weight: bold;
  color: var(--white);
  transition: color 0.2s ease;
  font-size: 20px;
}

.top-nav-links a:hover {
  color: var(--white);
}

.top-nav-logo img {
  height: 50px;
  width: auto;
}

/* Push page content below fixed nav */
body {
  padding-top: 64px;
}

/* Mobile tweaks */
@media (max-width: 600px) {
  .top-nav-links {
    gap: 1rem;
    font-size: 0.9rem;
  }

  .top-nav-logo img {
    height: 30px;
  }

}

