
  /* ---------- About page scope ---------- */
  .about-page a:not(.btn-min){ color:#0d6efd !important; text-decoration: underline; }
  .about-page a:not(.btn-min):hover{ text-decoration: none; }

  /* ---------- Hero with soft gradient + spotlight ---------- */
  .about-hero{
    position: relative;
    max-width: 1100px; margin: 18px auto 0;
    padding: 36px 20px;
    border-radius: 18px;
    background:
      radial-gradient(1200px 300px at 50% -10%, rgba(172,203,221,.35), transparent 60%),
      linear-gradient(180deg, rgba(189,225,239,.45), rgba(172,203,221,.22));
    box-shadow: 0 8px 30px rgba(46,45,77,.08);
    overflow: hidden;
  }
  .about-hero h1{ color: var(--c1); margin: 0 0 6px; text-align:center; }
  .about-hero .subtitle{ color:#2e2d4dcc; text-align:center; margin:0; }

  /* ---------- Hero split ---------- */
  .about-hero .wrap{
    display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:center;
    max-width: 1000px; margin: 12px auto 0;
  }
  @media (max-width: 900px){ .about-hero .wrap{ grid-template-columns: 1fr; } }

  /* ---------- Orbit image with floating badges ---------- */
  .orbit{
    position: relative; width: 100%; display:flex; justify-content:center;
  }
  .orbit img{
    max-width: 340px; width:100%;
    border-radius:14px; box-shadow: 0 10px 24px rgba(0,0,0,.1);
    animation: floatY 6s ease-in-out infinite;
  }
  @keyframes floatY { 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(-6px) } }

  .badge-orbit{
    position:absolute; top:50%; left:50%;
    transform-origin: -120px -40px; /* tweak orbit radius */
    animation: orbit 14s linear infinite;
  }
  .badge-orbit b{
    display:inline-block; background:#fff; border:1px solid #e2e8f0;
    border-radius:999px; padding:6px 10px; font-size:.75rem; color:var(--c1);
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
    white-space: nowrap;
  }
  .badge-orbit.i2{ transform-origin: 120px -60px; animation-duration: 18s; }
  .badge-orbit.i3{ transform-origin: -100px 60px; animation-duration: 22s; }
  @keyframes orbit { from{ transform: rotate(0deg) } to{ transform: rotate(360deg) } }

  /* ---------- Wave divider ---------- */
  .wave{ display:block; width:100%; height:60px; margin-top: 6px; }
  .wave svg{ width:100%; height:100%; display:block; }

  /* ---------- Counters ---------- */
  .about-stats{
    display:grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
    gap:14px; max-width:1000px; margin: 10px auto 0;
  }
  .stat{
    background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:14px;
    text-align:center; box-shadow: 0 6px 16px rgba(0,0,0,.05);
  }
  .stat .num{ font-size:1.6rem; font-weight:800; color:var(--c1); letter-spacing:.2px; }
  .stat .lbl{ font-size:.85rem; color:#2e2d4dcc; }

  /* ---------- Cards ---------- */
  .about-cards{
    display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
    gap:16px; max-width:1100px; margin: 18px auto 0;
  }
  .about-card{
    background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:16px;
    box-shadow: 0 4px 16px rgba(0,0,0,.06); transition: transform .15s, box-shadow .2s;
  }
  .about-card:hover{ transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.10); }
  .about-card h3{ font-size:1.05rem; margin:0 0 6px; color:var(--c1); }

  /* ---------- Timeline ---------- */
  .timeline{
    max-width:1100px; margin: 20px auto 0; padding: 10px 0;
    display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:16px;
  }
  .tl-step{
    position:relative; padding:14px; border:1px dashed #d7dee9; border-radius:12px; background:#fff;
  }
  .tl-step:before{
    content:""; position:absolute; left:-8px; top:50%; width:10px; height:10px; border-radius:50%;
    background: var(--c3); transform: translateY(-50%); display:none;
  }
  .tl-step h4{ margin:0 0 6px; font-size:1rem; color:var(--c1); }
  .tl-step p{ margin:0; font-size:.9rem; color:#2e2d4dcc; }
  .tl-icon{ font-size:1.2rem; margin-right:6px; color: var(--c3); }

  /* ---------- Info section tweaks ---------- */
  .info-section{ max-width:1100px; }
  .info-text p + p { margin-top:.8rem; }

  /* ---------- Neutral CTA (non-blue) ---------- */
  .about-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 12px; }

  /* ===== Larger CTA buttons in hero only ===== */
.about-hero .btn-min {
  font-size: 1.1rem;      
  padding: 10px 16px;       
  border-radius: 12px;     
}

.about-cta .btn-min {
  color: var(--c1) !important;
  font-weight: 700;
}

.about-hero .btn-min:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}

  .btn-min{
    background: #fff; border:1px solid #d0d5dd; color:#111 !important;
    border-radius:10px; padding:6px 10px; font-size:.75rem; text-decoration:none !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.04); transition: background .2s, border-color .2s, transform .15s, box-shadow .2s;
  }
  .btn-min:hover{ background:#f3f4f6; border-color:#c5cad3; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.08); }

  /* ---------- Partner marquee ---------- */
  .marquee{
    overflow:hidden; white-space:nowrap; border:1px solid #e2e8f0; border-radius:12px;
    background:#fff; box-shadow: 0 4px 14px rgba(0,0,0,.04);
    max-width:1100px; margin: 18px auto 0; padding:8px;
  }
  .marquee .track{ display:inline-block; animation: scrollX 52s linear infinite; }
  @keyframes scrollX{ from{ transform: translateX(0) } to{ transform: translateX(-50%) } }
  .marquee img{ height:32px; margin: 0 18px; vertical-align:middle; }

  /* ---------- Reveal on scroll ---------- */
  .reveal{ opacity:0; transform: translateY(12px); transition: opacity .45s ease, transform .45s ease; }
  .reveal.show{ opacity:1; transform: none; }

  /* ---------- Respect reduced motion ---------- */
  @media (prefers-reduced-motion: reduce){
    .orbit img, .badge-orbit, .track{ animation: none !important; }
    .reveal{ opacity:1; transform:none; }
  }



  /* Taller partner marquee (About page only) */
.about-page{
  --marquee-logo-h: clamp(48px, 6vw, 80px);   /* logo height */
  --marquee-pad-y: clamp(12px, 2.2vw, 24px);  /* vertical padding */
}
.about-page .marquee{
  padding-block: var(--marquee-pad-y) !important;
  min-height: calc(var(--marquee-logo-h) + 2 * var(--marquee-pad-y));
}
.about-page .marquee img{
  height: var(--marquee-logo-h) !important;
}
