
  :root {
    --white: #FFFFFF;
    --off-white: #F7F8FA;
    --light-gray: #EEF0F5;
    --mid-gray: #D0D5E0;
    --text-dark: #0A0F1E;
    --text-mid: #3A4560;
    --text-muted: #7A8BAD;
    --ds-blue: #1A3FD0;
    --ds-blue-light: #EEF2FF;
    --ds-blue-mid: #C7D2F8;
    --ox-green: #0d73ad;
    --ox-green-light: #e8f4fb;
    --ox-green-mid: #90c8e8;
    --border: rgba(10,15,30,0.08);
    --shadow-sm: 0 1px 4px rgba(10,15,30,0.06), 0 4px 16px rgba(10,15,30,0.04);
    --shadow-md: 0 4px 20px rgba(10,15,30,0.09), 0 1px 4px rgba(10,15,30,0.05);
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }

  body {
    background: var(--white);
    color: var(--text-dark);
    font-family: 'DM Sans', sans-serif;
    font-weight: 300;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
  }

  /* ─── NAV ─── */
  nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4rem;
    height: 68px;
    background: rgba(255,255,255,0.88);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
    animation: fadeDown .7s ease both;
  }

  .nav-logo img {
    height: 48px;
    width: auto;
    display: block;
  }

  .nav-links {
    display: flex;
    gap: 2.4rem;
    list-style: none;
    align-items: center;
  }

  .nav-links a {
    color: var(--text-mid);
    text-decoration: none;
    font-size: .9rem;
    letter-spacing: .01em;
    transition: color .2s;
  }

  .nav-links a:hover { color: var(--text-dark); }

  .nav-cta {
    background: var(--text-dark) !important;
    color: #fff !important;
    padding: .5rem 1.4rem !important;
    border-radius: 100px;
    font-weight: 500 !important;
    transition: opacity .2s !important;
  }

  .nav-cta:hover { opacity: .8; }

  /* ─── HERO ─── */
  /* ─── HERO BANNER ─── */
  #hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 9rem 4rem 7rem;
    position: relative;
    overflow: hidden;
    color: #fff;
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDkwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPgogIDxkZWZzPgogICAgPCEtLSBCbHVlIG9yYiBncmFkaWVudCAtLT4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0iZzEiIGN4PSI4MCUiIGN5PSIxNSUiIHI9IjU1JSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMxYTNmZDAiIHN0b3Atb3BhY2l0eT0iMC41NSIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwNjA5MWEiIHN0b3Atb3BhY2l0eT0iMCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDwhLS0gR3JlZW4gb3JiIGdyYWRpZW50IC0tPgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJnMiIgY3g9IjEwJSIgY3k9Ijg4JSIgcj0iNDUlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwN2E1NSIgc3RvcC1vcGFjaXR5PSIwLjQ1Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzA2MDkxYSIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPCEtLSBQdXJwbGUgYWNjZW50IC0tPgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJnMyIgY3g9IjUwJSIgY3k9IjU1JSIgcj0iMzAlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzVhM2NjYyIgc3RvcC1vcGFjaXR5PSIwLjE4Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzA2MDkxYSIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPCEtLSBSaW5nIGdyYWRpZW50cyAtLT4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0iZG90Qmx1ZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNTAlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY0OTZmZiIgc3RvcC1vcGFjaXR5PSIwLjkiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjNjQ5NmZmIiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9ImRvdEdyZWVuIiBjeD0iNTAlIiBjeT0iNTAlIiByPSI1MCUiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjMDBjODhjIiBzdG9wLW9wYWNpdHk9IjAuOSIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMGM4OGMiIHN0b3Atb3BhY2l0eT0iMCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICA8L2RlZnM+CgogIDwhLS0gQmFzZSBiYWNrZ3JvdW5kIC0tPgogIDxyZWN0IHdpZHRoPSIxNDQwIiBoZWlnaHQ9IjkwMCIgZmlsbD0iIzA2MDkxYSIvPgoKICA8IS0tIEdyaWQgbGluZXMgLS0+CiAgPGcgb3BhY2l0eT0iMC4xMiI+CiAgICA8IS0tIFZlcnRpY2FsIC0tPgogICAgPGxpbmUgeDE9IjEyMCIgeTE9IjAiIHgyPSIxMjAiIHkyPSI5MDAiIHN0cm9rZT0iIzY0ODBmZiIgc3Ryb2tlLXdpZHRoPSIwLjUiLz4KICAgIDxsaW5lIHgxPSIyNDAiIHkxPSIwIiB4Mj0iMjQwIiB5Mj0iOTAwIiBzdHJva2U9IiM2NDgwZmYiIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgICA8bGluZSB4MT0iMzYwIiB5MT0iMCIgeDI9IjM2MCIgeTI9IjkwMCIgc3Ryb2tlPSIjNjQ4MGZmIiBzdHJva2Utd2lkdGg9IjAuNSIvPgogICAgPGxpbmUgeDE9IjQ4MCIgeTE9IjAiIHgyPSI0ODAiIHkyPSI5MDAiIHN0cm9rZT0iIzY0ODBmZiIgc3Ryb2tlLXdpZHRoPSIwLjUiLz4KICAgIDxsaW5lIHgxPSI2MDAiIHkxPSIwIiB4Mj0iNjAwIiB5Mj0iOTAwIiBzdHJva2U9IiM2NDgwZmYiIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgICA8bGluZSB4MT0iNzIwIiB5MT0iMCIgeDI9IjcyMCIgeTI9IjkwMCIgc3Ryb2tlPSIjNjQ4MGZmIiBzdHJva2Utd2lkdGg9IjAuNSIvPgogICAgPGxpbmUgeDE9Ijg0MCIgeTE9IjAiIHgyPSI4NDAiIHkyPSI5MDAiIHN0cm9rZT0iIzY0ODBmZiIgc3Ryb2tlLXdpZHRoPSIwLjUiLz4KICAgIDxsaW5lIHgxPSI5NjAiIHkxPSIwIiB4Mj0iOTYwIiB5Mj0iOTAwIiBzdHJva2U9IiM2NDgwZmYiIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgICA8bGluZSB4MT0iMTA4MCIgeTE9IjAiIHgyPSIxMDgwIiB5Mj0iOTAwIiBzdHJva2U9IiM2NDgwZmYiIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgICA8bGluZSB4MT0iMTIwMCIgeTE9IjAiIHgyPSIxMjAwIiB5Mj0iOTAwIiBzdHJva2U9IiM2NDgwZmYiIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgICA8bGluZSB4MT0iMTMyMCIgeTE9IjAiIHgyPSIxMzIwIiB5Mj0iOTAwIiBzdHJva2U9IiM2NDgwZmYiIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgICA8IS0tIEhvcml6b250YWwgLS0+CiAgICA8bGluZSB4MT0iMCIgeTE9IjkwIiB4Mj0iMTQ0MCIgeTI9IjkwIiBzdHJva2U9IiM2NDgwZmYiIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgICA8bGluZSB4MT0iMCIgeTE9IjE4MCIgeDI9IjE0NDAiIHkyPSIxODAiIHN0cm9rZT0iIzY0ODBmZiIgc3Ryb2tlLXdpZHRoPSIwLjUiLz4KICAgIDxsaW5lIHgxPSIwIiB5MT0iMjcwIiB4Mj0iMTQ0MCIgeTI9IjI3MCIgc3Ryb2tlPSIjNjQ4MGZmIiBzdHJva2Utd2lkdGg9IjAuNSIvPgogICAgPGxpbmUgeDE9IjAiIHkxPSIzNjAiIHgyPSIxNDQwIiB5Mj0iMzYwIiBzdHJva2U9IiM2NDgwZmYiIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgICA8bGluZSB4MT0iMCIgeTE9IjQ1MCIgeDI9IjE0NDAiIHkyPSI0NTAiIHN0cm9rZT0iIzY0ODBmZiIgc3Ryb2tlLXdpZHRoPSIwLjUiLz4KICAgIDxsaW5lIHgxPSIwIiB5MT0iNTQwIiB4Mj0iMTQ0MCIgeTI9IjU0MCIgc3Ryb2tlPSIjNjQ4MGZmIiBzdHJva2Utd2lkdGg9IjAuNSIvPgogICAgPGxpbmUgeDE9IjAiIHkxPSI2MzAiIHgyPSIxNDQwIiB5Mj0iNjMwIiBzdHJva2U9IiM2NDgwZmYiIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgICA8bGluZSB4MT0iMCIgeTE9IjcyMCIgeDI9IjE0NDAiIHkyPSI3MjAiIHN0cm9rZT0iIzY0ODBmZiIgc3Ryb2tlLXdpZHRoPSIwLjUiLz4KICAgIDxsaW5lIHgxPSIwIiB5MT0iODEwIiB4Mj0iMTQ0MCIgeTI9IjgxMCIgc3Ryb2tlPSIjNjQ4MGZmIiBzdHJva2Utd2lkdGg9IjAuNSIvPgogIDwvZz4KCiAgPCEtLSBHcmlkIGludGVyc2VjdGlvbiBkb3RzIC0tPgogIDxnIG9wYWNpdHk9IjAuMjUiIGZpbGw9IiM2NDgwZmYiPgogICAgPGNpcmNsZSBjeD0iMTIwIiBjeT0iOTAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9IjI0MCIgY3k9IjkwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9IjM2MCIgY3k9IjkwIiByPSIxLjUiLz48Y2lyY2xlIGN4PSI0ODAiIGN5PSI5MCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSI2MDAiIGN5PSI5MCIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iNzIwIiBjeT0iOTAiIHI9IjEuNSIvPgogICAgPGNpcmNsZSBjeD0iODQwIiBjeT0iOTAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9Ijk2MCIgY3k9IjkwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9IjEwODAiIGN5PSI5MCIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iMTIwMCIgY3k9IjkwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9IjEzMjAiIGN5PSI5MCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMjAiIGN5PSIyNzAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9IjI0MCIgY3k9IjI3MCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSIzNjAiIGN5PSIyNzAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9IjQ4MCIgY3k9IjI3MCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSI2MDAiIGN5PSIyNzAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9IjcyMCIgY3k9IjI3MCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSI4NDAiIGN5PSIyNzAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9Ijk2MCIgY3k9IjI3MCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMDgwIiBjeT0iMjcwIiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMjAwIiBjeT0iMjcwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9IjEzMjAiIGN5PSIyNzAiIHI9IjEuNSIvPgogICAgPGNpcmNsZSBjeD0iMTIwIiBjeT0iNDUwIiByPSIxLjUiLz48Y2lyY2xlIGN4PSIyNDAiIGN5PSI0NTAiIHI9IjEuNSIvPgogICAgPGNpcmNsZSBjeD0iMzYwIiBjeT0iNDUwIiByPSIxLjUiLz48Y2lyY2xlIGN4PSI0ODAiIGN5PSI0NTAiIHI9IjEuNSIvPgogICAgPGNpcmNsZSBjeD0iNjAwIiBjeT0iNDUwIiByPSIxLjUiLz48Y2lyY2xlIGN4PSI3MjAiIGN5PSI0NTAiIHI9IjEuNSIvPgogICAgPGNpcmNsZSBjeD0iODQwIiBjeT0iNDUwIiByPSIxLjUiLz48Y2lyY2xlIGN4PSI5NjAiIGN5PSI0NTAiIHI9IjEuNSIvPgogICAgPGNpcmNsZSBjeD0iMTA4MCIgY3k9IjQ1MCIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iMTIwMCIgY3k9IjQ1MCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMzIwIiBjeT0iNDUwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9IjEyMCIgY3k9IjYzMCIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iMjQwIiBjeT0iNjMwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9IjM2MCIgY3k9IjYzMCIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iNDgwIiBjeT0iNjMwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9IjYwMCIgY3k9IjYzMCIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iNzIwIiBjeT0iNjMwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9Ijg0MCIgY3k9IjYzMCIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iOTYwIiBjeT0iNjMwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9IjEwODAiIGN5PSI2MzAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9IjEyMDAiIGN5PSI2MzAiIHI9IjEuNSIvPgogICAgPGNpcmNsZSBjeD0iMTMyMCIgY3k9IjYzMCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMjAiIGN5PSI4MTAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9IjI0MCIgY3k9IjgxMCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSIzNjAiIGN5PSI4MTAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9IjQ4MCIgY3k9IjgxMCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSI2MDAiIGN5PSI4MTAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9IjcyMCIgY3k9IjgxMCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSI4NDAiIGN5PSI4MTAiIHI9IjEuNSIvPjxjaXJjbGUgY3g9Ijk2MCIgY3k9IjgxMCIgcj0iMS41Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMDgwIiBjeT0iODEwIiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMjAwIiBjeT0iODEwIiByPSIxLjUiLz4KICAgIDxjaXJjbGUgY3g9IjEzMjAiIGN5PSI4MTAiIHI9IjEuNSIvPgogIDwvZz4KCiAgPCEtLSBHbG93aW5nIG9yYnMgLS0+CiAgPHJlY3Qgd2lkdGg9IjE0NDAiIGhlaWdodD0iOTAwIiBmaWxsPSJ1cmwoI2cxKSIvPgogIDxyZWN0IHdpZHRoPSIxNDQwIiBoZWlnaHQ9IjkwMCIgZmlsbD0idXJsKCNnMikiLz4KICA8cmVjdCB3aWR0aD0iMTQ0MCIgaGVpZ2h0PSI5MDAiIGZpbGw9InVybCgjZzMpIi8+CgogIDwhLS0gQW5pbWF0ZWQgcmluZ3MgY2x1c3RlciAtIHJpZ2h0IHNpZGUgLS0+CiAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA4MCwgNDUwKSI+CiAgICA8IS0tIFJpbmcgMyAtIG91dGVybW9zdCwgc2xvdyAtLT4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIyMDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQwNjBjYyIgc3Ryb2tlLXdpZHRoPSIwLjgiIHN0cm9rZS1vcGFjaXR5PSIwLjIiIHN0cm9rZS1kYXNoYXJyYXk9IjggMTYiPgogICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZnJvbT0iMCIgdG89IjM2MCIgZHVyPSI0MHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICA8L2NpcmNsZT4KICAgIDwhLS0gUmluZyAyIC0gbWVkaXVtIC0tPgogICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjE1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDA3YTU1IiBzdHJva2Utd2lkdGg9IjAuOCIgc3Ryb2tlLW9wYWNpdHk9IjAuMjUiIHN0cm9rZS1kYXNoYXJyYXk9IjUgMTAiPgogICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZnJvbT0iMzYwIiB0bz0iMCIgZHVyPSIyOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICA8L2NpcmNsZT4KICAgIDwhLS0gUmluZyAxIC0gaW5uZXIgLS0+CiAgICA8Y2lyY2xlIGN4PSIwIiBjeT0iMCIgcj0iMTAwIiBmaWxsPSJub25lIiBzdHJva2U9IiM2NDk2ZmYiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLW9wYWNpdHk9IjAuMyIgc3Ryb2tlLWRhc2hhcnJheT0iMyA3Ij4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIGZyb209IjAiIHRvPSIzNjAiIGR1cj0iMThzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIvPgogICAgPC9jaXJjbGU+CiAgICA8IS0tIENlbnRyZSBnbG93IC0tPgogICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjgiIGZpbGw9IiM2NDk2ZmYiIGZpbGwtb3BhY2l0eT0iMC4xNSIvPgogICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjMiIGZpbGw9IiM2NDk2ZmYiIGZpbGwtb3BhY2l0eT0iMC41Ii8+CgogICAgPCEtLSBCbHVlIG9yYml0aW5nIGRvdCBvbiByaW5nIDEgLS0+CiAgICA8Y2lyY2xlIGN4PSIxMDAiIGN5PSIwIiByPSI0IiBmaWxsPSIjNjQ5NmZmIiBmaWxsLW9wYWNpdHk9IjAuOCI+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBmcm9tPSIwIiB0bz0iMzYwIiBkdXI9IjE4cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICAgIDwvY2lyY2xlPgogICAgPCEtLSBHcmVlbiBvcmJpdGluZyBkb3Qgb24gcmluZyAyIC0tPgogICAgPGNpcmNsZSBjeD0iMCIgY3k9Ii0xNTAiIHI9IjMuNSIgZmlsbD0iIzAwYzg4YyIgZmlsbC1vcGFjaXR5PSIwLjgiPgogICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZnJvbT0iMzYwIiB0bz0iMCIgZHVyPSIyOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICA8L2NpcmNsZT4KICAgIDwhLS0gV2hpdGUgZG90IG9uIHJpbmcgMyAtLT4KICAgIDxjaXJjbGUgY3g9Ii0yMDAiIGN5PSIwIiByPSIzIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuNCI+CiAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBmcm9tPSIwIiB0bz0iMzYwIiBkdXI9IjQwcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICAgIDwvY2lyY2xlPgogIDwvZz4KCiAgPCEtLSBGbG9hdGluZyBwYXJ0aWNsZXMgLS0+CiAgPGc+CiAgICA8Y2lyY2xlIGN4PSIyMDAiIGN5PSI4MDAiIHI9IjIiIGZpbGw9IiM2NDk2ZmYiIGZpbGwtb3BhY2l0eT0iMC43Ij4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3kiIHZhbHVlcz0iODAwOy0yMCIgZHVyPSIxNHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwtb3BhY2l0eSIgdmFsdWVzPSIwOzAuNzswLjU7MCIgZHVyPSIxNHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9IjM0MCIgY3k9IjgwMCIgcj0iMS41IiBmaWxsPSIjMDBjODhjIiBmaWxsLW9wYWNpdHk9IjAuNyI+CiAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5IiB2YWx1ZXM9IjgwMDstMjAiIGR1cj0iMTlzIiBiZWdpbj0iLTVzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIvPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsLW9wYWNpdHkiIHZhbHVlcz0iMDswLjc7MC41OzAiIGR1cj0iMTlzIiBiZWdpbj0iLTVzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIvPgogICAgPC9jaXJjbGU+CiAgICA8Y2lyY2xlIGN4PSI1MDAiIGN5PSI4MDAiIHI9IjIuNSIgZmlsbD0iIzgwNjBmZiIgZmlsbC1vcGFjaXR5PSIwLjYiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSIgdmFsdWVzPSI4MDA7LTIwIiBkdXI9IjEycyIgYmVnaW49Ii04cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbC1vcGFjaXR5IiB2YWx1ZXM9IjA7MC42OzAuNDswIiBkdXI9IjEycyIgYmVnaW49Ii04cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iNjUwIiBjeT0iODAwIiByPSIxLjUiIGZpbGw9IiM2NDk2ZmYiIGZpbGwtb3BhY2l0eT0iMC43Ij4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3kiIHZhbHVlcz0iODAwOy0yMCIgZHVyPSIyMnMiIGJlZ2luPSItMnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwtb3BhY2l0eSIgdmFsdWVzPSIwOzAuNzswLjU7MCIgZHVyPSIyMnMiIGJlZ2luPSItMnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9Ijc4MCIgY3k9IjgwMCIgcj0iMiIgZmlsbD0iIzAwYzg4YyIgZmlsbC1vcGFjaXR5PSIwLjYiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSIgdmFsdWVzPSI4MDA7LTIwIiBkdXI9IjE2cyIgYmVnaW49Ii0xMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwtb3BhY2l0eSIgdmFsdWVzPSIwOzAuNjswLjQ7MCIgZHVyPSIxNnMiIGJlZ2luPSItMTFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIvPgogICAgPC9jaXJjbGU+CiAgICA8Y2lyY2xlIGN4PSI5MDAiIGN5PSI4MDAiIHI9IjEuNSIgZmlsbD0iI2ZmZmZmZiIgZmlsbC1vcGFjaXR5PSIwLjMiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSIgdmFsdWVzPSI4MDA7LTIwIiBkdXI9IjI1cyIgYmVnaW49Ii00cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbC1vcGFjaXR5IiB2YWx1ZXM9IjA7MC4zOzAuMjswIiBkdXI9IjI1cyIgYmVnaW49Ii00cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iMTA1MCIgY3k9IjgwMCIgcj0iMiIgZmlsbD0iIzY0OTZmZiIgZmlsbC1vcGFjaXR5PSIwLjYiPgogICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSIgdmFsdWVzPSI4MDA7LTIwIiBkdXI9IjEzcyIgYmVnaW49Ii03cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbC1vcGFjaXR5IiB2YWx1ZXM9IjA7MC42OzAuNDswIiBkdXI9IjEzcyIgYmVnaW49Ii03cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICAgIDwvY2lyY2xlPgogIDwvZz4KCiAgPCEtLSBDb25uZWN0aW9uIGxpbmVzIChzdGF0aWMgbmV0d29yaykgLS0+CiAgPGcgc3Ryb2tlPSIjNjQ4MGZmIiBzdHJva2Utb3BhY2l0eT0iMC4xMiIgc3Ryb2tlLXdpZHRoPSIwLjciPgogICAgPGxpbmUgeDE9Ijk2MCIgeTE9IjE4MCIgeDI9IjEwODAiIHkyPSIyNzAiLz4KICAgIDxsaW5lIHgxPSIxMDgwIiB5MT0iMjcwIiB4Mj0iMTIwMCIgeTI9IjE4MCIvPgogICAgPGxpbmUgeDE9IjEyMDAiIHkxPSIxODAiIHgyPSIxMzIwIiB5Mj0iMjcwIi8+CiAgICA8bGluZSB4MT0iMTA4MCIgeTE9IjI3MCIgeDI9IjEwODAiIHkyPSIzNjAiLz4KICAgIDxsaW5lIHgxPSI5NjAiIHkxPSIzNjAiIHgyPSIxMDgwIiB5Mj0iMzYwIi8+CiAgICA8bGluZSB4MT0iMTA4MCIgeTE9IjM2MCIgeDI9IjEyMDAiIHkyPSIzNjAiLz4KICAgIDxsaW5lIHgxPSI5NjAiIHkxPSIxODAiIHgyPSI5NjAiIHkyPSIzNjAiLz4KICAgIDxsaW5lIHgxPSIxMjAwIiB5MT0iMTgwIiB4Mj0iMTIwMCIgeTI9IjM2MCIvPgogICAgPGxpbmUgeDE9IjEzMjAiIHkxPSIyNzAiIHgyPSIxMzIwIiB5Mj0iNDUwIi8+CiAgICA8bGluZSB4MT0iOTYwIiB5MT0iMzYwIiB4Mj0iOTYwIiB5Mj0iNTQwIi8+CiAgICA8bGluZSB4MT0iMTIwMCIgeTE9IjM2MCIgeDI9IjEyMDAiIHkyPSI1NDAiLz4KICAgIDxsaW5lIHgxPSI5NjAiIHkxPSI1NDAiIHgyPSIxMDgwIiB5Mj0iNTQwIi8+CiAgICA8bGluZSB4MT0iMTA4MCIgeTE9IjU0MCIgeDI9IjEyMDAiIHkyPSI1NDAiLz4KICA8L2c+CiAgPCEtLSBOZXR3b3JrIG5vZGVzIC0tPgogIDxnIGZpbGw9IiM2NDk2ZmYiPgogICAgPGNpcmNsZSBjeD0iOTYwIiBjeT0iMTgwIiByPSIyLjUiIGZpbGwtb3BhY2l0eT0iMC40Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMDgwIiBjeT0iMjcwIiByPSIzIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgogICAgPGNpcmNsZSBjeD0iMTIwMCIgY3k9IjE4MCIgcj0iMi41IiBmaWxsLW9wYWNpdHk9IjAuNCIvPgogICAgPGNpcmNsZSBjeD0iMTMyMCIgY3k9IjI3MCIgcj0iMiIgZmlsbC1vcGFjaXR5PSIwLjM1Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMDgwIiBjeT0iMzYwIiByPSIzLjUiIGZpbGwtb3BhY2l0eT0iMC42Ii8+CiAgICA8Y2lyY2xlIGN4PSI5NjAiIGN5PSIzNjAiIHI9IjIuNSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KICAgIDxjaXJjbGUgY3g9IjEyMDAiIGN5PSIzNjAiIHI9IjIuNSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KICAgIDxjaXJjbGUgY3g9IjEzMjAiIGN5PSI0NTAiIHI9IjIiIGZpbGwtb3BhY2l0eT0iMC4zIi8+CiAgICA8Y2lyY2xlIGN4PSI5NjAiIGN5PSI1NDAiIHI9IjIuNSIgZmlsbC1vcGFjaXR5PSIwLjM1Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMDgwIiBjeT0iNTQwIiByPSIyIiBmaWxsLW9wYWNpdHk9IjAuMyIvPgogICAgPGNpcmNsZSBjeD0iMTIwMCIgY3k9IjU0MCIgcj0iMi41IiBmaWxsLW9wYWNpdHk9IjAuMzUiLz4KICA8L2c+CgogIDwhLS0gTGVmdCBmYWRlIG92ZXJsYXkgLS0+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxlZnRGYWRlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjEwMCUiIHkyPSIwJSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwNjA5MWEiIHN0b3Atb3BhY2l0eT0iMC45Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iNDUlIiBzdG9wLWNvbG9yPSIjMDYwOTFhIiBzdG9wLW9wYWNpdHk9IjAuNTUiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDYwOTFhIiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImJvdHRvbUZhZGUiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzA2MDkxYSIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzA2MDkxYSIgc3RvcC1vcGFjaXR5PSIwLjciLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIxNDQwIiBoZWlnaHQ9IjkwMCIgZmlsbD0idXJsKCNsZWZ0RmFkZSkiLz4KICA8cmVjdCB3aWR0aD0iMTQ0MCIgaGVpZ2h0PSI5MDAiIGZpbGw9InVybCgjYm90dG9tRmFkZSkiLz4KPC9zdmc+") #06091a;
    background-size: cover;
    background-position: center;
  }

  /* Animated gradient mesh background */
  .hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
      radial-gradient(ellipse 80% 70% at 85% 15%, rgba(26,63,208,.28) 0%, transparent 60%),
      radial-gradient(ellipse 60% 60% at 10% 85%, rgba(0,122,85,.22) 0%, transparent 55%),
      radial-gradient(ellipse 50% 40% at 55% 55%, rgba(80,60,180,.12) 0%, transparent 60%),
      #06091a;
    animation: bgShift 12s ease-in-out infinite alternate;
  }

  @keyframes bgShift {
    0%   { filter: hue-rotate(0deg) brightness(1); }
    50%  { filter: hue-rotate(8deg) brightness(1.06); }
    100% { filter: hue-rotate(-5deg) brightness(.97); }
  }

  /* SVG grid overlay */
  .hero-grid {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: .18;
    background-image:
      linear-gradient(rgba(100,130,255,.25) 1px, transparent 1px),
      linear-gradient(90deg, rgba(100,130,255,.25) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 30%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 30%, transparent 100%);
    animation: gridDrift 20s linear infinite;
  }

  @keyframes gridDrift {
    from { background-position: 0 0, 0 0; }
    to   { background-position: 60px 60px, 60px 60px; }
  }

  /* Animated glow orbs */
  .hero-orbs {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
  }

  .orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    animation: orbPulse 8s ease-in-out infinite alternate;
  }

  .orb-1 {
    width: 520px; height: 520px;
    top: -120px; right: -80px;
    background: radial-gradient(circle, rgba(26,63,208,.35) 0%, transparent 70%);
    animation-delay: 0s;
  }

  .orb-2 {
    width: 380px; height: 380px;
    bottom: -80px; left: -60px;
    background: radial-gradient(circle, rgba(0,122,85,.28) 0%, transparent 70%);
    animation-delay: -3s;
  }

  .orb-3 {
    width: 300px; height: 300px;
    top: 40%; left: 38%;
    background: radial-gradient(circle, rgba(100,60,220,.15) 0%, transparent 70%);
    animation-delay: -6s;
  }

  @keyframes orbPulse {
    0%   { transform: scale(1) translate(0, 0); opacity: .8; }
    50%  { transform: scale(1.12) translate(20px, -20px); opacity: 1; }
    100% { transform: scale(.92) translate(-10px, 15px); opacity: .7; }
  }

  /* Animated rings on right side */
  .hero-rings {
    position: absolute;
    right: 6%;
    top: 50%;
    transform: translateY(-50%);
    width: 380px;
    height: 380px;
    z-index: 1;
    pointer-events: none;
  }

  .ring-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .ring-path-1 {
    stroke: rgba(80,120,255,.18);
    stroke-width: 1;
    fill: none;
    stroke-dasharray: 12 8;
    animation: spinCW 18s linear infinite;
    transform-origin: 50% 50%;
  }

  .ring-path-2 {
    stroke: rgba(0,180,120,.15);
    stroke-width: 1;
    fill: none;
    stroke-dasharray: 6 14;
    animation: spinCCW 24s linear infinite;
    transform-origin: 50% 50%;
  }

  .ring-path-3 {
    stroke: rgba(150,130,255,.1);
    stroke-width: 1;
    fill: none;
    animation: spinCW 32s linear infinite;
    transform-origin: 50% 50%;
  }

  /* Dot on ring-1 */
  .ring-dot {
    fill: rgba(100,150,255,.7);
    animation: dotOrbit 18s linear infinite;
    transform-origin: 190px 190px;
  }

  /* Dot on ring-2 */
  .ring-dot-2 {
    fill: rgba(0,200,140,.6);
    animation: dotOrbit2 24s linear infinite;
    transform-origin: 190px 190px;
  }

  @keyframes spinCW  { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
  @keyframes spinCCW { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
  @keyframes dotOrbit  {
    from { transform: rotate(0deg) translateX(130px) rotate(0deg); }
    to   { transform: rotate(360deg) translateX(130px) rotate(-360deg); }
  }
  @keyframes dotOrbit2 {
    from { transform: rotate(90deg) translateX(175px) rotate(-90deg); }
    to   { transform: rotate(450deg) translateX(175px) rotate(-450deg); }
  }

  /* Floating particles via CSS */
  .hero-particles {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
  }

  .particle {
    position: absolute;
    border-radius: 50%;
    animation: particleRise linear infinite;
    opacity: 0;
  }

  @keyframes particleRise {
    0%   { transform: translateY(0) translateX(0); opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: .6; }
    100% { transform: translateY(-110vh) translateX(40px); opacity: 0; }
  }

  /* Gradient overlay – text legibility */
  .hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
      linear-gradient(100deg, rgba(6,9,26,.78) 0%, rgba(6,9,26,.5) 50%, rgba(6,9,26,.15) 100%),
      linear-gradient(to top, rgba(6,9,26,.55) 0%, transparent 45%);
    pointer-events: none;
  }

  /* Content above everything */
  #hero > *:not(.hero-bg):not(.hero-grid):not(.hero-orbs):not(.hero-rings):not(.hero-particles):not(.hero-overlay) {
    position: relative;
    z-index: 3;
  }
10%  { opacity: 1; transform: translateY(0); }
    80%  { opacity: 1; transform: translateY(-8px); }
    100% { opacity: 0; transform: translateY(-20px); }
  }

  /* Hero text colours on dark bg */
  #hero .btn-dark { background: #fff; color: var(--text-dark); }
  #hero .btn-dark:hover { opacity: .88; transform: translateY(-1px); }
  #hero .hero-eyebrow { color: rgba(255,255,255,.45); }
  #hero .hero-eyebrow span { background: rgba(255,255,255,.2); }
  #hero h1 { color: #fff; }
  #hero .hero-sub { color: rgba(255,255,255,.58); }
  #hero .btn-outline {
    border-color: rgba(255,255,255,.25);
    color: rgba(255,255,255,.8);
  }
  #hero .btn-outline:hover {
    border-color: rgba(255,255,255,.6);
    background: rgba(255,255,255,.07);
    color: #fff;
  }
  #hero .brand-pills { border-top-color: rgba(255,255,255,.1); }
  #hero .brand-pills p { color: rgba(255,255,255,.35); }

  .hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: .78rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 2rem;
    animation: fadeUp .7s .1s ease both;
  }

  .hero-eyebrow span {
    display: inline-block;
    width: 24px;
    height: 1px;
    background: var(--mid-gray);
  }

  h1 {
    font-family: 'Syne', sans-serif;
    font-weight: 800;
    font-size: clamp(2.8rem, 6.5vw, 5.5rem);
    line-height: 1.06;
    max-width: 780px;
    color: var(--text-dark);
    letter-spacing: -.02em;
    animation: fadeUp .7s .18s ease both;
  }

  h1 .hl {
    position: relative;
    display: inline;
  }

  h1 .hl-blue { color: var(--ds-blue); }
  h1 .hl-green { color: var(--ox-green); }

  .hero-sub {
    margin-top: 2rem;
    max-width: 500px;
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--text-muted);
    animation: fadeUp .7s .28s ease both;
  }

  .hero-actions {
    margin-top: 3rem;
    display: flex;
    gap: 1rem;
    animation: fadeUp .7s .4s ease both;
  }

  .btn-dark {
    background: var(--text-dark);
    color: #fff;
    font-family: 'DM Sans', sans-serif;
    font-weight: 500;
    font-size: .95rem;
    padding: .85rem 2rem;
    border-radius: 100px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: opacity .2s, transform .2s;
  }

  .btn-dark:hover { opacity: .85; transform: translateY(-1px); }

  .btn-outline {
    background: transparent;
    color: var(--text-dark);
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
    font-size: .95rem;
    padding: .85rem 2rem;
    border-radius: 100px;
    border: 1.5px solid var(--mid-gray);
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: border-color .2s, background .2s;
  }

  .btn-outline:hover { border-color: var(--text-dark); background: var(--off-white); }

  /* brand pills */
  .brand-pills {
    margin-top: 5rem;
    padding-top: 2.5rem;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 1rem;
    animation: fadeUp .7s .52s ease both;
  }

  .brand-pills p {
    font-size: .8rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-right: .4rem;
  }

  .pill {
    font-family: 'Syne', sans-serif;
    font-weight: 700;
    font-size: .78rem;
    letter-spacing: .06em;
    padding: .35rem .9rem;
    border-radius: 100px;
  }

  .pill-ds { background: var(--ds-blue-light); color: var(--ds-blue); border: 1px solid var(--ds-blue-mid); }
  .pill-ox { background: var(--ox-green-light); color: var(--ox-green); border: 1px solid var(--ox-green-mid); }

  /* ─── STATS ─── */
  #stats {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    background: var(--off-white);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }

  .stat-item {
    padding: 3rem 2.5rem;
    text-align: center;
    border-right: 1px solid var(--border);
  }
  .stat-item:last-child { border-right: none; }

  .stat-number {
    font-family: 'Syne', sans-serif;
    font-weight: 800;
    font-size: 2.6rem;
    letter-spacing: -.02em;
    color: var(--text-dark);
    display: block;
  }

  .stat-label {
    font-size: .82rem;
    color: var(--text-muted);
    margin-top: .4rem;
    letter-spacing: .03em;
  }

  /* ─── SECTIONS ─── */
  section { padding: 9rem 4rem; }

  .section-label {
    font-size: .75rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 1.2rem;
  }

  .label-blue { color: var(--ds-blue); }
  .label-green { color: var(--ox-green); }

  h2 {
    font-family: 'Syne', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 3.6vw, 3rem);
    line-height: 1.1;
    letter-spacing: -.02em;
    max-width: 640px;
    color: var(--text-dark);
  }

  .section-desc {
    margin-top: 1.4rem;
    max-width: 460px;
    color: var(--text-muted);
    line-height: 1.85;
    font-size: .98rem;
  }

  /* ─── DIRECTSOFT ─── */
  #directsoft { background: var(--white); }

  .ds-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
    align-items: center;
  }

  .feature-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .8rem;
    margin-top: 3rem;
  }

  .feature-card {
    padding: 1.6rem;
    background: var(--off-white);
    border-radius: 14px;
    border: 1px solid var(--border);
    transition: box-shadow .2s, background .2s;
  }

  .feature-card:hover {
    box-shadow: var(--shadow-sm);
    background: var(--white);
  }

  .feat-icon {
    width: 36px; height: 36px;
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
    margin-bottom: .9rem;
  }

  .icon-blue { background: var(--ds-blue-light); }
  .icon-green { background: var(--ox-green-light); }

  .feat-title {
    font-family: 'Syne', sans-serif;
    font-size: .88rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: .35rem;
  }

  .feat-desc {
    font-size: .8rem;
    color: var(--text-muted);
    line-height: 1.65;
  }

  /* visual cards */
  .brand-card {
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-md);
    aspect-ratio: 4/3;
    display: flex; align-items: center; justify-content: center;
    position: relative;
  }

  .card-ds { background: var(--ds-blue-light); }
  .card-ox { background: var(--ox-green-light); }

  .card-inner {
    text-align: center;
    padding: 3rem;
    position: relative;
    z-index: 2;
  }

  .card-brand-name {
    font-family: 'Syne', sans-serif;
    font-weight: 800;
    font-size: 2.4rem;
    letter-spacing: -.02em;
    line-height: 1;
    margin-bottom: 1rem;
  }

  .name-ds { color: var(--ds-blue); }
  .name-ox { color: var(--ox-green); }

  .card-sub {
    font-size: .75rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-muted);
  }

  .card-rings {
    position: absolute; inset: 0;
    pointer-events: none;
    overflow: hidden;
  }

  .ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid;
    opacity: .15;
  }

  .ring-ds { border-color: var(--ds-blue); }
  .ring-ox { border-color: var(--ox-green); }

  .r1 { width: 280px; height: 280px; top: -70px; left: -70px; }
  .r2 { width: 180px; height: 180px; bottom: -40px; right: 10px; }
  .r3 { width: 120px; height: 120px; top: 40%; left: 55%; opacity: .08; }

  /* ─── OXHOST ─── */
  #oxhost { background: var(--off-white); }

  .ox-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
    align-items: center;
  }

  .plan-list { margin-top: 2.5rem; display: flex; flex-direction: column; gap: .7rem; }

  .plan-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.4rem;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: var(--white);
    transition: box-shadow .2s, border-color .2s, transform .2s;
  }

  .plan-row:hover {
    box-shadow: var(--shadow-sm);
    border-color: var(--ox-green-mid);
    transform: translateX(4px);
  }

  .plan-icon {
    width: 36px; height: 36px;
    border-radius: 9px;
    background: var(--ox-green-light);
    display: flex; align-items: center; justify-content: center;
    font-size: .95rem;
    flex-shrink: 0;
  }

  .plan-name {
    font-family: 'Syne', sans-serif;
    font-size: .88rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: .15rem;
  }

  .plan-desc {
    font-size: .78rem;
    color: var(--text-muted);
  }

  .plan-badge {
    margin-left: auto;
    font-size: .7rem;
    padding: .22rem .65rem;
    border-radius: 100px;
    background: var(--ox-green-light);
    color: var(--ox-green);
    font-weight: 600;
    border: 1px solid var(--ox-green-mid);
    white-space: nowrap;
  }

  /* ─── WHY ─── */
  #why { background: var(--white); text-align: center; }
  #why h2 { margin: 0 auto; }
  #why .section-desc { margin: 1.2rem auto 0; text-align: center; }

  .why-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.2rem;
    margin-top: 4rem;
  }

  .why-card {
    padding: 2.2rem 1.8rem;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: var(--off-white);
    text-align: left;
    transition: box-shadow .25s, transform .25s;
  }

  .why-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
  }

  .why-icon {
    font-size: 1.6rem;
    margin-bottom: 1.2rem;
    display: block;
  }

  .why-title {
    font-family: 'Syne', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: .6rem;
  }

  .why-desc {
    font-size: .84rem;
    color: var(--text-muted);
    line-height: 1.75;
  }

  /* ─── CTA ─── */
  #cta {
    background: var(--text-dark);
    color: #fff;
    text-align: center;
    padding: 10rem 4rem;
    position: relative;
    overflow: hidden;
  }

  #cta::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at 50% 50%, rgba(26,63,208,.25) 0%, transparent 60%);
    pointer-events: none;
  }

  #cta h2 {
    color: #fff;
    margin: 0 auto;
    text-align: center;
    font-size: clamp(2.2rem, 4.5vw, 3.6rem);
  }

  #cta .section-desc {
    color: rgba(255,255,255,.55);
    margin: 1.4rem auto 0;
    text-align: center;
    max-width: 480px;
  }

  .cta-btns {
    margin-top: 2.8rem;
    display: flex; gap: 1rem; justify-content: center;
  }

  .btn-white {
    background: #fff;
    color: var(--text-dark);
    font-family: 'DM Sans', sans-serif;
    font-weight: 500;
    font-size: .95rem;
    padding: .85rem 2rem;
    border-radius: 100px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: opacity .2s;
  }

  .btn-white:hover { opacity: .88; }

  .btn-ghost-white {
    background: transparent;
    color: rgba(255,255,255,.75);
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
    font-size: .95rem;
    padding: .85rem 2rem;
    border-radius: 100px;
    border: 1.5px solid rgba(255,255,255,.2);
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: border-color .2s, color .2s;
  }

  .btn-ghost-white:hover { border-color: rgba(255,255,255,.5); color: #fff; }

  /* ─── FOOTER ─── */
  footer {
    padding: 2.4rem 4rem;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    background: var(--white);
  }

  .footer-logo img { height: 40px; width: auto; display: block; opacity: .9; }

  .footer-copy {
    font-size: .78rem;
    color: var(--text-muted);
  }

  .footer-address {
    font-size: .78rem;
    color: var(--text-muted);
    font-style: normal;
  }

  /* ─── ANIMATIONS ─── */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  @keyframes fadeDown {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* ─── HAMBURGER BUTTON ─── */
  .hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    border-radius: 8px;
    transition: background .2s;
    z-index: 200;
  }
  .hamburger:hover { background: var(--off-white); }
  .hamburger span {
    display: block;
    height: 2px;
    background: var(--text-dark);
    border-radius: 2px;
    transition: transform .3s ease, opacity .3s ease, width .3s ease;
    width: 22px;
  }
  .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; width: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* ─── MOBILE DRAWER ─── */
  .mobile-menu {
    display: flex;
    position: fixed;
    top: 68px; left: 0; right: 0;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
    z-index: 99;
    padding: 1.2rem 1.6rem 2rem;
    flex-direction: column;
    gap: 0;
    box-shadow: 0 8px 32px rgba(10,15,30,0.08);
    transform: translateY(-8px);
    opacity: 0;
    pointer-events: none;
    transition: transform .25s ease, opacity .25s ease;
  }
  .mobile-menu.open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: all;
  }
  .mobile-menu a {
    display: block;
    padding: .85rem 0;
    color: var(--text-mid);
    text-decoration: none;
    font-size: 1rem;
    border-bottom: 1px solid var(--border);
    transition: color .2s;
  }
  .mobile-menu a:last-child { border-bottom: none; }
  .mobile-menu a:hover { color: var(--text-dark); }
  .mobile-menu .m-cta {
    margin-top: 1rem;
    display: inline-block;
    background: var(--text-dark);
    color: #fff !important;
    padding: .75rem 1.6rem;
    border-radius: 100px;
    font-weight: 500;
    text-align: center;
    border-bottom: none !important;
  }

  /* ─── TABLET (≤ 1024px) ─── */
  @media (max-width: 1024px) {
    nav { padding: 0 2rem; }
    #hero { padding: 9rem 2rem 6rem; }
    section { padding: 7rem 2rem; }
    #cta { padding: 8rem 2rem; }
    footer { padding: 2.4rem 2rem; }
    .ds-grid, .ox-grid { gap: 4rem; }
  }

  /* ─── MOBILE (≤ 768px) ─── */
  @media (max-width: 768px) {
    /* Nav */
    nav { padding: 0 1.4rem; height: 60px; }
    .nav-links { display: none; }
    .hamburger { display: flex; }

    /* Hero */
    #hero {
      padding: 7rem 1.4rem 4rem;
    /* Hide rings on small screens */
    .hero-rings { display: none; }
    .badge-ds { right: 5%; top: 18%; }
    .badge-ox { right: 5%; bottom: 25%; }
      min-height: auto;
      align-items: flex-start;
    }
    h1 { font-size: clamp(2.2rem, 9vw, 3rem); letter-spacing: -.015em; }
    .hero-sub { font-size: .95rem; margin-top: 1.4rem; max-width: 100%; }
    .hero-actions {
      flex-direction: column;
      gap: .8rem;
      width: 100%;
    }
    .hero-actions a { text-align: center; width: 100%; }
    .brand-pills { margin-top: 3rem; padding-top: 2rem; flex-wrap: wrap; }

    /* Stats */
    #stats { grid-template-columns: 1fr 1fr; }
    .stat-item {
      padding: 2rem 1.2rem;
      border-right: none;
      border-bottom: 1px solid var(--border);
    }
    .stat-item:nth-child(odd) { border-right: 1px solid var(--border); }
    .stat-item:nth-last-child(-n+2) { border-bottom: none; }
    .stat-number { font-size: 2rem; }

    /* Sections */
    section { padding: 5rem 1.4rem; }
    h2 { font-size: clamp(1.7rem, 7vw, 2.4rem); }
    .section-desc { max-width: 100%; font-size: .93rem; }

    /* directSOFT */
    .ds-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .ds-grid > div:last-child { order: -1; }
    .feature-grid { grid-template-columns: 1fr 1fr; gap: .6rem; }
    .feature-card { padding: 1.2rem; }
    .brand-card { aspect-ratio: 3/2; border-radius: 18px; }

    /* oxhost */
    .ox-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .plan-row { padding: .9rem 1.1rem; }
    .plan-desc { display: none; } /* hide on smallest screens */

    /* Why grid */
    .why-grid { grid-template-columns: 1fr; gap: 1rem; margin-top: 2.5rem; }
    .why-card { padding: 1.6rem 1.4rem; }

    /* CTA */
    #cta { padding: 6rem 1.4rem; }
    #cta h2 { font-size: clamp(2rem, 8vw, 2.8rem); }
    .cta-btns { flex-direction: column; gap: .8rem; align-items: center; }
    .cta-btns a { width: 100%; max-width: 280px; text-align: center; }

    /* Footer */
    footer {
      padding: 1.8rem 1.4rem;
      flex-direction: column;
      align-items: flex-start;
      gap: 1.2rem;
    }
  }

  /* ─── SMALL MOBILE (≤ 400px) ─── */
  @media (max-width: 400px) {
    .feature-grid { grid-template-columns: 1fr; }
    .plan-badge { display: none; }
    .stat-item { padding: 1.6rem 1rem; }
    .stat-number { font-size: 1.8rem; }
    h1 { font-size: 2rem; }
  }

  

  @media (max-width: 600px) {
    .form-row { grid-template-columns: 1fr; }
    .form-submit { flex-direction: column; align-items: flex-start; }
  }

  /* ─── CTA z formularzem ─── */
  .cta-inner {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 4rem;
    max-width: 1100px;
    margin: 0 auto;
    text-align: left;
    align-items: start;
  }

  .cta-text h2 { margin: 0; }
  .cta-text .section-desc {
    color: rgba(255,255,255,.65);
    margin: 1.2rem 0 1.8rem;
    max-width: 400px;
  }

  .cta-pills {
    display: flex;
    flex-direction: column;
    gap: .5rem;
  }

  .cta-pill {
    font-size: .82rem;
    color: rgba(255,255,255,.55);
    letter-spacing: .02em;
  }

  /* Form inside dark CTA */
  .cta-form {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    padding: 2rem 2rem 1.6rem;
    backdrop-filter: blur(8px);
  }

  .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .form-group {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    margin-bottom: .85rem;
  }

  .form-group label {
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
  }

  .form-group input,
  .form-group textarea,
  .form-group select {
    font-family: 'DM Sans', sans-serif;
    font-size: .92rem;
    font-weight: 300;
    color: #fff;
    background: rgba(255,255,255,.08);
    border: 1.5px solid rgba(255,255,255,.14);
    border-radius: 10px;
    padding: .75rem 1rem;
    outline: none;
    transition: border-color .2s, background .2s;
    width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
  }

  .form-group select option { background: #0d1535; color: #fff; }

  .form-group input::placeholder,
  .form-group textarea::placeholder {
    color: rgba(255,255,255,.28);
  }

  .form-group input:focus,
  .form-group textarea:focus,
  .form-group select:focus {
    border-color: rgba(255,255,255,.4);
    background: rgba(255,255,255,.12);
  }

  .form-group textarea { min-height: 100px; resize: vertical; }

  .form-submit {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: .4rem;
  }

  .btn-submit {
    font-family: 'DM Sans', sans-serif;
    font-size: .92rem;
    font-weight: 500;
    color: var(--text-dark);
    background: #fff;
    padding: .8rem 1.8rem;
    border-radius: 100px;
    border: none;
    cursor: pointer;
    transition: opacity .2s, transform .2s;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    white-space: nowrap;
  }

  .btn-submit:hover { opacity: .88; transform: translateY(-1px); }
  .btn-submit:disabled { opacity: .45; cursor: not-allowed; transform: none; }

  .form-status { font-size: .84rem; font-weight: 400; min-height: 1.4em; }
  .form-status.success { color: #6ee7b7; }
  .form-status.error   { color: #fca5a5; }

  .form-note {
    font-size: .72rem;
    color: rgba(255,255,255,.3);
    margin-top: .9rem;
    text-align: center;
  }

  /* Nadpisz stare reguły CTA żeby działały z nowym layoutem */
  #cta { text-align: left; }
  #cta h2 { color: #fff; }

  @media (max-width: 900px) {
    .cta-inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .cta-text .section-desc { max-width: 100%; }
    #cta { text-align: center; }
    .cta-pills { align-items: center; }
  }

  @media (max-width: 600px) {
    .form-row { grid-template-columns: 1fr; }
    .cta-form { padding: 1.5rem 1.2rem; }
    .form-submit { flex-direction: column; align-items: stretch; }
    .btn-submit { justify-content: center; }
  }

  /* ─── Loga marek w kartach ─── */
  .brand-card-logo {
    max-width: 200px;
    max-height: 70px;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
  }

  /* oxhost logo jest białe – zachowaj jak jest */
  .brand-card-logo-ox {
    filter: brightness(0) invert(1);
  }

  /* Pills z logo */
  .pill-logo {
    height: 16px;
    width: auto;
    display: block;
    object-fit: contain;
  }

  /* oxhost pill logo – jest białe, na jasnym tle zrób ciemne */
  .pill-logo-ox {
    filter: brightness(0) saturate(100%) invert(32%) sepia(90%) saturate(500%) hue-rotate(178deg);
  }

  /* ─── oxhost baner ─── */
  .ox-baner-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .ox-baner-img {
    width: 100%;
    max-width: 520px;
    height: auto;
    border-radius: 24px;
    box-shadow: 0 24px 64px rgba(13,115,173,.22), 0 4px 16px rgba(0,0,0,.10);
    display: block;
    object-fit: cover;
  }

  @media (max-width: 768px) {
    .ox-baner-img { max-width: 100%; border-radius: 16px; }
  }

  /* ══════════════════════════════════════════
     KOMPLEKSOWE ROZWIĄZANIA
  ══════════════════════════════════════════ */
  #solutions {
    background: var(--white);
  }

  .solutions-wrap {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 5rem;
    max-width: 1100px;
    margin: 0 auto;
    align-items: start;
  }

  .solutions-text h2 { margin: .6rem 0 1.2rem; }

  .solutions-lead {
    font-size: 1.05rem;
    font-weight: 400;
    color: var(--text-dark);
    line-height: 1.7;
    margin-bottom: 1rem;
  }

  .solutions-body {
    font-size: .93rem;
    color: var(--text-mid);
    line-height: 1.75;
    margin-bottom: 2rem;
  }

  .btn-primary-blue {
    display: inline-block;
    font-family: 'DM Sans', sans-serif;
    font-size: .92rem;
    font-weight: 500;
    color: #fff;
    background: var(--ds-blue);
    padding: .85rem 2rem;
    border-radius: 100px;
    text-decoration: none;
    transition: opacity .2s, transform .2s;
  }
  .btn-primary-blue:hover { opacity: .85; transform: translateY(-1px); }

  .solutions-features {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }

  .sf-item {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
  }

  .sf-icon {
    flex-shrink: 0;
    width: 44px; height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .sf-icon svg { width: 20px; height: 20px; }

  .sf-icon-blue { background: var(--ds-blue-light); color: var(--ds-blue); }
  .sf-icon-ox   { background: #e8f4fb; color: var(--ox-green); }

  .sf-title {
    font-size: .95rem;
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: .25rem;
  }

  .sf-desc {
    font-size: .84rem;
    color: var(--text-mid);
    line-height: 1.6;
  }

  @media (max-width: 900px) {
    .solutions-wrap { grid-template-columns: 1fr; gap: 3rem; }
  }

  /* ══════════════════════════════════════════
     PARTNERZY
  ══════════════════════════════════════════ */
  #partners {
    background: var(--off-white);
    text-align: center;
  }
  #partners h2, #clients h2 { margin-left: auto; margin-right: auto; text-align: center; }
  #partners .section-desc, #clients .section-desc { margin-left: auto; margin-right: auto; text-align: center; }

  .partners-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    max-width: 1100px;
    margin: 3.5rem auto 0;
  }

  .partner-card {
    background: var(--white);
    border: 1.5px solid var(--border);
    border-radius: 20px;
    padding: 2rem 1.5rem 1.6rem;
    text-align: center;
    transition: box-shadow .25s, transform .25s, border-color .25s;
  }

  .partner-card:hover {
    box-shadow: 0 12px 40px rgba(26,63,208,.10);
    transform: translateY(-4px);
    border-color: rgba(26,63,208,.2);
  }

  .partner-logo-wrap {
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.2rem;
  }

  .partner-logo-text {
    font-family: 'Syne', sans-serif;
    font-weight: 800;
    font-size: 1.3rem;
    letter-spacing: .05em;
  }

  .partner-insert  { color: #e30613; }
  .partner-navireo { color: #003087; }
  .partner-asseco  { color: #e30613; }
  .partner-comarch { color: #d4002b; }

  .partner-name {
    font-size: .92rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: .5rem;
  }

  .partner-desc {
    font-size: .78rem;
    color: var(--text-mid);
    line-height: 1.6;
    margin-bottom: 1rem;
  }

  .partner-badge {
    display: inline-block;
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ds-blue);
    background: var(--ds-blue-light);
    padding: .3rem .8rem;
    border-radius: 100px;
  }

  @media (max-width: 900px) {
    .partners-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 500px) {
    .partners-grid { grid-template-columns: 1fr; }
  }

  /* ══════════════════════════════════════════
     KLIENCI – przewijane logo
  ══════════════════════════════════════════ */
  #clients {
    background: var(--white);
    text-align: center;
    overflow: hidden;
  }

  .marquee-wrap {
    position: relative;
    margin-top: 3rem;
    overflow: hidden;
    /* fade edges */
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  }

  .marquee-track {
    display: flex;
    gap: 1rem;
    width: max-content;
    animation: marquee 40s linear infinite;
  }

  .marquee-wrap:hover .marquee-track {
    animation-play-state: paused;
  }

  @keyframes marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }

  .marquee-item {
    flex-shrink: 0;
  }

  .client-pill {
    display: inline-block;
    font-size: .88rem;
    font-weight: 400;
    color: var(--text-mid);
    background: var(--off-white);
    border: 1.5px solid var(--border);
    border-radius: 100px;
    padding: .6rem 1.4rem;
    white-space: nowrap;
    transition: background .2s, color .2s, border-color .2s;
    cursor: default;
  }

  .client-pill:hover {
    background: var(--ds-blue-light);
    color: var(--ds-blue);
    border-color: rgba(26,63,208,.2);
  }
