:root {
      --cl-accent: #38bdf8;

      /* Dark background, slightly warmer text */
        --cl-bg: #02040a;
        --cl-bg-alt: #050815;
        --cl-surface: #050a16;
        --cl-border: rgba(148, 163, 184, 0.25);

        /* Accent = Catalyst red, with softer supporting accent */
        --cl-primary: #ff365f;
        --cl-primary-soft: rgba(255, 54, 95, 0.1);

        /* Text: high contrast, small difference between main/muted */
        --cl-text-main: #f9fafb;
        --cl-text-muted: #d1d5db;
    }

    * {
      font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    body {
        background: radial-gradient(circle at top, #111827 0, var(--cl-bg) 55%);
        color: var(--cl-text-main);
        font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        line-height: 1.6;
    }

    /* Big, calm headings */
    h1, h2, h3, h4 {
        font-weight: 600;
        letter-spacing: 0.02em;
    }

    .navbar {
      backdrop-filter: blur(16px);
      background: rgba(5,5,9,0.92);
      border-bottom: 1px solid var(--cl-border);
    }

    .navbar-brand {
      letter-spacing: 0.08em;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 0.9rem;
    }

    .navbar-brand span {
      color: var(--cl-primary);
    }

    .nav-link {
      font-size: 0.9rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    .nav-link.active,
    .nav-link:hover {
      color: var(--cl-primary) !important;
    }

    /* Hero */
    .hero {
      min-height: 90vh;
      display: flex;
      align-items: center;
      /* padding-top: 5rem; */
      padding-bottom: 5rem;
      position: relative;
      overflow: visible;
    }

    /* Animated Background Canvas - fixed for full-page background */
    .hero-bg-canvas {
      position: fixed;
      inset: 0;
      overflow: hidden;
      z-index: 0;
      pointer-events: none;
    }

    /* Large Gradient Blobs */
    .gradient-blob {
      position: absolute;
      border-radius: 50%;
      filter: blur(80px);
      opacity: 0.15;
      animation: float 20s ease-in-out infinite;
      will-change: transform, opacity;
    }

    .blob-1 {
      width: 600px;
      height: 600px;
      background: radial-gradient(circle, #ff365f 0%, #f97316 50%, transparent 70%);
      top: -15%;
      left: -10%;
      animation-delay: 0s;
      animation-duration: 25s;
    }

    .blob-2 {
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, #3b82f6 0%, #8b5cf6 50%, transparent 70%);
      top: 20%;
      right: -5%;
      animation-delay: -5s;
      animation-duration: 30s;
    }

    .blob-3 {
      width: 450px;
      height: 450px;
      background: radial-gradient(circle, #ec4899 0%, #f43f5e 50%, transparent 70%);
      bottom: -10%;
      left: 15%;
      animation-delay: -10s;
      animation-duration: 28s;
    }

    .blob-4 {
      width: 550px;
      height: 550px;
      background: radial-gradient(circle, #06b6d4 0%, #0ea5e9 50%, transparent 70%);
      bottom: 10%;
      right: 10%;
      animation-delay: -15s;
      animation-duration: 32s;
    }

    @keyframes float {
      0%, 100% {
        transform: translate(0, 0) scale(1) rotate(0deg);
      }
      25% {
        transform: translate(40px, -40px) scale(1.08) rotate(5deg);
      }
      50% {
        transform: translate(-30px, 30px) scale(0.92) rotate(-3deg);
      }
      75% {
        transform: translate(25px, 35px) scale(1.04) rotate(2deg);
      }
    }

    /* Floating Particles */
    .particle {
      position: absolute;
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(255, 255, 255, 0.2);
      backdrop-filter: blur(4px);
      will-change: transform, opacity;
      transition: opacity 0.3s ease;
    }

    .particle-1 {
      width: 8px;
      height: 8px;
      border-radius: 2px;
      top: 15%;
      left: 20%;
      animation: drift 15s ease-in-out infinite;
      transform: rotate(45deg);
    }

    .particle-2 {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      top: 60%;
      left: 10%;
      animation: drift 18s ease-in-out infinite;
      animation-delay: -3s;
    }

    .particle-3 {
      width: 12px;
      height: 12px;
      border-radius: 3px;
      top: 25%;
      right: 15%;
      animation: drift 20s ease-in-out infinite;
      animation-delay: -6s;
      transform: rotate(-30deg);
    }

    .particle-4 {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      bottom: 20%;
      right: 25%;
      animation: drift 16s ease-in-out infinite;
      animation-delay: -9s;
    }

    .particle-5 {
      width: 10px;
      height: 10px;
      border-radius: 2px;
      top: 45%;
      left: 35%;
      animation: drift 22s ease-in-out infinite;
      animation-delay: -12s;
      transform: rotate(60deg);
    }

    .particle-6 {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      bottom: 35%;
      left: 45%;
      animation: drift 19s ease-in-out infinite;
      animation-delay: -2s;
    }

    .particle-7 {
      width: 9px;
      height: 9px;
      border-radius: 2px;
      top: 70%;
      right: 35%;
      animation: drift 17s ease-in-out infinite;
      animation-delay: -7s;
      transform: rotate(-45deg);
    }

    .particle-8 {
      width: 11px;
      height: 11px;
      border-radius: 50%;
      top: 35%;
      right: 45%;
      animation: drift 21s ease-in-out infinite;
      animation-delay: -11s;
    }

    .particle-9 {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      top: 8%;
      left: 12%;
      animation: drift 14s ease-in-out infinite;
      animation-delay: -1s;
    }

    .particle-10 {
      width: 6px;
      height: 6px;
      border-radius: 1px;
      top: 22%;
      left: 48%;
      animation: drift 19s ease-in-out infinite;
      animation-delay: -4s;
      transform: rotate(30deg);
    }

    .particle-11 {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      top: 38%;
      left: 8%;
      animation: drift 16s ease-in-out infinite;
      animation-delay: -7s;
    }

    .particle-12 {
      width: 5px;
      height: 5px;
      border-radius: 1px;
      top: 52%;
      left: 62%;
      animation: drift 21s ease-in-out infinite;
      animation-delay: -10s;
      transform: rotate(-20deg);
    }

    .particle-13 {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      top: 68%;
      left: 28%;
      animation: drift 17s ease-in-out infinite;
      animation-delay: -2s;
    }

    .particle-14 {
      width: 10px;
      height: 10px;
      border-radius: 2px;
      top: 82%;
      left: 55%;
      animation: drift 20s ease-in-out infinite;
      animation-delay: -5s;
      transform: rotate(50deg);
    }

    .particle-15 {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      top: 12%;
      right: 8%;
      animation: drift 15s ease-in-out infinite;
      animation-delay: -8s;
    }

    .particle-16 {
      width: 9px;
      height: 9px;
      border-radius: 2px;
      top: 28%;
      right: 32%;
      animation: drift 18s ease-in-out infinite;
      animation-delay: -11s;
      transform: rotate(-40deg);
    }

    .particle-17 {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      top: 42%;
      right: 18%;
      animation: drift 22s ease-in-out infinite;
      animation-delay: -3s;
    }

    .particle-18 {
      width: 11px;
      height: 11px;
      border-radius: 3px;
      top: 58%;
      right: 42%;
      animation: drift 19s ease-in-out infinite;
      animation-delay: -6s;
      transform: rotate(25deg);
    }

    .particle-19 {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      top: 75%;
      right: 12%;
      animation: drift 16s ease-in-out infinite;
      animation-delay: -9s;
    }

    .particle-20 {
      width: 8px;
      height: 8px;
      border-radius: 2px;
      top: 88%;
      right: 28%;
      animation: drift 21s ease-in-out infinite;
      animation-delay: -1s;
      transform: rotate(-15deg);
    }

    .particle-21 {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      bottom: 8%;
      left: 18%;
      animation: drift 17s ease-in-out infinite;
      animation-delay: -4s;
    }

    .particle-22 {
      width: 10px;
      height: 10px;
      border-radius: 2px;
      bottom: 22%;
      left: 52%;
      animation: drift 20s ease-in-out infinite;
      animation-delay: -7s;
      transform: rotate(35deg);
    }

    .particle-23 {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      bottom: 38%;
      left: 22%;
      animation: drift 15s ease-in-out infinite;
      animation-delay: -10s;
    }

    .particle-24 {
      width: 9px;
      height: 9px;
      border-radius: 2px;
      bottom: 52%;
      left: 68%;
      animation: drift 18s ease-in-out infinite;
      animation-delay: -2s;
      transform: rotate(-25deg);
    }

    .particle-25 {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      bottom: 12%;
      right: 15%;
      animation: drift 19s ease-in-out infinite;
      animation-delay: -5s;
    }

    .particle-26 {
      width: 12px;
      height: 12px;
      border-radius: 3px;
      bottom: 28%;
      right: 38%;
      animation: drift 22s ease-in-out infinite;
      animation-delay: -8s;
      transform: rotate(45deg);
    }

    .particle-27 {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      bottom: 42%;
      right: 22%;
      animation: drift 16s ease-in-out infinite;
      animation-delay: -11s;
    }

    .particle-28 {
      width: 8px;
      height: 8px;
      border-radius: 2px;
      bottom: 58%;
      right: 52%;
      animation: drift 21s ease-in-out infinite;
      animation-delay: -3s;
      transform: rotate(-35deg);
    }

    .particle-29 {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      bottom: 72%;
      right: 8%;
      animation: drift 17s ease-in-out infinite;
      animation-delay: -6s;
    }

    .particle-30 {
      width: 10px;
      height: 10px;
      border-radius: 2px;
      bottom: 85%;
      right: 32%;
      animation: drift 20s ease-in-out infinite;
      animation-delay: -9s;
      transform: rotate(20deg);
    }

    .particle-31 {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      top: 5%;
      left: 25%;
      animation: drift 18s ease-in-out infinite;
      animation-delay: -2s;
    }

    .particle-32 {
      width: 7px;
      height: 7px;
      border-radius: 1px;
      top: 18%;
      left: 55%;
      animation: drift 16s ease-in-out infinite;
      animation-delay: -5s;
      transform: rotate(15deg);
    }

    .particle-33 {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      top: 32%;
      left: 72%;
      animation: drift 19s ease-in-out infinite;
      animation-delay: -8s;
    }

    .particle-34 {
      width: 9px;
      height: 9px;
      border-radius: 2px;
      top: 48%;
      left: 15%;
      animation: drift 21s ease-in-out infinite;
      animation-delay: -11s;
      transform: rotate(-35deg);
    }

    .particle-35 {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      top: 62%;
      left: 42%;
      animation: drift 17s ease-in-out infinite;
      animation-delay: -3s;
    }

    .particle-36 {
      width: 8px;
      height: 8px;
      border-radius: 2px;
      top: 78%;
      left: 68%;
      animation: drift 20s ease-in-out infinite;
      animation-delay: -6s;
      transform: rotate(40deg);
    }

    .particle-37 {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      top: 92%;
      left: 32%;
      animation: drift 15s ease-in-out infinite;
      animation-delay: -9s;
    }

    .particle-38 {
      width: 10px;
      height: 10px;
      border-radius: 3px;
      top: 10%;
      right: 22%;
      animation: drift 22s ease-in-out infinite;
      animation-delay: -1s;
      transform: rotate(-20deg);
    }

    .particle-39 {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      top: 26%;
      right: 48%;
      animation: drift 18s ease-in-out infinite;
      animation-delay: -4s;
    }

    .particle-40 {
      width: 7px;
      height: 7px;
      border-radius: 1px;
      top: 40%;
      right: 12%;
      animation: drift 16s ease-in-out infinite;
      animation-delay: -7s;
      transform: rotate(30deg);
    }

    .particle-41 {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      top: 55%;
      right: 55%;
      animation: drift 19s ease-in-out infinite;
      animation-delay: -10s;
    }

    .particle-42 {
      width: 6px;
      height: 6px;
      border-radius: 2px;
      top: 72%;
      right: 28%;
      animation: drift 21s ease-in-out infinite;
      animation-delay: -2s;
      transform: rotate(-45deg);
    }

    .particle-43 {
      width: 11px;
      height: 11px;
      border-radius: 3px;
      top: 85%;
      right: 62%;
      animation: drift 17s ease-in-out infinite;
      animation-delay: -5s;
      transform: rotate(55deg);
    }

    .particle-44 {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      bottom: 5%;
      left: 8%;
      animation: drift 20s ease-in-out infinite;
      animation-delay: -8s;
    }

    .particle-45 {
      width: 8px;
      height: 8px;
      border-radius: 2px;
      bottom: 18%;
      left: 35%;
      animation: drift 15s ease-in-out infinite;
      animation-delay: -11s;
      transform: rotate(10deg);
    }

    .particle-46 {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      bottom: 32%;
      left: 58%;
      animation: drift 18s ease-in-out infinite;
      animation-delay: -3s;
    }

    .particle-47 {
      width: 10px;
      height: 10px;
      border-radius: 2px;
      bottom: 45%;
      left: 12%;
      animation: drift 22s ease-in-out infinite;
      animation-delay: -6s;
      transform: rotate(-30deg);
    }

    .particle-48 {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      bottom: 62%;
      left: 48%;
      animation: drift 16s ease-in-out infinite;
      animation-delay: -9s;
    }

    .particle-49 {
      width: 7px;
      height: 7px;
      border-radius: 1px;
      bottom: 75%;
      left: 25%;
      animation: drift 19s ease-in-out infinite;
      animation-delay: -1s;
      transform: rotate(25deg);
    }

    .particle-50 {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      bottom: 88%;
      left: 62%;
      animation: drift 21s ease-in-out infinite;
      animation-delay: -4s;
    }

    .particle-51 {
      width: 6px;
      height: 6px;
      border-radius: 2px;
      bottom: 6%;
      right: 5%;
      animation: drift 17s ease-in-out infinite;
      animation-delay: -7s;
      transform: rotate(-15deg);
    }

    .particle-52 {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      bottom: 20%;
      right: 42%;
      animation: drift 20s ease-in-out infinite;
      animation-delay: -10s;
    }

    .particle-53 {
      width: 5px;
      height: 5px;
      border-radius: 1px;
      bottom: 35%;
      right: 18%;
      animation: drift 15s ease-in-out infinite;
      animation-delay: -2s;
      transform: rotate(35deg);
    }

    .particle-54 {
      width: 11px;
      height: 11px;
      border-radius: 3px;
      bottom: 48%;
      right: 58%;
      animation: drift 18s ease-in-out infinite;
      animation-delay: -5s;
      transform: rotate(-40deg);
    }

    .particle-55 {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      bottom: 65%;
      right: 25%;
      animation: drift 22s ease-in-out infinite;
      animation-delay: -8s;
    }

    .particle-56 {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      bottom: 78%;
      right: 48%;
      animation: drift 16s ease-in-out infinite;
      animation-delay: -11s;
    }

    .particle-57 {
      width: 9px;
      height: 9px;
      border-radius: 2px;
      bottom: 92%;
      right: 12%;
      animation: drift 19s ease-in-out infinite;
      animation-delay: -3s;
      transform: rotate(50deg);
    }

    .particle-58 {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      top: 14%;
      left: 38%;
      animation: drift 21s ease-in-out infinite;
      animation-delay: -6s;
    }

    .particle-59 {
      width: 10px;
      height: 10px;
      border-radius: 2px;
      top: 50%;
      left: 58%;
      animation: drift 17s ease-in-out infinite;
      animation-delay: -9s;
      transform: rotate(-25deg);
    }

    .particle-60 {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      top: 65%;
      left: 78%;
      animation: drift 20s ease-in-out infinite;
      animation-delay: -1s;
    }

    .particle-61 {
      width: 8px;
      height: 8px;
      border-radius: 1px;
      top: 20%;
      right: 65%;
      animation: drift 15s ease-in-out infinite;
      animation-delay: -4s;
      transform: rotate(20deg);
    }

    .particle-62 {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      top: 44%;
      right: 38%;
      animation: drift 18s ease-in-out infinite;
      animation-delay: -7s;
    }

    .particle-63 {
      width: 6px;
      height: 6px;
      border-radius: 2px;
      top: 66%;
      right: 72%;
      animation: drift 22s ease-in-out infinite;
      animation-delay: -10s;
      transform: rotate(-50deg);
    }

    .particle-64 {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      bottom: 15%;
      left: 28%;
      animation: drift 16s ease-in-out infinite;
      animation-delay: -2s;
    }

    .particle-65 {
      width: 5px;
      height: 5px;
      border-radius: 1px;
      bottom: 40%;
      left: 72%;
      animation: drift 19s ease-in-out infinite;
      animation-delay: -5s;
      transform: rotate(45deg);
    }

    .particle-66 {
      width: 11px;
      height: 11px;
      border-radius: 3px;
      bottom: 68%;
      left: 38%;
      animation: drift 21s ease-in-out infinite;
      animation-delay: -8s;
      transform: rotate(-10deg);
    }

    .particle-67 {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      bottom: 25%;
      right: 68%;
      animation: drift 17s ease-in-out infinite;
      animation-delay: -11s;
    }

    .particle-68 {
      width: 8px;
      height: 8px;
      border-radius: 2px;
      bottom: 55%;
      right: 35%;
      animation: drift 20s ease-in-out infinite;
      animation-delay: -3s;
      transform: rotate(60deg);
    }

    .particle-69 {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      bottom: 80%;
      right: 62%;
      animation: drift 15s ease-in-out infinite;
      animation-delay: -6s;
    }

    @keyframes drift {
      0%, 100% {
        transform: translate(0, 0) rotate(0deg) scale(1);
        opacity: 0.08;
      }
      25% {
        transform: translate(25px, -25px) rotate(90deg) scale(1.12);
        opacity: 0.22;
      }
      50% {
        transform: translate(-20px, 20px) rotate(180deg) scale(0.94);
        opacity: 0.16;
      }
      75% {
        transform: translate(18px, 22px) rotate(270deg) scale(1.06);
        opacity: 0.19;
      }
    }

    /* Grid Overlay */
    .hero-grid {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(148, 163, 184, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, 0.03) 1px, transparent 1px);
      background-size: 50px 50px;
      opacity: 0.5;
    }

    .hero .container {
      position: relative;
      z-index: 1;
    }

    .hero-eyebrow, .section-label {
      font-size: 1rem;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      background: linear-gradient(135deg, var(--cl-primary), #f6642c);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      font-weight: 600;
    }

    .hero-title {
      font-size: clamp(2.8rem, 5vw, 3.7rem);
      font-weight: 700;
      line-height: 1.05;
    }

    .hero-title span {
        color: var(--cl-primary);
        background: linear-gradient(135deg, var(--cl-primary), #f6642c);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .hero-subtitle {
      font-size: 1.05rem;
      color: var(--cl-text-muted);
      max-width: 32rem;
    }

    .hero-metric {
      border-radius: 999px;
      border: 1px solid var(--cl-border);
      background: rgba(15,23,42,0.9);
      padding: 0.6rem 0.9rem;
      font-size: 0.8rem;
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      color: var(--cl-text-muted);
    }

    .hero-metric span {
      color: var(--cl-primary);
      font-weight: 600;
    }

    .hero-cta .btn {
      border-radius: 999px;
      padding-inline: 1.5rem;
      padding-block: 0.7rem;
      font-size: 0.92rem;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      font-weight: 600;
    }

    .btn-primary {
      background: linear-gradient(135deg, var(--cl-primary), #f97316);
      border: none;
      box-shadow: 0 0 40px rgba(248,113,113,0.25);
    }

    .btn-primary:hover {
      filter: brightness(1.05);
    }

    .btn-outline-light {
      border-color: var(--cl-border);
      color: var(--cl-text-main);
      background: rgba(15,23,42,0.7);
    }

    .btn-outline-light:hover {
      background: rgba(31,41,55,0.9);
      border-color: var(--cl-primary);
      color: #fff;
    }

    .hero-orbit {
      position: relative;
      border-radius: 1.75rem;
      background: radial-gradient(circle at top left, rgba(248,113,113,0.18), transparent 55%),
                  radial-gradient(circle at bottom right, rgba(59,130,246,0.22), transparent 60%),
                  var(--cl-bg-alt);
      border: 1px solid var(--cl-border);
      padding: 1.5rem;
      min-height: 320px;
      overflow: hidden;
    }

    .hero-orbit::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at center, rgba(255,255,255,0.06), transparent 55%);
      opacity: 0.4;
      pointer-events: none;
    }

    .orbit-ring {
      position: absolute;
      border-radius: 999px;
      border: 1px dashed rgba(148,163,184,0.35);
      inset: 12%;
    }

    .orbit-ring:nth-child(2) {
      inset: 25%;
    }
    .orbit-ring:nth-child(3) {
      inset: 38%;
    }

    .orbit-pill {
      position: absolute;
      border-radius: 999px;
      padding: 0.35rem 0.8rem;
      font-size: 0.75rem;
      background: rgba(15,23,42,0.94);
      border: 1px solid var(--cl-border);
      display: inline-flex;
      gap: 0.4rem;
      align-items: center;
      color: var(--cl-text-muted);
      backdrop-filter: blur(8px);
    }

    .orbit-pill i {
      color: var(--cl-primary);
    }

    .orbit-pill.p1 { top: 12%; left: 10%; }
    .orbit-pill.p2 { top: 18%; right: 10%; }
    .orbit-pill.p3 { bottom: 16%; left: 12%; }
    .orbit-pill.p4 { bottom: 10%; right: 14%; }

    .orbit-core {
      position: absolute;
      inset: 50%;
      transform: translate(-50%, 18%);
      width: 200px;
      height: 200px;
      border-radius: 50%;
      background:
        radial-gradient(circle at 30% 30%, rgba(255, 54, 95, 0.15), transparent 50%),
        radial-gradient(circle at 70% 70%, rgba(59, 130, 246, 0.15), transparent 50%),
        linear-gradient(145deg, rgba(2, 6, 23, 0.95), rgba(17, 24, 39, 0.95));
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      flex-direction: column;
      gap: 0.5rem;
      padding: 1.5rem;
      position: relative;
      backdrop-filter: blur(20px);
      animation: pulse-glow 4s ease-in-out infinite;
    }

    /* Gradient border effect */
    .orbit-core::before {
      content: "";
      position: absolute;
      inset: -2px;
      border-radius: 50%;
      padding: 2px;
      background: linear-gradient(135deg,
        var(--cl-primary) 0%,
        #f97316 25%,
        #3b82f6 50%,
        #8b5cf6 75%,
        var(--cl-primary) 100%);
      -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
      mask-composite: exclude;
      opacity: 0.6;
      animation: rotate-border 8s linear infinite;
    }

    /* Animated rotating gradient border */
    @keyframes rotate-border {
      0% {
        transform: rotate(0deg) scale(1);
      }
      50% {
        transform: rotate(180deg) scale(1.02);
      }
      100% {
        transform: rotate(360deg) scale(1);
      }
    }

    /* Gentle pulsing glow */
    @keyframes pulse-glow {
      0%, 100% {
        box-shadow:
          0 0 50px rgba(248, 113, 113, 0.35),
          0 0 90px rgba(59, 130, 246, 0.25),
          0 0 130px rgba(139, 92, 246, 0.15),
          inset 0 0 60px rgba(255, 255, 255, 0.04);
      }
      33% {
        box-shadow:
          0 0 70px rgba(59, 130, 246, 0.45),
          0 0 110px rgba(236, 72, 153, 0.3),
          0 0 150px rgba(248, 113, 113, 0.2),
          inset 0 0 80px rgba(255, 255, 255, 0.06);
      }
      66% {
        box-shadow:
          0 0 65px rgba(139, 92, 246, 0.4),
          0 0 105px rgba(6, 182, 212, 0.28),
          0 0 140px rgba(59, 130, 246, 0.18),
          inset 0 0 75px rgba(255, 255, 255, 0.05);
      }
    }

    .orbit-core span {
      font-size: 0.65rem;
      text-transform: uppercase;
      letter-spacing: 0.25em;
      color: var(--cl-text-muted);
      opacity: 0.7;
      font-weight: 500;
    }

    .orbit-core strong {
      font-size: 1.25rem;
      text-transform: uppercase;
      font-weight: 700;
      letter-spacing: 0.05em;
      background: linear-gradient(135deg, #fff 0%, var(--cl-primary) 50%, #3b82f6 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      line-height: 1.2;
    }

    .orbit-core small {
      font-size: 0.7rem;
      color: var(--cl-text-muted);
      opacity: 0.8;
      font-weight: 400;
      letter-spacing: 0.05em;
    }

    /* Sections */
	/* Give sections a bit more vertical space + explicit stacking */
	section {
	  padding: 3rem 0;
	  position: relative;
	  z-index: 1;
	}

    .section-label {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.22em;
        color: rgba(148, 163, 184, 0.9);
    }

    .section-title {
        font-size: clamp(2.1rem, 3vw, 2.8rem);
        margin-bottom: 1rem;
    }

    .section-desc {
        color: var(--cl-text-muted);
        font-size: 0.98rem;
        max-width: 40rem;
    }

    .card-surface {
        background: var(--cl-bg-alt);
        border-radius: 1.5rem;
        border: 1px solid var(--cl-border);
        padding: 2rem;
        box-shadow: none;               /* remove glow */
    }


    .card-surface.highlight {
      border-color: rgba(248,113,113,0.7);
      box-shadow: 0 0 45px rgba(248,113,113,0.3);
      background: linear-gradient(135deg, #050815, #0b0f1f);
    }

    .card-surface h5 {
      font-size: 1.1rem;
      margin-bottom: 0.4rem;
    }

    .card-surface p {
      font-size: 0.92rem;
      color: var(--cl-text-muted);
    }

    /* Tag pills: smaller, subtler */
    .tag-pill {
        border-radius: 999px;
        padding: 0.2rem 0.7rem;
        font-size: 0.75rem;
        border: 1px solid rgba(75, 85, 99, 0.7);
        background: rgba(15, 23, 42, 0.9);
        color: var(--cl-text-muted);
    }

    .tag-pill i {
      font-size: 0.9rem;
      margin-right: 0.35rem;
      color: var(--cl-primary);
    }

    .timeline-step {
      display: flex;
      gap: 1.25rem;
    }

    .timeline-marker {
      width: 32px;
      height: 32px;
      border-radius: 999px;
      border: 2px solid var(--cl-primary);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      flex-shrink: 0;
    }

    .timeline-line {
      border-left: 1px dashed rgba(148,163,184,0.5);
      margin-left: 15px;
      /* height: 100%; */
    }

    .pill-metric {
      font-size: 0.78rem;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--cl-text-muted);
    }

    .pill-metric strong {
      color: var(--cl-primary);
    }

    /* Footer */
    .footer {
      position: relative;
      overflow: hidden;
      color: var(--cl-text-muted);
      font-size: 0.9rem;
      margin-top: 5rem;
    }

    /* Footer Animated Background */
    .footer-bg {
      position: absolute;
      inset: 0;
      overflow: hidden;
      z-index: 0;
      background: linear-gradient(180deg, #020617 0%, #0a0e1a 50%, #020617 100%);
    }

    .footer-gradient-blob {
      position: absolute;
      border-radius: 50%;
      filter: blur(100px);
      opacity: 0.3;
      animation: float-footer 25s ease-in-out infinite;
    }

    .blob-footer-1 {
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, #ff365f 0%, #f97316 50%, transparent 70%);
      top: -20%;
      left: -10%;
      animation-delay: 0s;
    }

    .blob-footer-2 {
      width: 600px;
      height: 600px;
      background: radial-gradient(circle, #3b82f6 0%, #8b5cf6 50%, transparent 70%);
      top: 30%;
      right: -15%;
      animation-delay: -8s;
    }

    .blob-footer-3 {
      width: 450px;
      height: 450px;
      background: radial-gradient(circle, #ec4899 0%, #06b6d4 50%, transparent 70%);
      bottom: -25%;
      left: 40%;
      animation-delay: -15s;
    }

    @keyframes float-footer {
      0%, 100% {
        transform: translate(0, 0) scale(1);
      }
      33% {
        transform: translate(-30px, 30px) scale(1.1);
      }
      66% {
        transform: translate(30px, -20px) scale(0.9);
      }
    }

    /* Dot texture overlay */
    .footer-texture {
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
      background-size: 20px 20px;
      opacity: 0.4;
    }

    .footer .container {
      position: relative;
      z-index: 1;
    }

    /* Footer Brand */
    .footer-brand {
      font-size: 1.5rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
    }

    .footer-desc {
      font-size: 0.9rem;
      line-height: 1.7;
      color: var(--cl-text-muted);
      max-width: 350px;
    }

    /* Social Links */
    .footer-social-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.1);
      color: var(--cl-text-muted);
      font-size: 1.1rem;
      transition: all 0.3s ease;
      text-decoration: none;
    }

    .footer-social-link:hover {
      background: linear-gradient(135deg, var(--cl-primary), #f97316);
      border-color: var(--cl-primary);
      color: #fff;
      transform: translateY(-3px);
      box-shadow: 0 5px 20px rgba(255, 54, 95, 0.4);
    }

    /* Footer Headings */
    .footer-heading {
      font-size: 0.95rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.15em;
      color: #fff;
      margin-bottom: 1rem;
      position: relative;
      padding-bottom: 0.5rem;
    }

    .footer-heading::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 40px;
      height: 2px;
      background: linear-gradient(90deg, var(--cl-primary), transparent);
    }

    /* Footer Links */
    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 0.75rem;
    }

    .footer-links a {
      color: var(--cl-text-muted);
      text-decoration: none;
      transition: all 0.2s ease;
      display: inline-block;
      position: relative;
    }

    .footer-links a::before {
      content: "→";
      position: absolute;
      left: -20px;
      opacity: 0;
      transition: all 0.2s ease;
      color: var(--cl-primary);
    }

    .footer-links a:hover {
      color: var(--cl-primary);
      padding-left: 20px;
    }

    .footer-links a:hover::before {
      opacity: 1;
      left: 0;
    }

    /* Footer Contact */
    .footer-contact {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-contact li {
      margin-bottom: 1rem;
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    .footer-contact i {
      color: var(--cl-primary);
      font-size: 1.1rem;
      min-width: 20px;
    }

    .footer-contact a {
      color: var(--cl-text-muted);
      text-decoration: none;
      transition: color 0.2s ease;
    }

    .footer-contact a:hover {
      color: var(--cl-primary);
    }

    .footer-contact span {
      color: var(--cl-text-muted);
    }

    /* Footer CTA Button */
    .btn-footer-primary {
      background: linear-gradient(135deg, var(--cl-primary), #f97316);
      border: none;
      color: #fff;
      padding: 0.7rem 1.5rem;
      border-radius: 999px;
      font-size: 0.85rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      transition: all 0.3s ease;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      box-shadow: 0 4px 15px rgba(255, 54, 95, 0.3);
    }

    .btn-footer-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 25px rgba(255, 54, 95, 0.5);
      filter: brightness(1.1);
      color: #fff;
    }

    /* Footer Bottom */
    .footer-bottom {
      border-top: 1px solid rgba(148, 163, 184, 0.15);
      font-size: 0.85rem;
    }

    .footer-bottom p {
      color: var(--cl-text-muted);
    }

    .footer-link {
      color: var(--cl-text-muted);
      text-decoration: none;
      transition: color 0.2s ease;
    }

    .footer-link:hover {
      color: var(--cl-primary);
    }

    .footer-link-accent {
      color: var(--cl-primary);
      text-decoration: none;
      font-weight: 600;
      transition: all 0.2s ease;
    }

    .footer-link-accent:hover {
      color: #f97316;
      text-decoration: underline;
    }

    .footer-divider {
      color: rgba(148, 163, 184, 0.3);
    }

    a.link-muted {
      color: var(--cl-text-muted);
      text-decoration: none;
    }

    a.link-muted:hover {
      color: var(--cl-primary);
    }

    @media (max-width: 767.98px) {
      .hero {
        padding-top: 6rem;
      }
      .hero-orbit {
        margin-top: 2.75rem;
      }

      /* Shrink the orbit core circle on mobile */
      .orbit-core {
        width: 160px;
        height: 160px;
        transform: translate(-50%, 34%)
      }

      .orbit-core strong {
        font-size: 1rem;
      }

      .orbit-core span {
        font-size: 0.6rem;
      }

      .orbit-core small {
        font-size: 0.65rem;
      }

      /* Adjust orbit pills for mobile */
      .orbit-pill {
        font-size: 0.7rem;
        padding: 0.3rem 0.7rem;
      }

      .orbit-pill.p1 { top: 10%; left: 5%; }
      .orbit-pill.p2 { top: 15%; right: 5%; }
      .orbit-pill.p3 { bottom: 14%; left: 8%; }
      .orbit-pill.p4 { bottom: 8%; right: 10%; }
    }
	  
	/* === Contrast fixes === */

	/* Make main and muted text much brighter */
	:root {
	  --cl-text-main: #f9fafb;  /* almost white */
	  --cl-text-muted: #e5e7eb; /* light gray */
	}

	/* Ensure paragraphs / small copy actually use the brighter color */
	body {
	  color: var(--cl-text-main);
	}

	.section-desc,
	.card-surface p,
	.card-surface .small,
	.hero-subtitle,
	.small.text-muted,
	.text-muted {
	  color: var(--cl-text-muted) !important;
	}
	  
	.card-surface {
	  background: #111827; /* slightly lighter than page bg */
	  border-color: rgba(148, 163, 184, 0.4);
	}

  .text-gradient {
    color: var(--cl-primary);
    background: linear-gradient(135deg, var(--cl-primary), #f6642c);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  /* ========================================
     ABOUT PAGE STYLES
     ======================================== */

  /* About Page Hero - Smaller than homepage */
  .page-hero.hero {
    min-height: 50vh;
    padding-top: 8rem;
    padding-bottom: 4rem;
    overflow: visible;
  }


  /* About Content Section - minimal overrides, use global styles */
  .about-content {
    padding: 5rem 0;
  }

  /* Section spacing */
  .about-content .row + .row {
    margin-top: 5rem;
  }

  /* About CTA Section */
  .about-cta {
    padding: 5rem 0;
  }

  .about-cta .card-surface {
    padding: 3.5rem;
  }

  .cta-icon {
    font-size: 3rem;
    color: var(--cl-primary);
    animation: bounce 2s ease-in-out infinite;
  }

  @keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
  }

  .about-cta h3 {
    color: var(--cl-text-main);
    font-size: 2rem;
    font-weight: 700;
  }

  /* Gradient outline button */
  .btn-outline-gradient {
    color: var(--cl-primary);
    border: 2px solid var(--cl-primary);
    background: transparent;
    padding: 0.75rem 1.75rem;
    font-weight: 600;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
  }

  .btn-outline-gradient::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, var(--cl-primary), #f6642c);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
  }

  .btn-outline-gradient:hover {
    color: white;
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 54, 95, 0.3);
  }

  .btn-outline-gradient:hover::before {
    opacity: 1;
  }

  /* Responsive adjustments */
  @media (max-width: 768px) {
    .page-hero.hero {
      min-height: 40vh;
      padding-top: 6rem;
      padding-bottom: 3rem;
    }

    .about-content {
      padding: 3rem 0;
    }

    .about-content .row + .row {
      margin-top: 3rem;
    }

    .about-cta {
      padding: 3rem 0;
    }

    .about-cta .card-surface {
      padding: 2rem;
    }
  }