﻿  :root { color-scheme: dark light; }
  /* Lenis smooth scroll — disable all native scroll-behavior so only Lenis runs */
  html { scroll-behavior: auto !important; }
  html.lenis, html.lenis body { height: auto; }
  html.lenis.lenis-smooth { scroll-behavior: auto !important; }
  html.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
  html.lenis.lenis-stopped { overflow: hidden; }
  html, body { background: #06070d; }
  html.light, html.light body { background: #f6f7fb; }
  body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }

  /* Selection */
  ::selection { background: #1e3a8a; color: #fff; }

  /* Animated gradient mesh background */
  .bg-aurora { position: absolute; inset: -20%; z-index: 0; filter: blur(60px); opacity: .9; pointer-events:none; }
  .bg-aurora .blob { position: absolute; width: 50vmax; height: 50vmax; border-radius: 50%; mix-blend-mode: screen; animation: float 18s ease-in-out infinite; }
  .bg-aurora .b1 { background: #1e3a8a; top: -10%; left: -10%; }
  .bg-aurora .b2 { background: #d97706; top: 20%; right: -15%; animation-delay: -6s; }
  .bg-aurora .b3 { background: #0f172a; bottom: -20%; left: 20%; animation-delay: -12s; }
  @keyframes float {
    0%,100% { transform: translate(0,0) scale(1); }
    50%     { transform: translate(4%, -4%) scale(1.1); }
  }

  /* Glass card */
  .glass {
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  html.light .glass {
    background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.6));
    border-color: rgba(15,18,40,.08);
  }

  /* Nav: solid, readable scrolled state */
  #nav nav { transition: background .3s ease, border-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease; }
  #nav.is-stuck nav {
    background: rgba(8,10,22,.78);
    border-color: rgba(255,255,255,.12);
    backdrop-filter: blur(22px) saturate(160%);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
    box-shadow: 0 18px 44px -18px rgba(0,0,0,.7), 0 2px 0 rgba(255,255,255,.04) inset;
  }
  html.light #nav.is-stuck nav {
    background: rgba(255,255,255,.92);
    border-color: rgba(15,18,40,.12);
    box-shadow: 0 14px 36px -18px rgba(15,18,40,.25);
  }
  #nav.is-stuck ul a { color: rgba(255,255,255,.92); }
  html.light #nav.is-stuck ul a { color: rgba(11,13,23,.85); }

  /* Glow border on hover */
  .glow-border { position: relative; isolation: isolate; }
  .glow-border::before {
    content:""; position:absolute; inset:-1px; border-radius: inherit; padding:1px;
    background: conic-gradient(from 180deg at 50% 50%, #1e3a8a, #f59e0b, #2541c4, #1e3a8a);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    opacity:0; transition: opacity .3s ease; z-index:-1;
  }
  .glow-border:hover::before { opacity: 1; }

  /* Button */
  .btn { position: relative; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
  .btn:hover { transform: translateY(-2px); }
  .btn .ripple { position: absolute; border-radius: 9999px; background: rgba(255,255,255,.35); transform: scale(0); pointer-events: none; }
  .btn-grad { background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%); color: #0f1a3e; font-weight: 700; box-shadow: 0 18px 40px -16px rgba(245,158,11,.65); }
  .btn-grad:hover { box-shadow: 0 24px 60px -18px rgba(245,158,11,.88); }

  /* Section title underline */
  .eyebrow { letter-spacing: .25em; }

  /* Marquee */
  .marquee { display:flex; gap: 4rem; animation: marquee 40s linear infinite; width: max-content; }
  @keyframes marquee { from { transform: translateX(0);} to { transform: translateX(-50%);} }

  /* Premium logo marquee */
  .logo-marquee-wrap { position: relative; }
  .logo-marquee-shell {
    position: relative;
    overflow: hidden;
    padding: 14px 0 16px;
  }
  .logo-marquee-shell::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 28%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.055), transparent);
    filter: blur(2px);
    transform: translateX(-130%);
    animation: logoSweep 9.2s ease-in-out infinite;
    z-index: 1;
  }
  .logo-marquee-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0 20px 10px;
  }
  .logo-marquee-kicker {
    font-size: 10px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(138,161,255,.9);
    font-weight: 700;
  }
  .logo-marquee-note {
    font-size: 12px;
    color: rgba(255,255,255,.56);
    font-weight: 500;
  }

  .logo-marquee-mask {
    overflow: hidden;
    position: relative;
    mask-image: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent);
  }
  .logo-marquee.marquee {
    gap: 16px;
    animation: logoMarquee 30s linear infinite;
    width: max-content;
    padding: 4px 0 2px;
  }
  .logo-lane {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 14px;
  }
  .logo-pill {
    position: relative;
    min-width: clamp(132px, 17vw, 180px);
    height: 56px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 16px 26px -20px rgba(66,88,245,.65);
    transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease;
    overflow: hidden;
    animation: logoPillFloat 7.2s ease-in-out infinite;
    z-index: 2;
  }
  .logo-pill:nth-child(2n) { animation-delay: -.9s; }
  .logo-pill:nth-child(3n) { animation-delay: -1.8s; }
  .logo-pill:nth-child(4n) { animation-delay: -2.6s; }
  .logo-pill::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 24%, rgba(255,255,255,.13) 48%, transparent 72%);
    transform: translateX(-120%);
    transition: transform .7s ease;
  }
  .logo-pill img {
    width: auto;
    height: 30px;
    max-width: 85%;
    object-fit: contain;
    filter: grayscale(1) saturate(0) brightness(1.26);
    transition: filter .25s ease;
  }
  .logo-pill:hover {
    transform: translateY(-3px);
    border-color: rgba(138,161,255,.5);
    box-shadow: 0 16px 36px -20px rgba(66,88,245,.9);
  }
  .logo-pill:hover::before { transform: translateX(120%); }
  .logo-pill:hover img { filter: grayscale(.08) saturate(1.08) brightness(1.1); }

  @keyframes logoMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }
  @keyframes logoPillFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
  }
  @keyframes logoSweep {
    0%, 8% { transform: translateX(-130%); }
    45%, 55% { transform: translateX(390%); }
    100% { transform: translateX(390%); }
  }

  html.light .logo-marquee-note { color: rgba(15,18,40,.58); }
  html.light .logo-pill {
    border-color: rgba(15,18,40,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,255,.78));
    box-shadow: 0 16px 30px -24px rgba(66,88,245,.35);
  }
  html.light .logo-pill img { filter: grayscale(.2) saturate(.78) brightness(.92); }

  @media (max-width: 768px) {
    .logo-marquee-intro {
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      padding: 0 16px 10px;
    }
    .logo-marquee.marquee { animation-duration: 24s; }
    .logo-pill {
      min-width: 118px;
      height: 50px;
      border-radius: 12px;
    }
    .logo-pill img { height: 25px; }
    .logo-marquee-shell::after { width: 42%; animation-duration: 7.6s; }
  }

  /* Industries premium section */
  .industry-head-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: .04em;
    color: rgba(222,230,255,.86);
    border: 1px solid rgba(138,161,255,.28);
    background: linear-gradient(180deg, rgba(66,88,245,.16), rgba(66,88,245,.08));
    position: relative;
    overflow: hidden;
  }
  .industry-head-chip::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 22%, rgba(255,255,255,.22) 50%, transparent 78%);
    transform: translateX(-135%);
    animation: indChipSweep 5.6s ease-in-out infinite;
  }
  .industry-head-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #22d3ee;
    box-shadow: 0 0 10px rgba(34,211,238,.7);
    animation: indDotPulse 2.4s ease-in-out infinite;
  }
  .industry-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  @media (min-width: 640px) {
    .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (min-width: 1024px) {
    .industry-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }

  .industry-card {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    padding: 16px;
    min-height: 188px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
    --mx: 50%;
    --my: 50%;
  }
  .industry-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(200px circle at var(--mx) var(--my), rgba(97,120,255,.2), transparent 62%);
    opacity: 0;
    transition: opacity .28s ease;
  }
  .industry-card:hover {
    transform: translateY(-4px);
    border-color: rgba(138,161,255,.34);
    box-shadow: 0 22px 36px -26px rgba(66,88,245,.82);
  }
  .industry-card:hover::before { opacity: 1; }
  .industry-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 24%, rgba(255,255,255,.11) 50%, transparent 74%);
    transform: translateX(-135%);
    opacity: 0;
  }
  .industry-card.is-live {
    transform: translateY(-3px);
    border-color: rgba(138,161,255,.3);
    box-shadow: 0 20px 36px -26px rgba(66,88,245,.74);
  }
  .industry-card.is-live::after {
    opacity: 1;
    animation: indCardSweep 2.2s ease-in-out 1;
  }

  .industry-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .industry-headline {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
  }
  .industry-icon-wrap {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #9fb0ff;
    border: 1px solid rgba(138,161,255,.35);
    background: linear-gradient(145deg, rgba(66,88,245,.26), rgba(66,88,245,.1));
    animation: indIconFloat 3.1s ease-in-out infinite;
  }
  .industry-icon-wrap.teal {
    color: #89f0ff;
    border-color: rgba(34,211,238,.34);
    background: linear-gradient(145deg, rgba(34,211,238,.26), rgba(34,211,238,.08));
  }
  .industry-icon-wrap.violet {
    color: #ddd3ff;
    border-color: rgba(167,139,250,.36);
    background: linear-gradient(145deg, rgba(167,139,250,.28), rgba(167,139,250,.1));
  }
  .industry-icon-wrap.mint {
    color: #b3f7d8;
    border-color: rgba(52,211,153,.34);
    background: linear-gradient(145deg, rgba(52,211,153,.25), rgba(52,211,153,.1));
  }

  .industry-tag {
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.68);
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.04);
    border-radius: 999px;
    padding: 4px 8px;
    font-weight: 600;
  }
  .industry-card h3 {
    font-size: 18px;
    line-height: 1.22;
    letter-spacing: -.01em;
    font-weight: 700;
    color: rgba(255,255,255,.95);
  }
  .industry-headline h3 {
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .industry-card p {
    font-size: 13px;
    line-height: 1.55;
    color: rgba(255,255,255,.64);
    max-width: 38ch;
  }
  .industry-foot {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .industry-kpi {
    font-family: Sora, Inter, sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #9ab0ff;
    letter-spacing: -.02em;
    text-shadow: 0 0 12px rgba(138,161,255,.2);
    animation: indKpiGlow 2.3s ease-in-out infinite;
  }
  .industry-link {
    font-size: 11px;
    color: rgba(255,255,255,.56);
    text-transform: uppercase;
    letter-spacing: .09em;
    font-weight: 600;
  }

  @keyframes indIconFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
  }
  @keyframes indCardSweep {
    0% { transform: translateX(-135%); }
    62%, 100% { transform: translateX(145%); }
  }
  @keyframes indChipSweep {
    0%, 10% { transform: translateX(-135%); }
    42%, 52% { transform: translateX(130%); }
    100% { transform: translateX(130%); }
  }
  @keyframes indDotPulse {
    0%, 100% { transform: scale(.9); opacity: .8; }
    50% { transform: scale(1.2); opacity: 1; }
  }
  @keyframes indKpiGlow {
    0%, 100% { opacity: .9; text-shadow: 0 0 10px rgba(138,161,255,.16); }
    50% { opacity: 1; text-shadow: 0 0 16px rgba(138,161,255,.34); }
  }

  html.light .industry-head-chip {
    color: rgba(20,27,45,.78);
    border-color: rgba(66,88,245,.26);
    background: linear-gradient(180deg, rgba(66,88,245,.11), rgba(66,88,245,.04));
  }
  html.light .industry-card h3 { color: rgba(15,18,40,.9); }
  html.light .industry-card p { color: rgba(15,18,40,.6); }
  html.light .industry-tag { color: rgba(15,18,40,.62); border-color: rgba(15,18,40,.16); background: rgba(255,255,255,.62); }
  html.light .industry-link { color: rgba(15,18,40,.5); }
  html.light .industry-kpi { color: #3f59d1; text-shadow: 0 0 12px rgba(63,89,209,.18); }
  html.light .industry-card::before { background: radial-gradient(200px circle at var(--mx) var(--my), rgba(66,88,245,.16), transparent 62%); }
  html.light .industry-head-chip::after { background: linear-gradient(115deg, transparent 22%, rgba(255,255,255,.46) 50%, transparent 78%); }

  @media (max-width: 768px) {
    .industry-head-chip { font-size: 10px; padding: 7px 11px; }
    .industry-card { min-height: 172px; padding: 14px; border-radius: 16px; }
    .industry-card h3 { font-size: 16px; }
    .industry-card p { font-size: 12.5px; }
    .industry-kpi { font-size: 16px; }
  }

    /* Ready CTA section */
    .cta-ready-shell {
      position: relative;
      overflow: hidden;
      padding: 26px 0;
    }
    .cta-ready-noise { position:absolute; inset:0; opacity:.25; pointer-events:none; }
    .cta-ready-beam {
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient(120deg, transparent 22%, rgba(255,255,255,.12) 50%, transparent 78%);
      transform: translateX(-135%);
      animation: ctaBeam 7s ease-in-out infinite;
    }
    .cta-ready-grid {
      position: relative;
      display: grid;
      grid-template-columns: 1fr;
      gap: 18px;
      z-index: 1;
    }
    .cta-ready-copy { max-width: 760px; }
    .cta-ready-title {
      margin-top: 10px;
      font-family: Sora, Inter, sans-serif;
      font-weight: 700;
      letter-spacing: -.02em;
      font-size: clamp(28px, 4.4vw, 44px);
      line-height: 1.08;
      color: rgba(255,255,255,.96);
    }
    .cta-ready-sub {
      margin-top: 12px;
      color: rgba(255,255,255,.7);
      max-width: 64ch;
      font-size: 14px;
      line-height: 1.6;
    }

    .cta-ready-mini {
      margin-top: 16px;
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: 8px;
    }
    .cta-mini-card {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid rgba(255,255,255,.11);
      background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    }
    .cta-mini-num {
      font-family: Sora, Inter, sans-serif;
      font-size: 16px;
      font-weight: 700;
      color: #a9b9ff;
      letter-spacing: -.02em;
    }
    .cta-mini-label {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .09em;
      color: rgba(255,255,255,.6);
      font-weight: 600;
    }

    .cta-ready-actions {
      display: flex;
      flex-direction: column;
      gap: 10px;
      width: 100%;
      max-width: 290px;
    }
    .cta-ready-btn-primary,
    .cta-ready-btn-secondary {
      border-radius: 12px;
      padding: 12px 16px;
      font-size: 14px;
      font-weight: 600;
      text-align: center;
      justify-content: center;
    }
    .cta-ready-note {
      margin-top: 2px;
      font-size: 11px;
      color: rgba(255,255,255,.58);
      line-height: 1.5;
    }

    @keyframes ctaBeam {
      0%, 10% { transform: translateX(-135%); }
      44%, 56% { transform: translateX(135%); }
      100% { transform: translateX(135%); }
    }

    html.light .cta-ready-title { color: rgba(15,18,40,.92); }
    html.light .cta-ready-sub { color: rgba(15,18,40,.63); }
    html.light .cta-mini-card { border-color: rgba(15,18,40,.12); background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(246,249,255,.78)); }
    html.light .cta-mini-label { color: rgba(15,18,40,.55); }
    html.light .cta-ready-note { color: rgba(15,18,40,.55); }
    html.light .cta-ready-beam { background: linear-gradient(120deg, transparent 22%, rgba(255,255,255,.34) 50%, transparent 78%); }

    @media (min-width: 900px) {
      .cta-ready-shell { padding: 30px 0; }
      .cta-ready-grid { grid-template-columns: 1fr auto; gap: 24px; align-items: end; }
      .cta-ready-actions { align-self: end; }
      .cta-ready-mini { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }

    @media (max-width: 640px) {
      .cta-ready-shell { padding: 16px 0; }
      .cta-ready-title { font-size: clamp(24px, 8vw, 34px); }
      .cta-ready-sub { font-size: 13px; }
      .cta-ready-actions { max-width: 100%; }
      .cta-ready-btn-primary, .cta-ready-btn-secondary { width: 100%; }
    }

    /* Premium stats section */
    .stats-pro-shell {
      position: relative;
      overflow: hidden;
      padding: 18px 0;
    }
    .stats-pro-head {
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin-bottom: 12px;
    }
    .stats-pro-note {
      color: rgba(255,255,255,.62);
      font-size: 13px;
      line-height: 1.5;
    }
    .stats-pro-grid {
      display: grid;
      gap: 10px;
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    @media (min-width: 560px) {
      .stats-pro-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (min-width: 1100px) {
      .stats-pro-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }

    .stats-pro-card {
      position: relative;
      overflow: hidden;
      border-radius: 16px;
      padding: 12px 12px 11px;
      border: 1px solid rgba(255,255,255,.1);
      background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
      transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease;
    }
    .stats-pro-card::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient(120deg, transparent 24%, rgba(255,255,255,.14) 50%, transparent 76%);
      transform: translateX(-135%);
      opacity: 0;
    }
    .stats-pro-card.is-live::before {
      opacity: 1;
      animation: statsSweep 2.2s ease-in-out 1;
    }
    .stats-pro-card:hover {
      transform: translateY(-3px);
      border-color: rgba(138,161,255,.36);
      box-shadow: 0 14px 30px -24px rgba(66,88,245,.78);
    }

    .stats-pro-top {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .stats-pro-icon {
      width: 30px;
      height: 30px;
      border-radius: 9px;
      display: grid;
      place-items: center;
      color: #9eb1ff;
      border: 1px solid rgba(138,161,255,.34);
      background: linear-gradient(145deg, rgba(66,88,245,.3), rgba(66,88,245,.1));
    }
    .stats-pro-icon.teal {
      color: #84ecff;
      border-color: rgba(34,211,238,.34);
      background: linear-gradient(145deg, rgba(34,211,238,.3), rgba(34,211,238,.1));
    }
    .stats-pro-icon.violet {
      color: #ddd2ff;
      border-color: rgba(167,139,250,.34);
      background: linear-gradient(145deg, rgba(167,139,250,.3), rgba(167,139,250,.1));
    }
    .stats-pro-icon.mint {
      color: #b4f9d9;
      border-color: rgba(52,211,153,.34);
      background: linear-gradient(145deg, rgba(52,211,153,.3), rgba(52,211,153,.1));
    }
    .stats-pro-label {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: rgba(255,255,255,.66);
      font-weight: 600;
    }
    .stats-pro-num {
      margin-top: 8px;
      font-family: Sora, Inter, sans-serif;
      font-size: clamp(28px, 4.2vw, 40px);
      line-height: 1;
      letter-spacing: -.03em;
      font-weight: 800;
      color: #c4d2ff;
      text-shadow: 0 0 14px rgba(138,161,255,.25);
    }
    .stats-pro-foot {
      margin-top: 6px;
      font-size: 11px;
      color: rgba(255,255,255,.56);
      line-height: 1.4;
    }

    @keyframes statsSweep {
      0% { transform: translateX(-135%); }
      66%, 100% { transform: translateX(145%); }
    }

    html.light .stats-pro-note { color: rgba(15,18,40,.6); }
    html.light .stats-pro-card { border-color: rgba(15,18,40,.11); background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,255,.8)); }
    html.light .stats-pro-label { color: rgba(15,18,40,.62); }
    html.light .stats-pro-num { color: #4360dc; text-shadow: 0 0 12px rgba(67,96,220,.18); }
    html.light .stats-pro-foot { color: rgba(15,18,40,.54); }

    @media (max-width: 640px) {
      .stats-pro-shell { padding: 10px 0; }
      .stats-pro-head { margin-bottom: 10px; }
      .stats-pro-note { font-size: 12px; }
      .stats-pro-card { border-radius: 14px; padding: 11px 10px 10px; }
      .stats-pro-num { font-size: 32px; }
    }

  /* Testimonials carousel */
  .testi-carousel { --testi-gap: 12px; --testi-card-min: 204px; }
  .testi-controls { display:flex; align-items:center; gap:8px; }
  .testi-nav {
    height: 38px; width: 38px; border-radius: 10px;
    display:grid; place-items:center;
    border: 1px solid rgba(255,255,255,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
    color: rgba(255,255,255,.88);
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
  }
  .testi-nav:hover { transform: translateY(-1px); border-color: rgba(138,161,255,.6); }
  .testi-nav:active { transform: translateY(0); }
  .testi-nav:disabled { opacity: .45; cursor: not-allowed; transform: none; }

  .testi-viewport {
    overflow: hidden;
    border-radius: 18px;
    padding: 4px 2px;
  }
  .testi-track { display: flex; gap: var(--testi-gap); transition: transform .72s cubic-bezier(.2,.68,.15,1); will-change: transform; }
  .testi-slide {
    min-width: min(100%, 420px);
    transition: transform .42s ease, opacity .42s ease;
    transform: scale(.975);
    opacity: .76;
  }
  .testi-slide.is-active {
    transform: scale(1);
    opacity: 1;
  }
  .testi-card {
    --testi-accent: rgba(97,120,255,.45);
    height: 100%;
    border-radius: 18px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: var(--testi-card-min);
    transition: transform .28s ease, box-shadow .3s ease;
    position: relative;
    overflow: hidden;
  }
  .testi-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.08) 50%, transparent 70%);
    transform: translateX(-125%);
    opacity: 0;
  }
  .testi-slide.is-active .testi-card::after {
    opacity: 1;
    animation: testiSweep 6.4s ease-in-out infinite;
  }
  .testi-slide:nth-child(3n+2) .testi-card { --testi-accent: rgba(34,211,238,.45); }
  .testi-slide:nth-child(3n) .testi-card { --testi-accent: rgba(167,139,250,.48); }
  .testi-card:hover { transform: translateY(-4px); box-shadow: 0 24px 44px -24px rgba(66,88,245,.62); }
  .testi-head { display:flex; align-items:center; justify-content:space-between; gap: 10px; }
  .testi-person { display:flex; align-items:center; gap: 8px; }
  .testi-avatar {
    height: 32px; min-width: 32px; padding: 0 8px; border-radius: 10px;
    display:grid; place-items:center;
    font-size: 10px; font-weight: 700; letter-spacing: .08em;
    color: #c7d2fe;
    background: linear-gradient(135deg, rgba(66,88,245,.35), rgba(66,88,245,.16));
    border: 1px solid rgba(138,161,255,.35);
  }
  .testi-avatar.is-teal {
    color: #99f6e4;
    background: linear-gradient(135deg, rgba(34,211,238,.36), rgba(34,211,238,.15));
    border-color: rgba(34,211,238,.38);
  }
  .testi-avatar.is-violet {
    color: #ddd6fe;
    background: linear-gradient(135deg, rgba(167,139,250,.36), rgba(167,139,250,.15));
    border-color: rgba(167,139,250,.38);
  }
  .testi-logo-chip {
    height: 28px;
    width: auto;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.16);
    background: #0d1224;
    padding: 2px;
    object-fit: contain;
    filter: brightness(1.6) saturate(1.1);
    transition: filter .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease;
  }
  .testi-card:hover .testi-logo-chip {
    transform: translateY(-1px);
    filter: brightness(1.85) saturate(1.2);
    border-color: var(--testi-accent);
    box-shadow: 0 0 0 1px var(--testi-accent), 0 0 16px -3px var(--testi-accent);
  }
  .testi-quote-icon {
    height: 36px; width: 36px; border-radius: 10px;
    display:grid; place-items:center;
    color: #8aa1ff;
    background: linear-gradient(135deg, rgba(66,88,245,.22), rgba(66,88,245,.1));
    animation: testiFloat 3.8s ease-in-out infinite;
  }
  .testi-quote-icon.is-teal { color:#5eead4; background: linear-gradient(135deg, rgba(34,211,238,.24), rgba(34,211,238,.08)); }
  .testi-quote-icon.is-violet { color:#c4b5fd; background: linear-gradient(135deg, rgba(167,139,250,.25), rgba(167,139,250,.08)); }
  .testi-rating { margin-top: 10px; display:flex; align-items:center; justify-content:space-between; gap: 8px; }
  .testi-stars { font-size: 11px; letter-spacing: .1em; color: #fbbf24; text-shadow: 0 0 10px rgba(251,191,36,.25); }
  .testi-verified {
    display:inline-flex; align-items:center; gap: 6px;
    padding: 4px 8px; border-radius: 999px;
    font-size: 9px; font-weight: 600; letter-spacing: .04em;
    color: rgba(209,250,229,.9);
    border: 1px solid rgba(52,211,153,.3);
    background: rgba(52,211,153,.12);
    white-space: nowrap;
  }
  .testi-verified::before {
    content: "";
    width: 7px; height: 7px; border-radius: 999px;
    background: #34d399;
    box-shadow: 0 0 10px rgba(52,211,153,.7);
  }
  .testi-text { margin-top: 12px; color: rgba(255,255,255,.88); line-height: 1.62; font-size: 14px; }
  .testi-meta { margin-top: 16px; display:flex; flex-direction:column; gap:2px; }
  .testi-meta strong { font-size: 12px; letter-spacing: .01em; color: rgba(255,255,255,.94); }
  .testi-meta span { font-size: 11px; color: rgba(255,255,255,.58); }

  .testi-dots { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px; }
  .testi-dot {
    width: 8px; height: 8px; border-radius: 999px;
    background: rgba(255,255,255,.24); border: 0; padding: 0;
    transition: width .26s ease, background-color .26s ease;
  }
  .testi-dot[aria-current="true"] { width: 23px; background: linear-gradient(90deg, #8aa1ff, #22d3ee); }

  @keyframes testiFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
  }
  @keyframes testiSweep {
    0%, 12% { transform: translateX(-125%); }
    45%, 56% { transform: translateX(140%); }
    100% { transform: translateX(140%); }
  }

  html.light .testi-nav {
    border-color: rgba(15,18,40,.14);
    color: rgba(15,18,40,.85);
    background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,249,255,.86));
  }
  html.light .testi-text { color: rgba(15,18,40,.86); }
  html.light .testi-meta strong { color: rgba(15,18,40,.9); }
  html.light .testi-meta span { color: rgba(15,18,40,.56); }
  html.light .testi-dot { background: rgba(15,18,40,.22); }
  html.light .testi-logo-chip {
    border-color: rgba(15,18,40,.12);
    background: rgba(255,255,255,.95);
    filter: none;
    box-shadow: 0 1px 6px rgba(15,18,40,.1);
  }
  html.light .testi-card:hover .testi-logo-chip {
    filter: none;
    box-shadow: 0 0 0 1px color-mix(in oklab, var(--testi-accent) 60%, transparent), 0 2px 12px rgba(15,18,40,.12);
  }
  html.light .testi-verified { color: rgba(6,95,70,.9); border-color: rgba(16,185,129,.32); background: rgba(16,185,129,.14); }
  html.light .testi-avatar {
    color: #1e3a8a;
    background: linear-gradient(135deg, rgba(66,88,245,.14), rgba(66,88,245,.07));
    border-color: rgba(66,88,245,.28);
  }
  html.light .testi-avatar.is-teal {
    color: #0d7c72;
    background: linear-gradient(135deg, rgba(13,148,136,.14), rgba(13,148,136,.07));
    border-color: rgba(13,148,136,.28);
  }
  html.light .testi-avatar.is-violet {
    color: #6d28d9;
    background: linear-gradient(135deg, rgba(109,40,217,.14), rgba(109,40,217,.07));
    border-color: rgba(109,40,217,.28);
  }
  html.light .testi-quote-icon {
    color: #3b5bdb;
    background: linear-gradient(135deg, rgba(66,88,245,.12), rgba(66,88,245,.05));
  }
  html.light .testi-quote-icon.is-teal {
    color: #0d7c72;
    background: linear-gradient(135deg, rgba(13,148,136,.12), rgba(13,148,136,.05));
  }
  html.light .testi-quote-icon.is-violet {
    color: #6d28d9;
    background: linear-gradient(135deg, rgba(109,40,217,.12), rgba(109,40,217,.05));
  }
  html.light .testi-stars { text-shadow: none; }

  @media (max-width: 768px) {
    .testi-card { min-height: 212px; padding: 14px; }
    .testi-nav { height: 34px; width: 34px; border-radius: 9px; }
    .testi-viewport { border-radius: 14px; padding: 3px 1px; }
    .testi-quote-icon { height: 32px; width: 32px; }
    .testi-avatar { height: 30px; min-width: 30px; }
    .testi-text { font-size: 13.5px; line-height: 1.58; }
    .testi-logo-chip { height: 24px; }
    .testi-slide { transform: scale(.985); opacity: .84; }
  }

  /* Counter */
  .count { font-variant-numeric: tabular-nums; }

  /* Reveal */
  .reveal { opacity: 0; transform: translateY(30px); }

  /* Neural background canvas (decorative) */
  canvas.neural-bg { position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.32; mix-blend-mode: screen; }
  html.light canvas.neural-bg { opacity:.22; mix-blend-mode: multiply; }
  canvas.neural-bg.tiny { opacity:.45; z-index:2; }
  @media (prefers-reduced-motion: reduce) { canvas.neural-bg { display:none; } }

  /* Floating icon shapes in hero */
  .float-shape { animation: floaty 6s ease-in-out infinite; }
  .float-shape.s2 { animation-duration: 8s; animation-delay: -2s; }
  .float-shape.s3 { animation-duration: 7s; animation-delay: -4s; }
  @keyframes floaty {
    0%,100% { transform: translateY(0) rotate(0deg); }
    50%     { transform: translateY(-14px) rotate(3deg); }
  }

  /* Custom scrollbar */
  ::-webkit-scrollbar { width: 10px; height: 10px; }
  ::-webkit-scrollbar-track { background: transparent; }
  ::-webkit-scrollbar-thumb { background: linear-gradient(#4258f5,#22d3ee); border-radius: 8px; }

  /* Floating label */
  .field { position: relative; }
  .field input, .field textarea, .field select {
    width:100%; background: transparent; border:1px solid rgba(255,255,255,.12); color: inherit;
    border-radius: 14px; padding: 22px 16px 10px; outline: none; transition: border-color .2s, box-shadow .2s;
  }
  .field select { padding-top: 26px; padding-bottom: 8px; cursor: pointer; }
  .field input:focus, .field textarea:focus, .field select:focus { border-color:#4258f5; box-shadow: 0 0 0 4px rgba(66,88,245,.2); }
  .field label { position:absolute; left:16px; top:14px; font-size:14px; color:rgba(255,255,255,.6); pointer-events:none; transition:.2s ease; }
  .field input:focus + label, .field input:not(:placeholder-shown) + label,
  .field textarea:focus + label, .field textarea:not(:placeholder-shown) + label,
  .field select + label {
    top:6px; font-size:11px; color:#8aa1ff; letter-spacing:.08em; text-transform: uppercase;
  }
  html.light .field input, html.light .field textarea, html.light .field select { border-color: rgba(15,18,40,.12); }
  html.light .field label { color: rgba(15,18,40,.6); }

  /* Horizontal product carousel */
  .h-scroll { scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .h-scroll > * { scroll-snap-align: start; }
  .h-scroll::-webkit-scrollbar { height: 6px; }

  /* Service card icon glow */
  .icon-tile { background: linear-gradient(135deg, rgba(66,88,245,.18), rgba(34,211,238,.12)); border:1px solid rgba(255,255,255,.08); }

  /* Process step connector */
  .step-line { background: linear-gradient(90deg, rgba(66,88,245,.6), rgba(34,211,238,.6)); }

  /* Particle dots */
  .dots { background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px); background-size: 18px 18px; }

  /* (text-grad defined below with shimmer animation) */

  /* Reduce motion */
  @media (prefers-reduced-motion: reduce) {
    .float-shape, .marquee, .bg-aurora .blob, .testi-quote-icon,
    .industry-head-dot, .industry-icon-wrap, .industry-kpi, .industry-head-chip::after,
    .industry-card.is-live::after, .stats-pro-card.is-live::before { animation: none !important; }
    .testi-track { transition: none !important; }
    .logo-pill, .logo-marquee-shell::after { animation: none !important; }
    .logo-marquee-mask {
      overflow-x: auto;
      mask-image: none;
      -webkit-mask-image: none;
    }
    .logo-marquee.marquee {
      animation: none !important;
      width: max-content;
    }
  }

  /* === Premium animation additions === */

  /* Theme toggle floating tab */
  #themeToggleWrap {
    position: fixed;
    right: 0;
    top: 16%;
    z-index: 55;
    transform: translateX(calc(100% - 24px));
    transition: transform .38s cubic-bezier(.22,.9,.22,1);
  }
  #themeToggleWrap:hover {
    transform: translateX(0);
  }
  #themeToggle {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 12px 0 0 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.05));
    border: 1px solid rgba(255,255,255,.12);
    border-right: none;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: -4px 0 18px rgba(0,0,0,.35);
    color: rgba(255,255,255,.85);
    cursor: pointer;
    transition: background .25s ease, color .25s ease;
  }
  #themeToggle:hover {
    background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
    color: #fff;
  }
  html.light #themeToggle {
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.75));
    border-color: rgba(15,18,40,.12);
    box-shadow: -4px 0 18px rgba(15,18,40,.14);
    color: rgba(15,18,40,.8);
  }
  html.light #themeToggle:hover {
    background: #fff;
    color: #0f172a;
  }

  /* Scroll progress */
  .scroll-progress { position: fixed; left:0; top:0; height:3px; width:0%; z-index:60;
    background: linear-gradient(90deg, #1e3a8a, #f59e0b, #fbbf24);
    box-shadow: 0 0 18px rgba(245,158,11,.6); transition: width .15s linear; }

  /* Custom cursor */
  .cursor-dot, .cursor-ring {
    position: fixed; top:0; left:0; pointer-events:none; z-index:70; mix-blend-mode: difference; will-change: transform;
    opacity: 0; visibility: hidden;
  }
  body.cursor-ready .cursor-dot, body.cursor-ready .cursor-ring { opacity: 1; visibility: visible; }
  .cursor-dot { width:6px; height:6px; border-radius:50%; background:#fff; transform: translate(-50%, -50%); }
  .cursor-ring { width:36px; height:36px; border-radius:50%; border:1.5px solid rgba(255,255,255,.7); transform: translate(-50%, -50%); transition: width .25s ease, height .25s ease, border-color .25s ease, background-color .25s ease; }
  .cursor-ring.hover { width:64px; height:64px; background: rgba(66,88,245,.18); border-color: #8aa1ff; }
  @media (hover: none), (pointer: coarse) { .cursor-dot, .cursor-ring { display:none; } }

  /* Spotlight (mouse-follow) inside hero & cards */
  .spot { position: relative; }
  .spot::after {
    content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
    background: radial-gradient(220px circle at var(--mx, 50%) var(--my, 50%), rgba(120,160,255,.18), transparent 60%);
    opacity:0; transition: opacity .35s ease;
  }
  .spot:hover::after { opacity: 1; }

  /* 3D tilt prep */
  .tilt { transform-style: preserve-3d; transition: transform .25s ease; }
  .tilt > * { transform: translateZ(0); }
  .tilt-inner { transform: translateZ(40px); }

  /* SVG path drawing */
  .draw-path { stroke-dasharray: 1; stroke-dashoffset: 1; pathLength: 1; }

  /* Animated underline link */
  .ulink { position: relative; }
  .ulink::after { content:""; position:absolute; left:0; right:0; bottom:-4px; height:1px;
    background: linear-gradient(90deg,#4258f5,#22d3ee); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
  .ulink:hover::after { transform: scaleX(1); }

  /* Gradient shimmer text (loops slowly) */
  .text-grad { background: linear-gradient(90deg, #f59e0b, #fbbf24, #fde68a, #f59e0b); background-size: 200% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent; animation: shimmer 8s linear infinite; }
  @keyframes shimmer { from { background-position: 0% 0%; } to { background-position: 200% 0%; } }

  /* Conic ring rotating glow on hero illustration */
  .ring-spin { animation: spin 22s linear infinite; transform-origin: center; }
  .ring-spin-rev { animation: spin 30s linear infinite reverse; transform-origin: center; }
  @keyframes spin { to { transform: rotate(360deg); } }

  /* === About visual: AI partner emblem === */
  .ab-orbit       { transform-origin: 200px 220px; animation: spin 26s linear infinite; }
  .ab-orbit-rev   { transform-origin: 200px 220px; animation: spin 32s linear infinite reverse; }
  .ab-orbit-fast  { transform-origin: 200px 220px; animation: spin 18s linear infinite; }
  .ab-counter     { transform-origin: center; animation: spin 26s linear infinite reverse; }
  .ab-counter-rev { transform-origin: center; animation: spin 32s linear infinite; }
  .ab-counter-fast{ transform-origin: center; animation: spin 18s linear infinite reverse; }
  .ab-trace { stroke-dasharray: 6 8; animation: abTrace 6s linear infinite; }
  @keyframes abTrace { to { stroke-dashoffset: -140; } }
  .ab-scan { animation: abScan 4.5s ease-in-out infinite; transform-origin: 200px 220px; }
  @keyframes abScan {
    0%   { transform: rotate(-22deg); opacity: 0; }
    15%  { opacity: .9; }
    50%  { transform: rotate(22deg); opacity: .9; }
    85%  { opacity: 0; }
    100% { transform: rotate(-22deg); opacity: 0; }
  }
  .ab-core-breath { transform-origin: 200px 220px; animation: abBreath 3.6s ease-in-out infinite; }
  @keyframes abBreath { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }
  .ab-spark { animation: abSpark 2.2s ease-in-out infinite; }
  .ab-spark.s2 { animation-delay: -.7s; } .ab-spark.s3 { animation-delay: -1.4s; }
  @keyframes abSpark { 0%,100% { opacity: .25; r: 1.4; } 50% { opacity: 1; r: 2.4; } }
  .ab-flow { stroke-dasharray: 3 6; animation: abFlow 2.4s linear infinite; }
  @keyframes abFlow { to { stroke-dashoffset: -36; } }

  @media (prefers-reduced-motion: reduce) {
    .ab-orbit, .ab-orbit-rev, .ab-orbit-fast, .ab-counter, .ab-counter-rev, .ab-counter-fast,
    .ab-trace, .ab-scan, .ab-core-breath, .ab-spark, .ab-flow, .ab-node-ping, .ab-data-beam { animation: none !important; }
  }

  /* ===================== HERO PREMIUM ANIMATIONS ===================== */
  .hero-ray { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1; }
  .hero-ray::before { content:""; position:absolute; top:-20%; left:-10%; width:120%; height:70%;
    background: conic-gradient(from 195deg at 20% 0%, rgba(30,58,138,.22) 0deg, transparent 60deg);
    filter: blur(60px); animation: rayDrift 18s ease-in-out infinite alternate; }
  .hero-ray::after  { content:""; position:absolute; top:-10%; right:-5%; width:70%; height:60%;
    background: conic-gradient(from 320deg at 80% 0%, rgba(245,158,11,.15) 0deg, transparent 55deg);
    filter: blur(80px); animation: rayDrift 24s ease-in-out infinite alternate-reverse; }
  @keyframes rayDrift { 0% { transform: translate(0,0) rotate(0deg); } 100% { transform: translate(2%,3%) rotate(4deg); } }
  .hero-badge { opacity:0; transform:translateY(16px); position:relative; overflow:hidden; }
  .hero-badge::after { content:""; position:absolute; inset:0; border-radius:inherit;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.14) 50%, transparent 100%);
    background-size:200% 100%; background-position:-200% 0;
    animation: badgeSheen 5s ease-in-out infinite 1.8s; }
  @keyframes badgeSheen { 0%,40%{background-position:-200% 0} 60%,100%{background-position:200% 0} }
  .hero-h1   { opacity:0; transform:translateY(24px); }
  .hero-sub  { opacity:0; transform:translateY(20px); }
  .hero-cta  { opacity:0; transform:translateY(18px); }
  .hero-stat { opacity:0; transform:translateY(22px) scale(.96); }
  .hero-stat-card { transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; border:1px solid rgba(255,255,255,.08); }
  .hero-stat-card:hover { transform:translateY(-4px) scale(1.03); box-shadow:0 16px 40px -16px rgba(245,158,11,.45); border-color:rgba(245,158,11,.35); }
  .hero-stat-card .stat-num { font-variant-numeric:tabular-nums; transition:color .3s ease; }
  .hero-stat-card:hover .stat-num { color:#f59e0b; }
  .hero-chip { opacity:0; transform:translateX(-12px) scale(.92); transition:transform .3s ease, box-shadow .3s ease; }
  .hero-chip.right { transform:translateX(12px) scale(.92); }
  .hero-chip:hover { transform:translateY(-3px) scale(1.02); box-shadow:0 12px 28px -10px rgba(66,88,245,.5); }
  .hero-illus { opacity:0; transform:translateY(30px) scale(.97); }
  #heroIllus { --hx: 50%; --hy: 50%; }
  #heroIllus::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 30px;
    pointer-events: none;
    z-index: 3;
    background: radial-gradient(180px circle at var(--hx) var(--hy), rgba(138,161,255,.17), transparent 65%);
    transition: opacity .25s ease;
    opacity: .9;
    mix-blend-mode: screen;
  }
  .hero-conn-line { stroke-dasharray:3 5; animation:connFlow 3s linear infinite; }
  @keyframes connFlow { to { stroke-dashoffset:-48; } }
  .solution-matrix { transform-origin: 250px 250px; animation: spin 44s linear infinite; }
  .solution-grid-line { stroke-dasharray: 2 6; animation: ecoDash 8.5s linear infinite; }
  .solution-node { animation: ecoPulse 3.1s ease-in-out infinite; }
  .solution-node.s2 { animation-delay: -1.2s; }
  .solution-node.s3 { animation-delay: -2.1s; }
  .solution-node.s4 { animation-delay: -2.8s; }
  .office-kit { transform-origin: 250px 250px; animation: officeKitFloat 10.5s ease-in-out infinite; }
  .office-paper-flow { stroke-dasharray: 3 7; animation: officePaper 3.8s linear infinite; }
  .office-pencil { transform-origin: 122px 330px; animation: officePencil 4.4s ease-in-out infinite; }
  @keyframes officeKitFloat { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(-6px); } }
  @keyframes officePaper { to { stroke-dashoffset: -44; } }
  @keyframes officePencil { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(6deg); } }
  .hero-eco { transform-origin:250px 250px; animation: ecoFloat 14s ease-in-out infinite; }
  .eco-orbit { transform-origin:250px 250px; animation: spin 28s linear infinite; }
  .eco-orbit.rev { animation-direction: reverse; animation-duration: 36s; }
  .eco-counter { transform-origin:center; animation: spin 28s linear infinite reverse; }
  .eco-counter.rev { animation-direction: normal; animation-duration: 36s; }
  .eco-ring-flow { stroke-dasharray: 4 8; animation: ecoDash 7s linear infinite; }
  .eco-link-soft { stroke-dasharray: 2 7; animation: ecoDash 6.5s linear infinite; }
  .eco-sat { animation: ecoSatFloat 8.5s ease-in-out infinite; }
  .eco-sat.s2 { animation-duration: 10s; animation-delay: -2.2s; }
  .eco-sat.s3 { animation-duration: 9.4s; animation-delay: -4s; }
  .eco-sat.s4 { animation-duration: 11.2s; animation-delay: -1.3s; }
  .eco-pulse { animation: ecoPulse 2.8s ease-in-out infinite; transform-origin: center; }
  .eco-pulse.s2 { animation-delay: -1.4s; }
  .eco-halo { animation: ecoHalo 3.4s ease-out infinite; transform-origin: center; }
  @keyframes ecoFloat { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(-8px); } }
  @keyframes ecoSatFloat { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(-5px); } }
  @keyframes ecoDash { to { stroke-dashoffset: -96; } }
  @keyframes ecoPulse { 0%,100% { opacity: .42; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } }
  @keyframes ecoHalo  { 0% { opacity: .55; transform: scale(.86); } 100% { opacity: 0; transform: scale(1.28); } }
  .scroll-cue { animation:scrollBob 2.8s ease-in-out infinite; }
  @keyframes scrollBob { 0%,100%{transform:translateY(0);opacity:.5} 55%{transform:translateY(6px);opacity:.9} }
  .hero-trust { opacity:0; }
  @media (max-width: 1024px) {
    #hero-section .hero-stat-card { padding: .82rem .62rem; }
    #hero-section .hero-stat-card .stat-num { font-size: 1.28rem; }
    #hero-section .hero-chip { font-size: 11px; }
    #hero-section #heroIllus { max-width: 440px; }
  }
  @media (max-width: 640px) {
    #hero-section .hero-copy { align-items: center; text-align: center; }
    #hero-section .hero-badge { align-self: center; }
    #hero-section .hero-cta { justify-content: center; gap: .6rem; }
    #hero-section .hero-cta .btn { width: min(100%, 230px); justify-content: center; }
    #hero-section .hero-stats { width: 100%; max-width: 430px; margin-left: auto; margin-right: auto; }
    #hero-section .hero-trust { display: none !important; }
    #hero-section .solution-matrix { opacity: .8; }
    #hero-section .hero-sub { max-width: 100%; }
    #hero-section .hero-stat-card { border-radius: 14px; }
    #hero-section .hero-ray::before,
    #hero-section .hero-ray::after { opacity: .7; }
  }
  @media (prefers-reduced-motion:reduce) {
    .hero-ray::before,.hero-ray::after,.hero-badge::after,.hero-conn-line,.solution-matrix,.solution-grid-line,.solution-node,.office-kit,.office-paper-flow,.office-pencil,.hero-eco,.eco-orbit,.eco-counter,.eco-ring-flow,.eco-link-soft,.eco-sat,.eco-pulse,.eco-halo,.scroll-cue{animation:none!important}
    .hero-badge,.hero-h1,.hero-sub,.hero-cta,.hero-stat,.hero-chip,.hero-illus,.hero-trust{opacity:1!important;transform:none!important}
  }
  /* =================================================================== */

  /* Badge pulse */
  .pulse-dot { position: relative; }
  .pulse-dot::before { content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid currentColor; opacity:.6; animation: pulse 1.8s ease-out infinite; }
  @keyframes pulse { 0% { transform: scale(.6); opacity:.7;} 100% { transform: scale(1.6); opacity:0;} }

  /* Magnetic wrapper hint */
  .magnetic { will-change: transform; transition: transform .25s ease; }

  /* Card lift with sheen */
  .card-sheen { position: relative; overflow: hidden; }
  .card-sheen::before {
    content:""; position:absolute; top:0; left:-150%; width:60%; height:100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.08), transparent);
    transform: skewX(-20deg); transition: left .9s ease;
  }
  .card-sheen:hover::before { left: 150%; }

  /* Section title char reveal */
  .split-char { display: inline-block; opacity: 0; transform: translateY(28px) rotateX(-30deg); transform-origin: 0% 100%; }

  /* Animated SVG floating icons in hero (independent of GSAP for snappy feel) */
  @keyframes orbitA { from { transform: rotate(0) translateX(180px) rotate(0); } to { transform: rotate(360deg) translateX(180px) rotate(-360deg); } }

  /* Marquee speed variant on hover */
  .marquee-host:hover .marquee { animation-play-state: paused; }

  /* Section divider sparkle */
  .divider { height:1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent); }

  /* Process step active pulse */
  .step-num { position: relative; }
  .step-num::after { content:""; position:absolute; inset:-6px; border-radius:18px; border:1px solid rgba(255,255,255,.18); animation: pulse 2.4s ease-out infinite; }

  /* (scrollbar-width merged into primary .h-scroll rule above) */

  /* === Products premium (image-led, colorful) === */
  .prod-tab { padding: 9px 16px; border-radius: 999px; font-size: 12.5px; font-weight: 500;
    color: rgba(255,255,255,.7); background: transparent; border: 0; position: relative; z-index: 1;
    transition: color .35s ease, transform .3s ease, box-shadow .35s ease; cursor: pointer; white-space: nowrap;
    scroll-snap-align: center; --tab-accent: #4258f5; }
  .prod-tab[data-cat="corporategifting"] { --tab-accent: #a78bfa; }
  .prod-tab[data-cat="officesupplies"]   { --tab-accent: #6178ff; }
  .prod-tab[data-cat="branding"]         { --tab-accent: #22d3ee; }
  .prod-tab[data-cat="printing"]         { --tab-accent: #34d399; }
  .prod-tab:hover { color:#fff; transform: translateY(-1px); }
  .prod-tab[data-active="true"] { color:#fff;
    background: linear-gradient(135deg, var(--tab-accent), color-mix(in oklab, var(--tab-accent) 55%, #22d3ee));
    box-shadow: 0 12px 28px -10px color-mix(in oklab, var(--tab-accent) 75%, transparent); }
  html.light .prod-tab { color: rgba(15,18,40,.65); }
  html.light .prod-tab:hover { color: #0f1228; }
  html.light .prod-tab[data-active="true"] { color:#fff; }

  /* ====== PROD TABS: RESPONSIVE SCROLLABLE + SLIDING INK ====== */
  /* Outer wrapper: overflow-x scroll, hides scrollbar */
  .prod-tabs-outer {
    position: relative; width: 100%;
    overflow-x: auto; overflow-y: visible;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
    padding: 0 12px;
  }
  .prod-tabs-outer::-webkit-scrollbar { display: none; }
  /* right fade */
  .prod-tabs-outer::after {
    content:""; position:absolute; right:12px; top:0; bottom:0; width:48px;
    background: linear-gradient(to left, rgba(6,7,13,.92), transparent);
    border-radius: 0 999px 999px 0;
    pointer-events:none; z-index:3;
    transition: opacity .3s; opacity:1;
  }
  .prod-tabs-outer.no-overflow::after { opacity:0; }

  /* Tabs: inline-flex so they shrink to content width and overflow the outer */
  .prod-tabs {
    position: relative;
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    scroll-snap-type: x proximity;
    gap: 6px !important;
    padding: 8px 12px !important;
  }

  /* Sliding ink pill */
  .prod-tab-ink {
    position: absolute;
    border-radius: 999px; pointer-events: none; z-index: 0;
    background: linear-gradient(135deg, var(--ink-c,#4258f5), color-mix(in oklab, var(--ink-c,#4258f5) 55%, #22d3ee));
    box-shadow: 0 10px 26px -8px color-mix(in oklab, var(--ink-c,#4258f5) 72%, transparent);
    transition: left .38s cubic-bezier(.4,0,.2,1), width .38s cubic-bezier(.4,0,.2,1),
                top .38s cubic-bezier(.4,0,.2,1), height .38s cubic-bezier(.4,0,.2,1),
                background .38s, box-shadow .38s;
    will-change: left, width;
  }
  /* (z-index, scroll-snap-align merged into primary .prod-tab rule above) */
  .prod-tabs .prod-tab[data-active="true"] { background: transparent !important; box-shadow: none !important; color:#fff !important; }

  .prod-card {
    position: relative; display: flex; flex-direction: column; gap: 0; padding: 0;
    border-radius: 18px; isolation: isolate; overflow: hidden;
    background:
      linear-gradient(180deg, color-mix(in oklab, var(--accent,#4258f5) 8%, rgba(255,255,255,.04)), color-mix(in oklab, var(--accent,#4258f5) 3%, rgba(255,255,255,.01)));
    border: 1px solid color-mix(in oklab, var(--accent,#4258f5) 18%, rgba(255,255,255,.08));
    text-decoration: none; color: inherit;
    transition: transform .55s cubic-bezier(.2,.8,.2,1), border-color .35s, box-shadow .35s;
    will-change: transform;
  }
  .prod-card:hover { transform: translateY(-8px);
    border-color: color-mix(in oklab, var(--accent,#4258f5) 45%, transparent);
    box-shadow: 0 30px 60px -22px color-mix(in oklab, var(--accent,#4258f5) 55%, rgba(0,0,0,.5)); }

  /* Rotating conic halo on hover */
  .prod-card::before { content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px;
    background: conic-gradient(from var(--a,0deg) at 50% 50%, color-mix(in oklab, var(--accent,#4258f5) 80%, transparent), #22d3ee, #a78bfa, color-mix(in oklab, var(--accent,#4258f5) 80%, transparent));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    opacity:0; transition: opacity .35s ease; z-index:5; pointer-events:none; }
  .prod-card:hover::before { opacity: 1; animation: svcSpin 6s linear infinite; }

  /* Image area */
  .prod-art {
    position: relative; aspect-ratio: 4/3; overflow: hidden;
    background:
      radial-gradient(closest-side at 70% 25%, color-mix(in oklab, var(--accent,#4258f5) 28%, transparent), transparent 70%),
      radial-gradient(closest-side at 20% 80%, color-mix(in oklab, var(--accent,#4258f5) 18%, transparent), transparent 70%),
      linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
  }
  .prod-art img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    transform: scale(1.02); transition: transform 1.1s cubic-bezier(.2,.8,.2,1), filter .55s;
    filter: saturate(1.05) contrast(1.02); z-index: 1;
  }
  .prod-card:hover .prod-art img { transform: scale(1.14) rotate(.5deg); filter: saturate(1.2) contrast(1.08); }
  .prod-art::before { content:""; position:absolute; inset:0; z-index: 2;
    background: linear-gradient(180deg, rgba(6,7,13,0) 35%, rgba(6,7,13,.5) 80%, rgba(6,7,13,.85) 100%); }
  .prod-art::after { content:""; position:absolute; inset:0; z-index: 3; pointer-events:none;
    background: radial-gradient(220px circle at var(--mx,50%) var(--my,50%), color-mix(in oklab, var(--accent,#4258f5) 40%, transparent), transparent 60%);
    opacity: 0; transition: opacity .4s ease; mix-blend-mode: screen; }
  .prod-card:hover .prod-art::after { opacity: 1; }

  /* Decorative corner glow */
  .prod-card .corner-glow {
    position: absolute; right: -30px; top: -30px; width: 130px; height: 130px; border-radius: 50%;
    background: radial-gradient(closest-side, color-mix(in oklab, var(--accent,#4258f5) 60%, transparent), transparent 70%);
    filter: blur(10px); opacity: 0; z-index: 3; pointer-events: none; mix-blend-mode: screen;
    transition: transform .8s ease, opacity .5s ease;
  }
  .prod-card:hover .corner-glow { transform: scale(1.4); opacity: .85; }

  /* Icon badge (top-left over image) */
  .prod-icon {
    position: absolute; top: 12px; left: 12px; z-index: 5; width: 40px; height: 40px; border-radius: 12px;
    display: grid; place-items: center;
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent,#4258f5) 75%, transparent), color-mix(in oklab, var(--accent,#4258f5) 30%, rgba(0,0,0,.4)));
    border: 1px solid color-mix(in oklab, var(--accent,#4258f5) 50%, transparent);
    color: #fff; backdrop-filter: blur(8px);
    box-shadow: 0 8px 22px -8px color-mix(in oklab, var(--accent,#4258f5) 75%, transparent);
    transition: transform .55s cubic-bezier(.2,.9,.2,1.2), box-shadow .35s;
  }
  .prod-icon::before {
    content:""; position:absolute; inset:-6px; border-radius: 16px;
    border: 1.5px dashed color-mix(in oklab, var(--accent,#4258f5) 60%, transparent);
    opacity: 0; transition: opacity .4s ease, transform .8s ease;
  }
  .prod-card:hover .prod-icon { transform: rotate(-8deg) scale(1.08);
    box-shadow: 0 14px 30px -8px color-mix(in oklab, var(--accent,#4258f5) 80%, transparent); }
  .prod-card:hover .prod-icon::before { opacity: 1; transform: rotate(45deg); }
  .prod-icon svg { width: 20px; height: 20px; }

  /* Per-icon micro animations on hover */
  .prod-card:hover .ic-pulse  { animation: icPulse  .7s ease-out; }
  .prod-card:hover .ic-spin   { animation: icSpin   .9s ease-in-out; }
  .prod-card:hover .ic-bounce { animation: icBounce .7s cubic-bezier(.3,1.6,.3,1); }
  .prod-card:hover .ic-draw   { animation: icDraw 1.2s ease forwards; }
  .prod-card:hover .ic-tilt   { animation: icTilt   .9s ease; }
  @keyframes icPulse  { 0%,100% { transform: scale(1); } 50% { transform: scale(1.18); } }
  @keyframes icSpin   { from { transform: rotate(0); } to { transform: rotate(360deg); } }
  @keyframes icBounce { 0% { transform: translateY(0); } 40% { transform: translateY(-4px); } 70% { transform: translateY(2px); } 100% { transform: translateY(0); } }
  @keyframes icDraw   { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
  @keyframes icTilt   { 0% { transform: rotate(0); } 30% { transform: rotate(-12deg); } 70% { transform: rotate(8deg); } 100% { transform: rotate(0); } }
  .ic-draw { stroke-dasharray: 100; stroke-dashoffset: 0; }

  /* Tag pill (top-right over image) */
  .prod-tag {
    position: absolute; top: 14px; right: 14px; z-index: 5;
    font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    padding: 4px 10px 4px 18px; border-radius: 999px;
    background: rgba(0,0,0,.45); backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.18); color: #fff;
  }
  .prod-tag::before {
    content:""; position:absolute; left: 7px; top:50%; transform: translateY(-50%);
    width: 5px; height: 5px; border-radius: 50%; background: var(--accent,#34d399);
    box-shadow: 0 0 0 0 color-mix(in oklab, var(--accent,#34d399) 65%, transparent);
    animation: prodDot 1.8s ease-out infinite;
  }
  @keyframes prodDot {
    0%   { box-shadow: 0 0 0 0   color-mix(in oklab, var(--accent,#34d399) 65%, transparent); }
    70%  { box-shadow: 0 0 0 8px transparent; }
    100% { box-shadow: 0 0 0 0   transparent; }
  }

  /* Body */
  .prod-body { position: relative; z-index: 4; padding: 12px 14px 14px; display:flex; flex-direction:column; gap: 4px; }
  .prod-cat { font-size: 9.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
    color: color-mix(in oklab, var(--accent,#4258f5) 75%, white); }
  .prod-title { font-family:'Sora',sans-serif; font-weight: 600; font-size: 14.5px; line-height: 1.3; color: #fff;
    transition: color .35s ease; }
  .prod-card:hover .prod-title { color: var(--accent, #8aa1ff); }
  .prod-meta { margin-top: 8px; padding-top: 10px; display:flex; align-items:center; justify-content: space-between;
    font-size: 11px; color: rgba(255,255,255,.55);
    border-top: 1px dashed color-mix(in oklab, var(--accent,#4258f5) 22%, transparent); }
  .prod-arrow { width: 26px; height: 26px; border-radius: 999px; display:grid; place-items:center;
    background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color: #fff;
    transition: transform .45s cubic-bezier(.2,.9,.2,1.2), background .35s, box-shadow .35s; }
  .prod-arrow svg { width: 11px; height: 11px; }
  .prod-card:hover .prod-arrow {
    background: linear-gradient(135deg, var(--accent,#4258f5), color-mix(in oklab, var(--accent,#4258f5) 40%, #22d3ee));
    transform: translateX(4px);
    box-shadow: 0 10px 18px -8px color-mix(in oklab, var(--accent,#4258f5) 70%, transparent); }

  html.light .prod-card { background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.6));
    border-color: color-mix(in oklab, var(--accent,#4258f5) 18%, rgba(15,18,40,.08)); }
  html.light .prod-cat   { color: color-mix(in oklab, var(--accent,#4258f5) 65%, #0f1228); }
  html.light .prod-meta  { color: rgba(15,18,40,.55); border-top-color: color-mix(in oklab, var(--accent,#4258f5) 22%, rgba(15,18,40,.08)); }
  html.light .prod-arrow { background: rgba(15,18,40,.04); border-color: rgba(15,18,40,.08); color: #0f1228; }

  .prod-card.is-out { display: none !important; }

  /* === Core Services v2 === */
  .svc2-card {
    position: relative; overflow: hidden; isolation: isolate;
    border-radius: 20px; padding: 20px 18px 18px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 18px 44px -28px rgba(10,14,44,.65), inset 0 1px 0 rgba(255,255,255,.05);
    transition: transform .45s cubic-bezier(.2,.9,.2,1), box-shadow .35s, border-color .35s;
    cursor: default; will-change: transform, opacity;
  }
  .svc2-card:hover {
    transform: translateY(-6px);
    border-color: color-mix(in oklab, var(--c, #8aa1ff) 35%, rgba(255,255,255,.1));
    box-shadow: 0 28px 60px -22px rgba(10,14,44,.75), 0 0 0 1px color-mix(in oklab, var(--c, #8aa1ff) 28%, transparent), inset 0 1px 0 rgba(255,255,255,.08);
  }
  /* Left accent bar */
  .svc2-accent {
    position: absolute; top: 0; left: 0; bottom: 0; width: 3px;
    background: linear-gradient(180deg, var(--ca), var(--cb));
    border-radius: 20px 0 0 20px;
  }
  /* Top row: icon + ghost number */
  .svc2-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
  .svc2-title-row { display: flex; align-items: center; gap: 12px; }
  /* Icon */
  .svc2-ico {
    width: 44px; height: 44px; border-radius: 13px; flex: 0 0 auto;
    display: grid; place-items: center;
    background: color-mix(in oklab, var(--c, #8aa1ff) 16%, transparent);
    color: var(--c, #8aa1ff);
    border: 1px solid color-mix(in oklab, var(--c, #8aa1ff) 28%, transparent);
    transition: transform .4s cubic-bezier(.2,.9,.2,1.2), box-shadow .35s;
  }
  .svc2-card:hover .svc2-ico {
    transform: rotate(-8deg) scale(1.1);
    box-shadow: 0 6px 22px -6px var(--c, #8aa1ff);
  }
  /* Ghost number */
  .svc2-num {
    font-family: 'Sora', sans-serif; font-weight: 800; font-size: 30px; line-height: 1;
    color: rgba(255,255,255,.07); letter-spacing: -.03em; user-select: none;
    transition: color .35s;
  }
  .svc2-card:hover .svc2-num { color: rgba(255,255,255,.13); }
  /* Title & desc */
  .svc2-title {
    font-family: 'Sora', sans-serif; font-weight: 700; font-size: 15.5px; line-height: 1.25;
    margin-bottom: 0;
  }
  .svc2-desc { font-size: 13px; color: rgba(255,255,255,.62); line-height: 1.58; }
  /* CTA */
  .svc2-cta {
    margin-top: 14px; display: inline-flex; align-items: center; gap: 6px;
    font-size: 12.5px; font-weight: 600; color: var(--c, #8aa1ff);
    transition: gap .3s ease; text-decoration: none; cursor: pointer;
  }
  .svc2-card:hover .svc2-cta { gap: 10px; }
  /* Spotlight radial overlay */
  .svc2-card::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(260px circle at var(--mx,50%) var(--my,30%), rgba(255,255,255,.06), transparent 70%);
    opacity: 0; transition: opacity .4s ease;
  }
  .svc2-card:hover::after { opacity: 1; }
  /* Sheen sweep */
  .svc2-card::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(108deg, transparent 28%, rgba(255,255,255,.2) 48%, transparent 68%);
    transform: translateX(-140%); opacity: 0;
  }
  .svc2-card.is-live::before { animation: svc2Sweep 1.1s ease; opacity: 1; }
  @keyframes svc2Sweep {
    0%   { transform: translateX(-140%); opacity: 0; }
    18%  { opacity: .85; }
    100% { transform: translateX(140%); opacity: 0; }
  }
  /* Section header entrance targets */
  .svc2-header-block > * { opacity: 0; transform: translateY(20px); }
  .svc2-header-block.is-in > * { opacity: 1; transform: none; transition: opacity .65s ease, transform .65s ease; }
  .svc2-header-block.is-in > *:nth-child(2) { transition-delay: .12s; }
  /* Light mode */
  html.light .svc2-card {
    background: rgba(255,255,255,.72);
    border-color: rgba(15,18,40,.09);
    box-shadow: 0 14px 40px -24px rgba(15,18,40,.18), inset 0 1px 0 rgba(255,255,255,.9);
  }
  html.light .svc2-card:hover { border-color: rgba(15,18,40,.16); }
  html.light .svc2-desc { color: rgba(15,18,40,.62); }
  html.light .svc2-num  { color: rgba(15,18,40,.07); }
  html.light .svc2-card:hover .svc2-num { color: rgba(15,18,40,.14); }
  @media (max-width: 767.98px) { #services { padding-top: 60px; padding-bottom: 60px; } }
  @media (prefers-reduced-motion: reduce) {
    .svc2-card, .svc2-ico, .svc2-cta { transition: none !important; }
    .svc2-card.is-live::before { animation: none !important; }
  }

  /* === How We Work (Process) === */
  .proc2-glow--l {
    position: absolute; pointer-events: none; z-index: 0;
    left: -14%; top: 15%; width: 50%; height: 65%;
    background: radial-gradient(ellipse at 40% 50%, rgba(66,88,245,.2), transparent 65%);
    filter: blur(58px);
  }
  .proc2-glow--r {
    position: absolute; pointer-events: none; z-index: 0;
    right: -10%; bottom: 8%; width: 44%; height: 58%;
    background: radial-gradient(ellipse at 60% 50%, rgba(34,211,238,.16), transparent 65%);
    filter: blur(62px);
  }

  /* Progress track (xl only) */
  .proc2-wrap { position: relative; padding-top: 24px; }
  .proc2-track {
    display: none;
    position: absolute; top: 0; left: 12.5%; right: 12.5%;
    height: 2px; pointer-events: none;
  }
  @media (min-width: 1280px) { .proc2-track { display: block; } }
  .proc2-track-bar {
    position: absolute; inset: 0;
    background: rgba(255,255,255,.07); border-radius: 99px;
  }
  .proc2-track-fill {
    position: absolute; inset: 0 100% 0 0;
    background: linear-gradient(90deg, #4258f5, #22d3ee 50%, #a78bfa 75%, #34d399);
    border-radius: 99px;
    transition: right 1.6s cubic-bezier(.4,0,.2,1);
  }
  .proc2-wrap.in .proc2-track-fill { right: 0; }
  .proc2-track-node {
    position: absolute; top: 50%; transform: translate(-50%, -50%);
    width: 10px; height: 10px; border-radius: 50%;
    background: linear-gradient(135deg, #4258f5, #22d3ee);
    border: 2px solid var(--bg-base, #0b0d17);
    left: calc(var(--n) * 33.33%);
    opacity: 0; scale: 0;
    transition: opacity .4s ease calc(var(--n) * .3s), scale .4s cubic-bezier(.2,.9,.2,1.3) calc(var(--n) * .3s);
  }
  .proc2-wrap.in .proc2-track-node { opacity: 1; scale: 1; }

  /* Card */
  .proc2-step { position: relative; will-change: transform, opacity; display: flex; }
  .proc2-grid { grid-auto-rows: 1fr; }
  .proc2-card {
    position: relative; overflow: hidden; width: 100%;
    border-radius: 20px; padding: 20px 18px 18px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.09);
    box-shadow: 0 20px 50px -30px rgba(10,14,44,.7), inset 0 1px 0 rgba(255,255,255,.06);
    transition: transform .45s cubic-bezier(.2,.9,.2,1), box-shadow .35s, border-color .35s;
    cursor: default;
  }
  .proc2-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255,255,255,.18);
    box-shadow: 0 32px 65px -28px rgba(10,14,44,.8), inset 0 1px 0 rgba(255,255,255,.08);
  }
  /* Colored top accent bar */
  .proc2-accent {
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--ca), var(--cb));
    border-radius: 20px 20px 0 0;
  }
  /* Header row */
  .proc2-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
  .proc2-title-row { display: flex; align-items: center; gap: 12px; }
  /* Icon */
  .proc2-ico {
    width: 44px; height: 44px; border-radius: 13px; flex: 0 0 auto;
    display: grid; place-items: center;
    background: color-mix(in oklab, var(--c, #8aa1ff) 16%, transparent);
    color: var(--c, #8aa1ff);
    border: 1px solid color-mix(in oklab, var(--c, #8aa1ff) 28%, transparent);
    transition: transform .4s cubic-bezier(.2,.9,.2,1.2), box-shadow .35s;
  }
  .proc2-card:hover .proc2-ico {
    transform: rotate(-8deg) scale(1.1);
    box-shadow: 0 6px 22px -6px var(--c, #8aa1ff);
  }
  /* Ghost step number */
  .proc2-num {
    font-family: 'Sora', sans-serif; font-weight: 800; font-size: 30px; line-height: 1;
    color: rgba(255,255,255,.07); letter-spacing: -.03em; user-select: none;
    transition: color .35s;
  }
  .proc2-card:hover .proc2-num { color: rgba(255,255,255,.13); }
  /* Title & desc */
  .proc2-title {
    margin: 0;
    font-family: 'Sora', sans-serif; font-weight: 700; font-size: 15.5px; line-height: 1.25;
  }
  .proc2-desc {
    margin-top: 8px; font-size: 13px; color: rgba(255,255,255,.62); line-height: 1.58;
  }
  /* Sheen sweep on active */
  .proc2-card::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(108deg, transparent 28%, rgba(255,255,255,.22) 48%, transparent 68%);
    transform: translateX(-140%); opacity: 0; pointer-events: none;
  }
  .proc2-step.is-live .proc2-card::after {
    animation: proc2Sweep 1.1s ease; opacity: 1;
  }
  @keyframes proc2Sweep {
    0%   { transform: translateX(-140%); opacity: 0; }
    18%  { opacity: .85; }
    100% { transform: translateX(140%); opacity: 0; }
  }
  /* Light mode */
  html.light .proc2-card {
    background: rgba(255,255,255,.72);
    border-color: rgba(15,18,40,.09);
    box-shadow: 0 16px 44px -28px rgba(15,18,40,.2), inset 0 1px 0 rgba(255,255,255,.9);
  }
  html.light .proc2-card:hover { border-color: rgba(15,18,40,.18); }
  html.light .proc2-desc { color: rgba(15,18,40,.62); }
  html.light .proc2-num  { color: rgba(15,18,40,.07); }
  html.light .proc2-card:hover .proc2-num { color: rgba(15,18,40,.14); }
  /* Mobile */
  @media (max-width: 767.98px) {
    #process { padding-top: 64px; padding-bottom: 64px; }
    .proc2-wrap { padding-top: 0; }
    .proc2-card { padding: 16px 14px 14px; }
    .proc2-title { font-size: 14.5px; }
    .proc2-desc { font-size: 12.5px; }
    .proc2-num { font-size: 24px; }
    .proc2-ico { width: 40px; height: 40px; border-radius: 11px; }
  }
  /* Reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .proc2-card, .proc2-ico { transition: none !important; }
    .proc2-track-fill { transition: none !important; }
    .proc2-track-node { transition: none !important; }
    .proc2-step.is-live .proc2-card::after { display: none; }
  }

  /* About section premium animations */
  .about-list li { opacity: 0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease; }
  .about-list li.in { opacity: 1; transform: none; }
  .about-list .check svg { transform: scale(.5); opacity: 0; transition: transform .45s cubic-bezier(.2,.9,.2,1.2) .1s, opacity .35s ease .1s; }
  .about-list li.in .check svg { transform: scale(1); opacity: 1; }
  .check-path { stroke-dasharray: 36; stroke-dashoffset: 36; transition: stroke-dashoffset .55s ease .35s; }
  .about-list li.in .check-path { stroke-dashoffset: 0; }
  .about-draw { stroke-dasharray: 240; stroke-dashoffset: 240; }
  .about-visual.in .about-draw { animation: aboutDraw 1.4s ease forwards; }
  .about-visual.in .about-draw:nth-of-type(2) { animation-delay: .2s; }
  .about-visual.in .about-draw:nth-of-type(3) { animation-delay: .4s; }
  @keyframes aboutDraw { to { stroke-dashoffset: 0; } }

  /* About: extra premium micro-animations */
  .ab-node-ping { animation: abNodePing 2.4s ease-in-out infinite; transform-origin: center; }
  .ab-node-ping.s2 { animation-delay: -.8s; }
  .ab-node-ping.s3 { animation-delay: -1.6s; }
  .ab-data-beam { stroke-dasharray: 3 8; animation: abBeam 3.6s linear infinite; }
  .ab-data-beam.s2 { animation-delay: -1.2s; }
  .ab-data-beam.s3 { animation-delay: -2.2s; }
  @keyframes abNodePing {
    0%,100% { opacity: .35; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.45); }
  }
  @keyframes abBeam { to { stroke-dashoffset: -44; } }

  /* === About visual premium border === */
  .about-visual { isolation: isolate; }
  .about-visual::before {
    content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px;
    background: conic-gradient(from var(--ac, 0deg), transparent 0deg, #6178ff 80deg, #22d3ee 160deg, #a78bfa 240deg, transparent 320deg);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    opacity: .8; pointer-events: none; z-index: 4;
    animation: aboutBorder 10s linear infinite;
  }
  @property --ac { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
  @keyframes aboutBorder { to { --ac: 360deg; } }

  /* About section compact + responsive */
  #about .about-grid { gap: 20px; }
  #about .about-content { padding: 22px 22px 24px; }
  #about .about-pillars { margin-top: 16px; gap: 8px; }
  #about .about-actions { margin-top: 18px; }
  #about .about-actions .btn { padding: 10px 16px; }
  @media (max-width: 1024px) {
    #about { padding-top: 64px; padding-bottom: 66px; }
    #about .about-head { margin-bottom: 28px; gap: 12px; }
    #about .about-content { padding: 18px 16px 20px; }
    #about .about-visual-wrap { aspect-ratio: 5 / 4; }
  }
  @media (max-width: 640px) {
    #about { padding-top: 54px; padding-bottom: 56px; }
    #about .about-head h2 { font-size: 31px; }
    #about .about-head p { font-size: 14px; }
    #about .about-list { gap: 10px; }
    #about .about-list li { padding: 12px; }
    #about .about-pillars { grid-template-columns: repeat(3, minmax(0,1fr)); }
    #about .about-pillars > div { padding: 10px 8px; border-radius: 12px; }
    #about .about-actions { gap: 8px; }
    #about .about-actions .btn { width: calc(50% - 4px); justify-content: center; padding: 10px 8px; }
  }

  /* Shared premium animations (used by VMGO horizon/outreach/target) */
  @keyframes lineDraw { to { stroke-dashoffset: 0; } }
  @keyframes nodePulse { 0%,100% { transform: scale(1); filter: drop-shadow(0 0 4px currentColor); } 50% { transform: scale(1.4); filter: drop-shadow(0 0 12px currentColor); } }
  @keyframes pulseGlow { 0%,100% { opacity: .6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.06); } }

  /* Status chip pulse */
  .status-chip { display:inline-flex; align-items:center; gap:6px; }
  .status-chip .dot { width:7px; height:7px; border-radius:50%; background:#34d399;
    box-shadow: 0 0 0 0 rgba(52,211,153,.65); animation: chipPing 1.8s ease-out infinite; }
  @keyframes chipPing { 0%{box-shadow:0 0 0 0 rgba(52,211,153,.65);} 70%{box-shadow:0 0 0 10px transparent;} 100%{box-shadow:0 0 0 0 transparent;} }

  /* About stat ring */
  .about-stat-ring { position: relative; }
  .about-stat-ring svg { width: 44px; height: 44px; transform: rotate(-90deg); }
  .about-stat-ring .ring-bg { fill: none; stroke: rgba(255,255,255,.08); stroke-width: 4; }
  .about-stat-ring .ring-fg {
    fill: none; stroke: url(#aboutRingGrad); stroke-width: 4; stroke-linecap: round;
    stroke-dasharray: 126; stroke-dashoffset: 126;
    transition: stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1);
  }
  html.light .about-stat-ring .ring-bg { stroke: rgba(15,18,40,.1); }

  /* === Vision / Mission / Goals / Outreach === */
  #vmgo { position: relative; }
  .vmgo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
  @media (max-width: 1100px) { .vmgo-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px)  { .vmgo-grid { grid-template-columns: 1fr; } }

  .vmgo-card {
    position: relative; padding: 22px 22px 24px; border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    overflow: hidden; isolation: isolate;
    transition: transform .5s cubic-bezier(.2,.8,.2,1), border-color .35s, box-shadow .35s;
  }
  .vmgo-card:hover { transform: translateY(-6px); border-color: rgba(34,211,238,.35); box-shadow: 0 30px 60px -28px rgba(34,211,238,.4), 0 8px 24px -10px rgba(0,0,0,.5); }
  html.light .vmgo-card { background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.65)); border-color: rgba(15,18,40,.08); }

  .vmgo-card::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    background: radial-gradient(220px 160px at var(--mx,50%) var(--my,30%), rgba(34,211,238,.18), transparent 60%);
    opacity: 0; transition: opacity .35s ease; z-index: 0;
  }
  .vmgo-card:hover::after { opacity: 1; }
  .vmgo-card > * { position: relative; z-index: 1; }

  .vmgo-num {
    position: absolute; top: 14px; right: 18px;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10px; letter-spacing: .14em; color: rgba(255,255,255,.35);
  }
  html.light .vmgo-num { color: rgba(15,18,40,.4); }

  .vmgo-icon {
    position: relative; width: 46px; height: 46px; border-radius: 13px;
    display: grid; place-items: center; color:#fff; flex-shrink: 0;
    background: linear-gradient(135deg, var(--g1, #4258f5), var(--g2, #22d3ee));
    box-shadow: 0 14px 30px -14px var(--g2, #22d3ee);
  }
  .vmgo-icon::before {
    content:""; position:absolute; inset:-2px; border-radius: inherit;
    background: conic-gradient(from var(--vc,0deg), transparent 0deg, var(--g2,#22d3ee) 90deg, var(--g1,#4258f5) 180deg, transparent 270deg);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude; padding: 2px;
    opacity:.5; animation: aboutBorder 6s linear infinite;
  }
  @property --vc { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
  .vmgo-icon svg { width: 22px; height: 22px; position: relative; z-index: 1; }

  .vmgo-head { display: flex; align-items: center; gap: 12px; padding-right: 80px; }
  .vmgo-card h3 { font-family: 'Sora','Plus Jakarta Sans',system-ui,sans-serif; font-weight: 700; font-size: 19px; margin: 0; letter-spacing: -.01em; line-height: 1.2; }
  .vmgo-card p { font-size: 13.5px; line-height: 1.65; color: rgba(255,255,255,.65); margin-top: 8px; position: relative; z-index: 1; }
  html.light .vmgo-card p { color: rgba(15,18,40,.7); }

  .vmgo-tags { margin-top: 12px; display: flex; flex-wrap: nowrap; gap: 4px; position: relative; z-index: 1; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
  .vmgo-tags::-webkit-scrollbar { display: none; }
  .vmgo-tag {
    flex-shrink: 0; white-space: nowrap;
    font-size: 9.5px; font-weight: 600; letter-spacing: .03em;
    padding: 3px 7px; border-radius: 999px; line-height: 1.3;
    background: rgba(255,255,255,.06); color: rgba(255,255,255,.78);
    border: 1px solid rgba(255,255,255,.08);
  }
  html.light .vmgo-tag { background: rgba(15,18,40,.05); color: rgba(15,18,40,.78); border-color: rgba(15,18,40,.08); }

  /* Goals progress */
  .goal-row { margin-top: 12px; }
  .goal-row + .goal-row { margin-top: 10px; }
  .goal-head { display: flex; justify-content: space-between; font-size: 11px; letter-spacing: .04em; color: rgba(255,255,255,.7); margin-bottom: 4px; font-weight: 500; }
  html.light .goal-head { color: rgba(15,18,40,.7); }
  .goal-head b { color:#fff; font-variant-numeric: tabular-nums; font-weight: 700; }
  html.light .goal-head b { color:#0f1228; }
  .goal-bar { height: 6px; border-radius: 999px; background: rgba(255,255,255,.06); overflow: hidden; position: relative; }
  html.light .goal-bar { background: rgba(15,18,40,.08); }
  .goal-bar i {
    display: block; height: 100%; width: 0%;
    background: linear-gradient(90deg, #6178ff, #22d3ee, #a78bfa);
    background-size: 200% 100%;
    border-radius: inherit;
    animation: goalShimmer 4s linear infinite;
    transition: width 1.6s cubic-bezier(.2,.8,.2,1);
    box-shadow: 0 0 14px rgba(34,211,238,.4);
  }
  @keyframes goalShimmer { to { background-position: 200% 0; } }

  /* Outreach map hubs */
  .outreach-map { position: relative; margin-top: 14px; height: 130px; border-radius: 14px;
    background: radial-gradient(120% 80% at 60% 30%, rgba(97,120,255,.22), transparent 60%), rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.06); overflow: hidden;
  }
  html.light .outreach-map { background: radial-gradient(120% 80% at 60% 30%, rgba(97,120,255,.18), transparent 60%), rgba(15,18,40,.04); border-color: rgba(15,18,40,.08); }
  .outreach-map svg { width: 100%; height: 100%; }
  .om-path { stroke: rgba(255,255,255,.18); stroke-width: 1; fill: rgba(255,255,255,.04); }
  html.light .om-path { stroke: rgba(15,18,40,.18); fill: rgba(15,18,40,.04); }
  .om-hub { transform-box: fill-box; transform-origin: center; animation: nodePulse 2.4s ease-in-out infinite; }
  .om-hub.h2 { animation-delay: -.4s; }
  .om-hub.h3 { animation-delay: -.8s; }
  .om-hub.h4 { animation-delay: -1.2s; }
  .om-hub.h5 { animation-delay: -1.6s; }
  .om-hub.h6 { animation-delay: -2.0s; }
  .om-link { stroke-dasharray: 120; stroke-dashoffset: 120; opacity: .35; }
  .vmgo-card.in .om-link { animation: lineDraw 1.4s ease forwards; opacity: 1; }

  /* Vision horizon */
  .horizon { position: relative; height: 70px; margin-top: 14px; border-radius: 12px; overflow: hidden;
    background: linear-gradient(180deg, rgba(167,139,250,.12), rgba(34,211,238,.05));
    border: 1px solid rgba(255,255,255,.06);
  }
  html.light .horizon { border-color: rgba(15,18,40,.08); background: linear-gradient(180deg, rgba(167,139,250,.18), rgba(34,211,238,.06)); }
  .horizon svg { width: 100%; height: 100%; }
  .horizon-line { stroke: url(#horizonGrad); stroke-width: 1.6; fill: none;
    stroke-dasharray: 600; stroke-dashoffset: 600;
  }
  .vmgo-card.in .horizon-line { animation: lineDraw 2s ease forwards; }
  .horizon-sun { transform-box: fill-box; transform-origin: center;
    animation: pulseGlow 3.2s ease-in-out infinite;
  }

  /* Mission target lock */
  .target-wrap { position: relative; height: 96px; margin-top: 14px; display:grid; place-items:center; }
  .target-wrap svg { width: 96px; height: 96px; }
  .target-ring { fill: none; stroke: rgba(255,255,255,.18); stroke-width: 1.4; }
  html.light .target-ring { stroke: rgba(15,18,40,.18); }
  .target-active { stroke: url(#missionGrad); stroke-width: 2; fill: none;
    stroke-dasharray: 220; stroke-dashoffset: 220;
  }
  .vmgo-card.in .target-active { animation: lineDraw 1.4s ease forwards; }
  .target-cross { stroke: rgba(255,255,255,.4); stroke-width: 1; }
  html.light .target-cross { stroke: rgba(15,18,40,.4); }
  .target-dot {
    transform-box: fill-box; transform-origin: center;
    animation: nodePulse 2s ease-in-out infinite;
  }

    /* ====== WHY CHOOSE US v2 ====== */
  .why2-glow--l {
    position: absolute; pointer-events: none; z-index: 0;
    left: -12%; top: 20%; width: 48%; height: 60%;
    background: radial-gradient(ellipse at 40% 50%, rgba(66,88,245,.18), transparent 65%);
    filter: blur(56px);
  }
  .why2-glow--r {
    position: absolute; pointer-events: none; z-index: 0;
    right: -10%; bottom: 10%; width: 42%; height: 55%;
    background: radial-gradient(ellipse at 60% 50%, rgba(34,211,238,.14), transparent 65%);
    filter: blur(60px);
  }
  .why2-hdr > * { opacity: 0; transform: translateY(20px); }
  .why2-hdr.is-in > * { opacity: 1; transform: none; transition: opacity .65s ease, transform .65s ease; }
  .why2-hdr.is-in > *:nth-child(2) { transition-delay: .12s; }
  .why2-grid { grid-auto-rows: 1fr; }
  .why2-card {
    position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column;
    border-radius: 20px; padding: 20px 18px 18px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 18px 44px -28px rgba(10,14,44,.65), inset 0 1px 0 rgba(255,255,255,.05);
    transition: transform .45s cubic-bezier(.2,.9,.2,1), box-shadow .35s, border-color .35s;
    cursor: default; will-change: transform, opacity;
  }
  .why2-card:hover {
    transform: translateY(-6px);
    border-color: color-mix(in oklab, var(--c, #8aa1ff) 35%, rgba(255,255,255,.1));
    box-shadow: 0 28px 60px -22px rgba(10,14,44,.75), 0 0 0 1px color-mix(in oklab, var(--c, #8aa1ff) 28%, transparent), inset 0 1px 0 rgba(255,255,255,.08);
  }
  .why2-accent {
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--ca), var(--cb));
    border-radius: 20px 20px 0 0;
  }
  .why2-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
  .why2-title-row { display: flex; align-items: center; gap: 12px; }
  .why2-ico {
    width: 44px; height: 44px; border-radius: 13px; flex: 0 0 auto;
    display: grid; place-items: center;
    background: color-mix(in oklab, var(--c, #8aa1ff) 16%, transparent);
    color: var(--c, #8aa1ff);
    border: 1px solid color-mix(in oklab, var(--c, #8aa1ff) 28%, transparent);
    transition: transform .4s cubic-bezier(.2,.9,.2,1.2), box-shadow .35s;
  }
  .why2-card:hover .why2-ico { transform: rotate(-8deg) scale(1.1); box-shadow: 0 6px 22px -6px var(--c, #8aa1ff); }
  .why2-num {
    font-family: 'Sora', sans-serif; font-weight: 800; font-size: 30px; line-height: 1;
    color: rgba(255,255,255,.07); letter-spacing: -.03em; user-select: none; transition: color .35s;
  }
  .why2-card:hover .why2-num { color: rgba(255,255,255,.13); }
  .why2-title { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 15.5px; line-height: 1.25; margin-bottom: 0; }
  .why2-desc { font-size: 13px; color: rgba(255,255,255,.62); line-height: 1.58; flex: 1; }
  .why2-card::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(260px circle at var(--mx,50%) var(--my,30%), rgba(255,255,255,.06), transparent 70%);
    opacity: 0; transition: opacity .4s ease;
  }
  .why2-card:hover::after { opacity: 1; }
  .why2-card::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(108deg, transparent 28%, rgba(255,255,255,.2) 48%, transparent 68%);
    transform: translateX(-140%); opacity: 0;
  }
  .why2-card.is-live::before { animation: why2Sweep 1.1s ease; opacity: 1; }
  @keyframes why2Sweep {
    0%   { transform: translateX(-140%); opacity: 0; }
    18%  { opacity: .85; }
    100% { transform: translateX(140%); opacity: 0; }
  }
  html.light .why2-card { background: rgba(255,255,255,.72); border-color: rgba(15,18,40,.09); box-shadow: 0 14px 40px -24px rgba(15,18,40,.18), inset 0 1px 0 rgba(255,255,255,.9); }
  html.light .why2-card:hover { border-color: rgba(15,18,40,.16); }
  html.light .why2-desc { color: rgba(15,18,40,.62); }
  html.light .why2-num  { color: rgba(15,18,40,.07); }
  html.light .why2-card:hover .why2-num { color: rgba(15,18,40,.14); }
  @media (max-width: 767.98px) { #why { padding-top: 60px; padding-bottom: 60px; } }
  @media (prefers-reduced-motion: reduce) {
    .why2-card, .why2-ico { transition: none !important; }
    .why2-card.is-live::before { animation: none !important; }
  }

  /* Nav active link */
  #nav ul .nav-link {
    position: relative;
    padding-bottom: 3px;
  }
  #nav ul .nav-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 100%;
    height: 2px;
    background: #f59e0b;
    border-radius: 2px;
    transition: transform .25s ease, opacity .25s ease;
    opacity: 0;
  }
  #nav ul .nav-link.is-active {
    color: #f59e0b !important;
  }
  #nav ul .nav-link.is-active::after {
    transform: translateX(-50%) scaleX(1);
    opacity: 1;
  }
  html.light #nav ul .nav-link.is-active { color: #d97706 !important; }
  html.light #nav ul .nav-link.is-active::after { background: #d97706; }
  /* Mobile active */
  .mob-nav-link.is-active { color: #f59e0b; font-weight: 600; }
  html.light .mob-nav-link.is-active { color: #d97706; }

  /* Nav logo */
  .nav-logo-full {
    height: 64px;
    width: auto;
    object-fit: contain;
    flex-shrink: 0;
    filter: drop-shadow(0 0 10px rgba(255,255,255,.3)) drop-shadow(0 0 3px rgba(255,255,255,.5));
  }
  @media (min-width: 640px) { .nav-logo-full { height: 80px; } }
  html.light .nav-logo-full { filter: none; }

  /* Light theme fixes */

  /* About content light mode */
  html.light .about-corner-accent {
    background: radial-gradient(closest-side, rgba(245,158,11,.15), transparent 70%) !important;
  }
  html.light .about-pillars > div {
    border-color: rgba(15,18,40,.09);
  }
  html.light .about-content { background: rgba(255,255,255,.85); border-color: rgba(15,18,40,.08); }

  /* About visual light mode */
  html.light .about-bg-rect { fill: #fff8ef; }
  html.light .about-visual { background: linear-gradient(135deg, #fff8ef 0%, #f4f0ff 100%) !important; }
  html.light .about-visual .about-wave-lines path { stroke: rgba(30,58,138,.12) !important; }
  html.light .about-visual .ring-spin circle  { stroke: rgba(30,58,138,.12) !important; stroke-opacity: 1 !important; }
  html.light .about-visual .ring-spin-rev circle { stroke-opacity: .4 !important; }
  html.light .about-node-bg { fill: rgba(255,255,255,.95) !important; }

  /* Hero illustration light mode */
  html.light .illus-bg { fill: #fff8ef; }
  html.light .illus-inner { background: linear-gradient(135deg, #fff8ef 0%, #f4f0ff 100%); }
  html.light #heroIllus > div:first-child { box-shadow: 0 10px 40px -16px rgba(30,58,138,.18), 0 0 0 1px rgba(245,158,11,.15); }
  html.light .illus-orbit-rings circle { stroke: rgba(30,58,138,.11) !important; }
  html.light .eco-ring-flow { stroke: rgba(30,58,138,.16) !important; }
  html.light .solution-node,
  html.light .illus-node-bg { fill: rgba(255,255,255,.95) !important; }
  html.light .illus-kit-bg { fill: rgba(255,248,239,.9) !important; }

  html.light .text-grad {
    background: linear-gradient(90deg, #b45309, #d97706, #f59e0b, #d97706, #b45309);
    background-size: 200% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }

  html.light body { color: #0b0d17; }
  html.light .text-white\/90, html.light .text-white\/85 { color: rgba(11,13,23,.92) !important; }
  html.light .text-white\/80, html.light .text-white\/70, html.light .text-white\/65, html.light .text-white\/60, html.light .text-white\/55, html.light .text-white\/50, html.light .text-white\/45, html.light .text-white\/40 { color: rgba(11,13,23,.65) !important; }
  html.light .bg-aurora { opacity: .55; }
  html.light .dots { background-image: radial-gradient(rgba(15,18,40,.1) 1px, transparent 1px); opacity: .25; }
  html.light .cursor-dot { background:#0b0d17; }
  html.light .cursor-ring { border-color: rgba(11,13,23,.7); }

  /* ======================== CONTACT REDESIGN ======================== */
  .contact-glow  { position:absolute; pointer-events:none; width:700px; height:500px; background:radial-gradient(ellipse, rgba(66,88,245,.17) 0%, transparent 65%); top:-80px; right:-100px; z-index:0; }
  .contact-glow-2{ position:absolute; pointer-events:none; width:420px; height:420px; background:radial-gradient(ellipse, rgba(34,211,238,.11) 0%, transparent 65%); bottom:-70px; left:-80px; z-index:0; }

  /* Info cards */
  .contact-info-card {
    display:flex; align-items:center; gap:14px; padding:15px 18px; border-radius:16px;
    background:linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.09); backdrop-filter:blur(14px);
    text-decoration:none; color:inherit;
    transition:border-color .25s, background .25s, transform .25s, box-shadow .25s;
    position:relative; overflow:hidden;
  }
  .contact-info-card::before {
    content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
    background:linear-gradient(180deg,#4258f5,#22d3ee); border-radius:3px 0 0 3px;
    opacity:0; transition:opacity .25s;
  }
  .contact-info-card:hover { border-color:rgba(66,88,245,.38); background:linear-gradient(135deg,rgba(66,88,245,.1),rgba(34,211,238,.05)); transform:translateX(5px); box-shadow:0 8px 30px -8px rgba(66,88,245,.28); }
  .contact-info-card:hover::before { opacity:1; }
  .ci-icon { flex-shrink:0; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; }
  .ci-label { font-size:11px; color:rgba(255,255,255,.45); text-transform:uppercase; letter-spacing:.1em; line-height:1; margin-bottom:3px; }
  .ci-value { font-size:14px; font-weight:500; color:rgba(255,255,255,.9); line-height:1.4; }
  .ci-arrow { margin-left:auto; flex-shrink:0; color:rgba(255,255,255,.28); transition:color .2s, transform .2s; }
  .contact-info-card:hover .ci-arrow { transform:translateX(4px); color:#8aa1ff; }
  html.light .contact-info-card { background:rgba(255,255,255,.78); border-color:rgba(15,18,40,.1); }
  html.light .contact-info-card:hover { background:rgba(255,255,255,.96); border-color:rgba(66,88,245,.3); }
  html.light .ci-label { color:rgba(15,18,40,.45); }
  html.light .ci-value { color:#0b0d17; }

  /* Map */
  .contact-map-wrap { border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,.08); backdrop-filter:blur(12px); }
  .contact-map-header { display:flex; align-items:center; gap:8px; padding:10px 14px; background:rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.06); font-size:12px; font-weight:500; color:rgba(255,255,255,.62); }
  .contact-map-dot { width:8px; height:8px; border-radius:50%; background:#4258f5; box-shadow:0 0 7px #4258f5; animation:mapPulse 2s ease-in-out infinite; flex-shrink:0; }
  @keyframes mapPulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.55);opacity:.5} }
  .contact-map-frame { height:190px; }
  .contact-map-frame iframe { display:block; width:100%; height:100%; border:none; filter:invert(88%) hue-rotate(195deg) saturate(.45) brightness(.87); }
  html.light .contact-map-frame iframe { filter:none; }
  html.light .contact-map-header { color:rgba(15,18,40,.65); background:rgba(0,0,0,.04); border-color:rgba(15,18,40,.08); }

  /* Form card */
  .contact-form-card { position:relative; overflow:hidden; }
  .cf-tag { display:inline-flex; align-items:center; gap:6px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#8aa1ff; font-weight:600; margin-bottom:8px; }
  .cf-sub { font-size:13px; color:rgba(255,255,255,.5); margin-top:4px; }
  html.light .cf-sub { color:rgba(15,18,40,.55); }

  /* Success overlay */
  .cf-success-overlay {
    position:absolute; inset:0;
    background:linear-gradient(160deg, rgba(8,10,22,.97), rgba(8,10,25,.99));
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:32px; z-index:10; border-radius:inherit;
    animation:cfFadeIn .35s ease both;
  }
  .cf-success-overlay.hidden { display:none; }
  .cf-check {
    width:68px; height:68px; background:linear-gradient(135deg,#4258f5,#22d3ee);
    border-radius:50%; display:grid; place-items:center;
    font-size:28px; color:#fff; margin:0 auto 18px;
    animation:cfPopIn .55s cubic-bezier(.34,1.56,.64,1) .1s backwards;
    box-shadow:0 0 32px rgba(66,88,245,.5);
  }
  .cf-success-overlay h3 { font-size:1.4rem; font-weight:700; }
  .cf-success-overlay p  { color:rgba(255,255,255,.6); font-size:14px; margin-top:8px; }
  html.light .cf-success-overlay { background:linear-gradient(160deg,rgba(245,247,255,.98),rgba(240,244,255,.99)); }
  html.light .cf-success-overlay h3 { color:#0b0d17; }
  html.light .cf-success-overlay p  { color:rgba(15,18,40,.6); }
  @keyframes cfPopIn  { from{transform:scale(0) rotate(-15deg);opacity:0} to{transform:scale(1) rotate(0);opacity:1} }
  @keyframes cfFadeIn { from{opacity:0} to{opacity:1} }

  /* Spinner inside submit button */
  .cf-btn-spinner { display:none; animation:cfSpin .75s linear infinite; }
  @keyframes cfSpin { to{transform:rotate(360deg)} }

  /* Contact cards initial hidden state (stagger animated by GSAP) */
  .creveal { opacity:0; }

  /* ======================== MITRAM AI CHATBOT ======================== */

  /* FAB trigger button */
  .mchat-fab {
    position:fixed; bottom:24px; right:24px; z-index:50;
    width:58px; height:58px; border-radius:18px;
    background:linear-gradient(135deg,#4258f5 0%,#6178ff 55%,#22d3ee 100%);
    box-shadow:0 12px 36px -8px rgba(66,88,245,.72);
    display:grid; place-items:center; cursor:pointer; border:none;
    transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
    overflow:hidden;
  }
  .mchat-fab:hover { transform:scale(1.1) translateY(-2px); box-shadow:0 18px 44px -8px rgba(66,88,245,.85); }
  .mchat-fab .fab-icon-bot,
  .mchat-fab .fab-icon-close { transition:opacity .25s, transform .25s; position:absolute; }
  .mchat-fab.open .fab-icon-bot  { opacity:0; transform:scale(.6) rotate(-30deg); }
  .mchat-fab.open .fab-icon-close{ opacity:1; transform:scale(1) rotate(0); }
  .mchat-fab .fab-icon-close { opacity:0; transform:scale(.6) rotate(30deg); }
  /* Pulsing ring */
  .mchat-fab::after {
    content:''; position:absolute; inset:0; border-radius:inherit;
    box-shadow:0 0 0 0 rgba(66,88,245,.6);
    animation:fabPulse 2.8s ease-out infinite;
  }
  .mchat-fab.open::after { animation:none; }
  /* Tooltip */
  .mchat-fab::before {
    content: attr(data-tooltip);
    position:absolute; right:calc(100% + 10px); top:50%; transform:translateY(-50%) scale(.9);
    background:rgba(14,16,32,.95); border:1px solid rgba(255,255,255,.1);
    color:#fff; font-size:12px; font-weight:600; white-space:nowrap;
    padding:5px 10px; border-radius:8px; pointer-events:none;
    opacity:0; transition:opacity .2s, transform .2s;
    box-shadow:0 4px 14px -4px rgba(0,0,0,.5);
  }
  .mchat-fab:not(.open):hover::before { opacity:1; transform:translateY(-50%) scale(1); }
  @keyframes fabPulse {
    0%   { box-shadow:0 0 0 0 rgba(66,88,245,.55); }
    70%  { box-shadow:0 0 0 16px rgba(66,88,245,0); }
    100% { box-shadow:0 0 0 0 rgba(66,88,245,0); }
  }

  /* Chat window — <dialog> needs display overridden so opacity/transform animate correctly */
  dialog.mchat-window { display: flex; padding: 0; border: none; background: none; }
  .mchat-window {
    position:fixed; bottom:96px; right:24px; z-index:50;
    width:360px; max-width:calc(100vw - 32px);
    border-radius:22px; overflow:hidden;
    background:linear-gradient(160deg, rgba(14,16,32,.98) 0%, rgba(10,12,26,.99) 100%);
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 32px 80px -16px rgba(0,0,0,.75), 0 0 0 1px rgba(66,88,245,.12);
    display:flex; flex-direction:column;
    transform:translateY(20px) scale(.96); opacity:0; pointer-events:none;
    transition:transform .35s cubic-bezier(.34,1.56,.64,1), opacity .28s ease;
    max-height:min(600px, calc(100vh - 130px));
  }
  .mchat-window.open { transform:translateY(0) scale(1); opacity:1; pointer-events:auto; }

  /* Header */
  .mchat-header {
    padding:14px 16px; display:flex; align-items:center; gap:11px; flex-shrink:0;
    background:linear-gradient(135deg,rgba(66,88,245,.18),rgba(34,211,238,.1));
    border-bottom:1px solid rgba(255,255,255,.07);
    position:relative;
  }
  .mchat-avatar {
    width:40px; height:40px; border-radius:13px; flex-shrink:0;
    background:linear-gradient(135deg,#4258f5,#22d3ee);
    display:grid; place-items:center;
    box-shadow:0 6px 20px -4px rgba(66,88,245,.6);
  }
  .mchat-title { font-size:14px; font-weight:700; line-height:1.2; }
  .mchat-subtitle { font-size:11px; color:rgba(255,255,255,.45); display:flex; align-items:center; gap:5px; }
  .mchat-online-dot { width:6px; height:6px; border-radius:50%; background:#22c55e; animation:onlinePulse 2s ease infinite; flex-shrink:0; }
  @keyframes onlinePulse { 0%,100%{opacity:1} 50%{opacity:.45} }
  .mchat-wa-btn {
    margin-left:auto; flex-shrink:0; width:32px; height:32px; border-radius:9px;
    background:rgba(34,197,94,.18); border:1px solid rgba(34,197,94,.28);
    display:grid; place-items:center; text-decoration:none; color:#4ade80;
    transition:background .2s, transform .2s;
  }
  .mchat-wa-btn:hover { background:rgba(34,197,94,.28); transform:scale(1.08); }

  /* Messages area */
  .mchat-messages {
    flex:1; overflow-y:auto; padding:14px 14px 4px; display:flex; flex-direction:column; gap:10px;
    scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.12) transparent;
    min-height:220px;
  }
  .mchat-messages::-webkit-scrollbar { width:4px; }
  .mchat-messages::-webkit-scrollbar-thumb { background:rgba(255,255,255,.12); border-radius:4px; }

  /* Message bubbles */
  .mchat-msg { display:flex; align-items:flex-end; gap:7px; max-width:88%; animation:msgIn .28s cubic-bezier(.22,1,.36,1) both; }
  @keyframes msgIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
  .mchat-msg.bot { align-self:flex-start; }
  .mchat-msg.user { align-self:flex-end; flex-direction:row-reverse; }
  .mchat-bubble {
    padding:10px 13px; border-radius:16px; font-size:13.5px; line-height:1.55;
    word-break:break-word;
  }
  .mchat-msg.bot  .mchat-bubble {
    background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.07);
    border-bottom-left-radius:4px; color:rgba(255,255,255,.9);
  }
  .mchat-msg.user .mchat-bubble {
    background:linear-gradient(135deg,#4258f5,#6178ff);
    border-bottom-right-radius:4px; color:#fff;
  }
  .mchat-msg-time { font-size:10px; color:rgba(255,255,255,.28); padding:0 4px; flex-shrink:0; }

  /* Typing indicator */
  .mchat-typing .mchat-bubble { display:flex; align-items:center; gap:4px; padding:12px 14px; }
  .mchat-typing .dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.4); animation:typeDot 1.2s ease infinite; }
  .mchat-typing .dot:nth-child(2) { animation-delay:.2s; }
  .mchat-typing .dot:nth-child(3) { animation-delay:.4s; }
  @keyframes typeDot { 0%,60%,100%{transform:translateY(0);opacity:.4} 30%{transform:translateY(-6px);opacity:1} }

  /* Quick reply chips */
  .mchat-chips { display:flex; flex-wrap:wrap; gap:6px; padding:6px 14px 10px; }
  .mchat-chip {
    font-size:12px; padding:5px 11px; border-radius:20px; cursor:pointer;
    background:rgba(66,88,245,.14); border:1px solid rgba(66,88,245,.28);
    color:#8aa1ff; transition:background .2s, transform .15s;
  }
  .mchat-chip:hover { background:rgba(66,88,245,.28); transform:scale(1.03); }

  /* Input row */
  .mchat-input-row {
    display:flex; align-items:center; gap:8px; padding:10px 12px 12px; flex-shrink:0;
    border-top:1px solid rgba(255,255,255,.06);
    background:rgba(255,255,255,.02);
  }
  .mchat-input {
    flex:1; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
    border-radius:12px; padding:9px 14px; font-size:13.5px; color:#fff; outline:none;
    transition:border-color .2s, box-shadow .2s;
  }
  .mchat-input:focus { border-color:rgba(66,88,245,.5); box-shadow:0 0 0 3px rgba(66,88,245,.15); }
  .mchat-input::placeholder { color:rgba(255,255,255,.3); }
  .mchat-send {
    width:38px; height:38px; border-radius:11px; flex-shrink:0; border:none; cursor:pointer;
    background:linear-gradient(135deg,#4258f5,#22d3ee);
    display:grid; place-items:center; color:#fff;
    transition:transform .2s, opacity .2s;
  }
  .mchat-send:hover { transform:scale(1.08); }
  .mchat-send:disabled { opacity:.4; cursor:not-allowed; }

  /* Footer note */
  .mchat-footer-note { text-align:center; font-size:10px; color:rgba(255,255,255,.2); padding:0 12px 9px; flex-shrink:0; }

  /* ======================== FOOTER REDESIGN ======================== */

  /* Top border glow */
  .footer-top-glow {
    position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:70%; height:1px; pointer-events:none;
    background: linear-gradient(90deg, transparent, rgba(66,88,245,.55) 30%, rgba(34,211,238,.55) 70%, transparent);
  }

  /* Footer column heading */
  .footer-col-title {
    font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
    color:rgba(255,255,255,.38); margin-bottom:16px; display:flex; align-items:center; gap:7px;
  }
  .footer-col-title::before {
    content:''; display:block; width:14px; height:2px; border-radius:2px;
    background:linear-gradient(90deg,#4258f5,#22d3ee); flex-shrink:0;
  }

  /* Footer nav links */
  .footer-link {
    display:flex; align-items:center; gap:0; color:rgba(255,255,255,.5);
    font-size:13.5px; text-decoration:none; padding:3px 0; position:relative;
    transition:color .22s, gap .22s;
  }
  .footer-link .fl-arrow {
    width:0; overflow:hidden; flex-shrink:0;
    transition:width .22s ease, opacity .22s;
    opacity:0; color:#8aa1ff;
  }
  .footer-link:hover { color:#fff; gap:6px; }
  .footer-link:hover .fl-arrow { width:14px; opacity:1; }
  html.light .footer-link { color:rgba(15,18,40,.52); }
  html.light .footer-link:hover { color:#0b0d17; }

  /* Social icons */
  .footer-social {
    width:38px; height:38px; border-radius:11px; display:grid; place-items:center;
    background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.6); text-decoration:none;
    transition:background .22s, border-color .22s, color .22s, transform .22s, box-shadow .22s;
  }
  .footer-social:hover {
    background:rgba(66,88,245,.18); border-color:rgba(66,88,245,.42);
    color:#8aa1ff; transform:translateY(-3px);
    box-shadow:0 8px 24px -6px rgba(66,88,245,.42);
  }
  .footer-social.ig:hover { background:rgba(236,72,153,.15); border-color:rgba(236,72,153,.38); color:#f472b6; box-shadow:0 8px 24px -6px rgba(236,72,153,.38); }
  .footer-social.yt:hover { background:rgba(239,68,68,.15); border-color:rgba(239,68,68,.38); color:#f87171; box-shadow:0 8px 24px -6px rgba(239,68,68,.38); }
  html.light .footer-social { background:rgba(0,0,0,.05); border-color:rgba(15,18,40,.1); color:rgba(15,18,40,.55); }

  /* Newsletter form */
  .footer-nl-form {
    display:flex; align-items:center; gap:0; border-radius:14px; overflow:hidden;
    background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
    transition:border-color .22s, box-shadow .22s;
  }
  .footer-nl-form:focus-within { border-color:rgba(66,88,245,.5); box-shadow:0 0 0 3px rgba(66,88,245,.18); }
  .footer-nl-form input {
    flex:1; background:transparent; border:none; outline:none; padding:11px 14px;
    font-size:13px; color:inherit; min-width:0;
  }
  .footer-nl-form input::placeholder { color:rgba(255,255,255,.3); }
  .footer-nl-btn {
    flex-shrink:0; margin:4px; padding:7px 14px; border-radius:10px;
    background:linear-gradient(135deg,#4258f5,#22d3ee); color:#fff;
    font-size:12px; font-weight:600; border:none; cursor:pointer; white-space:nowrap;
    transition:opacity .2s, transform .2s;
  }
  .footer-nl-btn:hover { opacity:.9; transform:scale(.98); }
  .footer-nl-success {
    display:none; align-items:center; gap:8px; font-size:13px;
    color:#34d399; padding:10px 14px; font-weight:500;
  }
  .footer-nl-success.show { display:flex; animation:cfFadeIn .3s ease both; }
  html.light .footer-nl-form { background:rgba(0,0,0,.04); border-color:rgba(15,18,40,.12); }
  html.light .footer-nl-form input::placeholder { color:rgba(15,18,40,.35); }

  /* Divider gradient line */
  .footer-divider {
    height:1px; margin:48px 0 28px;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.08) 20%, rgba(255,255,255,.12) 50%, rgba(255,255,255,.08) 80%, transparent);
  }
  html.light .footer-divider { background:linear-gradient(90deg, transparent, rgba(15,18,40,.1) 20%, rgba(15,18,40,.16) 50%, rgba(15,18,40,.1) 80%, transparent); }

  /* Back-to-top floating button */
  #backToTop:hover { background:rgba(66,88,245,.28) !important; border-color:rgba(66,88,245,.5) !important; box-shadow:0 8px 28px -6px rgba(66,88,245,.45); }
  #backToTop.btt-visible { opacity:1 !important; transform:translateY(0) !important; pointer-events:auto !important; }
  html.light #backToTop { background:rgba(255,255,255,.88) !important; border-color:rgba(15,18,40,.15) !important; color:#0b0d17 !important; }

  /* Trust badge strip in footer brand col */
  .footer-badge-strip { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
  .footer-badge {
    display:inline-flex; align-items:center; gap:4px; font-size:11px;
    color:rgba(255,255,255,.42); background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.07); border-radius:7px; padding:4px 9px;
  }
  html.light .footer-badge { color:rgba(15,18,40,.45); background:rgba(0,0,0,.04); border-color:rgba(15,18,40,.08); }

  /* Footer column reveal (GSAP targets) */
  .fcol { opacity:0; }

