:root {
    --cf-blue: #004aad;
    --cf-cyan: #3279c6;
    --cf-violet: #00377f;
    --cf-ink: #000000;
    --cf-ink-soft: #eaf1fa;
    --cf-text: #111111;
    --cf-muted: #5f6670;
    --cf-line: #dce2e8;
    --cf-surface: #ffffff;
    --cf-surface-soft: #f4f7fb;
    --cf-success: #00d084;
    --cf-shadow: 0 22px 70px rgba(9, 26, 52, 0.11);
    --cf-radius-sm: 14px;
    --cf-radius: 24px;
    --cf-radius-lg: 36px;
    --cf-container: min(1280px, calc(100vw - 48px));
    --cf-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

[data-bs-theme="dark"] {
    --cf-text: #eef5ff;
    --cf-muted: #9bacc1;
    --cf-line: rgba(255, 255, 255, 0.12);
    --cf-surface: #0b1729;
    --cf-surface-soft: #07111f;
    --cf-shadow: 0 22px 70px rgba(0, 0, 0, 0.28);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 92px;
}

body.cf-site {
    background: var(--cf-surface);
    color: var(--cf-text);
    font-family: "Satoshi-Variable", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x: hidden;
}

body.cf-site main {
    min-height: 60vh;
}

body.cf-site > main > .section-page-header {
    display: none;
}

body.cf-site a,
body.cf-site button,
body.cf-site input,
body.cf-site select,
body.cf-site textarea {
    transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s var(--cf-ease);
}

body.cf-site a:focus-visible,
body.cf-site button:focus-visible,
body.cf-site input:focus-visible,
body.cf-site select:focus-visible,
body.cf-site textarea:focus-visible {
    outline: 3px solid var(--cf-cyan);
    outline-offset: 4px;
}

.cf-skip-link {
    background: #fff;
    border-radius: 0 0 10px 10px;
    color: var(--cf-ink);
    font-weight: 800;
    left: 24px;
    padding: 12px 18px;
    position: fixed;
    top: -70px;
    z-index: 10002;
}

.cf-skip-link:focus {
    top: 0;
}

.cf-header {
    background: linear-gradient(180deg, rgba(3, 10, 24, 0.82), rgba(3, 10, 24, 0));
    left: 0;
    padding: 15px 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000;
}

.show-admin-bar .cf-header {
    top: 40px;
}

.cf-header.is-scrolled,
.cf-header.is-menu-open {
    background: rgba(4, 13, 29, 0.9);
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    box-shadow: 0 14px 48px rgba(0, 0, 0, 0.18);
    padding: 10px 0;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.cf-nav-shell {
    align-items: center;
    display: flex;
    gap: 30px;
    justify-content: space-between;
    margin: 0 auto;
    max-width: var(--cf-container);
}

.cf-brand {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    height: 52px;
    overflow: hidden;
    width: 216px;
}

.cf-brand img {
    display: block;
    height: auto;
    max-height: none;
    object-fit: contain;
    width: 100%;
}

.cf-desktop-nav {
    align-items: center;
    display: flex;
    gap: 6px;
}

.cf-desktop-nav > a,
.cf-desktop-nav > .cf-nav-item > button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.78);
    display: inline-flex;
    font-size: 15px;
    font-weight: 650;
    gap: 6px;
    padding: 10px 13px;
    text-decoration: none;
}

.cf-desktop-nav > a:hover,
.cf-desktop-nav > .cf-nav-item > button:hover,
.cf-desktop-nav > .cf-nav-item > button[aria-expanded="true"] {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.cf-nav-item {
    position: relative;
}

.cf-mega-menu {
    background: rgba(9, 23, 45, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.35);
    display: grid;
    grid-template-columns: 0.85fr 1.55fr;
    left: 50%;
    min-width: 720px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    top: calc(100% + 16px);
    transform: translate(-50%, 10px);
    visibility: hidden;
}

.cf-has-mega:hover .cf-mega-menu,
.cf-has-mega.is-open .cf-mega-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
    visibility: visible;
}

.cf-mega-intro {
    background: linear-gradient(145deg, rgba(0, 74, 173, 0.26), rgba(0, 55, 127, 0.08));
    display: flex;
    flex-direction: column;
    padding: 30px;
}

.cf-mega-intro > span,
.cf-eyebrow {
    color: var(--cf-cyan);
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.cf-mega-intro strong {
    color: #fff;
    font-size: 24px;
    line-height: 1.15;
    margin: 18px 0 40px;
}

.cf-mega-intro a {
    color: #fff;
    font-size: 14px;
    font-weight: 750;
    margin-top: auto;
    text-decoration: none;
}

.cf-mega-links {
    display: grid;
    gap: 3px;
    grid-template-columns: 1fr 1fr;
    padding: 15px;
}

.cf-mega-links > a {
    align-items: flex-start;
    border-radius: 15px;
    color: #fff;
    display: flex;
    gap: 13px;
    padding: 16px;
    text-decoration: none;
}

.cf-mega-links > a:hover {
    background: rgba(255, 255, 255, 0.07);
}

.cf-mega-links i {
    align-items: center;
    background: rgba(50, 121, 198, 0.12);
    border: 1px solid rgba(50, 121, 198, 0.16);
    border-radius: 10px;
    color: var(--cf-cyan);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 20px;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.cf-mega-links b,
.cf-mega-links small {
    display: block;
}

.cf-mega-links b {
    font-size: 14px;
    margin-bottom: 4px;
}

.cf-mega-links small {
    color: #91a1b7;
    font-size: 12px;
    line-height: 1.4;
}

.cf-nav-actions {
    align-items: center;
    display: flex;
    gap: 8px;
}

.cf-icon-button,
.cf-menu-toggle {
    align-items: center;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.cf-icon-button:hover,
.cf-menu-toggle:hover {
    background: rgba(255, 255, 255, 0.14);
}

.cf-icon-button i {
    font-size: 18px;
}

.cf-icon-button.dark-light-switcher .bi {
    font-size: 15px;
}

.cf-nav-cta {
    background: #fff;
    border-radius: 999px;
    color: var(--cf-ink);
    font-size: 14px;
    font-weight: 800;
    padding: 12px 18px;
    text-decoration: none;
}

.cf-nav-cta:hover {
    background: var(--cf-cyan);
    color: var(--cf-ink);
    transform: translateY(-2px);
}

.cf-menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
}

.cf-menu-toggle span {
    background: #fff;
    height: 1px;
    width: 17px;
}

.cf-menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(3px) rotate(45deg);
}

.cf-menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-3px) rotate(-45deg);
}

.cf-mobile-menu {
    background: #07111f;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    max-height: calc(100vh - 74px);
    overflow-y: auto;
    padding: 30px max(24px, calc((100vw - 1280px) / 2));
}

.cf-mobile-menu[hidden] {
    display: none;
}

.cf-mobile-menu nav {
    display: grid;
}

.cf-mobile-menu nav a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
    color: #fff;
    font-size: clamp(26px, 6vw, 38px);
    font-weight: 650;
    padding: 14px 0;
    text-decoration: none;
}

.cf-mobile-contact {
    display: flex;
    flex-direction: column;
    font-size: 14px;
    gap: 4px;
    padding-top: 26px;
}

.cf-mobile-contact span {
    color: #8190a5;
}

.cf-mobile-contact a {
    color: var(--cf-cyan);
}

.cf-search-dialog {
    background: #0a1729;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 28px;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5);
    color: #fff;
    max-width: min(760px, calc(100vw - 32px));
    padding: 50px;
    width: 100%;
}

.cf-search-dialog::backdrop {
    background: rgba(2, 7, 17, 0.76);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
}

.cf-search-close-form {
    position: absolute;
    right: 20px;
    top: 16px;
}

.cf-search-close-form button {
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 30px;
}

.cf-search-form label {
    display: block;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 650;
    letter-spacing: -0.04em;
    line-height: 1.05;
    margin: 18px 0 30px;
}

.cf-search-form > div {
    display: flex;
    gap: 10px;
}

.cf-search-form input {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    color: #fff;
    flex: 1;
    min-width: 0;
    padding: 16px;
}

.cf-search-form button[type="submit"] {
    background: var(--cf-blue);
    border: 0;
    border-radius: 14px;
    color: #fff;
    font-weight: 750;
    padding: 15px 20px;
}

.cf-home {
    background: var(--cf-surface);
    overflow: hidden;
}

.cf-hero {
    background: #030b18;
    color: #fff;
    min-height: min(920px, 100vh);
    overflow: hidden;
    padding: 144px 0 70px;
    position: relative;
}

.cf-hero::after {
    background: linear-gradient(180deg, rgba(3, 11, 24, 0) 50%, #030b18 100%);
    bottom: 0;
    content: "";
    height: 180px;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
}

.cf-hero-grid,
.cf-final-cta-grid {
    background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 72px 72px;
    inset: 0;
    -webkit-mask-image: linear-gradient(to right, #000, transparent 78%);
    mask-image: linear-gradient(to right, #000, transparent 78%);
    pointer-events: none;
    position: absolute;
}

.cf-orb {
    background: rgba(0, 74, 173, 0.2);
    border-radius: 50%;
    filter: blur(90px);
    height: 420px;
    left: -190px;
    position: absolute;
    top: 260px;
    width: 420px;
}

.cf-hero-inner {
    align-items: center;
    display: grid;
    gap: 30px;
    grid-template-columns: minmax(0, 0.93fr) minmax(0, 1.2fr);
    margin: 0 auto;
    max-width: var(--cf-container);
    position: relative;
    z-index: 2;
}

.cf-hero-copy {
    padding: 34px 0 46px;
    position: relative;
    z-index: 4;
}

.cf-availability {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    color: #b7c4d5;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 9px;
    letter-spacing: 0.04em;
    padding: 8px 13px;
    text-transform: uppercase;
}

.cf-availability > span,
.cf-live-pill > span {
    background: var(--cf-success);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(0, 208, 132, 0.11);
    height: 7px;
    width: 7px;
}

.cf-hero h1 {
    color: #fff;
    font-size: clamp(57px, 6.2vw, 94px);
    font-weight: 600;
    letter-spacing: -0.065em;
    line-height: 0.94;
    margin: 29px 0 26px;
    max-width: 720px;
}

.cf-hero h1 em,
.cf-final-cta h2 em {
    -webkit-background-clip: text;
    background-image: linear-gradient(105deg, #4f86c5, #3279c6 55%, #2d6eb9);
    background-clip: text;
    color: transparent;
    font-style: normal;
}

.cf-hero-copy > p {
    color: #aab8ca;
    font-size: clamp(17px, 1.5vw, 20px);
    line-height: 1.65;
    max-width: 625px;
}

.cf-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin: 35px 0 48px;
}

.cf-button {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 15px;
    font-weight: 800;
    gap: 9px;
    justify-content: center;
    min-height: 54px;
    padding: 14px 22px;
    text-decoration: none;
}

.cf-button-primary {
    background: linear-gradient(120deg, var(--cf-blue), #1e65b8);
    box-shadow: 0 16px 38px rgba(0, 74, 173, 0.34);
    color: #fff;
}

.cf-button-primary:hover {
    box-shadow: 0 19px 45px rgba(0, 74, 173, 0.43);
    color: #fff;
    transform: translateY(-3px);
}

.cf-button-secondary {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
}

.cf-button-secondary:hover {
    background: rgba(255, 255, 255, 0.13);
    color: #fff;
    transform: translateY(-3px);
}

.cf-hero-proof {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, 1fr);
    padding-top: 27px;
}

.cf-hero-proof strong,
.cf-hero-proof span {
    display: block;
}

.cf-hero-proof strong {
    color: #fff;
    font-size: 28px;
    font-weight: 680;
    letter-spacing: -0.04em;
}

.cf-hero-proof span {
    color: #7f90a7;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 4px;
}

.cf-hero-visual {
    margin-right: min(-10vw, -100px);
    min-height: 580px;
    position: relative;
}

.cf-hero-visual::before {
    background: radial-gradient(circle, rgba(0, 74, 173, 0.22), transparent 65%);
    content: "";
    inset: 7% 4% 8% 10%;
    position: absolute;
}

.cf-hero-visual > img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    width: 100%;
}

.cf-signal-card,
.cf-live-pill {
    align-items: center;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background: rgba(11, 29, 54, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.28);
    color: #fff;
    display: flex;
    position: absolute;
    z-index: 3;
}

.cf-signal-card {
    border-radius: 16px;
    gap: 11px;
    padding: 12px 15px;
}

.cf-signal-card i {
    align-items: center;
    background: rgba(50, 121, 198, 0.13);
    border-radius: 10px;
    color: var(--cf-cyan);
    display: inline-flex;
    font-size: 20px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.cf-signal-card span,
.cf-signal-card small {
    display: block;
}

.cf-signal-card span {
    font-size: 13px;
    font-weight: 750;
}

.cf-signal-card small {
    color: #8ea0b8;
    font-size: 10px;
    font-weight: 500;
    margin-top: 2px;
}

.cf-signal-card-one {
    left: 15%;
    top: 27%;
}

.cf-signal-card-two {
    bottom: 17%;
    right: 13%;
}

.cf-live-pill {
    border-radius: 999px;
    bottom: 11%;
    font-size: 11px;
    font-weight: 720;
    gap: 9px;
    left: 27%;
    padding: 9px 13px;
}

.cf-scroll-cue {
    align-items: center;
    bottom: 24px;
    color: #718198;
    display: flex;
    font-size: 10px;
    gap: 9px;
    left: 50%;
    letter-spacing: 0.13em;
    position: absolute;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
    z-index: 4;
}

.cf-scroll-cue i {
    animation: cf-bounce 1.7s ease-in-out infinite;
    color: var(--cf-cyan);
}

.cf-stack-strip {
    background: #030b18;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    color: #fff;
    display: grid;
    grid-template-columns: 240px 1fr;
    overflow: hidden;
    padding: 22px max(24px, calc((100vw - 1280px) / 2));
}

.cf-stack-strip > p {
    border-right: 1px solid rgba(255, 255, 255, 0.11);
    color: #8291a5;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0;
    padding-right: 24px;
    text-transform: uppercase;
}

.cf-marquee {
    overflow: hidden;
}

.cf-marquee > div {
    animation: cf-marquee 35s linear infinite;
    display: flex;
    min-width: max-content;
}

.cf-marquee span {
    color: #c8d2df;
    font-size: 15px;
    font-weight: 650;
    padding: 0 30px;
    position: relative;
}

.cf-marquee span::after {
    background: var(--cf-blue);
    border-radius: 50%;
    content: "";
    height: 4px;
    position: absolute;
    right: 0;
    top: 50%;
    width: 4px;
}

.cf-section {
    margin: 0 auto;
    max-width: var(--cf-container);
    padding: 120px 0;
}

.cf-section-head {
    align-items: end;
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.7fr);
    margin-bottom: 54px;
}

.cf-section-head h2,
.cf-why-copy h2,
.cf-outcome-intro h2,
.cf-process-intro h2 {
    color: var(--cf-text);
    font-size: clamp(42px, 5vw, 70px);
    font-weight: 590;
    letter-spacing: -0.055em;
    line-height: 1.01;
    margin: 18px 0 0;
    max-width: 850px;
}

.cf-section-head > p,
.cf-why-copy > p,
.cf-outcome-intro > p,
.cf-process-intro > p {
    color: var(--cf-muted);
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
}

.cf-service-grid {
    border-left: 1px solid var(--cf-line);
    border-top: 1px solid var(--cf-line);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.cf-service-card {
    border-bottom: 1px solid var(--cf-line);
    border-right: 1px solid var(--cf-line);
    display: flex;
    flex-direction: column;
    min-height: 330px;
    padding: 28px;
    position: relative;
}

.cf-service-card::before {
    background: linear-gradient(135deg, rgba(0, 74, 173, 0.12), rgba(50, 121, 198, 0.02));
    content: "";
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity 0.3s ease;
}

.cf-service-card:hover::before {
    opacity: 1;
}

.cf-service-card:hover {
    transform: translateY(-5px);
    z-index: 2;
}

.cf-service-card > * {
    position: relative;
    z-index: 1;
}

.cf-service-card-top {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.cf-service-card-top i {
    color: var(--cf-blue);
    font-size: 30px;
}

.cf-service-card-top span {
    color: #a7b0bb;
    font-size: 12px;
    font-weight: 750;
}

.cf-service-card h3 {
    color: var(--cf-text);
    font-size: 22px;
    font-weight: 680;
    letter-spacing: -0.025em;
    margin: 62px 0 13px;
}

.cf-service-card p {
    color: var(--cf-muted);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 24px;
}

.cf-service-card a {
    color: var(--cf-text);
    font-size: 13px;
    font-weight: 800;
    margin-top: auto;
    text-decoration: none;
}

.cf-service-card a span,
.cf-text-link span {
    color: var(--cf-blue);
}

.cf-why-section {
    max-width: none;
    padding: 0;
}

.cf-why-shell {
    background: #07111f;
    border-radius: var(--cf-radius-lg);
    color: #fff;
    display: grid;
    gap: 70px;
    grid-template-columns: 0.85fr 1.15fr;
    margin: 0 auto;
    max-width: var(--cf-container);
    overflow: hidden;
    padding: 86px;
    position: relative;
}

.cf-why-shell::after {
    background: rgba(0, 74, 173, 0.22);
    border-radius: 50%;
    content: "";
    filter: blur(90px);
    height: 420px;
    left: -260px;
    position: absolute;
    top: 130px;
    width: 420px;
}

.cf-why-copy,
.cf-tabs {
    position: relative;
    z-index: 1;
}

.cf-why-copy h2 {
    color: #fff;
    font-size: clamp(40px, 4.5vw, 62px);
}

.cf-why-copy > p {
    color: #98a8bd;
    margin: 26px 0;
}

.cf-text-link {
    color: var(--cf-text);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.cf-why-copy .cf-text-link {
    color: #fff;
}

.cf-tab-list {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    gap: 5px;
}

.cf-tab-list button {
    background: transparent;
    border: 0;
    color: #7789a2;
    font-size: 13px;
    font-weight: 750;
    padding: 14px 15px;
    position: relative;
}

.cf-tab-list button::after {
    background: var(--cf-cyan);
    bottom: -1px;
    content: "";
    height: 2px;
    left: 15px;
    position: absolute;
    right: 15px;
    transform: scaleX(0);
}

.cf-tab-list button[aria-selected="true"] {
    color: #fff;
}

.cf-tab-list button[aria-selected="true"]::after {
    transform: scaleX(1);
}

.cf-tab-panels {
    min-height: 390px;
    padding-top: 42px;
}

.cf-tab-panels [role="tabpanel"] {
    position: relative;
}

.cf-tab-panels [role="tabpanel"][hidden] {
    display: none;
}

.cf-tab-panels i {
    align-items: center;
    background: linear-gradient(140deg, rgba(0, 74, 173, 0.35), rgba(50, 121, 198, 0.1));
    border: 1px solid rgba(50, 121, 198, 0.22);
    border-radius: 18px;
    color: var(--cf-cyan);
    display: inline-flex;
    font-size: 32px;
    height: 68px;
    justify-content: center;
    width: 68px;
}

.cf-tab-number {
    color: #314057;
    font-size: 90px;
    font-weight: 650;
    line-height: 1;
    position: absolute;
    right: 0;
    top: -20px;
}

.cf-tab-panels h3 {
    color: #fff;
    font-size: 30px;
    letter-spacing: -0.035em;
    margin: 28px 0 14px;
}

.cf-tab-panels p {
    color: #94a5bb;
    font-size: 15px;
    line-height: 1.7;
    max-width: 560px;
}

.cf-tab-panels ul,
.cf-solution-content ul {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.cf-tab-panels li,
.cf-solution-content li {
    align-items: center;
    color: #d8e1ec;
    display: flex;
    font-size: 13px;
    gap: 10px;
}

.cf-tab-panels li::before,
.cf-solution-content li::before {
    background: var(--cf-cyan);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(50, 121, 198, 0.1);
    content: "";
    height: 5px;
    width: 5px;
}

.cf-solutions .cf-section-head > a,
.cf-insights .cf-section-head > a {
    justify-self: end;
}

.cf-solution-row {
    align-items: center;
    background: var(--cf-surface-soft);
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius-lg);
    display: grid;
    gap: 60px;
    grid-template-columns: 0.8fr 1.2fr;
    margin-bottom: 30px;
    overflow: hidden;
    padding: 70px 0 70px 70px;
}

.cf-solution-row-reverse {
    grid-template-columns: 1.2fr 0.8fr;
    padding: 70px 70px 70px 0;
}

.cf-solution-row-reverse .cf-solution-content {
    grid-column: 2;
    grid-row: 1;
}

.cf-solution-row-reverse .cf-product-window {
    grid-column: 1;
    grid-row: 1;
}

.cf-solution-tag {
    color: var(--cf-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.cf-solution-content h3 {
    color: var(--cf-text);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 600;
    letter-spacing: -0.05em;
    line-height: 1.05;
    margin: 19px 0;
}

.cf-solution-content > p {
    color: var(--cf-muted);
    font-size: 16px;
    line-height: 1.7;
}

.cf-solution-content li {
    color: var(--cf-text);
}

.cf-solution-content > a {
    color: var(--cf-text);
    display: inline-block;
    font-size: 14px;
    font-weight: 800;
    margin-top: 28px;
    text-decoration: none;
}

.cf-solution-content > a span {
    color: var(--cf-blue);
}

.cf-product-window {
    background: #09182c;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 20px 0 0 20px;
    box-shadow: -20px 30px 80px rgba(7, 25, 52, 0.23);
    min-height: 430px;
    overflow: hidden;
    transform: perspective(1100px) rotateY(-5deg);
}

.cf-solution-row-reverse .cf-product-window {
    border-radius: 0 20px 20px 0;
    transform: perspective(1100px) rotateY(5deg);
}

.cf-window-bar {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    gap: 6px;
    padding: 15px;
}

.cf-window-bar > span {
    background: #33425a;
    border-radius: 50%;
    height: 7px;
    width: 7px;
}

.cf-window-bar small {
    color: #7f91a9;
    font-size: 10px;
    letter-spacing: 0.08em;
    margin-left: 10px;
    text-transform: uppercase;
}

.cf-dashboard-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: 1.3fr 0.7fr;
    padding: 22px;
}

.cf-dashboard-grid > div {
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
}

.cf-map-panel {
    background-image: linear-gradient(rgba(50, 121, 198, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(50, 121, 198, 0.045) 1px, transparent 1px) !important;
    background-size: 24px 24px !important;
    grid-row: span 2;
    min-height: 330px;
    overflow: hidden;
    position: relative;
}

.cf-map-panel b {
    background: rgba(3, 12, 29, 0.75);
    border: 1px solid rgba(50, 121, 198, 0.18);
    border-radius: 999px;
    bottom: 16px;
    color: #b7dfff;
    font-size: 10px;
    left: 16px;
    padding: 8px 12px;
    position: absolute;
}

.cf-map-line {
    border: 1px solid rgba(50, 121, 198, 0.35);
    border-radius: 50%;
    display: block;
    height: 250px;
    left: -30px;
    position: absolute;
    top: 28px;
    transform: rotate(-22deg);
    width: 380px;
}

.cf-map-line.two {
    height: 300px;
    left: 30px;
    top: -50px;
    transform: rotate(30deg);
    width: 270px;
}

.cf-map-dot {
    background: var(--cf-cyan);
    border: 5px solid rgba(50, 121, 198, 0.2);
    border-radius: 50%;
    box-shadow: 0 0 24px rgba(50, 121, 198, 0.8);
    height: 12px;
    position: absolute;
    width: 12px;
}

.dot-one { left: 30%; top: 27%; }
.dot-two { left: 67%; top: 48%; }
.dot-three { left: 43%; top: 70%; }

.cf-metric-panel,
.cf-chart-panel {
    min-height: 150px;
    padding: 18px;
}

.cf-metric-panel small,
.cf-chart-panel small {
    color: #7f92aa;
    display: block;
    font-size: 10px;
}

.cf-metric-panel strong {
    color: #fff;
    display: block;
    font-size: 30px;
    margin: 23px 0 20px;
}

.cf-metric-panel > div {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 99px;
    height: 4px;
}

.cf-metric-panel > div span {
    background: linear-gradient(90deg, var(--cf-blue), var(--cf-cyan));
    border-radius: inherit;
    display: block;
    height: 100%;
}

.cf-bars {
    align-items: end;
    display: flex;
    gap: 5px;
    height: 90px;
    margin-top: 12px;
}

.cf-bars i {
    background: linear-gradient(180deg, var(--cf-cyan), var(--cf-blue));
    border-radius: 4px 4px 1px 1px;
    flex: 1;
    height: 37%;
}

.cf-bars i:nth-child(2) { height: 64%; }
.cf-bars i:nth-child(3) { height: 45%; }
.cf-bars i:nth-child(4) { height: 82%; }
.cf-bars i:nth-child(5) { height: 69%; }
.cf-bars i:nth-child(6) { height: 94%; }
.cf-bars i:nth-child(7) { height: 76%; }

.cf-ai-chat {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 46px 35px;
}

.cf-ai-query,
.cf-ai-response {
    display: flex;
    gap: 13px;
}

.cf-ai-query {
    align-self: flex-end;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px 14px 3px 14px;
    color: #d8e2ef;
    font-size: 13px;
    max-width: 78%;
    padding: 15px;
}

.cf-ai-query i,
.cf-ai-response > i {
    color: #7f91a9;
    flex: 0 0 auto;
    font-size: 17px;
}

.cf-ai-response {
    background: linear-gradient(140deg, rgba(0, 74, 173, 0.15), rgba(50, 121, 198, 0.04));
    border: 1px solid rgba(50, 121, 198, 0.18);
    border-radius: 3px 16px 16px 16px;
    padding: 20px;
}

.cf-ai-response > i {
    color: var(--cf-cyan);
}

.cf-ai-response > div {
    flex: 1;
}

.cf-ai-response b {
    color: #fff;
    display: block;
    font-size: 14px;
    margin-bottom: 18px;
}

.cf-ai-response > div > span {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 5px;
    display: block;
    height: 7px;
    margin: 8px 0;
    width: 95%;
}

.cf-ai-response > div > span.short { width: 65%; }

.cf-ai-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 26px;
}

.cf-ai-chips em {
    border: 1px solid rgba(50, 121, 198, 0.22);
    border-radius: 99px;
    color: #8db6df;
    font-size: 9px;
    font-style: normal;
    padding: 7px 10px;
}

.cf-industries {
    padding-top: 90px;
}

.cf-industry-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, 1fr);
}

.cf-industry-card {
    align-items: center;
    background: var(--cf-surface-soft);
    border: 1px solid var(--cf-line);
    border-radius: 18px;
    color: var(--cf-text);
    display: flex;
    gap: 14px;
    min-height: 106px;
    padding: 19px;
    text-decoration: none;
}

.cf-industry-card:hover {
    background: var(--cf-ink);
    border-color: var(--cf-ink);
    color: #fff;
    transform: translateY(-4px);
}

.cf-industry-card > i {
    align-items: center;
    background: rgba(0, 74, 173, 0.09);
    border-radius: 12px;
    color: var(--cf-blue);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 22px;
    height: 45px;
    justify-content: center;
    width: 45px;
}

.cf-industry-card:hover > i {
    background: rgba(50, 121, 198, 0.12);
    color: var(--cf-cyan);
}

.cf-industry-card span {
    flex: 1;
}

.cf-industry-card strong,
.cf-industry-card small {
    display: block;
}

.cf-industry-card strong {
    font-size: 15px;
}

.cf-industry-card small {
    color: var(--cf-muted);
    font-size: 11px;
    line-height: 1.35;
    margin-top: 4px;
}

.cf-industry-card:hover small { color: #9cacc0; }
.cf-industry-card > b { color: var(--cf-blue); font-size: 14px; }

.cf-outcomes {
    align-items: start;
    display: grid;
    gap: 80px;
    grid-template-columns: 0.68fr 1.32fr;
}

.cf-outcome-intro {
    position: sticky;
    top: 130px;
}

.cf-outcome-intro h2 {
    font-size: clamp(40px, 4.5vw, 60px);
}

.cf-outcome-intro > p {
    margin-top: 24px;
}

.cf-outcome-cards {
    display: grid;
    gap: 20px;
}

.cf-outcome-card {
    background: var(--cf-surface-soft);
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius);
    padding: 45px;
}

.cf-outcome-card > span {
    color: var(--cf-blue);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.cf-outcome-card > strong {
    color: var(--cf-text);
    display: block;
    font-size: clamp(28px, 3vw, 40px);
    letter-spacing: -0.04em;
    line-height: 1.1;
    margin: 18px 0 35px;
}

.cf-outcome-card > div {
    border-top: 1px solid var(--cf-line);
    display: grid;
    gap: 15px;
    grid-template-columns: 80px 1fr;
    padding: 20px 0;
}

.cf-outcome-card > div small {
    color: var(--cf-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cf-outcome-card > div p {
    color: var(--cf-muted);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.cf-outcome-card ul {
    border-top: 1px solid var(--cf-line);
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    list-style: none;
    margin: 0;
    padding: 22px 0 0;
}

.cf-outcome-card li {
    color: var(--cf-muted);
    font-size: 11px;
}

.cf-outcome-card li b {
    color: var(--cf-text);
    display: block;
    font-size: 26px;
    letter-spacing: -0.03em;
}

.cf-outcome-card-accent {
    background: linear-gradient(145deg, #0a1a32, #07111f);
    border-color: rgba(50, 121, 198, 0.16);
}

.cf-outcome-card-accent > strong,
.cf-outcome-card-accent li b { color: #fff; }
.cf-outcome-card-accent > div,
.cf-outcome-card-accent ul { border-color: rgba(255, 255, 255, 0.11); }
.cf-outcome-card-accent > div p,
.cf-outcome-card-accent > div small,
.cf-outcome-card-accent li { color: #91a3ba; }

.cf-process-section {
    align-items: start;
    display: grid;
    gap: 90px;
    grid-template-columns: 0.68fr 1.32fr;
    padding-top: 80px;
}

.cf-process-intro {
    position: sticky;
    top: 130px;
}

.cf-process-intro h2 { font-size: clamp(44px, 5vw, 64px); }
.cf-process-intro > p { margin-top: 24px; }

.cf-process-list {
    border-top: 1px solid var(--cf-line);
    list-style: none;
    margin: 0;
    padding: 0;
}

.cf-process-list li {
    align-items: center;
    border-bottom: 1px solid var(--cf-line);
    display: grid;
    gap: 20px;
    grid-template-columns: 45px 1fr 30px;
    min-height: 132px;
    padding: 22px 12px;
}

.cf-process-list li:hover {
    background: linear-gradient(90deg, rgba(0, 74, 173, 0.05), transparent);
    padding-left: 24px;
}

.cf-process-list > li > span {
    color: var(--cf-blue);
    font-size: 12px;
    font-weight: 800;
}

.cf-process-list h3 {
    color: var(--cf-text);
    font-size: 25px;
    letter-spacing: -0.03em;
    margin: 0 0 6px;
}

.cf-process-list p {
    color: var(--cf-muted);
    font-size: 14px;
    margin: 0;
}

.cf-process-list > li > i {
    color: #a2adba;
    font-size: 21px;
}

.cf-technology {
    max-width: none;
    padding: 0;
}

.cf-technology-shell {
    background: linear-gradient(135deg, #07111f, #0b1b33);
    border-radius: var(--cf-radius-lg);
    color: #fff;
    margin: 0 auto;
    max-width: var(--cf-container);
    overflow: hidden;
    padding: 85px;
    position: relative;
}

.cf-technology-shell::after {
    background: rgba(0, 55, 127, 0.28);
    border-radius: 50%;
    content: "";
    filter: blur(100px);
    height: 380px;
    position: absolute;
    right: -190px;
    top: -180px;
    width: 380px;
}

.cf-technology .cf-section-head {
    position: relative;
    z-index: 1;
}

.cf-technology .cf-section-head h2 { color: #fff; }
.cf-technology .cf-section-head > p { color: #9bacc0; }

.cf-tech-grid {
    border-left: 1px solid rgba(255, 255, 255, 0.11);
    border-top: 1px solid rgba(255, 255, 255, 0.11);
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    position: relative;
    z-index: 1;
}

.cf-tech-grid span {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
    border-right: 1px solid rgba(255, 255, 255, 0.11);
    color: #c8d4e2;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    justify-content: center;
    min-height: 85px;
    padding: 10px;
    text-align: center;
}

.cf-tech-grid span:hover {
    background: rgba(50, 121, 198, 0.08);
    color: #fff;
    transform: translateY(-3px);
}

.cf-partnership-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, 1fr);
}

.cf-partnership-grid article {
    background: var(--cf-surface-soft);
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius);
    display: flex;
    flex-direction: column;
    min-height: 330px;
    padding: 35px;
}

.cf-partnership-grid i {
    align-items: center;
    background: rgba(0, 74, 173, 0.08);
    border-radius: 15px;
    color: var(--cf-blue);
    display: inline-flex;
    font-size: 28px;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.cf-partnership-grid h3 {
    color: var(--cf-text);
    font-size: 25px;
    letter-spacing: -0.035em;
    margin: 50px 0 12px;
}

.cf-partnership-grid p {
    color: var(--cf-muted);
    font-size: 14px;
    line-height: 1.65;
}

.cf-partnership-grid span {
    color: var(--cf-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.09em;
    margin-top: auto;
    text-transform: uppercase;
}

.cf-insights {
    padding-top: 60px;
}

.cf-insight-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: 1.15fr 0.85fr 0.85fr;
}

.cf-insight-card {
    background: var(--cf-surface-soft);
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius);
    color: var(--cf-text);
    overflow: hidden;
    text-decoration: none;
}

.cf-insight-card:hover {
    box-shadow: var(--cf-shadow);
    color: var(--cf-text);
    transform: translateY(-6px);
}

.cf-insight-art {
    align-items: center;
    background-color: #0a1830;
    background-image: radial-gradient(circle at 65% 20%, rgba(50, 121, 198, 0.28), transparent 37%), linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: auto, 36px 36px, 36px 36px;
    display: flex;
    height: 230px;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.cf-insight-art i {
    color: var(--cf-cyan);
    font-size: 72px;
    position: relative;
    z-index: 2;
}

.cf-insight-art span {
    border: 1px solid rgba(50, 121, 198, 0.35);
    border-radius: 50%;
    height: 210px;
    position: absolute;
    transform: rotateX(68deg) rotateZ(12deg);
    width: 210px;
}

.cf-insight-art-ai {
    background-image: radial-gradient(circle at 50% 50%, rgba(0, 55, 127, 0.35), transparent 45%), linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
}

.cf-insight-art-ai i { color: #6596ce; }

.cf-insight-art-sec {
    background-image: radial-gradient(circle at 50% 50%, rgba(0, 208, 132, 0.25), transparent 45%), linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
}

.cf-insight-art-sec i { color: var(--cf-success); }

.cf-insight-card > div:last-child {
    padding: 27px;
}

.cf-insight-card small {
    color: var(--cf-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cf-insight-card h3 {
    color: var(--cf-text);
    font-size: 22px;
    letter-spacing: -0.03em;
    line-height: 1.2;
    margin: 13px 0 11px;
}

.cf-insight-featured h3 { font-size: 27px; }

.cf-insight-card p {
    color: var(--cf-muted);
    font-size: 13px;
    line-height: 1.6;
}

.cf-insight-card b {
    color: var(--cf-text);
    display: inline-block;
    font-size: 12px;
    margin-top: 15px;
}

.cf-final-cta {
    align-items: end;
    background: linear-gradient(115deg, var(--cf-blue), #003f93 53%, var(--cf-violet));
    border-radius: var(--cf-radius-lg);
    color: #fff;
    display: grid;
    gap: 50px;
    grid-template-columns: 1fr auto;
    margin-bottom: 100px;
    overflow: hidden;
    padding: 75px;
    position: relative;
}

.cf-final-cta > *:not(.cf-final-cta-grid) {
    position: relative;
    z-index: 1;
}

.cf-final-cta-grid {
    -webkit-mask-image: none;
    mask-image: none;
}

.cf-final-cta .cf-eyebrow { color: #b9d1ec; }

.cf-final-cta h2 {
    color: #fff;
    font-size: clamp(46px, 6vw, 78px);
    font-weight: 590;
    letter-spacing: -0.06em;
    line-height: 0.98;
    margin: 20px 0;
    max-width: 830px;
}

.cf-final-cta h2 em {
    background-image: linear-gradient(90deg, #fff, #79a7d7);
}

.cf-final-cta p {
    color: rgba(255, 255, 255, 0.76);
    font-size: 17px;
    margin: 0;
    max-width: 620px;
}

.cf-button-light {
    background: #fff;
    color: var(--cf-ink);
    white-space: nowrap;
}

.cf-button-light:hover {
    background: #e4eef9;
    color: var(--cf-ink);
    transform: translateY(-3px);
}

.cf-footer {
    background: #030b18;
    color: #fff;
    overflow: hidden;
    position: relative;
}

.cf-footer-glow {
    background: rgba(0, 74, 173, 0.24);
    border-radius: 50%;
    filter: blur(120px);
    height: 440px;
    position: absolute;
    right: -260px;
    top: -260px;
    width: 440px;
}

.cf-footer-inner {
    margin: 0 auto;
    max-width: var(--cf-container);
    padding: 90px 0 30px;
    position: relative;
    z-index: 1;
}

.cf-footer-top {
    display: grid;
    gap: 80px;
    grid-template-columns: 0.8fr 1.2fr;
}

.cf-footer-brand {
    margin-bottom: 25px;
}

.cf-footer-lead > p {
    color: #8f9eb2;
    font-size: 15px;
    line-height: 1.65;
    max-width: 390px;
}

.cf-footer-socials {
    display: flex;
    gap: 8px;
    margin-top: 28px;
}

.cf-footer-socials a {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    color: #b5c1d0;
    display: inline-flex;
    height: 39px;
    justify-content: center;
    text-decoration: none;
    width: 39px;
}

.cf-footer-socials a:hover {
    background: var(--cf-blue);
    border-color: var(--cf-blue);
    color: #fff;
    transform: translateY(-3px);
}

.cf-footer-links {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(3, 1fr);
}

.cf-footer-links > div {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cf-footer-links strong {
    color: #fff;
    font-size: 13px;
    margin-bottom: 10px;
}

.cf-footer-links a {
    color: #8f9eb2;
    font-size: 13px;
    text-decoration: none;
}

.cf-footer-links a:hover { color: #fff; transform: translateX(3px); }

.cf-footer-newsletter {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: grid;
    gap: 50px;
    grid-template-columns: 1fr 0.85fr;
    margin-top: 72px;
    padding: 45px 0;
}

.cf-footer-newsletter h2 {
    color: #fff;
    font-size: clamp(27px, 3vw, 38px);
    letter-spacing: -0.04em;
    margin: 10px 0 0;
    max-width: 580px;
}

.cf-newsletter-form {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    display: flex;
    padding: 6px;
    position: relative;
}

.cf-newsletter-form .alert {
    border-radius: 10px;
    font-size: 12px;
    left: 0;
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
}

.cf-newsletter-form input {
    background: transparent;
    border: 0;
    color: #fff;
    flex: 1;
    min-width: 0;
    padding: 12px 16px;
}

.cf-newsletter-form input::placeholder { color: #75869c; }

.cf-newsletter-form button {
    background: var(--cf-blue);
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    padding: 13px 18px;
}

.cf-footer-bottom {
    color: #65768c;
    display: flex;
    font-size: 11px;
    justify-content: space-between;
    padding-top: 25px;
}

.cf-footer-bottom p { margin: 0; }

.cf-careers-page {
    background: var(--cf-surface);
    overflow: hidden;
}

.cf-careers-hero {
    background: #030b18;
    color: #fff;
    min-height: 760px;
    overflow: hidden;
    padding: 190px max(24px, calc((100vw - 1280px) / 2)) 100px;
    position: relative;
}

.cf-careers-hero::before {
    background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 70px 70px;
    content: "";
    inset: 0;
    -webkit-mask-image: linear-gradient(90deg, #000, transparent 80%);
    mask-image: linear-gradient(90deg, #000, transparent 80%);
    position: absolute;
}

.cf-careers-hero-inner {
    max-width: 830px;
    position: relative;
    z-index: 2;
}

.cf-careers-hero h1 {
    color: #fff;
    font-size: clamp(56px, 7vw, 94px);
    font-weight: 590;
    letter-spacing: -0.065em;
    line-height: 0.96;
    margin: 24px 0;
}

.cf-careers-hero h1 em {
    -webkit-background-clip: text;
    background-image: linear-gradient(100deg, var(--cf-cyan), #8d86ff);
    background-clip: text;
    color: transparent;
    display: block;
    font-style: normal;
}

.cf-careers-hero p {
    color: #a3b1c4;
    font-size: 19px;
    line-height: 1.65;
    margin: 0 0 34px;
    max-width: 670px;
}

.cf-careers-orbit {
    border: 1px solid rgba(50, 121, 198, 0.24);
    border-radius: 50%;
    height: 510px;
    position: absolute;
    right: -80px;
    top: 150px;
    transform: rotateX(65deg) rotateZ(-17deg);
    width: 510px;
}

.cf-careers-orbit::before,
.cf-careers-orbit::after {
    border: 1px solid rgba(0, 74, 173, 0.28);
    border-radius: 50%;
    content: "";
    inset: 70px;
    position: absolute;
}

.cf-careers-orbit::after { inset: 150px; }

.cf-careers-orbit i {
    color: var(--cf-cyan);
    font-size: 72px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotateZ(17deg) rotateX(-65deg);
}

.cf-careers-orbit span {
    background: var(--cf-cyan);
    border-radius: 50%;
    box-shadow: 0 0 24px var(--cf-cyan);
    height: 11px;
    left: 15%;
    position: absolute;
    top: 24%;
    width: 11px;
}

.cf-careers-orbit span:nth-child(2) {
    left: auto;
    right: 9%;
    top: 63%;
}

.cf-careers-culture { padding-bottom: 70px; }

.cf-open-roles { padding-top: 60px; }

.cf-open-roles-head {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 38px;
}

.cf-open-roles-head h2 {
    color: var(--cf-text);
    font-size: clamp(42px, 5vw, 66px);
    letter-spacing: -0.055em;
    margin: 15px 0 0;
}

.cf-open-roles-head > p {
    color: var(--cf-muted);
    font-size: 13px;
}

.cf-role-list {
    border-top: 1px solid var(--cf-line);
}

.cf-role-row {
    align-items: center;
    border-bottom: 1px solid var(--cf-line);
    color: var(--cf-text);
    display: grid;
    gap: 35px;
    grid-template-columns: 1fr auto;
    min-height: 175px;
    padding: 28px 16px;
    text-decoration: none;
}

.cf-role-row:hover {
    background: linear-gradient(90deg, rgba(0, 74, 173, 0.06), transparent);
    color: var(--cf-text);
    padding-left: 30px;
}

.cf-role-row > div > span {
    color: var(--cf-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.cf-role-row h3 {
    color: var(--cf-text);
    font-size: 28px;
    letter-spacing: -0.035em;
    margin: 8px 0;
}

.cf-role-row p {
    color: var(--cf-muted);
    font-size: 13px;
    margin: 0;
    max-width: 760px;
}

.cf-role-row > b {
    border: 1px solid var(--cf-line);
    border-radius: 999px;
    font-size: 12px;
    padding: 12px 17px;
}

.cf-role-row:hover > b {
    background: var(--cf-blue);
    border-color: var(--cf-blue);
    color: #fff;
}

.cf-no-roles {
    background: var(--cf-surface-soft);
    border-radius: var(--cf-radius);
    padding: 45px;
}

.cf-no-roles h3 { color: var(--cf-text); }
.cf-no-roles p { color: var(--cf-muted); margin-bottom: 0; }

[data-cf-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.75s var(--cf-ease), transform 0.75s var(--cf-ease);
}

[data-cf-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Refine the CMS-powered inner pages without changing their content model. */
.cf-site main > .page-header,
.cf-site main > .breadcrumb,
.cf-site .breadcrumb-area {
    margin-top: 80px;
}

.cf-page-masthead {
    align-items: end;
    background: #030b18;
    color: #fff;
    display: flex;
    min-height: 580px;
    overflow: hidden;
    padding: 175px max(24px, calc((100vw - 1280px) / 2)) 80px;
    position: relative;
}

.cf-page-masthead::before {
    background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 70px 70px;
    content: "";
    inset: 0;
    -webkit-mask-image: linear-gradient(90deg, #000, transparent 78%);
    mask-image: linear-gradient(90deg, #000, transparent 78%);
    position: absolute;
}

.cf-page-masthead > div:first-child {
    max-width: 920px;
    position: relative;
    z-index: 2;
}

.cf-page-masthead h1 {
    color: #fff;
    font-size: clamp(62px, 8vw, 108px);
    font-weight: 580;
    letter-spacing: -0.07em;
    line-height: 0.94;
    margin: 22px 0 27px;
}

.cf-page-masthead p {
    color: #a1b0c4;
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.65;
    max-width: 790px;
}

.cf-page-masthead nav {
    align-items: center;
    color: #72849d;
    display: flex;
    font-size: 11px;
    gap: 9px;
    letter-spacing: 0.07em;
    margin-top: 37px;
    text-transform: uppercase;
}

.cf-page-masthead nav a {
    color: var(--cf-cyan);
    text-decoration: none;
}

.cf-page-orbit {
    border: 1px solid rgba(50, 121, 198, 0.2);
    border-radius: 50%;
    height: 430px;
    position: absolute;
    right: -30px;
    top: 100px;
    transform: rotateX(66deg) rotateZ(-17deg);
    width: 430px;
}

.cf-page-orbit::before,
.cf-page-orbit::after {
    border: 1px solid rgba(0, 74, 173, 0.25);
    border-radius: inherit;
    content: "";
    inset: 62px;
    position: absolute;
}

.cf-page-orbit::after { inset: 130px; }

.cf-page-orbit span {
    background: var(--cf-cyan);
    border-radius: 50%;
    box-shadow: 0 0 22px var(--cf-cyan);
    height: 9px;
    left: 15%;
    position: absolute;
    top: 28%;
    width: 9px;
}

.cf-page-orbit span:nth-child(2) {
    left: auto;
    right: 8%;
    top: 62%;
}

.cf-page-orbit i {
    color: var(--cf-cyan);
    font-size: 50px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotateZ(17deg) rotateX(-66deg);
}

.cf-inner-page > .ck-content {
    margin: 0 auto;
    max-width: var(--cf-container);
    padding: 85px 0;
}

.cf-inner-page > .ck-content:empty {
    display: none;
}

.cf-inner-page,
.cf-site .career-details,
.cf-site .shortcode-services,
.cf-site .section-case-studies,
.cf-site .section-blog-7 {
    --tc-theme-primary: var(--cf-blue);
}

.cf-inner-page > section:first-child,
.cf-site .career-details,
.cf-site .section-case-studies,
.cf-site .section-blog-7 {
    padding-top: 130px !important;
}

.cf-inner-page h1,
.cf-inner-page h2,
.cf-inner-page h3,
.cf-site .career-details h1,
.cf-site .career-details h2,
.cf-site .career-details h3 {
    color: var(--cf-text);
    letter-spacing: -0.04em;
}

.cf-inner-page .rounded-4,
.cf-inner-page .rounded-3,
.cf-site .career-details .content,
.cf-site .section-case-studies .rounded-3 {
    border-radius: var(--cf-radius) !important;
}

.cf-inner-page .card-service,
.cf-inner-page .card-team,
.cf-site .shortcode-services .card-service,
.cf-site .career-details .content,
.cf-site .section-case-studies .card-team {
    border-color: var(--cf-line) !important;
    box-shadow: var(--cf-shadow) !important;
}

.cf-inner-page .btn-primary,
.cf-site .career-details .btn-primary {
    background: var(--cf-blue) !important;
    border-color: var(--cf-blue) !important;
    border-radius: 999px !important;
}

.cf-inner-page .contact-form .form-control,
.cf-site .career-details .form-control {
    border-radius: 12px !important;
    min-height: 54px;
}

@keyframes cf-marquee {
    to { transform: translateX(-50%); }
}

@keyframes cf-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(5px); }
}

@media (max-width: 1120px) {
    :root { --cf-container: min(1080px, calc(100vw - 40px)); }
    .cf-desktop-nav { display: none; }
    .cf-menu-toggle { display: inline-flex; }
    .cf-hero-inner { grid-template-columns: 1fr 1fr; }
    .cf-hero-visual { margin-right: -180px; min-height: 540px; }
    .cf-service-grid { grid-template-columns: repeat(2, 1fr); }
    .cf-why-shell { gap: 50px; padding: 65px 50px; }
    .cf-tech-grid { grid-template-columns: repeat(4, 1fr); }
    .cf-insight-grid { grid-template-columns: repeat(2, 1fr); }
    .cf-insight-featured { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; }
    .cf-industry-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
    .cf-hero { min-height: auto; padding-bottom: 40px; }
    .cf-hero-inner { grid-template-columns: 1fr; }
    .cf-hero-copy { max-width: 720px; }
    .cf-hero-visual { margin: -70px -170px -20px 0; min-height: 520px; }
    .cf-stack-strip { grid-template-columns: 180px 1fr; }
    .cf-section { padding: 90px 0; }
    .cf-section-head { align-items: start; grid-template-columns: 1fr; }
    .cf-section-head > p { max-width: 650px; }
    .cf-why-shell { grid-template-columns: 1fr; }
    .cf-solution-row,
    .cf-solution-row-reverse { grid-template-columns: 1fr; padding: 55px 0 0 45px; }
    .cf-solution-row-reverse .cf-solution-content,
    .cf-solution-row-reverse .cf-product-window { grid-column: auto; grid-row: auto; }
    .cf-solution-row-reverse .cf-product-window { border-radius: 20px 0 0 0; transform: none; }
    .cf-product-window { transform: none; }
    .cf-solution-content { max-width: 620px; padding-right: 45px; }
    .cf-outcomes,
    .cf-process-section { gap: 55px; grid-template-columns: 1fr; }
    .cf-outcome-intro,
    .cf-process-intro { position: static; }
    .cf-technology-shell { padding: 65px 45px; }
    .cf-partnership-grid { grid-template-columns: 1fr 1fr; }
    .cf-final-cta { align-items: start; grid-template-columns: 1fr; }
    .cf-footer-top { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    :root { --cf-container: calc(100vw - 28px); --cf-radius-lg: 26px; }
    .cf-header { padding: 10px 0; }
    .cf-brand { height: 45px; width: 178px; }
    .cf-nav-shell { gap: 10px; }
    .cf-icon-button.cf-search-trigger { display: none; }
    .cf-nav-cta { display: none; }
    .cf-icon-button,
    .cf-menu-toggle { height: 39px; width: 39px; }
    .cf-hero { padding-top: 110px; }
    .cf-hero h1 { font-size: clamp(50px, 15vw, 72px); }
    .cf-availability { font-size: 9px; }
    .cf-hero-actions { flex-direction: column; }
    .cf-button { width: 100%; }
    .cf-hero-proof { gap: 12px; }
    .cf-hero-proof strong { font-size: 23px; }
    .cf-hero-proof span { font-size: 9px; }
    .cf-hero-visual { margin: -60px -145px -10px -40px; min-height: 400px; }
    .cf-signal-card { transform: scale(0.82); }
    .cf-signal-card-one { left: 16%; top: 24%; }
    .cf-signal-card-two { bottom: 14%; right: 8%; }
    .cf-live-pill { bottom: 7%; left: 31%; }
    .cf-scroll-cue { display: none; }
    .cf-stack-strip { display: block; padding: 18px 0; }
    .cf-stack-strip > p { border: 0; margin-bottom: 15px; padding: 0 20px; }
    .cf-section { padding: 75px 0; }
    .cf-section-head { gap: 24px; margin-bottom: 38px; }
    .cf-section-head h2,
    .cf-why-copy h2,
    .cf-outcome-intro h2,
    .cf-process-intro h2 { font-size: 39px; }
    .cf-section-head > p,
    .cf-why-copy > p,
    .cf-outcome-intro > p,
    .cf-process-intro > p { font-size: 15px; }
    .cf-service-grid { grid-template-columns: 1fr; }
    .cf-service-card { min-height: 285px; }
    .cf-service-card h3 { margin-top: 42px; }
    .cf-why-shell { border-radius: var(--cf-radius-lg); padding: 48px 24px; }
    .cf-tab-list { overflow-x: auto; }
    .cf-tab-list button { white-space: nowrap; }
    .cf-tab-number { font-size: 70px; }
    .cf-tab-panels { min-height: 430px; }
    .cf-solution-row,
    .cf-solution-row-reverse { gap: 38px; padding: 42px 0 0 24px; }
    .cf-solution-content { padding-right: 24px; }
    .cf-product-window { min-height: 345px; }
    .cf-dashboard-grid { gap: 8px; padding: 12px; }
    .cf-map-panel { min-height: 275px; }
    .cf-metric-panel,
    .cf-chart-panel { min-height: 130px; padding: 11px; }
    .cf-metric-panel strong { font-size: 21px; }
    .cf-ai-chat { padding: 30px 18px; }
    .cf-industry-grid { grid-template-columns: 1fr; }
    .cf-outcomes,
    .cf-process-section { gap: 38px; }
    .cf-outcome-card { padding: 30px 23px; }
    .cf-outcome-card > div { grid-template-columns: 1fr; gap: 7px; }
    .cf-process-list li { min-height: 120px; }
    .cf-technology-shell { padding: 50px 24px; }
    .cf-tech-grid { grid-template-columns: repeat(2, 1fr); }
    .cf-partnership-grid { grid-template-columns: 1fr; }
    .cf-partnership-grid article { min-height: 290px; }
    .cf-insight-grid { grid-template-columns: 1fr; }
    .cf-insight-featured { display: block; grid-column: auto; }
    .cf-insight-art { height: 200px; }
    .cf-final-cta { margin-bottom: 70px; padding: 48px 24px; }
    .cf-final-cta h2 { font-size: 47px; }
    .cf-footer-inner { padding-top: 65px; }
    .cf-footer-top { gap: 50px; }
    .cf-footer-links { gap: 35px 15px; grid-template-columns: 1fr 1fr; }
    .cf-footer-newsletter { gap: 30px; grid-template-columns: 1fr; }
    .cf-newsletter-form { border-radius: 16px; flex-direction: column; }
    .cf-newsletter-form button { border-radius: 11px; }
    .cf-footer-bottom { flex-direction: column; gap: 7px; }
    .cf-search-dialog { padding: 45px 22px 25px; }
    .cf-search-form > div { flex-direction: column; }
    .cf-careers-hero { min-height: 690px; padding-top: 140px; }
    .cf-careers-hero h1 { font-size: 53px; }
    .cf-careers-orbit { bottom: -130px; height: 390px; right: -180px; top: auto; width: 390px; }
    .cf-open-roles-head { align-items: start; flex-direction: column; }
    .cf-role-row { align-items: start; grid-template-columns: 1fr; }
    .cf-role-row > b { justify-self: start; }
    .cf-page-masthead { min-height: 520px; padding-top: 140px; }
    .cf-page-masthead h1 { font-size: 61px; }
    .cf-page-orbit { bottom: -120px; height: 330px; right: -160px; top: auto; width: 330px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
    [data-cf-reveal] { opacity: 1; transform: none; }
}

/* Plain light theme ------------------------------------------------------- */
html[data-bs-theme="light"] {
    --cf-blue: #004aad;
    --cf-cyan: #3279c6;
    --cf-violet: #00377f;
    --cf-ink: #000000;
    --cf-ink-soft: #eef3f8;
    --cf-text: #111111;
    --cf-muted: #5f6670;
    --cf-line: #dce2e8;
    --cf-surface: #ffffff;
    --cf-surface-soft: #f7f9fc;
    --cf-shadow: 0 14px 36px rgba(18, 32, 51, 0.08);
}

body.cf-site { background: #fff; }

.cf-header,
.cf-header.is-scrolled,
.cf-header.is-menu-open {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--cf-line);
    box-shadow: none;
}

.cf-desktop-nav > a,
.cf-desktop-nav > .cf-nav-item > button { color: #344054; }

.cf-desktop-nav > a:hover,
.cf-desktop-nav > .cf-nav-item > button:hover,
.cf-desktop-nav > .cf-nav-item > button[aria-expanded="true"] {
    background: #f2f5f9;
    color: var(--cf-text);
}

.cf-mega-menu {
    background: #fff;
    border-color: var(--cf-line);
    box-shadow: 0 24px 60px rgba(18, 32, 51, 0.14);
}

.cf-mega-intro { background: #f2f6ff; }
.cf-mega-intro > span,
.cf-eyebrow { color: var(--cf-blue); }
.cf-mega-intro strong,
.cf-mega-intro a,
.cf-mega-links > a,
.cf-mega-links b { color: var(--cf-text); }
.cf-mega-links small { color: var(--cf-muted); }
.cf-mega-links > a:hover { background: #f5f7fa; }
.cf-mega-links i { background: #edf4ff; border-color: #d8e7ff; color: var(--cf-blue); }

.cf-icon-button,
.cf-menu-toggle {
    background: #fff;
    border-color: var(--cf-line);
    color: var(--cf-text);
}
.cf-icon-button:hover,
.cf-menu-toggle:hover { background: #f3f6fa; }
.cf-menu-toggle span { background: var(--cf-text); }
.cf-nav-cta,
.cf-nav-cta:hover { background: var(--cf-blue); color: #fff; }

.cf-mobile-menu {
    background: #fff;
    border-color: var(--cf-line);
    color: var(--cf-text);
}
.cf-mobile-menu nav a { border-color: var(--cf-line); color: var(--cf-text); }
.cf-mobile-contact span { color: var(--cf-muted); }
.cf-mobile-contact a { color: var(--cf-blue); }

.cf-search-dialog {
    background: #fff;
    border-color: var(--cf-line);
    box-shadow: 0 30px 80px rgba(18, 32, 51, 0.2);
    color: var(--cf-text);
}
.cf-search-dialog::backdrop { background: rgba(18, 32, 51, 0.36); }
.cf-search-close-form button { color: var(--cf-text); }
.cf-search-form input { background: #f7f9fc; border-color: var(--cf-line); color: var(--cf-text); }

.cf-hero {
    background: #fff;
    border-bottom: 1px solid var(--cf-line);
    color: var(--cf-text);
    min-height: min(880px, 100vh);
}
.cf-hero::after { background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, #fff 100%); }
.cf-hero-grid,
.cf-final-cta-grid {
    background-image: linear-gradient(rgba(0, 74, 173, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 74, 173, 0.045) 1px, transparent 1px);
}
.cf-orb { background: rgba(0, 74, 173, 0.08); }
.cf-availability { border-color: #d6e0eb; color: #526174; }
.cf-hero h1 { color: var(--cf-text); font-size: clamp(54px, 5.7vw, 86px); }
.cf-hero h1 em,
.cf-final-cta h2 em { background-image: none; color: var(--cf-blue); }
.cf-hero-copy > p { color: var(--cf-muted); }
.cf-button-primary { background: var(--cf-blue); box-shadow: none; }
.cf-button-primary:hover { background: #0049d8; box-shadow: none; }
.cf-button-secondary { background: #fff; border-color: #cfd8e3; color: var(--cf-text); }
.cf-button-secondary:hover { background: #f5f7fa; color: var(--cf-text); }
.cf-hero-proof { border-color: var(--cf-line); }
.cf-hero-proof strong { color: var(--cf-text); }
.cf-hero-proof span { color: var(--cf-muted); }

.cf-hero-visual {
    background: #f6f9fd;
    border: 1px solid var(--cf-line);
    border-radius: 28px;
    margin-right: 0;
    min-height: 520px;
    overflow: hidden;
}
.cf-hero-visual > img { display: none; }
.cf-hero-visual::before {
    background: radial-gradient(circle, rgba(0, 74, 173, 0.1), rgba(0, 74, 173, 0.025) 45%, transparent 46%);
    border: 1px solid #cbdcff;
    border-radius: 50%;
    inset: 13%;
}
.cf-hero-visual::after {
    border: 1px solid #dbe6f4;
    border-radius: 50%;
    content: "";
    inset: 25%;
    position: absolute;
}
.cf-signal-card,
.cf-live-pill {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #fff;
    border-color: var(--cf-line);
    box-shadow: var(--cf-shadow);
    color: var(--cf-text);
}
.cf-signal-card i { background: #edf4ff; color: var(--cf-blue); }
.cf-signal-card small { color: var(--cf-muted); }

.cf-stack-strip {
    background: #fff;
    border-color: var(--cf-line);
    color: var(--cf-text);
}
.cf-stack-strip > p { border-color: var(--cf-line); color: var(--cf-muted); }
.cf-marquee span { color: #475467; }

.cf-why-shell {
    background: #f7f9fc;
    border: 1px solid var(--cf-line);
    color: var(--cf-text);
}
.cf-why-shell::after { background: rgba(0, 74, 173, 0.08); }
.cf-why-copy h2,
.cf-why-copy .cf-text-link,
.cf-tab-panels h3,
.cf-tab-panels li { color: var(--cf-text); }
.cf-why-copy > p,
.cf-tab-panels p { color: var(--cf-muted); }
.cf-tab-list { border-color: var(--cf-line); }
.cf-tab-list button { color: #667085; }
.cf-tab-list button[aria-selected="true"] { color: var(--cf-blue); }
.cf-tab-list button::after { background: var(--cf-blue); }
.cf-tab-panels i { background: #eaf2ff; border-color: #d7e5ff; color: var(--cf-blue); }
.cf-tab-number { color: #dfe6ef; }

.cf-product-window,
.cf-solution-row-reverse .cf-product-window {
    background: #fff;
    border-color: var(--cf-line);
    box-shadow: none;
    transform: none;
}
.cf-window-bar { border-color: var(--cf-line); }
.cf-window-bar > span { background: #c9d3df; }
.cf-window-bar small,
.cf-metric-panel small,
.cf-chart-panel small { color: var(--cf-muted); }
.cf-dashboard-grid > div { background-color: #f8fafc; border-color: var(--cf-line); }
.cf-map-panel b { background: #fff; color: var(--cf-blue); }
.cf-metric-panel strong { color: var(--cf-text); }
.cf-metric-panel > div { background: #dfe6ee; }
.cf-ai-query { background: #f7f9fc; border-color: var(--cf-line); color: var(--cf-text); }
.cf-ai-response { background: #edf4ff; border-color: #cfe0ff; }
.cf-ai-response b { color: var(--cf-text); }
.cf-ai-response > div > span { background: #c8d8ed; }
.cf-ai-chips em { border-color: #b9cff4; color: var(--cf-blue); }

.cf-industry-card:hover { background: #edf4ff; border-color: #cfe0ff; color: var(--cf-text); }
.cf-industry-card:hover small { color: var(--cf-muted); }
.cf-industry-card:hover > i { background: #dfeaff; color: var(--cf-blue); }

.cf-outcome-card-accent { background: #eef4ff; border-color: #cfe0ff; }
.cf-outcome-card-accent > strong,
.cf-outcome-card-accent li b { color: var(--cf-text); }
.cf-outcome-card-accent > div,
.cf-outcome-card-accent ul { border-color: #d5e1f0; }
.cf-outcome-card-accent > div p,
.cf-outcome-card-accent > div small,
.cf-outcome-card-accent li { color: var(--cf-muted); }

.cf-technology-shell {
    background: #fff;
    border: 1px solid var(--cf-line);
    color: var(--cf-text);
}
.cf-technology-shell::after { background: rgba(0, 74, 173, 0.06); }
.cf-technology .cf-section-head h2 { color: var(--cf-text); }
.cf-technology .cf-section-head > p { color: var(--cf-muted); }
.cf-tech-grid { border-color: var(--cf-line); }
.cf-tech-grid span { border-color: var(--cf-line); color: #475467; }
.cf-tech-grid span:hover { background: #f2f6ff; color: var(--cf-blue); }

.cf-insight-art,
.cf-insight-art-ai,
.cf-insight-art-sec {
    background-color: #f0f5fb;
    background-image: radial-gradient(circle at 65% 20%, rgba(0, 74, 173, 0.11), transparent 37%), linear-gradient(rgba(0, 74, 173, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 74, 173, 0.045) 1px, transparent 1px);
}
.cf-insight-art i,
.cf-insight-art-ai i,
.cf-insight-art-sec i { color: var(--cf-blue); }
.cf-insight-art span { border-color: #adc6ef; }

.cf-final-cta {
    background: #edf4ff;
    border: 1px solid #cfe0ff;
    color: var(--cf-text);
}
.cf-final-cta .cf-eyebrow { color: var(--cf-blue); }
.cf-final-cta h2 { color: var(--cf-text); }
.cf-final-cta p { color: var(--cf-muted); }
.cf-button-light,
.cf-button-light:hover { background: var(--cf-blue); color: #fff; }

.cf-footer {
    background: #fff;
    border-top: 1px solid var(--cf-line);
    color: var(--cf-text);
}
.cf-footer-glow { display: none; }
.cf-footer-lead > p,
.cf-footer-links a,
.cf-footer-bottom { color: var(--cf-muted); }
.cf-footer-socials a { border-color: var(--cf-line); color: #475467; }
.cf-footer-links strong,
.cf-footer-newsletter h2 { color: var(--cf-text); }
.cf-footer-links a:hover { color: var(--cf-blue); }
.cf-footer-newsletter { border-color: var(--cf-line); }
.cf-newsletter-form { background: #f7f9fc; border-color: var(--cf-line); }
.cf-newsletter-form input { color: var(--cf-text); }

.site-notice {
    background: rgba(255, 255, 255, 0.98) !important;
    border-top: 1px solid var(--cf-line);
    color: var(--cf-text) !important;
}
.site-notice .site-notice__actions .site-notice__agree,
.site-notice .site-notice__categories .cookie-consent__save .cookie-consent__save-button {
    background: var(--cf-blue) !important;
    border-color: var(--cf-blue) !important;
    color: #fff !important;
}
.site-notice .site-notice__actions .site-notice__agree::before { display: none; }

.cf-careers-hero,
.cf-page-masthead {
    background: #f7f9fc;
    border-bottom: 1px solid var(--cf-line);
    color: var(--cf-text);
}
.cf-careers-hero::before,
.cf-page-masthead::before {
    background-image: linear-gradient(rgba(0, 74, 173, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 74, 173, 0.045) 1px, transparent 1px);
}
.cf-careers-hero h1,
.cf-page-masthead h1 { color: var(--cf-text); }
.cf-careers-hero p,
.cf-page-masthead p { color: var(--cf-muted); }
.cf-page-masthead nav a { color: var(--cf-blue); }

@media (max-width: 900px) {
    .cf-hero-visual { margin: 0; min-height: 460px; }
}

@media (max-width: 680px) {
    .cf-hero h1 { font-size: clamp(47px, 14vw, 66px); }
    .cf-hero-visual { margin: 0; min-height: 340px; }
    .cf-signal-card-one { left: 5%; top: 18%; }
    .cf-signal-card-two { bottom: 16%; right: 4%; }
    .cf-live-pill { bottom: 5%; left: 16%; }
    .cf-final-cta { padding: 44px 24px; }
}

/* Services and About content --------------------------------------------- */
.cf-services-page,
.cf-about-page {
    background: #fff;
    overflow: hidden;
}

.cf-services-overview,
.cf-about-story {
    padding-top: 100px;
}

.cf-service-detail-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cf-service-detail-card {
    background: var(--cf-surface-soft);
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius);
    display: flex;
    flex-direction: column;
    min-height: 500px;
    padding: 42px;
    scroll-margin-top: 110px;
}

.cf-service-detail-icon,
.cf-focus-grid i,
.cf-principles-grid i {
    align-items: center;
    background: #eaf2ff;
    border: 1px solid #d5e4ff;
    border-radius: 15px;
    color: var(--cf-blue);
    display: inline-flex;
    font-size: 25px;
    height: 56px;
    justify-content: center;
    width: 56px;
}

.cf-service-detail-card > span {
    color: var(--cf-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    margin-top: 34px;
    text-transform: uppercase;
}

.cf-service-detail-card h3 {
    color: var(--cf-text);
    font-size: clamp(28px, 3vw, 38px);
    letter-spacing: -0.04em;
    line-height: 1.08;
    margin: 14px 0;
}

.cf-service-detail-card > p,
.cf-focus-copy > p,
.cf-focus-grid p,
.cf-engagement-grid p,
.cf-about-copy p,
.cf-purpose-grid p,
.cf-principles-grid p,
.cf-system-band p {
    color: var(--cf-muted);
    line-height: 1.7;
}

.cf-service-detail-card ul {
    border-top: 1px solid var(--cf-line);
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 26px 0 28px;
    padding: 24px 0 0;
}

.cf-service-detail-card li {
    color: #344054;
    font-size: 14px;
    padding-left: 20px;
    position: relative;
}

.cf-service-detail-card li::before {
    background: var(--cf-blue);
    border-radius: 50%;
    content: "";
    height: 6px;
    left: 0;
    position: absolute;
    top: 8px;
    width: 6px;
}

.cf-service-detail-card > a {
    color: var(--cf-text);
    font-size: 13px;
    font-weight: 800;
    margin-top: auto;
    text-decoration: none;
}
.cf-service-detail-card > a b { color: var(--cf-blue); }

.cf-healthcare-focus {
    max-width: none;
    padding: 0;
}

.cf-focus-shell {
    background: #edf4ff;
    border: 1px solid #cfe0ff;
    border-radius: var(--cf-radius-lg);
    display: grid;
    gap: 70px;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    margin: 0 auto;
    max-width: var(--cf-container);
    padding: 80px;
}

.cf-focus-copy h2,
.cf-about-statement h2,
.cf-system-band h2 {
    color: var(--cf-text);
    font-size: clamp(42px, 5vw, 66px);
    font-weight: 590;
    letter-spacing: -0.055em;
    line-height: 1;
    margin: 18px 0 26px;
}

.cf-focus-copy .cf-text-link {
    display: inline-block;
    margin-top: 18px;
}

.cf-focus-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cf-focus-grid article {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid #d5e2f4;
    border-radius: 20px;
    padding: 25px;
}

.cf-focus-grid i {
    background: #fff;
    height: 48px;
    width: 48px;
}

.cf-focus-grid h3,
.cf-engagement-grid h3,
.cf-purpose-grid h3,
.cf-principles-grid h3 {
    color: var(--cf-text);
    font-size: 23px;
    letter-spacing: -0.03em;
    line-height: 1.2;
    margin: 25px 0 10px;
}

.cf-focus-grid p,
.cf-engagement-grid p,
.cf-principles-grid p {
    font-size: 14px;
    margin: 0;
}

.cf-engagements { padding-top: 100px; }

.cf-engagement-grid {
    border-left: 1px solid var(--cf-line);
    border-top: 1px solid var(--cf-line);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cf-engagement-grid article {
    border-bottom: 1px solid var(--cf-line);
    border-right: 1px solid var(--cf-line);
    min-height: 310px;
    padding: 34px;
}

.cf-engagement-grid article > span {
    color: var(--cf-blue);
    font-size: 12px;
    font-weight: 800;
}

.cf-engagement-grid h3 { font-size: 28px; margin-top: 70px; }

.cf-about-story {
    align-items: start;
    display: grid;
    gap: 90px;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.cf-about-statement h2 { margin-bottom: 0; }

.cf-about-copy {
    border-left: 1px solid var(--cf-line);
    padding-left: 60px;
}

.cf-about-copy p {
    font-size: 19px;
    margin: 0 0 24px;
}

.cf-purpose-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 30px;
}

.cf-purpose-grid article {
    background: var(--cf-surface-soft);
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius);
    min-height: 400px;
    padding: 45px;
}

.cf-purpose-grid h3 {
    font-size: clamp(30px, 3.4vw, 46px);
    margin-top: 55px;
}

.cf-principles { padding-top: 70px; }

.cf-principles-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cf-principles-grid article {
    border: 1px solid var(--cf-line);
    border-radius: 20px;
    min-height: 340px;
    padding: 30px;
}

.cf-principles-grid h3 { margin-top: 60px; }

.cf-system-band {
    background: #f7f9fc;
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius-lg);
    display: grid;
    gap: 60px;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    margin-bottom: 120px;
    padding: 72px;
}

.cf-system-band h2 { font-size: clamp(38px, 4vw, 56px); }

.cf-system-band ol {
    border-left: 1px solid var(--cf-line);
    border-top: 1px solid var(--cf-line);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.cf-system-band li {
    border-bottom: 1px solid var(--cf-line);
    border-right: 1px solid var(--cf-line);
    color: var(--cf-text);
    display: flex;
    flex-direction: column;
    font-size: 15px;
    font-weight: 750;
    justify-content: space-between;
    min-height: 120px;
    padding: 20px;
}

.cf-system-band li span {
    color: var(--cf-blue);
    font-size: 10px;
}

@media (max-width: 900px) {
    .cf-service-detail-grid,
    .cf-focus-shell,
    .cf-about-story,
    .cf-system-band { grid-template-columns: 1fr; }
    .cf-focus-shell { padding: 60px 45px; }
    .cf-engagement-grid { grid-template-columns: 1fr; }
    .cf-engagement-grid article { min-height: 250px; }
    .cf-engagement-grid h3 { margin-top: 45px; }
    .cf-about-copy { border-left: 0; border-top: 1px solid var(--cf-line); padding: 40px 0 0; }
    .cf-principles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .cf-services-overview,
    .cf-about-story { padding-top: 70px; }
    .cf-service-detail-grid,
    .cf-focus-grid,
    .cf-purpose-grid,
    .cf-principles-grid { grid-template-columns: 1fr; }
    .cf-service-detail-card { min-height: 0; padding: 30px 24px; }
    .cf-focus-shell { padding: 48px 24px; }
    .cf-purpose-grid { padding-top: 0; }
    .cf-purpose-grid article { min-height: 0; padding: 34px 24px; }
    .cf-principles-grid article { min-height: 290px; }
    .cf-system-band { margin-bottom: 75px; padding: 45px 24px; }
    .cf-system-band ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 2026 global brand refinement ------------------------------------------ */
:root,
html[data-bs-theme="light"] {
    --cf-line: #d9e2ec;
    --cf-surface-soft: #f5f8fc;
    --cf-shadow: 0 24px 70px rgba(0, 41, 96, 0.1);
    --cf-radius-sm: 14px;
    --cf-radius: 24px;
    --cf-radius-lg: 34px;
}

body.cf-site {
    background: #fff;
    color: #0b1220;
}

.cf-header,
.cf-header.is-scrolled,
.cf-header.is-menu-open {
    -webkit-backdrop-filter: saturate(150%) blur(24px);
    backdrop-filter: saturate(150%) blur(24px);
    background: rgba(255, 255, 255, 0.86);
    border-bottom: 1px solid rgba(0, 74, 173, 0.1);
}

.cf-header.is-scrolled,
.cf-header.is-menu-open {
    box-shadow: 0 12px 40px rgba(7, 31, 62, 0.06);
}

.cf-desktop-nav > a,
.cf-desktop-nav > .cf-nav-item > button,
.cf-button,
.cf-nav-cta {
    border-radius: 13px;
}

.cf-nav-cta,
.cf-nav-cta:hover {
    box-shadow: 0 10px 24px rgba(0, 74, 173, 0.2);
}

.cf-hero {
    background:
        radial-gradient(circle at 88% 12%, rgba(0, 74, 173, 0.14), transparent 34%),
        radial-gradient(circle at 5% 76%, rgba(50, 121, 198, 0.09), transparent 27%),
        linear-gradient(180deg, #fbfdff 0%, #f5f9fe 64%, #fff 100%);
    border-bottom: 0;
    min-height: min(940px, 100vh);
    padding-bottom: 88px;
}

.cf-hero::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 15%, #fff 100%);
    height: 110px;
}

.cf-hero-grid {
    background-image:
        linear-gradient(rgba(0, 74, 173, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 74, 173, 0.05) 1px, transparent 1px);
    background-size: 48px 48px;
    -webkit-mask-image: radial-gradient(ellipse 75% 68% at 70% 30%, #000 10%, transparent 77%);
    mask-image: radial-gradient(ellipse 75% 68% at 70% 30%, #000 10%, transparent 77%);
}

.cf-orb {
    background: rgba(0, 74, 173, 0.11);
    filter: blur(110px);
}

.cf-hero-inner {
    gap: clamp(42px, 5vw, 78px);
    grid-template-columns: minmax(0, 1.04fr) minmax(430px, 0.96fr);
}

.cf-availability {
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    background: rgba(255, 255, 255, 0.68);
    border-color: rgba(0, 74, 173, 0.14);
    box-shadow: 0 8px 30px rgba(0, 57, 124, 0.06);
    color: #37516f;
    padding: 9px 14px;
}

.cf-hero h1 {
    color: #050b14;
    font-size: clamp(58px, 6.3vw, 96px);
    font-weight: 610;
    letter-spacing: -0.072em;
    line-height: 0.94;
    max-width: 820px;
}

.cf-hero h1 em {
    background-image: linear-gradient(105deg, #004aad 5%, #3279c6 62%, #00377f);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.cf-hero-copy > p {
    color: #526174;
    font-size: clamp(17px, 1.45vw, 20px);
    max-width: 660px;
}

.cf-button-primary {
    background: linear-gradient(115deg, #004aad, #1667c2);
    box-shadow: 0 15px 32px rgba(0, 74, 173, 0.24);
}

.cf-button-primary:hover {
    background: linear-gradient(115deg, #003f94, #0b58ae);
    box-shadow: 0 18px 36px rgba(0, 74, 173, 0.3);
}

.cf-button-secondary {
    background: rgba(255, 255, 255, 0.74);
    border-color: rgba(0, 55, 127, 0.16);
    box-shadow: 0 10px 26px rgba(13, 44, 83, 0.05);
}

.cf-hero-proof {
    border-color: rgba(0, 55, 127, 0.12);
}

.cf-hero-proof strong { color: #07111f; }
.cf-hero-proof span { color: #617086; }

.cf-global-visual {
    background:
        radial-gradient(circle at 50% 50%, rgba(0, 74, 173, 0.13), transparent 26%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(230, 240, 251, 0.86));
    border: 1px solid rgba(0, 74, 173, 0.13);
    border-radius: 32px;
    box-shadow: 0 45px 110px rgba(0, 52, 116, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    isolation: isolate;
    margin-right: 0;
    min-height: 570px;
    overflow: hidden;
}

.cf-global-visual::before {
    background-image:
        linear-gradient(rgba(0, 74, 173, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 74, 173, 0.055) 1px, transparent 1px);
    background-size: 32px 32px;
    border: 0;
    border-radius: 0;
    inset: 0;
    -webkit-mask-image: radial-gradient(circle at center, #000, transparent 70%);
    mask-image: radial-gradient(circle at center, #000, transparent 70%);
    z-index: -2;
}

.cf-global-visual::after {
    background: radial-gradient(circle, #004aad 0 3px, rgba(0, 74, 173, 0.17) 4px 7px, transparent 8px);
    border: 1px solid rgba(0, 74, 173, 0.17);
    border-radius: 50%;
    content: "";
    inset: 31%;
    position: absolute;
    z-index: -1;
}

.cf-global-orbit {
    border: 1px solid rgba(0, 74, 173, 0.22);
    border-radius: 50%;
    inset: 12%;
    position: absolute;
    transform: rotate(-10deg);
}

.cf-global-orbit::before,
.cf-global-orbit::after {
    border: 1px solid rgba(0, 74, 173, 0.13);
    border-radius: inherit;
    content: "";
    inset: 14%;
    position: absolute;
}

.cf-global-orbit::after {
    inset: 31%;
}

.cf-global-orbit span {
    background: #004aad;
    border: 5px solid rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    box-shadow: 0 0 0 8px rgba(0, 74, 173, 0.1), 0 10px 22px rgba(0, 52, 116, 0.22);
    height: 20px;
    position: absolute;
    width: 20px;
}

.cf-global-orbit span:first-child { left: 17%; top: 8%; }
.cf-global-orbit span:nth-child(2) { bottom: 15%; right: 7%; }

.cf-global-orbit i {
    background: #3279c6;
    border: 4px solid rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    bottom: 8%;
    box-shadow: 0 0 0 7px rgba(50, 121, 198, 0.1);
    height: 16px;
    left: 13%;
    position: absolute;
    width: 16px;
}

.cf-hub-card {
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(0, 74, 173, 0.13);
    border-radius: 17px;
    box-shadow: 0 18px 46px rgba(0, 41, 96, 0.12);
    display: grid;
    grid-template-columns: 9px 1fr;
    min-width: 185px;
    padding: 15px 17px;
    position: absolute;
    z-index: 3;
}

.cf-hub-card > span {
    align-self: center;
    background: #004aad;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(0, 74, 173, 0.09);
    grid-row: 1 / span 2;
    height: 7px;
    width: 7px;
}

.cf-hub-card small,
.cf-hub-card strong {
    display: block;
    grid-column: 2;
    padding-left: 10px;
}

.cf-hub-card small {
    color: #6c7c91;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.cf-hub-card strong {
    color: #07111f;
    font-size: 15px;
    margin-top: 2px;
}

.cf-hub-us { left: 7%; top: 13%; }
.cf-hub-gh { bottom: 17%; left: 8%; }
.cf-hub-ke { bottom: 12%; right: 7%; }

.cf-global-visual .cf-live-pill {
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(0, 74, 173, 0.13);
    bottom: auto;
    color: #28415f;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.cf-stack-strip {
    background: #fff;
    border-color: rgba(0, 55, 127, 0.1);
    color: #0b1220;
}

.cf-service-grid {
    border: 0;
    gap: 15px;
}

.cf-service-card {
    background: linear-gradient(155deg, #fff, #f7faff);
    border: 1px solid rgba(0, 55, 127, 0.1);
    border-radius: 20px;
    box-shadow: 0 16px 45px rgba(8, 40, 78, 0.055);
    min-height: 340px;
}

.cf-service-card::before { border-radius: inherit; }
.cf-service-card:hover { box-shadow: 0 24px 55px rgba(0, 55, 127, 0.12); }

.cf-why-shell {
    background:
        radial-gradient(circle at 6% 88%, rgba(0, 74, 173, 0.12), transparent 27%),
        linear-gradient(145deg, #f9fbfe, #eaf2fb);
    border: 1px solid rgba(0, 74, 173, 0.11);
    box-shadow: 0 35px 90px rgba(0, 45, 100, 0.09);
}

.cf-solution-row {
    background: linear-gradient(145deg, #fbfdff, #eef4fb);
    border-color: rgba(0, 55, 127, 0.1);
    box-shadow: 0 22px 65px rgba(0, 41, 96, 0.07);
}

.cf-product-window,
.cf-solution-row-reverse .cf-product-window {
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 24px 60px rgba(0, 43, 95, 0.12);
}

.cf-industry-card,
.cf-outcome-card,
.cf-partnership-grid article,
.cf-insight-card,
.cf-purpose-grid article,
.cf-principles-grid article,
.cf-service-detail-card {
    background: #fff;
    border-color: rgba(0, 55, 127, 0.1);
    box-shadow: 0 14px 42px rgba(8, 40, 78, 0.055);
}

.cf-industry-card:hover,
.cf-partnership-grid article:hover,
.cf-principles-grid article:hover,
.cf-service-detail-card:hover {
    box-shadow: 0 22px 54px rgba(0, 55, 127, 0.11);
    transform: translateY(-5px);
}

.cf-global-presence {
    max-width: none;
    padding: 0 0 120px;
}

.cf-global-shell {
    background:
        radial-gradient(circle at 88% 8%, rgba(0, 74, 173, 0.42), transparent 30%),
        radial-gradient(circle at 5% 95%, rgba(50, 121, 198, 0.17), transparent 29%),
        linear-gradient(135deg, #050b14, #071b35 58%, #00377f);
    border: 1px solid rgba(50, 121, 198, 0.22);
    border-radius: var(--cf-radius-lg);
    box-shadow: 0 38px 95px rgba(0, 31, 70, 0.2);
    color: #fff;
    display: grid;
    gap: clamp(50px, 7vw, 100px);
    grid-template-columns: minmax(0, 0.82fr) minmax(500px, 1.18fr);
    margin: 0 auto;
    max-width: var(--cf-container);
    overflow: hidden;
    padding: clamp(54px, 6vw, 88px);
    position: relative;
}

.cf-global-shell::before {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 46px 46px;
    content: "";
    inset: 0;
    -webkit-mask-image: linear-gradient(90deg, transparent 15%, #000);
    mask-image: linear-gradient(90deg, transparent 15%, #000);
    pointer-events: none;
    position: absolute;
}

.cf-global-shell > * { position: relative; z-index: 1; }
.cf-global-shell .cf-eyebrow { color: #91b9ea; }

.cf-global-copy h2 {
    color: #fff;
    font-size: clamp(44px, 5vw, 68px);
    font-weight: 590;
    letter-spacing: -0.06em;
    line-height: 0.98;
    margin: 20px 0 25px;
}

.cf-global-copy p {
    color: #afbed0;
    font-size: 16px;
    line-height: 1.75;
    margin: 0 0 30px;
}

.cf-global-copy .cf-text-link { color: #fff; }

.cf-office-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cf-office-grid article {
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    min-height: 300px;
    padding: 25px;
}

.cf-office-grid article:hover {
    background: rgba(255, 255, 255, 0.11);
    transform: translateY(-5px);
}

.cf-office-grid article > span {
    color: #6fa0d9;
    font-size: 11px;
    font-weight: 800;
}

.cf-office-grid small {
    color: #91a5bd;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.11em;
    margin-top: auto;
    text-transform: uppercase;
}

.cf-office-grid h3 {
    color: #fff;
    font-size: 25px;
    letter-spacing: -0.035em;
    margin: 10px 0 12px;
}

.cf-office-grid p {
    color: #9dafc4;
    font-size: 12px;
    line-height: 1.55;
    margin: 0;
}

.cf-outcome-card-accent {
    background: linear-gradient(145deg, #f6f9fe, #e9f1fb);
}

.cf-technology-shell {
    background: linear-gradient(145deg, #fbfdff, #eef4fb);
    border-color: rgba(0, 55, 127, 0.11);
    box-shadow: 0 25px 70px rgba(0, 41, 96, 0.08);
}

.cf-final-cta {
    background:
        radial-gradient(circle at 88% 10%, rgba(255, 255, 255, 0.17), transparent 29%),
        linear-gradient(115deg, #004aad, #00377f 72%);
    border-color: rgba(0, 55, 127, 0.2);
    box-shadow: 0 32px 80px rgba(0, 55, 127, 0.2);
    color: #fff;
}

.cf-final-cta .cf-eyebrow { color: #bfd7f5; }
.cf-final-cta h2 { color: #fff; }
.cf-final-cta h2 em { color: #dcecff; }
.cf-final-cta p { color: rgba(255, 255, 255, 0.76); }

.cf-button-light,
.cf-button-light:hover {
    background: #fff;
    color: #07111f;
}

.cf-footer { background: #f7f9fc; }

.cf-page-masthead,
.cf-careers-hero {
    background:
        radial-gradient(circle at 88% 15%, rgba(0, 74, 173, 0.15), transparent 30%),
        linear-gradient(150deg, #fbfdff, #eef4fb);
}

.cf-page-masthead::before,
.cf-careers-hero::before {
    background-size: 48px 48px;
    -webkit-mask-image: radial-gradient(circle at 75% 40%, #000, transparent 65%);
    mask-image: radial-gradient(circle at 75% 40%, #000, transparent 65%);
}

.cf-page-orbit {
    border-color: rgba(0, 74, 173, 0.15);
    opacity: 0.8;
}

.cf-service-detail-card,
.cf-purpose-grid article,
.cf-principles-grid article {
    background: linear-gradient(155deg, #fff, #f7faff);
}

.cf-focus-shell,
.cf-system-band {
    background: linear-gradient(145deg, #f7faff, #eaf2fb);
    box-shadow: 0 24px 65px rgba(0, 41, 96, 0.075);
}

@media (max-width: 1080px) {
    .cf-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(390px, 0.9fr); }
    .cf-global-shell { grid-template-columns: 1fr; }
    .cf-office-grid article { min-height: 240px; }
}

@media (max-width: 900px) {
    .cf-hero-inner { grid-template-columns: 1fr; }
    .cf-global-visual { min-height: 500px; }
    .cf-global-presence { padding-bottom: 90px; }
    .cf-global-shell { grid-template-columns: 1fr; }
    .cf-office-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cf-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .cf-hero { padding-top: 122px; }
    .cf-hero h1 { font-size: clamp(48px, 14.4vw, 67px); }
    .cf-hero-proof { gap: 12px; }
    .cf-hero-proof strong { font-size: 23px; }
    .cf-global-visual { min-height: 410px; }
    .cf-global-orbit { inset: 13% 5%; }
    .cf-hub-card { min-width: 155px; padding: 12px 13px; }
    .cf-hub-us { left: 5%; top: 9%; }
    .cf-hub-gh { bottom: 17%; left: 4%; }
    .cf-hub-ke { bottom: 8%; right: 3%; }
    .cf-global-visual .cf-live-pill { top: 49%; }
    .cf-service-grid { grid-template-columns: 1fr; }
    .cf-global-shell { border-radius: 26px; padding: 48px 24px; }
    .cf-office-grid { grid-template-columns: 1fr; }
    .cf-office-grid article { min-height: 210px; }
    .cf-global-presence { padding-bottom: 75px; }
}

/* Projects and Contact --------------------------------------------------- */
.cf-projects-page,
.cf-contact-page {
    background: #fff;
    overflow: hidden;
}

.cf-projects-intro,
.cf-contact-overview {
    align-items: start;
    display: grid;
    gap: clamp(55px, 8vw, 110px);
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.92fr);
    padding-top: 100px;
}

.cf-projects-intro h2,
.cf-contact-overview h2 {
    color: #07111f;
    font-size: clamp(44px, 5vw, 70px);
    font-weight: 590;
    letter-spacing: -0.058em;
    line-height: 1;
    margin: 18px 0 0;
}

.cf-projects-intro p,
.cf-contact-overview p {
    color: var(--cf-muted);
    font-size: 18px;
    line-height: 1.75;
    margin: 4px 0 28px;
}

.cf-project-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cf-project-tags span {
    background: #eef4fb;
    border: 1px solid rgba(0, 74, 173, 0.1);
    border-radius: 999px;
    color: #244463;
    font-size: 12px;
    font-weight: 750;
    padding: 9px 13px;
}

.cf-project-showcase { padding-top: 55px; }

.cf-project-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cf-project-card {
    background:
        radial-gradient(circle at 92% 8%, rgba(0, 74, 173, 0.1), transparent 28%),
        linear-gradient(155deg, #fff, #f6f9fd);
    border: 1px solid rgba(0, 55, 127, 0.1);
    border-radius: 26px;
    box-shadow: 0 18px 54px rgba(8, 40, 78, 0.065);
    display: flex;
    flex-direction: column;
    min-height: 520px;
    padding: clamp(30px, 4vw, 46px);
}

.cf-project-card:hover {
    border-color: rgba(0, 74, 173, 0.22);
    box-shadow: 0 28px 68px rgba(0, 55, 127, 0.12);
    transform: translateY(-6px);
}

.cf-project-card-top {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.cf-project-card-top i {
    align-items: center;
    background: #e9f2fc;
    border: 1px solid rgba(0, 74, 173, 0.1);
    border-radius: 15px;
    color: var(--cf-blue);
    display: inline-flex;
    font-size: 26px;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.cf-project-card-top span {
    color: #b1bfce;
    font-size: 13px;
    font-weight: 800;
}

.cf-project-card > small {
    color: var(--cf-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.11em;
    margin-top: 48px;
    text-transform: uppercase;
}

.cf-project-card h3 {
    color: #07111f;
    font-size: clamp(30px, 3.4vw, 43px);
    letter-spacing: -0.045em;
    line-height: 1.05;
    margin: 14px 0;
}

.cf-project-card > p {
    color: var(--cf-muted);
    font-size: 15px;
    line-height: 1.65;
}

.cf-project-card ul {
    border-top: 1px solid var(--cf-line);
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 27px 0;
    padding: 23px 0 0;
}

.cf-project-card li {
    color: #344054;
    font-size: 13px;
    padding-left: 18px;
    position: relative;
}

.cf-project-card li::before {
    background: var(--cf-blue);
    border-radius: 50%;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    top: 8px;
    width: 5px;
}

.cf-project-card > a {
    color: #07111f;
    font-size: 13px;
    font-weight: 800;
    margin-top: auto;
    text-decoration: none;
}

.cf-project-card > a span { color: var(--cf-blue); }

.cf-project-system {
    background:
        radial-gradient(circle at 10% 100%, rgba(50, 121, 198, 0.18), transparent 28%),
        linear-gradient(135deg, #050b14, #071b35 63%, #00377f);
    border: 1px solid rgba(50, 121, 198, 0.2);
    border-radius: var(--cf-radius-lg);
    box-shadow: 0 35px 90px rgba(0, 31, 70, 0.19);
    color: #fff;
    display: grid;
    gap: clamp(50px, 7vw, 90px);
    grid-template-columns: minmax(0, 0.75fr) minmax(500px, 1.25fr);
    margin-bottom: 120px;
    padding: clamp(54px, 6vw, 82px);
}

.cf-project-system .cf-eyebrow { color: #93b9e7; }

.cf-project-system h2 {
    color: #fff;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 590;
    letter-spacing: -0.058em;
    line-height: 1;
    margin: 18px 0 24px;
}

.cf-project-system > div p {
    color: #aabbd0;
    line-height: 1.7;
}

.cf-project-system ol {
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.cf-project-system li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    flex-direction: column;
    min-height: 155px;
    padding: 22px;
}

.cf-project-system li span {
    color: #6596ce;
    font-size: 10px;
    font-weight: 800;
}

.cf-project-system li strong {
    color: #fff;
    font-size: 18px;
    margin-top: auto;
}

.cf-project-system li small {
    color: #91a5bd;
    font-size: 11px;
    line-height: 1.4;
    margin-top: 6px;
}

.cf-response-note {
    align-items: center;
    color: #38516e;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 10px;
}

.cf-response-note span {
    background: var(--cf-success);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(0, 208, 132, 0.1);
    height: 7px;
    width: 7px;
}

.cf-contact-main {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
    padding-top: 40px;
}

.cf-contact-form-shell {
    background: linear-gradient(155deg, #f9fbfe, #edf4fb);
    border: 1px solid rgba(0, 55, 127, 0.11);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(0, 41, 96, 0.09);
    padding: clamp(32px, 5vw, 64px);
}

.cf-contact-form-shell > h2 {
    color: #07111f;
    font-size: clamp(38px, 4.5vw, 58px);
    font-weight: 590;
    letter-spacing: -0.055em;
    line-height: 1;
    margin: 17px 0;
}

.cf-contact-form-shell > p {
    color: var(--cf-muted);
    line-height: 1.7;
    margin-bottom: 38px;
    max-width: 680px;
}

.cf-contact-form-shell .contact-form-row {
    row-gap: 18px;
}

.cf-contact-field {
    margin-bottom: 18px;
}

.cf-contact-label {
    color: #27384c;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 8px;
}

.cf-contact-input,
.cf-contact-form-shell input[type="text"],
.cf-contact-form-shell input[type="email"],
.cf-contact-form-shell input[type="tel"],
.cf-contact-form-shell textarea,
.cf-contact-form-shell select {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid #cfdbe7;
    border-radius: 13px;
    color: #07111f;
    min-height: 54px;
    padding: 14px 15px;
    width: 100%;
}

.cf-contact-form-shell textarea { min-height: 150px; resize: vertical; }

.cf-contact-input:focus,
.cf-contact-form-shell input:focus,
.cf-contact-form-shell textarea:focus,
.cf-contact-form-shell select:focus {
    background: #fff;
    border-color: #4e85c4;
    box-shadow: 0 0 0 4px rgba(0, 74, 173, 0.09);
    outline: 0;
}

.cf-contact-form-shell .form-check {
    align-items: flex-start;
    display: flex;
    gap: 9px;
}

.cf-contact-form-shell .form-check-input {
    flex: 0 0 auto;
    height: 18px;
    margin: 2px 0 0;
    min-height: 18px;
    padding: 0;
    width: 18px;
}

.cf-contact-form-shell .form-check-label {
    color: #526174;
    font-size: 12px;
}

.cf-contact-submit {
    background: linear-gradient(115deg, #004aad, #1667c2);
    border: 0;
    border-radius: 13px;
    box-shadow: 0 14px 30px rgba(0, 74, 173, 0.22);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    min-height: 54px;
    padding: 14px 22px;
}

.cf-contact-submit:hover {
    background: linear-gradient(115deg, #003f94, #0b58ae);
    box-shadow: 0 18px 34px rgba(0, 74, 173, 0.28);
    transform: translateY(-2px);
}

.cf-contact-aside {
    display: grid;
    gap: 18px;
}

.cf-contact-direct,
.cf-contact-locations {
    background: #07111f;
    border: 1px solid rgba(0, 74, 173, 0.18);
    border-radius: 26px;
    box-shadow: 0 22px 60px rgba(0, 31, 70, 0.15);
    padding: 34px;
}

.cf-contact-direct .cf-eyebrow,
.cf-contact-locations .cf-eyebrow { color: #91b9ea; }

.cf-contact-direct > a {
    border-top: 1px solid rgba(255, 255, 255, 0.11);
    color: #fff;
    display: block;
    margin-top: 22px;
    padding-top: 22px;
    text-decoration: none;
}

.cf-contact-direct > a small,
.cf-contact-direct > a strong { display: block; }
.cf-contact-direct > a small { color: #91a5bd; font-size: 10px; margin-bottom: 7px; text-transform: uppercase; }
.cf-contact-direct > a strong { font-size: 13px; overflow-wrap: anywhere; }

.cf-contact-locations {
    background: linear-gradient(145deg, #f8fbff, #eaf2fb);
    border-color: rgba(0, 55, 127, 0.11);
    box-shadow: 0 20px 55px rgba(0, 41, 96, 0.08);
}

.cf-contact-locations .cf-eyebrow { color: var(--cf-blue); }

.cf-contact-locations article {
    border-top: 1px solid rgba(0, 55, 127, 0.1);
    display: flex;
    gap: 14px;
    margin-top: 21px;
    padding-top: 21px;
}

.cf-contact-locations article > span {
    background: var(--cf-blue);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(0, 74, 173, 0.09);
    flex: 0 0 auto;
    height: 7px;
    margin-top: 8px;
    width: 7px;
}

.cf-contact-locations small,
.cf-contact-locations strong { display: block; }
.cf-contact-locations small { color: #6b7a8e; font-size: 9px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.cf-contact-locations strong { color: #07111f; font-size: 18px; margin-top: 3px; }
.cf-contact-locations p { color: var(--cf-muted); font-size: 11px; margin: 5px 0 0; }

.cf-contact-next { padding-top: 50px; }

.cf-contact-next > ol {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.cf-contact-next li {
    background: linear-gradient(155deg, #fff, #f7faff);
    border: 1px solid rgba(0, 55, 127, 0.1);
    border-radius: 22px;
    min-height: 290px;
    padding: 32px;
}

.cf-contact-next li > span {
    color: var(--cf-blue);
    font-size: 11px;
    font-weight: 800;
}

.cf-contact-next h3 {
    color: #07111f;
    font-size: 24px;
    letter-spacing: -0.035em;
    line-height: 1.15;
    margin: 80px 0 12px;
}

.cf-contact-next p {
    color: var(--cf-muted);
    font-size: 13px;
    line-height: 1.65;
}

@media (max-width: 900px) {
    .cf-projects-intro,
    .cf-contact-overview,
    .cf-project-system,
    .cf-contact-main { grid-template-columns: 1fr; }
    .cf-contact-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cf-project-system ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .cf-projects-intro,
    .cf-contact-overview { gap: 32px; padding-top: 70px; }
    .cf-project-grid,
    .cf-contact-aside,
    .cf-contact-next > ol { grid-template-columns: 1fr; }
    .cf-project-card { min-height: 0; padding: 31px 24px; }
    .cf-project-card > small { margin-top: 38px; }
    .cf-project-system { margin-bottom: 75px; padding: 46px 24px; }
    .cf-project-system ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cf-contact-form-shell { padding: 38px 22px; }
    .cf-contact-direct,
    .cf-contact-locations { padding: 30px 24px; }
    .cf-contact-next li { min-height: 250px; }
    .cf-contact-next h3 { margin-top: 60px; }
}

/* Careers and privacy ---------------------------------------------------- */
.cf-footer-presence {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.cf-footer-presence span {
    background: #eef4fb;
    border: 1px solid rgba(0, 74, 173, 0.1);
    border-radius: 999px;
    color: #31506f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.06em;
    padding: 8px 11px;
    text-transform: uppercase;
}

.cf-careers-hero {
    background:
        radial-gradient(circle at 82% 22%, rgba(0, 74, 173, 0.18), transparent 30%),
        linear-gradient(150deg, #fbfdff, #eef4fb);
    color: #07111f;
}

.cf-careers-hero h1 { color: #07111f; }

.cf-careers-hero h1 em {
    background-image: linear-gradient(105deg, #004aad, #3279c6 62%, #00377f);
}

.cf-careers-hero p { color: #526174; }

.cf-career-network {
    background:
        radial-gradient(circle at 92% 10%, rgba(0, 74, 173, 0.4), transparent 28%),
        linear-gradient(135deg, #050b14, #071b35 62%, #00377f);
    border: 1px solid rgba(50, 121, 198, 0.2);
    border-radius: var(--cf-radius-lg);
    box-shadow: 0 35px 90px rgba(0, 31, 70, 0.19);
    color: #fff;
    display: grid;
    gap: clamp(50px, 8vw, 105px);
    grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
    margin-bottom: 45px;
    padding: clamp(55px, 6vw, 86px);
}

.cf-career-network .cf-eyebrow { color: #91b9ea; }

.cf-career-network h2 {
    color: #fff;
    font-size: clamp(42px, 5vw, 66px);
    font-weight: 590;
    letter-spacing: -0.058em;
    line-height: 1;
    margin: 18px 0 24px;
}

.cf-career-network > div:first-child p {
    color: #aabbd0;
    line-height: 1.7;
}

.cf-career-hubs {
    display: grid;
    gap: 11px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cf-career-hubs article {
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 19px;
    display: flex;
    flex-direction: column;
    min-height: 250px;
    padding: 24px;
}

.cf-career-hubs article > span {
    background: #4f8fd6;
    border-radius: 50%;
    box-shadow: 0 0 0 6px rgba(79, 143, 214, 0.12);
    height: 8px;
    width: 8px;
}

.cf-career-hubs small {
    color: #91a5bd;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
    margin-top: auto;
    text-transform: uppercase;
}

.cf-career-hubs strong {
    color: #fff;
    font-size: 20px;
    letter-spacing: -0.025em;
    margin-top: 6px;
}

.cf-talent-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cf-talent-grid article {
    background: linear-gradient(155deg, #fff, #f7faff);
    border: 1px solid rgba(0, 55, 127, 0.1);
    border-radius: 22px;
    box-shadow: 0 15px 44px rgba(8, 40, 78, 0.055);
    min-height: 300px;
    padding: 30px;
}

.cf-talent-grid article:hover {
    box-shadow: 0 23px 56px rgba(0, 55, 127, 0.11);
    transform: translateY(-5px);
}

.cf-talent-grid i {
    align-items: center;
    background: #eaf2fb;
    border: 1px solid rgba(0, 74, 173, 0.1);
    border-radius: 14px;
    color: var(--cf-blue);
    display: inline-flex;
    font-size: 24px;
    height: 54px;
    justify-content: center;
    width: 54px;
}

.cf-talent-grid h3 {
    color: #07111f;
    font-size: 24px;
    letter-spacing: -0.035em;
    line-height: 1.15;
    margin: 62px 0 12px;
}

.cf-talent-grid p {
    color: var(--cf-muted);
    font-size: 13px;
    line-height: 1.65;
}

.cf-talent-note {
    align-items: center;
    background: linear-gradient(145deg, #f5f9fe, #e9f2fb);
    border: 1px solid rgba(0, 74, 173, 0.11);
    border-radius: 22px;
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1.15fr auto;
    margin-top: 16px;
    padding: 34px;
}

.cf-talent-note h3 {
    color: #07111f;
    font-size: 24px;
    letter-spacing: -0.035em;
    margin: 8px 0 0;
}

.cf-talent-note > p {
    color: var(--cf-muted);
    font-size: 13px;
    line-height: 1.65;
    margin: 0;
}

.cf-talent-note > a {
    background: var(--cf-blue);
    border-radius: 13px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    padding: 14px 17px;
    text-decoration: none;
    white-space: nowrap;
}

.cf-privacy-page {
    background: #fff;
    overflow: hidden;
}

.cf-privacy-intro {
    align-items: start;
    display: grid;
    gap: clamp(55px, 8vw, 110px);
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
    padding-top: 100px;
}

.cf-privacy-intro h2 {
    color: #07111f;
    font-size: clamp(44px, 5vw, 68px);
    font-weight: 590;
    letter-spacing: -0.058em;
    line-height: 1;
    margin: 18px 0 0;
}

.cf-privacy-intro p {
    color: var(--cf-muted);
    font-size: 17px;
    line-height: 1.75;
    margin: 5px 0 22px;
}

.cf-privacy-intro > div:last-child > span {
    color: #526174;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.cf-privacy-layout {
    align-items: start;
    display: grid;
    gap: clamp(55px, 8vw, 110px);
    grid-template-columns: 260px minmax(0, 1fr);
    padding-top: 45px;
}

.cf-privacy-layout > aside {
    background: linear-gradient(145deg, #f7faff, #edf4fb);
    border: 1px solid rgba(0, 55, 127, 0.1);
    border-radius: 20px;
    padding: 26px;
    position: sticky;
    top: 115px;
}

.cf-privacy-layout nav {
    display: grid;
    margin-top: 20px;
}

.cf-privacy-layout nav a {
    border-top: 1px solid rgba(0, 55, 127, 0.1);
    color: #44566c;
    font-size: 12px;
    font-weight: 700;
    padding: 13px 0;
    text-decoration: none;
}

.cf-privacy-layout nav a:hover { color: var(--cf-blue); padding-left: 5px; }

.cf-privacy-content {
    display: grid;
    gap: 18px;
}

.cf-privacy-content > section:not(.cf-privacy-contact) {
    border-top: 1px solid var(--cf-line);
    padding: 42px 0 25px;
    scroll-margin-top: 120px;
}

.cf-privacy-content > section:first-child { border-top: 0; padding-top: 0; }

.cf-privacy-content > section:not(.cf-privacy-contact) > span {
    color: var(--cf-blue);
    display: block;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 13px;
}

.cf-privacy-content h2 {
    color: #07111f;
    font-size: clamp(30px, 3.5vw, 44px);
    letter-spacing: -0.045em;
    line-height: 1.08;
    margin: 0 0 19px;
}

.cf-privacy-content p,
.cf-privacy-content li {
    color: #526174;
    font-size: 15px;
    line-height: 1.75;
}

.cf-privacy-content ul {
    display: grid;
    gap: 8px;
    margin: 20px 0;
    padding-left: 22px;
}

.cf-privacy-contact {
    background:
        radial-gradient(circle at 90% 8%, rgba(0, 74, 173, 0.38), transparent 29%),
        linear-gradient(135deg, #050b14, #071b35 65%, #00377f);
    border-radius: 24px;
    color: #fff;
    margin-top: 25px;
    padding: clamp(35px, 5vw, 55px);
    scroll-margin-top: 120px;
}

.cf-privacy-contact .cf-eyebrow { color: #91b9ea; }
.cf-privacy-contact h2 { color: #fff; margin-top: 18px; }
.cf-privacy-contact p { color: #aabbd0; }

.cf-privacy-contact > a {
    color: #fff;
    display: inline-block;
    font-size: 14px;
    font-weight: 800;
    margin-top: 10px;
    overflow-wrap: anywhere;
    text-decoration: none;
}

@media (max-width: 900px) {
    .cf-career-network,
    .cf-privacy-intro { grid-template-columns: 1fr; }
    .cf-talent-note { grid-template-columns: 1fr; }
    .cf-talent-note > a { justify-self: start; }
    .cf-privacy-layout { grid-template-columns: 1fr; }
    .cf-privacy-layout > aside { position: static; }
    .cf-privacy-layout nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cf-privacy-layout nav a { padding-right: 12px; }
}

@media (max-width: 680px) {
    .cf-career-network { padding: 46px 24px; }
    .cf-career-hubs,
    .cf-talent-grid { grid-template-columns: 1fr; }
    .cf-career-hubs article { min-height: 180px; }
    .cf-talent-grid article { min-height: 270px; }
    .cf-talent-note { padding: 28px 24px; }
    .cf-privacy-intro { gap: 32px; padding-top: 70px; }
    .cf-privacy-layout nav { grid-template-columns: 1fr; }
    .cf-privacy-content p,
    .cf-privacy-content li { font-size: 14px; }
}

/* Insights --------------------------------------------------------------- */
.cf-insights-page {
    background: #fff;
    overflow: hidden;
}

.cf-insights-hero {
    align-items: end;
    background:
        radial-gradient(circle at 86% 20%, rgba(0, 74, 173, 0.17), transparent 31%),
        radial-gradient(circle at 10% 82%, rgba(50, 121, 198, 0.08), transparent 25%),
        linear-gradient(150deg, #fbfdff, #edf4fb);
    display: flex;
    min-height: 760px;
    overflow: hidden;
    padding: 180px max(24px, calc((100vw - 1280px) / 2)) 100px;
    position: relative;
}

.cf-insights-hero-grid {
    background-image:
        linear-gradient(rgba(0, 74, 173, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 74, 173, 0.05) 1px, transparent 1px);
    background-size: 48px 48px;
    inset: 0;
    -webkit-mask-image: radial-gradient(circle at 75% 40%, #000, transparent 65%);
    mask-image: radial-gradient(circle at 75% 40%, #000, transparent 65%);
    pointer-events: none;
    position: absolute;
}

.cf-insights-hero > div:nth-child(2) {
    max-width: 880px;
    position: relative;
    z-index: 2;
}

.cf-insights-hero h1 {
    color: #07111f;
    font-size: clamp(58px, 7vw, 96px);
    font-weight: 590;
    letter-spacing: -0.068em;
    line-height: 0.95;
    margin: 23px 0 27px;
}

.cf-insights-hero h1 em {
    -webkit-background-clip: text;
    background-image: linear-gradient(105deg, #004aad, #3279c6 62%, #00377f);
    background-clip: text;
    color: transparent;
    display: block;
    font-style: normal;
}

.cf-insights-hero p {
    color: #526174;
    font-size: 19px;
    line-height: 1.68;
    margin-bottom: 34px;
    max-width: 700px;
}

.cf-insights-hero .cf-button { width: auto; }

.cf-insights-signal {
    border: 1px solid rgba(0, 74, 173, 0.17);
    border-radius: 50%;
    height: 480px;
    position: absolute;
    right: -20px;
    top: 150px;
    transform: rotateX(65deg) rotateZ(-15deg);
    width: 480px;
}

.cf-insights-signal::before,
.cf-insights-signal::after {
    border: 1px solid rgba(0, 74, 173, 0.14);
    border-radius: inherit;
    content: "";
    inset: 70px;
    position: absolute;
}

.cf-insights-signal::after { inset: 145px; }

.cf-insights-signal span {
    background: #004aad;
    border-radius: 50%;
    box-shadow: 0 0 0 7px rgba(0, 74, 173, 0.1);
    height: 10px;
    left: 13%;
    position: absolute;
    top: 20%;
    width: 10px;
}

.cf-insights-signal span:nth-child(2) { left: auto; right: 8%; top: 64%; }

.cf-insights-signal i {
    color: var(--cf-blue);
    font-size: 66px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotateZ(15deg) rotateX(-65deg);
}

.cf-editorial-feature {
    align-items: stretch;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 0.85fr) minmax(500px, 1.15fr);
    padding-top: 100px;
}

.cf-editorial-art {
    align-items: center;
    background:
        radial-gradient(circle at 50% 50%, rgba(50, 121, 198, 0.24), transparent 32%),
        linear-gradient(135deg, #050b14, #071b35 65%, #00377f);
    border: 1px solid rgba(50, 121, 198, 0.2);
    border-radius: 28px;
    display: flex;
    justify-content: center;
    min-height: 570px;
    overflow: hidden;
    position: relative;
}

.cf-editorial-art::before {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 38px 38px;
    content: "";
    inset: 0;
    -webkit-mask-image: radial-gradient(circle, #000, transparent 70%);
    mask-image: radial-gradient(circle, #000, transparent 70%);
    position: absolute;
}

.cf-editorial-art > span {
    color: #91b9ea;
    font-size: 10px;
    font-weight: 800;
    left: 28px;
    letter-spacing: 0.12em;
    position: absolute;
    text-transform: uppercase;
    top: 27px;
}

.cf-editorial-art i {
    color: #64a0e1;
    font-size: 100px;
    position: relative;
    z-index: 2;
}

.cf-editorial-art b {
    border: 1px solid rgba(100, 160, 225, 0.3);
    border-radius: 50%;
    height: 300px;
    position: absolute;
    transform: rotateX(67deg) rotateZ(15deg);
    width: 300px;
}

.cf-editorial-copy {
    background: linear-gradient(155deg, #f9fbfe, #edf4fb);
    border: 1px solid rgba(0, 55, 127, 0.1);
    border-radius: 28px;
    padding: clamp(38px, 5vw, 67px);
}

.cf-editorial-copy h2 {
    color: #07111f;
    font-size: clamp(40px, 5vw, 63px);
    font-weight: 590;
    letter-spacing: -0.058em;
    line-height: 1;
    margin: 18px 0 24px;
}

.cf-editorial-copy > p {
    color: var(--cf-muted);
    line-height: 1.75;
}

.cf-editorial-copy ul {
    border-top: 1px solid rgba(0, 55, 127, 0.1);
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 28px 0;
    padding: 25px 0 0;
}

.cf-editorial-copy li {
    color: #344054;
    font-size: 13px;
    padding-left: 19px;
    position: relative;
}

.cf-editorial-copy li::before {
    background: var(--cf-blue);
    border-radius: 50%;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    top: 8px;
    width: 5px;
}

.cf-publication-status {
    align-items: center;
    color: #45617f;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 9px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cf-publication-status i {
    background: #ffb020;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(255, 176, 32, 0.11);
    height: 7px;
    width: 7px;
}

.cf-research-agenda { padding-top: 65px; scroll-margin-top: 100px; }

.cf-research-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cf-research-grid article {
    background: linear-gradient(155deg, #fff, #f7faff);
    border: 1px solid rgba(0, 55, 127, 0.1);
    border-radius: 22px;
    box-shadow: 0 15px 44px rgba(8, 40, 78, 0.055);
    min-height: 390px;
    padding: 30px;
}

.cf-research-grid article:hover {
    box-shadow: 0 23px 56px rgba(0, 55, 127, 0.11);
    transform: translateY(-5px);
}

.cf-research-grid article > div {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.cf-research-grid i {
    align-items: center;
    background: #eaf2fb;
    border-radius: 14px;
    color: var(--cf-blue);
    display: inline-flex;
    font-size: 23px;
    height: 53px;
    justify-content: center;
    width: 53px;
}

.cf-research-grid article > div span { color: #b2bfcd; font-size: 11px; font-weight: 800; }

.cf-research-grid small {
    color: var(--cf-blue);
    display: block;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
    margin-top: 55px;
    text-transform: uppercase;
}

.cf-research-grid h3 {
    color: #07111f;
    font-size: 24px;
    letter-spacing: -0.038em;
    line-height: 1.15;
    margin: 13px 0;
}

.cf-research-grid p {
    color: var(--cf-muted);
    font-size: 13px;
    line-height: 1.65;
}

.cf-insights-principles {
    background: linear-gradient(145deg, #f7faff, #eaf2fb);
    border: 1px solid rgba(0, 55, 127, 0.1);
    border-radius: var(--cf-radius-lg);
    display: grid;
    gap: clamp(50px, 7vw, 90px);
    grid-template-columns: minmax(0, 0.7fr) minmax(500px, 1.3fr);
    margin-bottom: 120px;
    padding: clamp(50px, 6vw, 80px);
}

.cf-insights-principles h2 {
    color: #07111f;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 590;
    letter-spacing: -0.058em;
    line-height: 1;
    margin: 18px 0 22px;
}

.cf-insights-principles > div p { color: var(--cf-muted); line-height: 1.7; }

.cf-insights-principles ol {
    border-left: 1px solid rgba(0, 55, 127, 0.1);
    border-top: 1px solid rgba(0, 55, 127, 0.1);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.cf-insights-principles li {
    border-bottom: 1px solid rgba(0, 55, 127, 0.1);
    border-right: 1px solid rgba(0, 55, 127, 0.1);
    display: flex;
    flex-direction: column;
    min-height: 190px;
    padding: 23px;
}

.cf-insights-principles li span { color: var(--cf-blue); font-size: 10px; font-weight: 800; }
.cf-insights-principles li strong { color: #07111f; font-size: 19px; margin-top: auto; }
.cf-insights-principles li p { color: var(--cf-muted); font-size: 11px; line-height: 1.45; margin: 6px 0 0; }

.cf-insights-subscribe {
    align-items: center;
    background:
        radial-gradient(circle at 90% 5%, rgba(255, 255, 255, 0.16), transparent 30%),
        linear-gradient(115deg, #004aad, #00377f 75%);
    border-radius: var(--cf-radius-lg);
    color: #fff;
    display: grid;
    gap: 50px;
    grid-template-columns: 1fr minmax(380px, 0.7fr);
    margin-bottom: 100px;
    padding: clamp(50px, 6vw, 75px);
}

.cf-insights-subscribe .cf-eyebrow { color: #c4daf4; }

.cf-insights-subscribe h2 {
    color: #fff;
    font-size: clamp(42px, 5vw, 66px);
    font-weight: 590;
    letter-spacing: -0.058em;
    line-height: 1;
    margin: 18px 0 17px;
}

.cf-insights-subscribe p { color: rgba(255, 255, 255, 0.76); margin: 0; }

.cf-insights-subscribe-form {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.19);
    border-radius: 16px;
    display: flex;
    gap: 8px;
    padding: 8px;
}

.cf-insights-subscribe-form input {
    background: transparent;
    border: 0;
    color: #fff;
    flex: 1;
    min-width: 0;
    padding: 13px;
}

.cf-insights-subscribe-form input::placeholder { color: rgba(255, 255, 255, 0.62); }

.cf-insights-subscribe-form button {
    background: #fff;
    border: 0;
    border-radius: 11px;
    color: #07111f;
    font-size: 13px;
    font-weight: 800;
    padding: 13px 17px;
}

@media (max-width: 900px) {
    .cf-editorial-feature,
    .cf-insights-principles,
    .cf-insights-subscribe { grid-template-columns: 1fr; }
    .cf-research-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cf-insights-signal { opacity: 0.55; right: -200px; }
}

@media (max-width: 680px) {
    .cf-insights-hero { min-height: 690px; padding-top: 135px; }
    .cf-insights-hero h1 { font-size: 54px; }
    .cf-insights-hero .cf-button { width: 100%; }
    .cf-insights-signal { bottom: -150px; height: 390px; right: -200px; top: auto; width: 390px; }
    .cf-editorial-feature { padding-top: 70px; }
    .cf-editorial-art { min-height: 380px; }
    .cf-editorial-copy { padding: 38px 24px; }
    .cf-research-grid { grid-template-columns: 1fr; }
    .cf-research-grid article { min-height: 350px; }
    .cf-insights-principles { margin-bottom: 75px; padding: 45px 24px; }
    .cf-insights-principles ol { grid-template-columns: 1fr; }
    .cf-insights-subscribe { margin-bottom: 75px; padding: 46px 24px; }
    .cf-insights-subscribe-form { flex-direction: column; }
}

/* Error state ------------------------------------------------------------ */
.cf-not-found {
    align-items: center;
    background:
        radial-gradient(circle at 84% 20%, rgba(0, 74, 173, 0.16), transparent 31%),
        linear-gradient(150deg, #fbfdff, #edf4fb);
    display: flex;
    min-height: 100vh;
    overflow: hidden;
    padding: 150px max(24px, calc((100vw - 1280px) / 2)) 90px;
    position: relative;
}

.cf-not-found-grid {
    background-image:
        linear-gradient(rgba(0, 74, 173, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 74, 173, 0.05) 1px, transparent 1px);
    background-size: 48px 48px;
    inset: 0;
    -webkit-mask-image: radial-gradient(circle at 72% 43%, #000, transparent 68%);
    mask-image: radial-gradient(circle at 72% 43%, #000, transparent 68%);
    position: absolute;
}

.cf-not-found > div:nth-child(2) {
    max-width: 760px;
    position: relative;
    z-index: 2;
}

.cf-not-found > div:nth-child(2) > strong {
    color: rgba(0, 74, 173, 0.08);
    display: block;
    font-size: clamp(110px, 18vw, 240px);
    font-weight: 700;
    letter-spacing: -0.09em;
    line-height: 0.72;
    margin: 45px 0 -10px;
}

.cf-not-found h1 {
    color: #07111f;
    font-size: clamp(48px, 6vw, 78px);
    font-weight: 590;
    letter-spacing: -0.062em;
    line-height: 0.98;
    margin: 0 0 25px;
}

.cf-not-found p {
    color: #526174;
    font-size: 17px;
    line-height: 1.7;
    max-width: 650px;
}

.cf-not-found > div:nth-child(2) > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 34px;
}

.cf-not-found-orbit {
    border: 1px solid rgba(0, 74, 173, 0.17);
    border-radius: 50%;
    height: 470px;
    position: absolute;
    right: -20px;
    top: 180px;
    transform: rotateX(65deg) rotateZ(-15deg);
    width: 470px;
}

.cf-not-found-orbit::before,
.cf-not-found-orbit::after {
    border: 1px solid rgba(0, 74, 173, 0.14);
    border-radius: inherit;
    content: "";
    inset: 70px;
    position: absolute;
}

.cf-not-found-orbit::after { inset: 145px; }

.cf-not-found-orbit span {
    background: #004aad;
    border-radius: 50%;
    box-shadow: 0 0 0 7px rgba(0, 74, 173, 0.1);
    height: 10px;
    left: 12%;
    position: absolute;
    top: 21%;
    width: 10px;
}

.cf-not-found-orbit span:nth-child(2) { left: auto; right: 8%; top: 64%; }

.cf-not-found-orbit i {
    color: var(--cf-blue);
    font-size: 62px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotateZ(15deg) rotateX(-65deg);
}

@media (max-width: 900px) {
    .cf-not-found-orbit { opacity: 0.45; right: -220px; }
}

@media (max-width: 680px) {
    .cf-not-found { padding-top: 125px; }
    .cf-not-found > div:nth-child(2) > strong { margin-top: 35px; }
    .cf-not-found > div:nth-child(2) > div { flex-direction: column; }
    .cf-not-found > div:nth-child(2) > div .cf-button { width: 100%; }
    .cf-not-found-orbit { bottom: -180px; height: 380px; right: -200px; top: auto; width: 380px; }
}
