    :root {
      --primary:     #001F54;
      --secondary:   #475569;
      --theme:       #1855D4;
      --action:      #1855D4;
      --black:       #0A1128;
      --bg:          #0A1128;
      --border:      rgba(0,31,84,0.12);
      --white:       #FFFFFF;
      --bright-blue: #4080FF;
      --navy:        #001F54;
      --ink:         #0A1128;
      --off-white:   #F4F6F9;
      --cream:       #FEFCFB;
      --slate:       #475569;
      --lt-slate:    #94A3B8;
      --bt-border:   #E2E8F0;
    }
    .custom-cursor { display: none !important; }
    body, body * { cursor: default !important; }
    a, button, [role="button"] { cursor: pointer !important; }
    .loader-wrap { background-color: var(--ink); }
    .loader-wrap svg path { fill: var(--ink); }
    .progress-wrap svg.progress-circle path { stroke: var(--bright-blue); }
    .progress-wrap::after { background-color: var(--navy); color: var(--bright-blue); }
    .rr-btn { background-color: var(--theme) !important; }
    .rr-btn-underline::after { background-color: var(--bright-blue); }
    .header-area .header-main { border-bottom-color: rgba(255,255,255,0.08); }
    .header-nav-cta { font-size:14px; font-weight:500; color:#fff; letter-spacing:0.05em; text-decoration:none; opacity:.88; transition:opacity .2s,color .2s; }
    .header-nav-cta:hover { opacity:1; color:var(--bright-blue); }
    .footer-area { background-color: #fff !important; }
    .footer-area, .footer-area * { color: var(--navy) !important; }
    .footer-area .footer-widget-box.content .title,
    .footer-area .footer-widget-box.content .title span,
    .footer-area .footer-widget-box.content .title div { color: var(--bright-blue) !important; }
    .footer-area .footer-nav-list li a:hover { color: var(--bright-blue) !important; }
    .footer-area .rr-btn-underline,
    .footer-area .rr-btn-underline::before { color: var(--navy) !important; }
    .footer-area .copyright-area { background-color: var(--off-white); border-top-color: var(--bt-border); }

    /* HERO */
    .page-hero { background-color:var(--ink); padding:180px 0 110px; position:relative; overflow:hidden; }
    .page-hero::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 65% 45%, rgba(64,128,255,.09) 0%, transparent 68%); pointer-events:none; }
    .page-hero__eyebrow { display:inline-block; font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--bright-blue); background:rgba(64,128,255,.1); border:1px solid rgba(64,128,255,.25); border-radius:100px; padding:6px 18px; margin-bottom:32px; }
    .page-hero__title { font-size:clamp(46px,7.5vw,108px); line-height:1.0; font-weight:700; color:#fff; margin-bottom:28px; }
    .page-hero__title span { color:var(--bright-blue); }
    .page-hero__sub { font-size:clamp(16px,1.8vw,20px); color:rgba(255,255,255,.6); line-height:1.7; max-width:580px; margin-bottom:44px; }
    .page-hero__cta { display:inline-flex; align-items:center; gap:10px; background:var(--bright-blue); color:#fff; padding:17px 36px; border-radius:6px; font-size:15px; font-weight:600; text-decoration:none; transition:background .25s,transform .25s; }
    .page-hero__cta:hover { background:#5a9dff; color:#fff; transform:translateY(-2px); }
    .page-hero__cta-ghost { display:inline-flex; align-items:center; gap:10px; background:transparent; color:rgba(255,255,255,.8); border:1px solid rgba(255,255,255,.2); padding:17px 36px; border-radius:6px; font-size:15px; font-weight:500; text-decoration:none; margin-left:12px; transition:border-color .25s,color .25s; }
    .page-hero__cta-ghost:hover { border-color:var(--bright-blue); color:#fff; }

    /* INTRO */
    .page-intro { background-color:var(--off-white); padding:100px 0; }
    .page-intro__eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--bright-blue); margin-bottom:28px; display:block; }
    .page-intro__body { font-size:clamp(18px,2.2vw,26px); line-height:1.75; color:var(--navy); font-weight:400; max-width:880px; }
    .page-intro__pillars { display:flex; flex-wrap:wrap; gap:12px; margin-top:48px; }
    .page-intro__pill { font-size:13px; font-weight:600; color:var(--navy); background:#fff; border:1px solid var(--bt-border); border-radius:100px; padding:10px 22px; letter-spacing:.02em; }

    /* CHALLENGE */
    .challenge-section { background-color:var(--navy); padding:100px 0; }
    .challenge-section__eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--bright-blue); margin-bottom:16px; display:block; }
    .challenge-section__heading { font-size:clamp(32px,4vw,52px); font-weight:700; color:#fff; margin-bottom:60px; line-height:1.15; }
    .challenge-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:40px 36px; height:100%; }
    .challenge-card__icon { font-size:32px; color:rgba(255,255,255,.3); margin-bottom:24px; display:block; }
    .challenge-card__title { font-size:20px; font-weight:700; color:#fff; margin-bottom:14px; }
    .challenge-card__text { font-size:15px; line-height:1.8; color:rgba(255,255,255,.6); }

    /* JOURNEY */
    .journey-section { background-color:var(--off-white); padding:100px 0; }
    .journey-section__eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--bright-blue); margin-bottom:20px; display:block; }
    .journey-section__heading { font-size:clamp(28px,3.5vw,48px); font-weight:700; color:var(--navy); margin-bottom:16px; line-height:1.2; }
    .journey-section__sub { font-size:16px; color:var(--slate); max-width:600px; line-height:1.7; margin-bottom:60px; }
    .journey-step { background:#fff; border:1px solid var(--bt-border); border-radius:16px; padding:48px 40px; height:100%; position:relative; transition:transform .3s,box-shadow .3s; }
    .journey-step:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,31,84,.08); }
    .journey-step__num { font-size:80px; font-weight:800; color:var(--off-white); line-height:1; position:absolute; top:20px; right:28px; letter-spacing:-0.03em; user-select:none; }
    .journey-step__icon { font-size:32px; color:var(--bright-blue); margin-bottom:20px; display:block; position:relative; z-index:1; }
    .journey-step__title { font-size:22px; font-weight:700; color:var(--navy); margin-bottom:12px; position:relative; z-index:1; }
    .journey-step__text { font-size:15px; line-height:1.8; color:var(--slate); position:relative; z-index:1; }

    /* PRODUCTS */
    .products-section { background:#fff; padding:100px 0; }
    .products-section__eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--bright-blue); margin-bottom:16px; display:block; }
    .products-section__heading { font-size:clamp(32px,4vw,52px); font-weight:700; color:var(--navy); margin-bottom:60px; line-height:1.15; }
    .prod-card { background:var(--off-white); border-radius:16px; padding:44px 36px; height:100%; border-top:3px solid var(--bright-blue); transition:transform .3s ease,box-shadow .3s ease; display:flex; flex-direction:column; }
    .prod-card:hover { transform:translateY(-6px); box-shadow:0 20px 60px rgba(0,31,84,.1); }
    .prod-card__icon { font-size:28px; color:var(--bright-blue); margin-bottom:20px; display:block; }
    .prod-card__label { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--bright-blue); margin-bottom:10px; display:block; }
    .prod-card__title { font-size:22px; font-weight:700; color:var(--navy); margin-bottom:14px; line-height:1.2; }
    .prod-card__text { font-size:15px; line-height:1.8; color:var(--slate); flex:1; }
    .prod-card__list { list-style:none; padding:0; margin:16px 0 0; }
    .prod-card__list li { font-size:14px; color:var(--slate); padding:6px 0; border-bottom:1px solid var(--bt-border); display:flex; align-items:flex-start; gap:10px; line-height:1.5; }
    .prod-card__list li:last-child { border-bottom:none; }
    .prod-card__list li i { color:var(--bright-blue); margin-top:3px; flex-shrink:0; }

    /* STATS */
    .page-stats { background-color:var(--navy); padding:80px 0; }
    .page-stats__item { text-align:center; padding:20px; }
    .page-stats__number { font-size:clamp(52px,8vw,96px); font-weight:800; color:#fff; line-height:1; letter-spacing:-0.02em; display:block; }
    .page-stats__number span { color:var(--bright-blue); }
    .page-stats__label { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-top:12px; display:block; }

    /* WHY */
    .page-why { background-color:var(--ink); padding:100px 0; }
    .page-why__eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--bright-blue); margin-bottom:16px; display:block; }
    .page-why__heading { font-size:clamp(32px,4.5vw,60px); font-weight:700; color:#fff; margin-bottom:60px; line-height:1.15; }
    .page-why__heading span { color:var(--bright-blue); }
    .why-card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:40px 36px; height:100%; transition:background .3s,border-color .3s,transform .3s; }
    .why-card:hover { background:rgba(64,128,255,.07); border-color:rgba(64,128,255,.3); transform:translateY(-4px); }
    .why-card__num { font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--bright-blue); margin-bottom:20px; display:block; }
    .why-card__title { font-size:22px; font-weight:700; color:#fff; margin-bottom:14px; }
    .why-card__text { font-size:15px; line-height:1.8; color:rgba(255,255,255,.6); }

    /* CONTACT */
    .contact-form-section { background:var(--off-white); padding:100px 0; }
    .contact-form-section__eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--bright-blue); margin-bottom:16px; display:block; }
    .contact-form-section__heading { font-size:clamp(28px,3.5vw,48px); font-weight:700; color:var(--navy); margin-bottom:12px; }
    .contact-form-section__sub { font-size:16px; color:var(--slate); margin-bottom:48px; line-height:1.6; }
    .bt-form .form-control { background:#fff; border:1px solid var(--bt-border); border-radius:8px; padding:16px 20px; font-size:15px; color:var(--navy); transition:border-color .25s,box-shadow .25s; margin-bottom:20px; }
    .bt-form .form-control:focus { border-color:var(--bright-blue); box-shadow:0 0 0 3px rgba(64,128,255,.12); outline:none; }
    .bt-form .form-control::placeholder { color:var(--lt-slate); }
    .bt-form textarea.form-control { resize:vertical; min-height:140px; }
    .bt-form .form-select { background:#fff; border:1px solid var(--bt-border); border-radius:8px; padding:16px 20px; font-size:15px; color:var(--navy); margin-bottom:20px; }
    .bt-form__submit { background:var(--navy); color:#fff; border:none; border-radius:8px; padding:17px 40px; font-size:15px; font-weight:600; letter-spacing:.04em; transition:background .25s,transform .25s; cursor:pointer !important; }
    .bt-form__submit:hover { background:var(--bright-blue); transform:translateY(-2px); }
    .contact-info-card { background:var(--navy); border-radius:16px; padding:48px 40px; height:100%; }
    .contact-info-card__heading { font-size:22px; font-weight:700; color:#fff; margin-bottom:32px; }
    .contact-info-item { display:flex; align-items:flex-start; gap:16px; margin-bottom:28px; }
    .contact-info-item__icon { width:42px; height:42px; flex-shrink:0; background:rgba(64,128,255,.15); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--bright-blue); font-size:16px; }
    .contact-info-item__label { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:4px; display:block; }
    .contact-info-item__value { font-size:15px; color:#fff; font-weight:500; }
    .contact-info-item__value a { color:#fff; text-decoration:none; }
    .contact-info-item__value a:hover { color:var(--bright-blue); }

/* a11y auto-contrast */
.page-intro__eyebrow{color:#2967EA !important}
.challenge-section__eyebrow{color:#538AFF !important}
.journey-section__eyebrow{color:#2967EA !important}
.products-section__eyebrow{color:#2967EA !important}
.prod-card__label{color:#2967EA !important}
.contact-form-section__eyebrow{color:#2967EA !important}
.contact-info-item__label{color:#9AA5B8 !important}
div.col-lg-5 > div.contact-info-card > div > p{color:#9AA5B8 !important}
