    :root {
      --bg-dark: #022b44;
      --bg-darker: #001726;
      --bg-light: #f7f7f9;
      --accent: #00b4ff;
      --accent-soft: #2b87ff;
      --text-main: #1f2933;
      --text-muted: #6b7280;
      --white: #ffffff;
      --border-soft: #e2e8f0;
      --radius-lg: 18px;
      --radius-md: 12px;
      --shadow-soft: 0 18px 40px rgba(15, 23, 42, 0.18);
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
        sans-serif;
      color: var(--text-main);
      background: #ffffff;
      line-height: 1.6;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      max-width: 100%;
      display: block;
    }

    /* --- Layout helpers --- */

    .container {
      width: 100%;
      max-width: 1120px;
      margin: 0 auto;
      padding: 0 1.5rem;
    }

    section {
      padding: 4.5rem 0;
    }

    @media (max-width: 768px) {
      section {
        padding: 3.25rem 0;
      }
    }

    .section-title {
      font-size: 2rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-align: center;
      margin-bottom: 2rem;
    }

    .section-subtitle {
      max-width: 680px;
      margin: 0.5rem auto 0;
      text-align: center;
      color: var(--text-muted);
      font-size: 0.98rem;
    }

    /* --- Header / Hero --- */

    .hero {
      position: relative;
      min-height: 75vh;
      color: var(--white);
      display: flex;
      align-items: stretch;
      justify-content: center;
      background: var(--bg-dark);
      overflow: hidden;
    }

    .hero::before {
      /* 🔁 REPLACE with your pain-panel banner */
      content: "";
      position: absolute;
      inset: 0;
      background-image: url("assets/images/oo.png");
      background-size: cover;
      background-position: center;
      opacity: 0.25;
    }

    .hero-gradient {
      position: absolute;
      inset: 0;
      background: radial-gradient(
          circle at top left,
          rgba(0, 180, 255, 0.35),
          transparent 60%
        ),
        radial-gradient(
          circle at bottom right,
          rgba(0, 0, 0, 0.6),
          transparent 60%
        );
      mix-blend-mode: screen;
      opacity: 0.85;
    }

    .hero-inner {
      position: relative;
      z-index: 1;
      width: 100%;
      max-width: 1450px;
      margin: auto;
      padding: 1.75rem 0.8rem 4rem;
      display: flex;
      flex-direction: column;
      gap: 2.5rem;
    }

    .hero-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative; /* needed for mobile dropdown */
}

    .hero-logo {
      display: flex;
      align-items: center;
      gap: 0.85rem;
    }

    .hero-logo img {
      height: 30px;
    }

    .hero-logo-text {
      font-size: 1rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      opacity: 0.9;
    }

    .hero-nav {
  width: 100%;
  display: flex;
  justify-content: space-between; /* left-right alignment */
  align-items: center;
  gap: 1.2rem;
}
.nav-left .nav-logo {
  height: 42px;
  width: auto;
}

/* Desktop menu links */
.nav-links {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  text-transform: uppercase;
  font-size: 0.82rem;
  letter-spacing: 0.16em;
  font-weight: 600;
}

.nav-links a {
  color: #F5F9FF;
  opacity: 0.85;
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.nav-links a:hover {
  opacity: 1;
  background-color: #15B7FF;   /* Matching cyan / sky blue */
  color: #003A58;              /* Dark text to match button in screenshot */
}


/* Mobile hamburger (hidden on desktop) */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
}

.nav-toggle span {
  width: 26px;
  height: 3px;
  background: #ffffff;
  border-radius: 4px;
}

/* Mobile dropdown */
.mobile-menu {
  display: none;
  flex-direction: column;
  background: rgba(0, 15, 32, 0.95);
  border-radius: 14px;
  padding: 1rem;
  position: absolute;
  top: 60px;
  right: 0;
  width: 220px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.35);
  z-index: 999;
}

.mobile-menu a {
  padding: 0.75rem 0;
  font-size: 0.85rem;
  color: #ffffff;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.mobile-menu a:last-child {
  border-bottom: none;
}

/* MOBILE BEHAVIOR */
@media (max-width: 900px) {
  .nav-links {
    display: none; /* hide desktop menu */
  }

  .nav-toggle {
    display: flex; /* show hamburger on mobile */
  }

  .mobile-menu.show {
    display: flex; /* show dropdown when toggled */
  }
}

    .hero-nav a {
      opacity: 0.85;
    }

    .hero-nav a:hover {
      opacity: 1;
    }

    .hero-main {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(260px, 2.2fr);
      gap: 2.75rem;
      align-items: center;
    }

    .hero-heading {
      font-size: clamp(2.4rem, 4vw, 3.1rem);
      text-transform: uppercase;
      letter-spacing: 0.22em;
      line-height: 1.4;
      margin-bottom: 1.5rem;
    }

    .hero-heading span {
      display: block;
    }

    .hero-heading .highlight {
      color: var(--accent);
    }

    .hero-text {
      max-width: 540px;
      font-size: 0.98rem;
      opacity: 0.9;
      margin-bottom: 2rem;
    }

    .hero-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      margin-bottom: 2.25rem;
    }

    .pill {
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, 0.35);
      padding: 0.45rem 0.9rem;
      font-size: 0.75rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      opacity: 0.9;
      backdrop-filter: blur(10px);
      background: rgba(15, 23, 42, 0.3);
      text-align: center;
    }

    .hero-buttons {
      display: flex;
      flex-wrap: wrap;
      gap: 0.85rem;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.7rem 1.3rem;
      border-radius: 999px;
      border: 1px solid transparent;
      font-size: 0.86rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      cursor: pointer;
      background: transparent;
      color: inherit;
      text-decoration: none;
    }

    .btn-primary {
      background: linear-gradient(
        135deg,
        var(--accent),
        var(--accent-soft)
      );
      color: var(--white);
      box-shadow: var(--shadow-soft);
    }

    .btn-outline {
      border-color: rgba(255, 255, 255, 0.45);
      background: rgba(15, 23, 42, 0.35);
    }

    .btn-small {
      padding: 0.55rem 1.1rem;
      font-size: 0.78rem;
    }

    .btn span {
      opacity: 0.96;
    }

    .hero-app-card {
      background: rgba(15, 23, 42, 0.78);
      border-radius: var(--radius-lg);
      padding: 1.4rem 1.5rem;
      border: 1px solid rgba(148, 163, 184, 0.5);
      box-shadow: var(--shadow-soft);
      display: flex;
      flex-direction: column;
      gap: 1rem;
      backdrop-filter: blur(16px);
    }

    .hero-app-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
    }

    .hero-app-logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    .hero-app-logo img {
      height: 38px;
      border-radius: 999px;
    }

    .hero-app-title {
      font-size: 0.95rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }

    .hero-app-tag {
      font-size: 0.72rem;
      opacity: 0.8;
    }

    .hero-rating {
      text-align: right;
      font-size: 0.75rem;
      opacity: 0.8;
    }
    .star-color {
      color: #fbbf24;
    }

    .hero-phone {
      border-radius: calc(var(--radius-lg) - 6px);
      overflow: hidden;
      background: #000;
      position: relative;
      padding: 0.4rem;
    }

    .hero-phone-inner {
      border-radius: 18px;
      overflow: hidden;
      border: 1px solid #111827;
    }

    .hero-phone img {
      width: 100%;
      display: block;
    }

    .hero-app-footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 0.75rem;
      font-size: 0.75rem;
      opacity: 0.85;
    }

    .hero-app-footer span {
      display: block;
    }

    @media (max-width: 900px) {
      .hero-main {
        grid-template-columns: 1fr;
      }
      .hero-app-card {
        max-width: 380px;
        margin-inline: auto;
      }
    }

    @media (max-width: 720px) {
      .hero-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
      }
      .hero-nav {
        font-size: 0.78rem;
        flex-wrap: wrap;
      }
    }

    @media (max-width: 600px) {
      .hero-inner {
        padding-top: 1.25rem;
      }
      .hero-heading {
        letter-spacing: 0.16em;
      }
      .hero-badges {
        gap: 0.6rem;
      }
    }

    /* --- Mission / About --- */

    .section-alt {
      background: var(--bg-light);
    }

    .mission-grid {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(220px, 1.8fr);
      gap: 3rem;
      align-items: center;
    }

    .mission-text p + p {
      margin-top: 0.9rem;
    }

    .mission-tagline {
      margin-top: 1.25rem;
      font-size: 0.9rem;
      text-transform: uppercase;
      letter-spacing: 0.16em;
      color: var(--text-muted);
    }

    .mission-logo-wrap {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .mission-logo {
      max-width: 280px;
      filter: drop-shadow(0 16px 32px rgba(15, 23, 42, 0.18));
    }

    @media (max-width: 900px) {
      .mission-grid {
        grid-template-columns: 1fr;
        text-align: left;
      }
    }

    /* --- What We Do --- */

    .features-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.75rem;
    }

    .feature-card {
      border-radius: var(--radius-md);
      border: 1px solid var(--border-soft);
      padding: 1.4rem 1.5rem 1.6rem;
      background: #ffffff;
      box-shadow: 0 18px 35px rgba(15, 23, 42, 0.04);
    }

    .feature-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.16em;
      color: var(--accent-soft);
      margin-bottom: 0.5rem;
    }

    .feature-title {
      font-size: 1.1rem;
      margin-bottom: 0.5rem;
    }

    .feature-body {
      font-size: 0.94rem;
      color: var(--text-muted);
    }

    @media (max-width: 900px) {
      .features-grid {
        grid-template-columns: 1fr;
      }
    }

    /* --- App Section --- */

    .app-section-inner {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1.1fr);
      gap: 3rem;
      align-items: center;
    }

    .app-copy h3 {
      font-size: 1.35rem;
      margin-bottom: 0.75rem;
    }

    .app-copy p {
      font-size: 0.96rem;
      color: var(--text-muted);
      margin-bottom: 1.3rem;
    }

    .app-buttons {
      display: flex;
      flex-wrap: wrap;
      gap: 0.9rem;
      margin-bottom: 1.25rem;
    }

  .store-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 50px;
  background: #000;
  color: #fff !important;
  font-weight: 600;
  font-size: 14px;
  transition: 0.3s ease;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.25);
}

.store-badge:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.35);
}

.store-badge svg {
  flex-shrink: 0;
}

    .store-badge span:first-child {
      font-size: 1.1rem;
    }

    .app-note {
      font-size: 0.84rem;
      color: var(--text-muted);
    }

    .app-visual {
      max-width: 360px;
      margin-inline: auto;
    }

    .app-visual-frame {
      border-radius: 40px;
      padding: 0.55rem;
      background: linear-gradient(
        135deg,
        #0369a1,
        #0f172a
      );
      box-shadow: var(--shadow-soft);
    }

    .app-visual-inner {
      border-radius: 28px;
      overflow: hidden;
      border: 2px solid rgba(15, 23, 42, 0.8);
      background: #000;
    }

    .app-visual-inner img {
      display: block;
      width: 100%;
      height: auto;
    }

    @media (max-width: 900px) {
      .app-section-inner {
        grid-template-columns: 1fr;
      }
    }

    /* --- Social Section --- */

    .social-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1.5rem;
      margin-top: 1.75rem;
    }

    .social-card {
      border-radius: var(--radius-md);
      padding: 1.4rem 1.2rem;
      border: 1px solid var(--border-soft);
      background: #ffffff;
      box-shadow: 0 16px 32px rgba(15, 23, 42, 0.04);
      text-align: center;
    }

    .social-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--text-muted);
      margin-bottom: 0.4rem;
    }

    .social-name {
      font-size: 1.05rem;
      margin-bottom: 0.8rem;
    }


.social-name svg {
  flex-shrink: 0;
}


    .social-link {
      font-size: 0.9rem;
      color: var(--accent-soft);
      word-break: break-all;
    }

    @media (max-width: 900px) {
      .social-grid {
        grid-template-columns: 1fr;
      }
    }

    /* --- Partners --- */

    /* --- Partners --- */

.partners-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.75rem;
  align-items: center;
  margin-top: 2.5rem;
}

/* Larger card with more space */
.partner-card {
  border-radius: var(--radius-md);
  padding: 1.5rem;
  background: #ffffff;
  border: 1px solid var(--border-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;     /* ✔ Bigger card height */
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.04);
}

/* Make logos full-size but not distorted */
.partner-card img {
  width: 85%;         /* ✔ Fill most of the card width */
  height: 150%;        /* ✔ Fill most of the card height */
  object-fit: contain; /* ✔ Keep logo proportions perfect */
  display: block;
}


    @media (max-width: 900px) {
      .partners-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 540px) {
      .partners-grid {
        grid-template-columns: 1fr;
      }
    }

    /* --- Footer --- */

    footer {
      background: var(--bg-darker);
      color: rgba(226, 232, 240, 0.9);
      padding: 2.5rem 0 2rem;
      margin-top: 1.5rem;
    }

    .footer-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.25rem;
      font-size: 0.82rem;
      flex-wrap: wrap;
    }

    .footer-brand {
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    .footer-brand img {
      height: 34px;
    }

    .footer-social {
      display: flex;
      gap: 0.9rem;
      font-size: 0.8rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .footer-social a {
      opacity: 0.8;
    }

    .footer-social a:hover {
      opacity: 1;
    }

    @media (max-width: 640px) {
      .footer-inner {
        flex-direction: column;
        align-items: flex-start;
      }
      .footer-social {
        flex-wrap: wrap;
      }
    }
  .footer-social a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 14px;
  font-size: 14px;
  transition: 0.3s;
}

.footer-social a:hover {
  opacity: 0.75;
  transform: translateY(-2px);
}

.footer-social svg {
  width: 20px;
  height: 20px;
}

/* Instagram Follow Button */
.follow-btn {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 50px;
  background: linear-gradient(135deg, #fccc63, #e95950, #bc2a8d, #8a3ab9, #4c68d7);
  color: white !important;
  font-weight: 600;
  letter-spacing: 0.5px;
  font-size: 14px;
  text-decoration: none;
  transition: 0.3s ease;
  box-shadow: 0 6px 15px rgba(188, 42, 141, 0.35);
}

.follow-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(188, 42, 141, 0.45);
}

.follow-btn svg {
  border-radius: 4px;
}
/* TikTok Follow Button */
.tiktok-btn {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 50px;
  background: #000; /* TikTok main background */
  color: white !important;
  font-weight: 600;
  letter-spacing: 0.5px;
  font-size: 14px;
  text-decoration: none;
  transition: 0.3s ease;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.35);
  border: 2px solid transparent;
  position: relative;
}

/* Gradient border TikTok effect */
.tiktok-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px;
  background: linear-gradient(135deg, #69C9D0, #EE1D52);
  -webkit-mask:
      linear-gradient(#fff 0 0) content-box,
      linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}

.tiktok-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.45);
}

.tiktok-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
/* LinkedIn Connect Button */
.linkedin-btn {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 50px;
  background: #0A66C2; /* LinkedIn Blue */
  color: white !important;
  font-weight: 600;
  letter-spacing: 0.4px;
  font-size: 14px;
  text-decoration: none;
  transition: 0.3s ease;
  box-shadow: 0 6px 15px rgba(10, 102, 194, 0.35);
}

.linkedin-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(10, 102, 194, 0.45);
}

.linkedin-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* youtube Connect Button */
.youtube-btn {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 50px;
  background: #c20a0aeb; /* LinkedIn Blue */
  color: white !important;
  font-weight: 600;
  letter-spacing: 0.4px;
  font-size: 14px;
  text-decoration: none;
  transition: 0.3s ease;
  box-shadow: 0 6px 15px rgba(10, 102, 194, 0.35);
}

.youtube-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(10, 102, 194, 0.45);
}

.youtube-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}