    /* ── Variables ── */
    :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;
    }

    /* ── Global resets ── */
    .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 ── */
    .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: 0.88; transition: opacity .2s, color .2s;
    }
    .header-nav-cta:hover { opacity: 1; color: var(--bright-blue); }

    /* ── Footer ── */
    .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,0.09) 0%, transparent 68%);
      pointer-events: none;
    }
    .page-hero__eyebrow {
      display: inline-block;
      font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase;
      color: var(--bright-blue);
      background: rgba(64,128,255,0.1);
      border: 1px solid rgba(64,128,255,0.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,0.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,0.8);
      border: 1px solid rgba(255,255,255,0.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: 0.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: 0.02em;
    }

    /* ══════════════════════════════
       PRODUCTS
    ══════════════════════════════ */
    .products-section { background: #fff; padding: 100px 0; }
    .products-section__eyebrow {
      font-size: 11px; letter-spacing: 0.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,0.1); }
    .prod-card__icon {
      font-size: 28px; color: var(--bright-blue);
      margin-bottom: 20px; display: block;
    }
    .prod-card__label {
      font-size: 11px; letter-spacing: 0.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__link {
      display: inline-flex; align-items: center; gap: 6px;
      font-size: 14px; font-weight: 600; color: var(--bright-blue);
      text-decoration: none; margin-top: 28px;
      transition: gap .2s ease;
    }
    .prod-card__link:hover { gap: 10px; color: var(--navy); }

    /* ══════════════════════════════
       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: 0.18em; text-transform: uppercase;
      color: rgba(255,255,255,0.55); margin-top: 12px; display: block;
    }
    .page-stats__divider { width: 1px; background: rgba(255,255,255,0.1); margin: 20px auto; }

    /* ══════════════════════════════
       WHY BETTROI
    ══════════════════════════════ */
    .page-why { background-color: var(--ink); padding: 100px 0; }
    .page-why__eyebrow {
      font-size: 11px; letter-spacing: 0.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,0.04);
      border: 1px solid rgba(255,255,255,0.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,0.07);
      border-color: rgba(64,128,255,0.3);
      transform: translateY(-4px);
    }
    .why-card__num {
      font-size: 11px; font-weight: 700; letter-spacing: 0.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,0.6); }

    /* ══════════════════════════════
       CONTACT FORM
    ══════════════════════════════ */
    .contact-form-section { background: var(--off-white); padding: 100px 0; }
    .contact-form-section__eyebrow {
      font-size: 11px; letter-spacing: 0.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,0.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: 0.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,0.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: 0.14em; text-transform: uppercase;
      color: rgba(255,255,255,0.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}
.products-section__eyebrow{color:#2967EA !important}
.prod-card__label{color:#2967EA !important}
.prod-card__link{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}
