 
          /* ============================================================
            GS IT: brand layer for Bootstrap 5.3
            Only styles Bootstrap utilities cannot express:
            brand tokens, gradients, the display type scale, animations.
            ============================================================ */ 
          :root {
            /* Brand tokens mapped onto Bootstrap's CSS variables */
            --bs-border-radius: 8px;
            --bs-border-radius-lg: 14px;

            /* Palette not covered by Bootstrap theme colours */
            --b-navy: #0C296F;
            --b-mid: #0F3F8F;
            --primary: #114A9F; 
            --t-muted: #6B7280;
            --s-tint: #F4F7FB;
            --s-icon: #DAE3F0;
            --s-border: #E7ECF3;
            --x-dark: #0B1220;
            --gray: #525252;
            --graylte: #737374;
            --lte: #979797; 
            --ease: cubic-bezier(.22, 1, .36, 1);
            
            --r-lg: 14px;    
          }

          html,
          body {
            overflow-x: clip;
          }

          body {
            -webkit-font-smoothing: antialiased;
            font-family: "DM Sans", sans-serif;
            font-weight: 400;
          }

          a {
            text-decoration: none !important;
          }
          .text-gray{color:var(--gray)}
          .text-lte{color:var(--graylte)}
          .text-lte{color:var(--lte)}
          .font-24 {
            font-size: clamp(20px, 1.6vw, 24px);
            line-height: 1.459;
          }

          .font-16 {
            font-size: 16px;
            line-height: 1.4;
          }

          .font-18 {
            font-size: 18px;
            line-height: 35px;
          }

          .font-20 {
            font-size: 20px;
            line-height: 1.4;
          }
          .p-40{padding: clamp(25px, 2.6vw, 40px) }
          .mb-32{margin-bottom: clamp(20px, 2.6vw, 32px) }
          .section {
            padding-block: 82px;
            scroll-margin-top: 80px;
          }
          .section_title {
              color: var(--primary) !important}
          .eyebrow {
            display: inline-flex;
            gap: 8px;
            margin-bottom: 12px;
            font-size: 16px;
            text-transform: uppercase;
            color: var(--gray);
            line-height: 1.625;
          }

          .eyebrow::before {
            content: "";
            width: 10px;
            height: 10px;
            background: var(--primary);
            flex-shrink: 0;
            position: relative;
            top: 7px;
          }

          .eyebrow-light {
            color: #AFC2E4;
          }

          .section-dark .eyebrow,
          .section-dark .h2-display,
          .section-dark .text-brand,
          .section-dark .body-lg {
            color: #ffffff;
          }

          .section-dark .eyebrow::before {
            background: #fff;
          }

          .h2-display {
            font-size: clamp(30px, 3.6vw, 52px);
            line-height: 1;
            font-weight: 300;
            color:var(--gray);
          }
          .sub-title{
            font-size: clamp(25px, 2.6vw, 42px) !important;
            line-height: 1.2; 

          }

          @media (min-width: 1600px) {
            .h2-display {
                letter-spacing: 2.835px;
            }
          }

          .h2-display .text-brand {
            font-weight: 500;
          }

          .lead-copy {
            font-size: 16px;
            color: var(--graylte);
            line-height: 1.4;
            margin-top: 16px;
          }

          .mt-52 {
            margin-top: clamp(25px, 3vw, 52px);
          }
          .pt-52 {
            padding-top: clamp(25px, 3vw, 52px);
          }
          .border-t{border-top: 1px solid #BFBFBF;}



          .text-primary {
            color: var(--bs-primary);
          }

          .text-navy {
            color: var(--b-navy);
          }

          .text-mid {
            color: var(--b-mid);
          }

          .text-heading {
            color: var(--gray);
          }

          .text-body {
            color: var(--graylte);
          }

          .text-muted {
            color: var(--t-muted);
          }

          .text-dark {
            color: var(--x-dark);
          }

          /* Match the original 1240px wrapper with 24px gutters */
          .page-wrapper {
            overflow: unset !important;
          }
          .pb-42{ 
              padding-bottom: clamp(25px, 3vw, 42px);
          }
          .mt-42{ 
              margin-top: clamp(25px, 3vw, 42px);
          }
          .container-xxl,
          .container {
            max-width: 1540px;
            --bs-gutter-x: 30px;
          }

          @media (min-width: 768px) {

            .container-xxl,
            .container {
                max-width: 1540px;
                --bs-gutter-x: 100px;
            }
          }

          @media (min-width: 1024px) {

            .container-xxl,
            .container {
                max-width: 1540px;
                --bs-gutter-x: 100px;
            }
          }

          @media (min-width: 1570px) {

            .container-xxl,
            .container {
                max-width: 1540px;
                --bs-gutter-x: 40px;
            }
          }

          @media (min-width: 1600px) {

            .container-xxl,
            .container {
                max-width: 1540px;
                --bs-gutter-x: 0px;
            }
          }


          /* end common */

          /* Section rhythm: 88px is off Bootstrap's 3rem/48px scale */
          .bg-tint {
            background: var(--s-tint);
          }

          .bg-light-brand {
            background: #F8F9FD;
          }

          .text-brand {
            color: var(--primary);
          }

          /* ---------- Shared type scale ---------- */


          .body-lg {
            color: var(--graylte);
          }

          .menunew-it {
            padding: 0 !important;
            width: auto;
          }

          .sub-partner {
            width: 80.3% !important;
          }

          /* ---------- Buttons ---------- */
          .btn .arw {
            transition: transform .35s var(--ease);
            display: inline-block;
          }

          .btn:hover .arw {
            transform: translateX(4px);
          }

          .btn-brand {
            background: var(--primary);
            color: #fff;
            border: none;
            border-radius: var(--bs-border-radius);
            padding: 10px 20px;
            font-size: .82rem;
            font-weight: 700;
            transition: background .25s, transform .25s, box-shadow .25s;
          }

          .btn-brand:hover {
            background: var(--b-navy);
            color: #fff;
            transform: translateY(-1px);
            box-shadow: 0 8px 20px -6px rgba(12, 41, 111, .4);
          }

          .btn-hero-solid {
            background: linear-gradient(90deg, #114A9F 0%, #032C69 100%);
            color: #fff;
            border-radius: 15px;
            padding: 14px 30px;
            font-size: 18px;
            line-height: 1.278;
            box-shadow: 0 10px 26px -12px rgba(12, 41, 111, .5);
            transition: background .25s, transform .35s var(--ease), box-shadow .25s;
          }

          .btn-hero-solid:hover {
            background: linear-gradient(135deg, #0A2260 0%, #0E3577 100%);
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 16px 34px -12px rgba(12, 41, 111, .55);
          }

          .btn-hero-outline {
            display: flex;
    gap: 8px;
    justify-content: center;
    width: fit-content;
            background: #fff;
            color: var(--primary);
            border: 1px solid #D5DEEC;
            border-radius: 15px;
            padding: 14px 30px;
            font-size: 18px;
            line-height: 1.278;
            box-shadow: 0 4px 14px -8px rgba(17, 74, 159, .18);
            transition: background .25s, color .25s, border-color .25s, transform .35s var(--ease);
          }

          .min-w-251 {
            min-width: 251px;
          }

          .btn-hero-outline:hover {
            background: var(--primary);
            color: #fff;
            border-color: var(--primary);
            transform: translateY(-2px);
          }
.btn-hero-outline img, .btn-transparent-outline img{  transition: all .25s ease;}
.btn-hero-outline:hover img{filter: brightness(0) invert(1);}
.btn-transparent-outline {
  display: flex;
    gap: 8px;
    justify-content: center;
    width: fit-content;
    background: transparent;
    color: white;
    border: 1px solid #D5DEEC;
    border-radius: 15px;
    padding: 14px 30px;
    font-size: 18px;
    line-height: 1.278;
    box-shadow: 0 4px 14px -8px rgba(17, 74, 159, .18);
    transition: background .25s, color .25s, border-color .25s, transform .35s var(--ease);
}
.btn-transparent-outline:hover {
            background: var(--primary);
            color: #fff;
            border-color: var(--primary);
            transform: translateY(-2px);
          }

.btn-transparent-outline:hover img{filter: brightness(0) invert(1);}
          .btn-pill {
            background: var(--primary);
            color: #fff;
            border: none;
            border-radius: 100px;
            padding: 14px 30px;
            font-size: 18px;
            font-weight: 600;
            transition: background .25s, transform .3s var(--ease), box-shadow .3s;
          }

          .btn-pill:hover {
            background: var(--b-navy);
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 12px 28px -10px rgba(12, 41, 111, .45);
          }

          .btn-link-brand {
            color: var(--primary);
            font-size: .82rem;
            font-weight: 700;
            text-transform: uppercase;
            padding: 13px 0;
          }

          .contact-info ul li .iocn-holder {
            position: absolute;
            left: 0;
            top: -10px;
          }

          .link-col {
            display: block !important;
            margin-bottom: 25px !important;
          }

          .who-we-are-section {
            padding: 122px 0;
            color: #fff;
            overflow: hidden;
            background-size: cover !important;
          }

          .who-we-are-section p.description {
            color: rgba(255, 255, 255, .75);
            font-size: 1rem;
            line-height: 1.7;
            max-width: 520px;
            margin: 26px 0 34px;
          }

          .btn-about {
            background: #fff;
            color: var(--navy-mid);
            font-weight: 600;
            padding: 14px 30px;
            border-radius: 50px;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
            transition: all .25s ease;
          }

          .btn-about:hover {
            background: #eef0ff;
            color: var(--navy-dark);
          }


          .stats-card {
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-radius: 16px;
            border: 1px solid rgb(255 255 255 / 16%);
            box-shadow: 0px 1px 17px rgb(125 125 125 / 10%), inset 0 1px 0 rgb(255 255 255 / 50%), inset 2px -1px 0 rgb(40 40 40 / 10%), inset 0px 0px 5px 0px rgb(201 201 201 / 40%);
            position: relative;
            overflow: hidden;
            background: linear-gradient(111.36deg, rgba(20, 33, 133, 0.2) -1.43%, rgba(255, 255, 255, 0.2) 115.47%);
          }

          .stats-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(45deg, transparent, rgb(80 97 209), transparent);
          }

          .stats-card::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 1px;
            height: 100%;
            background: linear-gradient(180deg, rgb(79 96 209), transparent, rgba(255, 255, 255, 0.3));
          }

          .stat-cell {
            position: relative;
          }

          .stat-cell .stats-number {
            font-weight: 600;
            font-size: clamp(30px, 4.6vw, 52px);
            line-height: 1.4;
            margin-bottom: 5px;
          }

          .stat-cell .stats-label {
            color: #D3D3D3;
            font-size: 16px;
            line-height: 1.4;
          }

          /* dividers */
          .stats-card .row>div {
            border-right: 1px solid #fff;
            border-bottom: 1px solid #fff;
          }

          .stats-card .row>div:nth-child(2n) {
            border-right: none;
          }

          .stats-card .row>div:nth-child(3),
          .stats-card .row>div:nth-child(4) {
            border-bottom: none;
          }

          /* ---------- Hero ---------- */
          .hero {
            background: linear-gradient(120deg, #FFFFFF 0%, #FAFBFE 45%, #E8EFF9 78%, #E1E7F6 100%);
          }

          .hero-photo {
            width: 100%;
          }

          .hero-photo img {
            position: absolute;
            right: 0;
            bottom: 0;
            height: 100%;
            width: auto;
            max-width: none;
            object-fit: cover;
            object-position: left bottom;
          }

          .hero-inner {
            padding-block: 145.5px;
          }

          .hero .home .eyebrow {
            font-size: 18px;
            line-height: 1.445;
          }

          .hero .home .eyebrow::before {
            background: var(--primary);
            width: 10px;
            height: 10px;
          }

          @media(max-width:992px) {
            .hero {
                min-height: 560px;
            }

            .hero .home .eyebrow {
                font-size: 16px;
            }

            .eyebrow {
                margin-bottom: 5px;
            }
          }

          .hero-title {
            font-size: clamp(34px, 4.1vw, 72px);
            letter-spacing: 2.5%;
            font-weight: 300;
            line-height: 1;
            color: var(--gray);
          }

          .hero-title .text-brand {
            font-weight: 500;
          }

          .hero-sub {
            font-size: 20px;
            max-width: 69ch;
            color: var(--graylte);
            line-height: 1.4;
            margin-top: 20px;
          }

          @media(max-width:1500px) {
            .hero-sub {
                max-width: 60ch;
            }
          }

          .hero-cta {
            margin-top: clamp(25px, 3vw, 52px);
          }

          /* ---------- Hero responsive ---------- */
          .overlayhero {
            position: absolute;
            z-index: 2;
            width: 100%;
            height: 100%;
          }

          @media(max-width:1600px) {
            .hero-inner {
                padding-block: 125px;
            }
          }

          @media(max-width:1199.98px) {
            .hero-inner {
                max-width: 540px;
                padding-block: 88px;
            }
          }

          @media(max-width:1430px) {
            .overlayhero {
                background: linear-gradient(90deg, #FFFFFF 0%, #fafbfe 45%, #e8eff900 81%, #e1e7f600 100%);
            }
          }

          @media(max-width:991.98px) {
            .overlayhero {
                background: linear-gradient(0deg, #FFFFFF 0%, #fafbfe 11%, #e8eff9bf 64%, #e1e7f600 100%);
            }

            .hero {
                min-height: 0;
                display: block !important;
            }

            .hero-photo {
                position: absolute;
                inset: 0 0 auto 0;
                width: 100%;
                height: 300px;
            }

            .hero-photo img {
                height: 100%;
                width: 100%;
                left: 0;
                right: auto;
                object-fit: cover;
                object-position: 72% bottom;
            }

            .hero-photo::after {
                content: "";
                position: absolute;
                left: 0;
                right: 0;
                bottom: 0;
                height: 110px;
                background: linear-gradient(0deg, #EFF3FA 0%, rgba(239, 243, 250, 0) 100%);
            }

            .hero-inner {
                max-width: none;
                padding-block: 50px;
            }

            .who-we-are-section {
                padding: 50px 0;
            }

            .hero-title {
                font-size: clamp(30px, 8.4vw, 40px);
            }

            .hero-sub {
                font-size: 15.5px;
            }
          }

          @media(max-width:575.98px) {
            .hero-photo {
                height: 260px;
            }

            .btn-hero-solid,
            .btn-hero-outline {
                width: 100%;
                justify-content: center;
            }
          }

          @media(max-width:991.98px) {
            .section {
                padding-block: 35px;
            }
          }

          .hero-cta .arw {
            margin-left: 15px;
          }

          /* ---------- Capability cards ---------- */
          .cap-card {
            background: #fff;
            border: 1px solid var(--s-border);
            border-radius: var(--bs-border-radius-lg);
            position: relative;
            overflow: hidden;
            transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s;
          }

          .cap-card::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            height: 100%;
            width: 3px;
            background: var(--primary);
            transform: scaleY(0);
            transform-origin: top;
            transition: transform .4s var(--ease);
          }

          .cap-card:hover {
            transform: translateY(-5px);
            border-color: var(--primary);
            box-shadow: 0 16px 40px -16px rgba(17, 74, 159, .16);
          }

          .cap-card:hover::before {
            transform: scaleY(1);
          }

          .cap-num {
            font-size: .72rem;
            font-weight: 700;
            color: var(--primary);
          }

          .cap-line {
            font-size: .68rem;
            font-weight: 700;
            text-transform: uppercase;
            color: var(--t-muted);
            margin-top: 4px;
          }

          .cap-title {
            font-size: 1.12rem;
            line-height: 1.25;
          }

          .cap-sub {
            font-size: .85rem;
            font-weight: 600;
            color: var(--primary);
          }

          .cap-body {
            font-size: .88rem;
            line-height: 1.65;
            color: var(--graylte);
          }

          /* ---------- Problem banner ---------- */
          .prob-banner {
            border-radius: var(--bs-border-radius-lg);
            margin-inline: 0;
            background: linear-gradient(120deg, var(--x-dark) 0%, #0d1a30 60%, var(--x-dark) 100%);
          }

          .prob-banner::after {
            content: "";
            position: absolute;
            right: -80px;
            top: -80px;
            width: 320px;
            height: 320px;
            border-radius: 50%;
            pointer-events: none;
            background: radial-gradient(circle, rgba(76, 126, 255, .18), transparent 62%);
          }

          .prob-title {
            font-size: clamp(24px, 3vw, 38px);
            line-height: 1.15;
            color: #fff;
          }

          .prob-strike {
            text-decoration: line-through;
            text-decoration-color: #EF4444;
            text-decoration-thickness: 3px;
            color: rgba(255, 255, 255, .5);
          }

          .prob-sol {
            color: #AFC2E4;
          }

          .prob-body {
            font-size: .92rem;
            line-height: 1.72;
            color: rgba(255, 255, 255, .7);
            margin-bottom: 14px;
          }

          .prob-kicker {
            font-size: .92rem;
            line-height: 1.72;
            font-weight: 500;
            color: rgba(255, 255, 255, .9);
            border-left: 2px solid #4C7EFF;
          }

          /* ---------- Industries ---------- */
          .ind-grid {
            border: 1px solid var(--s-border);
            border-radius: var(--bs-border-radius-lg);
          }

          .ind-cell {
            border-right: 1px solid var(--s-border);
            border-bottom: 1px solid var(--s-border);
            padding: 28px 24px;
            gap: 10px;
            transition: background .22s;
          }

          .ind-cell:hover {
            background: #EAF1FB;
          }

          .ind-icon {
            width: 42px;
            height: 42px;
            border-radius: 10px;
            background: var(--s-tint);
            border: 1px solid var(--s-border);
            transition: background .22s, border-color .22s;
          }

          .ind-cell:hover .ind-icon {
            background: var(--s-icon);
            border-color: rgba(17, 74, 159, .2);
          }

          .ind-title {
            font-weight: 500;
            color: var(--primary);
          }

          .ind-desc {
            font-size: 16px;
            color: var(--graylte);
            line-height: 1.55;
          }

          .ind-cta {
            background: linear-gradient(140deg, var(--b-navy) 0%, var(--primary) 100%);
          }

          .ind-cta:hover {
            background: linear-gradient(140deg, var(--b-mid) 0%, var(--primary) 100%);
          }

          .ind-cta .ind-title {
            color: #fff;
          }

          .ind-cta .ind-desc {
            color: rgba(255, 255, 255, .75);
          }

          .ind-arw {
            width: 40px;
            height: 40px;
            border-radius: 10px;
            background: rgba(255, 255, 255, .15);
            transition: background .2s, transform .3s var(--ease);
          }

          .ind-cta:hover .ind-arw {
            background: rgba(255, 255, 255, .25);
            transform: translate(2px, -2px);
          }

          .ind-arw svg {
            width: 18px;
            height: 18px;
            stroke: #fff;
            stroke-width: 2;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
          }

          /* edge cleanup per breakpoint */
          @media(min-width:992px) {
            .ind-grid .col:nth-child(4n) .ind-cell {
                border-right: 0;
            }

            .ind-grid .col:nth-child(n+5) .ind-cell {
                border-bottom: 0;
            }
          }

          @media(max-width:991.98px) {
            .ind-grid .col:nth-child(2n) .ind-cell {
                border-right: 0;
            }

            .ind-grid .col:nth-child(n+7) .ind-cell {
                border-bottom: 0;
            }
          }

          /* ---------- Outcome ---------- */
          .outcome-sub {
            font-size: .96rem;
            color: var(--t-muted);
            line-height: 1.6;
            max-width: 320px;
          }

          .outcome-rule {
            border-color: var(--s-border);
            opacity: 1;
            margin: 28px 0;
          }

          .oc {
            border-radius: 16px;
            min-height: 420px;
            background: linear-gradient(215deg, #FAFCFF 0%, #E4EEFE 45%, #CBDFFD 100%);
            transition: background .45s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);
          }

          .oc:hover {
            background: linear-gradient(215deg, #1A3E9E 0%, #1A3686 55%, #1A2F70 100%);
            transform: translateY(-6px);
            box-shadow: 0 22px 50px -18px rgba(17, 74, 159, .42);
          }

          .oc-icon {
            width: 48px;
            height: 48px;
            border-radius: 10px;
            background: #fff;
          }

          .oc-icon svg {
            width: 20px;
            height: 20px;
            stroke: var(--primary);
          }

          .oc-num {
            font-size: clamp(46px, 4.8vw, 66px);
            font-weight: 600;
            line-height: 1;
            color: var(--primary);
            transition: color .45s var(--ease);
          }

          .oc-label {
            font-size: 1.06rem;
            font-weight: 600;
            color: var(--primary);
            line-height: 1.3;
            transition: color .45s var(--ease);
          }

          .oc-desc {
            font-size: .86rem;
            color: var(--t-muted);
            line-height: 1.5;
            transition: color .45s var(--ease);
          }

          .oc:hover .oc-num,
          .oc:hover .oc-label {
            color: #fff;
          }

          .oc:hover .oc-desc {
            color: rgba(255, 255, 255, .72);
          }

          .oc:hover .oc-icon {
            background: #314584;
          }

          .oc:hover .oc-icon svg {
            stroke: #fff;
          }

          /* ---------- Why ---------- */
          .why-sticky {
            position: sticky;
            top: 100px;
          }

          .why-item {
            border-top: 1px solid var(--s-border);
            padding-block: 20px;
          }

          .why-item:nth-child(1) {
            border-top: none;
          }

          .why-idx {
            font-size: 2rem;
            font-weight: 700;
            line-height: 1;
            color: var(--s-icon);
            width: 52px;
            display: inline-block;
          }

          .why-title {
            font-size: 19px;
            font-weight: 500;
            color: var(--gray);
          }

          .why-item-last {
            padding-bottom: 0px !important;
          }

          .why-body {
            font-size: 16px;
            line-height: 1.35;
            color: var(--graylte);
          }

          @media(max-width:991.98px) {
            .why-sticky {
                position: static;
            }
          }

          /* ---------- Logo walls (partners + clients) ---------- */
          .logo-grid {
            border: 1px solid var(--s-border);
            border-radius: var(--bs-border-radius-lg);
          }

          .p-logo {
            min-height: 96px;
            border-right: 1px solid var(--s-border);
            border-bottom: 1px solid var(--s-border);
            transition: background .25s;
          }

          .p-logo img {
            max-width: 100%;
            max-height: 44px;
            width: auto;
            object-fit: contain;
          }

          .p-logo:hover {
            background: var(--s-tint);
          }

          .p-logo:hover img {
            opacity: 1;
            filter: none;
          }

          @media(min-width:992px) {
            .logo-grid .col:nth-child(6n) .p-logo {
                border-right: 0;
            }

            .logo-grid .col:nth-child(n+7) .p-logo {
                border-bottom: 0;
            }
          }

          @media(min-width:768px) and (max-width:991.98px) {
            .logo-grid .col:nth-child(4n) .p-logo {
                border-right: 0;
            }

            .logo-grid .col:nth-child(n+9) .p-logo {
                border-bottom: 0;
            }
          }

          @media(max-width:767.98px) {
            .logo-grid .col:nth-child(2n) .p-logo {
                border-right: 0;
            }

            .logo-grid .col:nth-child(n+11) .p-logo {
                border-bottom: 0;
            }
          }

          /* Client crossfade: 5 slots, each cycling 3 logos */
          .cl-slot {
            min-height: 118px;
            border-right: 1px solid var(--s-border);
          }

          .cl-slot img {
            position: absolute;
            max-width: 100%;
            max-height: 75px;
            width: auto;
            object-fit: contain;
            opacity: 0;
            animation: clFade 20s linear infinite;
            animation-delay: calc(var(--i) * 5s + var(--s) * .8s);
          }

          @keyframes clFade {
            0% {
                opacity: 0
            }

            2.25% {
                opacity: .75
            }

            22.5% {
                opacity: 1
            }

            24.75%,
            100% {
                opacity: 0
            }
          }

          .cl-slot:hover img {
            filter: none;
          }

          @media(min-width:992px) {
            .logo-grid .col:nth-child(5n) .cl-slot {
                border-right: 0;
            }
          }

          @media(max-width:991.98px) {
            .cl-slot img {
                max-height: 60px;
            }

            .logo-grid .col:nth-child(3n) .cl-slot {
                border-right: 0;
            }

            .cl-slot {
                border-right: none;
            }
          }

          /* ---------- Reviews ---------- */
          .review-card {
            border: 1px solid var(--s-border);
            border-radius: var(--bs-border-radius-lg);
          }

          .avatar {
            width: 58px;
            height: 58px;
            border-radius: var(--bs-border-radius);
            background: var(--s-tint);
            border: 1px solid var(--s-border);
          }

          .avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }

          .rev-role {
            font-size: 15px;
            color: var(--t-muted);
          }

          .rev-rule {
            border-color: var(--s-border);
            opacity: 1;
          }

          .rev-text {
            font-size: 16px;
            line-height: 1.35;
            color: var(--graylte);
          }

          .r-btn {
            width: 40px;
            height: 40px;
            border: 1px solid var(--s-border);
            background: #fff;
            cursor: pointer;
            transition: background .2s, border-color .2s;
          }

          .r-btn:hover {
            background: var(--primary);
            border-color: var(--primary);
          }

          .r-btn svg {
            width: 16px;
            height: 16px;
            stroke: var(--gray);
            stroke-width: 2;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
          }

          .r-btn:hover svg {
            stroke: #fff;
          }

          .reviews-slider {
            width: 100%;
            overflow: hidden;
          }

          .reviews-slider .swiper-slide {
            height: auto;
            display: flex;
          }

          .reviews-slider .review-card {
            width: 100%;
          }

          .r-btn.swiper-button-disabled {
            display: none !important;
          }

          /* ---------- Final CTA ---------- */
          .cta-band {
            background: linear-gradient(135deg, #0a2350 0%, var(--primary) 100%);
            color: #fff
          }

          .cta-band .h2-display {
            color: #fff
          }

          .cta-band p {
            color: #768dbb
          }

          .cta-list {
            list-style: none;
            padding: 0;
            margin: 1.5rem 0 0
          }

          .cta-list li {
            display: flex;
            gap: .7rem;
            align-items: flex-start;
            color: #e5edfd;
            margin-bottom: .7rem;
            font-size: .9688rem
          }

          .cta-list svg {
            width: 20px;
            height: 20px;
            flex: 0 0 20px;
            color: #8fb4ff;
            margin-top: 2px
          }

          .form-card {
            background: #fff;
            border-radius: 18px;
            padding: clamp(1.5rem, 3vw, 2.25rem);
            box-shadow: 0 18px 50px rgba(16, 38, 79, .16);
          }

          .form-card h3 {
            font-size: 1.25rem;
            font-weight: 500;
            color: #111a2b;
            margin-bottom: .35rem
          }

          .form-label {
            font-size: .875rem;
            font-weight: 500;
            color: #111a2b;
            margin-bottom: .35rem
          }

          .form-control,
          .form-select {
            border: 1px solid #dde4ef;
            border-radius: 10px;
            padding: .85rem 1rem;
            font-size: 1rem;
            min-height: 52px;
            color: #111a2b;
          }

          .form-control:focus,
          .form-select:focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(23, 71, 166, .12)
          }

          .err {
            display: none;
            color: #c1121f;
            font-size: .8125rem;
            margin-top: .3rem
          }

          .field-invalid .form-control,
          .field-invalid .form-select {
            border-color: #c1121f
          }

          .field-invalid .err {
            display: block
          }

          .form-note {
            font-size: 15px;
            color: #6a7791;
            margin: 1rem 0 0;
            line-height: 1.55
          }

          .form-ok {
            display: none;
            background: #e8f5ec;
            border: 1px solid #b6dfc2;
            color: #17603a;
            border-radius: 12px;
            padding: 1rem 1.15rem;
            font-size: .9375rem
          }

          .footernote {
            font-size: 15px;
            color: #6a7791;
            line-height: 1.3;
          }

          /* ---------- Reveal animation ---------- */
          .reveal {
            opacity: 0;
            transform: translateY(22px);
            transition: opacity .62s cubic-bezier(.22, .7, .28, 1), transform .62s cubic-bezier(.22, .7, .28, 1);
          }

          .reveal.in {
            opacity: 1;
            transform: none;
          }

          [data-delay="1"] {
            transition-delay: .08s
          }

          [data-delay="2"] {
            transition-delay: .16s
          }

          [data-delay="3"] {
            transition-delay: .24s
          }

          [data-delay="4"] {
            transition-delay: .32s
          }

          /* Rows that need a wide gutter without breaking the container box */
          .row.mx-0 {
            --bs-gutter-x: 0;
          }

          .row.mx-0>* {
            padding-inline: 0;
          }

          @media(min-width:992px) {
            #who .row.mx-0>.col-lg-6:first-child {
                padding-right: 28px;
            }

            #who .row.mx-0>.col-lg-6:last-child {
                padding-left: 28px;
            }

            #why .row.mx-0>.col-lg-5 {
                padding-right: 32px;
            }

            #why .row.mx-0>.col-lg-7 {
                padding-left: 32px;
            }
          }

          .mt-trust {
            margin-top: 14px;
          }


          @media (min-width: 992px) {
            .header-info .container {
                padding-right: 15px !important;
            }

            .me-13 {
                margin-right: 13px;
            }
          }



          .section-sub {
            color: var(--text-muted);
            font-size: 1rem;
            margin: 22px 0 45px;
          }

          /* Cards */
          .cover-card {
            position: relative;
            border: 1px solid #e2e2e2;
            border-radius: 14px;
            padding: 24px;
            height: 264px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            background: #fff;
            overflow: hidden;
          }

          /* SVG border */
          .border-draw {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 10;
          }

          .border-draw path {
            fill: none;
            stroke: transparent;
            stroke-width: .5;
            stroke-linecap: round;
            /* blends the meeting point, hides any sub-pixel seam */
            stroke-dasharray: 100;
            stroke-dashoffset: 100;
            transition: stroke-dashoffset 0.8s ease;
          }

          .cover-card:hover .border-draw path {
            stroke: #114A9F;
            stroke-dashoffset: 0;
          }

          /* Draw the complete border on hover */
          .cover-card:hover .border-draw rect {
            stroke-dashoffset: 0;
          }

          .cover-card:hover {
            background: #EEF5FF;

          }

          .cover-card:hover .icon-box {
            background: white;

          }

          .cover-card:hover {
            border-color: #c7d9fb;
            box-shadow: 0 8px 24px rgba(26, 79, 214, .08);
          }

          .cover-card .card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 60px;
            transition: margin-bottom .4s ease;
          }

          /* When the description opens up, the icon row tightens up a little
              so the moving text block below has room to breathe inside the
              fixed-height card. */
          .cover-card:hover .card-top {
            margin-bottom: 20px;
          }

          .icon-box {
            width: 42px;
            height: 42px;
            border-radius: 5.79px;
            background: #EEF5FF;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--brand-blue);
            flex-shrink: 0;

            transition: all .35s ease;
          }

          .cover-card .arrow-icon {
            color: var(--brand-blue);
            transition: transform .35s ease;
          }

          .cover-card:hover .arrow-icon {
            transform: translate(3px, -3px);
          }

          /* Title + subtitle + description now live together in one block.
              The whole block shifts as a unit on hover instead of the
              description overlaying separately on top of a fixed title. */
          .card-content {
            transition: transform .4s ease;
          }

          .cover-card:hover .card-content {
            transform: translateY(-6px);
          }



          .font-medium {
            font-weight: 500
          }

          .cover-card .short-desc {
            color: var(--graylte);
            font-size: .98rem;
            margin-bottom: 0;
          }

          /* Long description sits directly under the subtitle in normal
              document flow. It starts collapsed (max-height 0) and expands
              open on hover, pushing/pulling the title+subtitle group along
              with it rather than sliding in as a separate overlay. */
          .cover-card .long-desc {
            color: var(--text-muted);
            font-size: .92rem;
            line-height: 1.6;
            max-height: 0;
            margin-top: 0;
            opacity: 0;
            overflow: hidden;
            transition: max-height .45s ease, opacity .4s ease, margin-top .45s ease;
            margin-bottom: 0px;
          }

          .cover-card:hover .long-desc {
            max-height: 160px;
            margin-top: 12px;
            opacity: 1;
          }

          /* Bottom "real problem" band */
          .glass-card {
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            box-shadow: 0 8px 32px rgb(0 0 0 / 0%), inset 0 0px 0 rgb(168 168 168 / 0%), inset 0px 0px 13px rgb(132 132 132 / 12%), inset 0px -1px 2px -1px rgb(118 118 118 / 0%);
            position: relative;
            overflow: hidden;
          }

          .glass-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg,
                  transparent,
                  rgba(255, 255, 255, 0.8),
                  transparent);
          }

          .glass-card::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 1px;
            height: 100%;
            background: linear-gradient(180deg,
                  rgba(255, 255, 255, 0.8),
                  transparent,
                  rgba(255, 255, 255, 0.3));
          }

          .real-problem-section {
            background: linear-gradient(90deg, rgba(244, 244, 244, 0.2) 0%, rgba(240, 240, 240, 0.2) 100%);
            border: 1px solid #E9E9E9;
            border-radius: 16px;
            margin-top: 10px;
          }

          .w-style {
            max-width: 73ch;
          }

          .strike-text {
            color: #454545;
            position: relative;
            display: inline-block;
            font-weight: 300;
            font-size: 42px;
            line-height: 1;
          }

          .strike-text::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 54%;
            height: 2px;
            background: #F30000;
          }

          .real-problem-section h3 {
            color: var(--primary);
            margin-bottom: 0;
            font-weight: 500;
            font-size: 42px;
            line-height: 1;
          }

          .real-problem-section .body-text {
            line-height: 1.375;
          }

          .real-problem-section .highlight-text {
            color: var(--primary);
            font-weight: 600;
            font-size: 16px;
            line-height: 1.4;
          }

          .absolute-bottom {
            position: absolute;
            bottom: 30px;
            right: 0px;
          }

          @media (max-width: 767.98px) {
            .what-we-cover h2 {
                font-size: 2rem;
            }

            .real-problem-section {
                padding: 35px 24px;
            }

            .strike-text {
                font-size: 1.6rem;
            }

            .real-problem-section h3 {
                font-size: 1.9rem;
            }
          }

          .impact-section {
            background: #FCFCFC;
          }

          .impact-section h2 .fw-heavy {
            font-weight: 700;
            color: var(--primary);
          }

          .section-sub {
            color: var(--text-muted);
            font-size: 1.05rem;
            margin: 18px 0 55px;
          }

          .stat-number {
            font-size: clamp(30px, 4.6vw, 56px);
            color: var(--primary);
            line-height: 1;
            margin-bottom: 32px;
            font-weight: 600;

          }

          .stat-title {
            color: var(--primary);
            margin-bottom: 8px;
            font-weight: 500;
            letter-spacing: -3%;
          }


          .stat-desc {
            color: #5875A0;
            font-size: 16px;
            margin-bottom: 0;
          }

          @media (max-width: 767.98px) {
            .impact-section h2 {
                font-size: 2rem;
            }

            .stat-number {
                font-size: 2.4rem;
            }
          }

          .logoyear {
            position: absolute;
            right: 20px;
            top: 27%;
            width: 160px;
          }

          .trust-chip {
            display: inline-flex;
            align-items: center;
            gap: .6rem;
            margin-top: 35px;
            background: #fff;
            border: 1px solid #d5dae245;
            border-radius: 999px;
            padding: .6rem 1.1rem;
            box-shadow: 0 9px 30px rgb(23 65 142 / 10%);
            font-size: 15px;
            font-weight: 500;
            color: #111a2b;
            min-height: 44px;
          }

          .trust-chip .stars {
            color: #f4a300;
          }

          .trust-chip strong {
            font-size: 1.0625rem
          }

          @media (max-width: 420px) {
            .trust-chip {
                font-size: 13px;
                margin-top: 20px;
                padding: .6rem 1rem;
                gap: 4px;
            }

            .trust-chip strong {
                font-size: 16px;
            }

            .media400 {
                gap: 22px !important;
                margin-top: 18px !important;
            }
          }

          @media(prefers-reduced-motion:reduce) {
            .reveal {
                opacity: 1;
                transform: none;
                transition: none;
            }

            .cl-slot img {
                animation: none;
                opacity: 0;
            }

            .cl-slot img[style*="--i:0"] {
                opacity: .55;
            }
          } 