@charset "UTF-8";

/* ========================================================================== 
   MGI Design System
   Global tokens and primitives inherited by every public-facing page.
   ========================================================================== */
:root {
    /* Brand */
    --mgi-color-primary-950: #111b4d;
    --mgi-color-primary-900: #17245f;
    --mgi-color-primary-800: #223582;
    --mgi-color-primary-700: #2a409a;
    --mgi-color-primary-600: #3651b5;
    --mgi-color-accent-700: #d95f1f;
    --mgi-color-accent-600: #f47732;
    --mgi-color-accent-500: #ff8a3d;
    --mgi-color-white: #ffffff;
    --mgi-color-ink: #172554;
    --mgi-color-text: #475569;
    --mgi-color-muted: #7c8aa5;
    --mgi-color-border: rgba(42, 64, 154, 0.14);
    --mgi-color-surface: #ffffff;
    /* Canonical light section surface used across every public page. */
    --mgi-color-surface-soft: #f7f9fd !important;
    --mgi-section-surface: #f7f9fd !important;
    --mgi-color-surface-tint: #eef2f8;

    /* Typography */
    --mgi-font-family: 'PingAR', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --mgi-font-size-xs: 0.75rem;
    --mgi-font-size-sm: 0.875rem;
    --mgi-font-size-md: 1rem;
    --mgi-font-size-lg: 1.125rem;
    --mgi-font-size-xl: 1.25rem;
    --mgi-font-size-2xl: clamp(1.75rem, 3vw, 2.5rem);
    --mgi-font-size-h1: clamp(26px, 3.2vw, 44px);
    --mgi-font-size-display: clamp(2.5rem, 6vw, 5.25rem);
    --mgi-line-height-tight: 1.15;
    --mgi-line-height-body: 1.75;

    /* Spacing: 4px baseline */
    --mgi-space-1: 0.25rem;
    --mgi-space-2: 0.5rem;
    --mgi-space-3: 0.75rem;
    --mgi-space-4: 1rem;
    --mgi-space-5: 1.25rem;
    --mgi-space-6: 1.5rem;
    --mgi-space-8: 2rem;
    --mgi-space-10: 2.5rem;
    --mgi-space-12: 3rem;
    --mgi-space-16: 4rem;
    --mgi-space-20: 5rem;
    --mgi-section-space: clamp(4.5rem, 9vw, 8.5rem);
    --mgi-container-gutter: clamp(1.25rem, 4vw, 4rem);
    --mgi-container-width: 1320px;

    /* Shape, depth and motion */
    --mgi-radius-sm: 0.5rem;
    --mgi-radius-md: 0.75rem;
    --mgi-radius-lg: 1rem;
    --mgi-radius-xl: 1.5rem;
    --mgi-radius-image: 9px;
    --mgi-radius-pill: 999px;
    /* One shape language for all primary/action buttons. */
    --mgi-radius-button: 9px;
    --mgi-shadow-sm: 0 8px 24px rgba(23, 37, 84, 0.08);
    --mgi-shadow-md: 0 18px 48px rgba(23, 37, 84, 0.12);
    --mgi-shadow-lg: 0 28px 72px rgba(23, 37, 84, 0.18);
    --mgi-glass-bg: rgba(255, 255, 255, 0.22);
    --mgi-glass-border: rgba(255, 255, 255, 0.48);
    --mgi-ease-standard: cubic-bezier(0.2, 0.7, 0.2, 1);
    --mgi-ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);
    --mgi-duration-fast: 180ms;
    --mgi-duration-normal: 320ms;
}

:root {
    --cac-navy: var(--mgi-color-primary-700);
    --cac-navy-dark: var(--mgi-color-primary-950);
    --cac-gold: var(--mgi-color-accent-600);
    --cac-muted: var(--mgi-color-muted);
    --cac-border: var(--mgi-color-border);
    --cac-shadow: var(--mgi-shadow-md);
    --cac-shadow-hover: var(--mgi-shadow-lg);

    --sus-blue: var(--mgi-color-primary-700);
    --sus-gold: var(--mgi-color-accent-600);
    --sus-muted: var(--mgi-color-muted);
    --sus-muted-rgb: 124, 138, 165;

    --lqd-color-blue-600: var(--mgi-color-primary-700);
    --lqd-color-blue-950: var(--mgi-color-primary-950);
    --lqd-color-primary: var(--mgi-color-accent-600);
    --lqd-color-slate-100: var(--mgi-section-surface);
    --lqd-color-slate-500: var(--mgi-color-muted);
    --lqd-body-text-color: var(--mgi-color-ink);
}

html { color-scheme: light; scroll-behavior: smooth; }
body {
    background: var(--mgi-section-surface);
    color: var(--mgi-color-text);
    font-family: var(--mgi-font-family);
    line-height: var(--mgi-line-height-body);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

/* One responsive H1 scale across every public page, matching the home hero. */
#lqd-site-content h1 {
    font-size: var(--mgi-font-size-h1) !important;
}

/* Shared light-surface decoration. The same brand shape is used across all
   public pages, positioned in the open side space so it never changes the
   document flow or competes with page content. */
#lqd-site-content {
    position: relative;
    overflow-x: clip;
    background-color: var(--mgi-section-surface);
}

#lqd-contents-wrap {
    position: relative;
    isolation: isolate;
    background-color: var(--mgi-section-surface);
}

#lqd-contents-wrap > :not(.mgi-page-shape-slot) {
    position: relative;
    z-index: 1;
}

.mgi-page-shape-slot {
    position: relative;
    /* Sit above section backgrounds so the decoration remains visible, while
       page content keeps its higher stacking layer below. */
    z-index: 2;
    height: 0;
    pointer-events: none;
}

.mgi-page-shape {
    position: absolute;
    bottom: clamp(32px, 5vw, 100px);
    right: -30vw;
    left: auto;
    z-index: 0;
    /* 25% larger than the base decorative scale. */
    width: min(75vw, 1025px);
    max-width: none !important;
    height: auto;
    opacity: .2;
    pointer-events: none;
    user-select: none;
}

html[dir="rtl"] .mgi-page-shape {
    right: -30vw;
    left: auto;
}

html[dir="ltr"] .mgi-page-shape {
    left: -30vw;
    right: auto;
    transform: scaleX(-1);
}

@media (max-width: 767px) {
    .mgi-page-shape {
        bottom: 28px;
        right: -66vw;
        left: auto;
        width: 165vw;
        opacity: .13;
    }

    html[dir="rtl"] .mgi-page-shape {
        right: -66vw;
        left: auto;
    }

    html[dir="ltr"] .mgi-page-shape {
        left: -66vw;
        right: auto;
    }
}
:where(button, input, select, textarea) { font: inherit; }
:where(img, video, svg) { max-width: 100%; }
:where(img):not(.site-header-logo):not(.site-footer-logo):not(.header-search-icon):not(.mgi-card-logo):not(.menu-item-icon):not(.dynamic-counter-icon):not(.brand-logo):not(.logo):not(.icon-img):not(.partner-logo-img):not(.no-image-radius) {
    border-radius: var(--mgi-radius-image);
}
:where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(244, 119, 50, 0.42);
    outline-offset: 3px;
}

/* Layout primitives */
.mgi-container { width: min(var(--mgi-container-width), calc(100% - (var(--mgi-container-gutter) * 2))); margin-inline: auto; }
.mgi-section { padding-block: var(--mgi-section-space); }
.mgi-section,
.lqd-section,
section { background-color: var(--mgi-section-surface); }
.mgi-stack { display: flex; flex-direction: column; gap: var(--mgi-stack-gap, var(--mgi-space-6)); }
.mgi-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mgi-cluster-gap, var(--mgi-space-4)); }
.mgi-grid { display: grid; grid-template-columns: repeat(var(--mgi-grid-columns, 3), minmax(0, 1fr)); gap: var(--mgi-grid-gap, var(--mgi-space-6)); }

/* Reusable UI primitives */
.mgi-card {
    overflow: hidden;
    border: 1px solid var(--mgi-color-border);
    border-radius: var(--mgi-radius-lg);
    background: var(--mgi-color-surface);
    box-shadow: var(--mgi-shadow-sm);
    transition: transform var(--mgi-duration-normal) var(--mgi-ease-standard), box-shadow var(--mgi-duration-normal) var(--mgi-ease-standard);
}
.mgi-card:hover { transform: translateY(-4px); box-shadow: var(--mgi-shadow-md); }
.mgi-glass {
    border: 1px solid var(--mgi-glass-border);
    background: var(--mgi-glass-bg);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    backdrop-filter: blur(18px) saturate(145%);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.35), var(--mgi-shadow-sm);
}
.mgi-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--mgi-space-3);
    min-height: 48px;
    padding: var(--mgi-space-3) var(--mgi-space-6);
    border: 1px solid transparent;
    border-radius: var(--mgi-radius-button);
    background: var(--mgi-color-primary-700);
    color: var(--mgi-color-white);
    font-weight: 700;
    text-decoration: none;
    transition: transform var(--mgi-duration-fast) ease, background-color var(--mgi-duration-normal) ease, box-shadow var(--mgi-duration-normal) ease;
}
.mgi-button:hover { background: var(--mgi-color-primary-800); color: var(--mgi-color-white); transform: translateY(-2px); box-shadow: var(--mgi-shadow-sm); }
.mgi-button--accent { background: var(--mgi-color-accent-600); }
.mgi-button--accent:hover { background: var(--mgi-color-accent-700); }
.mgi-eyebrow { color: var(--mgi-color-accent-600); font-size: var(--mgi-font-size-sm); font-weight: 700; }
.mgi-heading { margin: 0; color: var(--mgi-color-primary-700); font-size: var(--mgi-font-size-2xl); line-height: var(--mgi-line-height-tight); }
.mgi-display { margin: 0; color: var(--mgi-color-primary-700); font-size: var(--mgi-font-size-display); line-height: var(--mgi-line-height-tight); }

@media (max-width: 767px) {
    :root { --mgi-section-space: clamp(3.5rem, 14vw, 5rem); --mgi-container-gutter: 1rem; }
    .mgi-grid { --mgi-grid-columns: 1; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 769px) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

.about p {
    text-align: justify;
}

/* ***** Banner ***** */
.banner .btn {
    --icon-font-size: 16px;
}

/* Dynamic about page timeline */
.about-timeline-section .about-timeline-head {
    max-width: 760px;
    margin: 0 auto 60px;
}

.about-timeline {
    position: relative;
    max-width: 1040px;
    margin: 0 auto;
    padding-top: 20px;
    direction: ltr;
}

.about-timeline::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background: rgba(0, 82, 155, 0.18);
    transform: translateX(-50%);
}

.about-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr);
    column-gap: 36px;
    align-items: center;
    margin-bottom: 54px;
}

.about-timeline-item:last-child {
    margin-bottom: 0;
}

.about-timeline-card {
    position: relative;
    grid-row: 1;
    width: 100%;
    max-width: 450px;
    padding: 30px;
    background: #fff;
    border: 1px solid rgba(0, 82, 155, 0.12);
    border-radius: 8px;
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.08);
    text-align: start;
}

.about-timeline:not(.is-rtl) .about-timeline-item:nth-child(odd) .about-timeline-card,
.about-timeline.is-rtl .about-timeline-item:nth-child(even) .about-timeline-card {
    grid-column: 1;
    justify-self: end;
}

.about-timeline:not(.is-rtl) .about-timeline-item:nth-child(even) .about-timeline-card,
.about-timeline.is-rtl .about-timeline-item:nth-child(odd) .about-timeline-card {
    grid-column: 3;
    justify-self: start;
}

.about-timeline-card::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 36px;
    height: 2px;
    background: rgba(0, 82, 155, 0.18);
    transform: translateY(-50%);
}

.about-timeline:not(.is-rtl) .about-timeline-item:nth-child(odd) .about-timeline-card::before,
.about-timeline.is-rtl .about-timeline-item:nth-child(even) .about-timeline-card::before {
    right: -36px;
}

.about-timeline:not(.is-rtl) .about-timeline-item:nth-child(even) .about-timeline-card::before,
.about-timeline.is-rtl .about-timeline-item:nth-child(odd) .about-timeline-card::before {
    left: -36px;
}

.about-timeline-year {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 86px;
    height: 86px;
    margin: 0 auto;
    border-radius: 50%;
    background: #00529b;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    box-shadow: 0 16px 35px rgba(0, 82, 155, 0.28);
}

.about-timeline-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border-radius: 8px;
    background: rgba(0, 82, 155, 0.08);
}

.about-timeline-icon img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.about-timeline-card h3 {
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 1.25;
    text-align: inherit;
}

.about-timeline-card .rich-text-content {
    color: #5d6678;
    font-size: 16px;
    line-height: 1.8;
    text-align: inherit;
}

.about-timeline-card .rich-text-content p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .about-timeline {
        padding-top: 0;
    }

    .about-timeline::before {
        left: 37px;
    }

    .about-timeline-item {
        grid-template-columns: 74px minmax(0, 1fr);
        gap: 18px;
        align-items: start;
        margin-bottom: 34px;
    }

    .about-timeline-year {
        grid-column: 1;
        width: 74px;
        height: 74px;
        font-size: 17px;
    }

    .about-timeline-item:nth-child(odd) .about-timeline-card,
    .about-timeline-item:nth-child(even) .about-timeline-card {
        grid-column: 2;
        justify-self: stretch;
        max-width: none;
    }

    .about-timeline-card::before {
        display: none;
    }
}

/* Team page grouped layout */
.team-page-section .team-group-divider {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 32px;
}

.team-page-section .team-group-divider::before,
.team-page-section .team-group-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(35, 61, 98, 0.14);
}

.team-page-section .team-group-divider span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 24px;
    border-radius: 999px;
    background: #fff;
    color: #00529b;
    border: 1px solid rgba(0, 82, 155, 0.14);
    font-weight: 800;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

.team-featured-member {
    display: grid;
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
    gap: 42px;
    align-items: center;
    max-width: 920px;
    margin: 0 auto 28px;
    padding: 28px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(35, 61, 98, 0.1);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
}

html[dir="rtl"] .team-featured-member {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
}

html[dir="rtl"] .team-featured-image {
    grid-column: 2;
}

html[dir="rtl"] .team-featured-content {
    grid-column: 1;
    grid-row: 1;
}

.team-featured-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 10px;
}

.team-featured-content {
    text-align: start;
}

.team-featured-type {
    display: inline-flex;
    margin-bottom: 14px;
    color: #00529b;
    font-weight: 800;
}

.team-featured-content h3 {
    margin: 0 0 12px;
    color: #233d62;
    font-size: clamp(30px, 4vw, 54px);
    line-height: 1.15;
}

.team-featured-content p {
    margin: 0;
    color: #5d6678;
    font-size: 18px;
    line-height: 1.8;
}

.team-member-card .lqd-tm-img img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.team-page-section .team-member-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-top: 42px;
}

.team-page-section .team-member-card .lqd-tm-img {
    flex: 0 0 auto;
}

.team-page-section .team-member-card .lqd-tm-details {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    opacity: 1 !important;
    min-height: 112px;
    padding-top: 22px;
    padding-bottom: 0;
    text-align: center;
    background: transparent;
}

.team-page-section .team-member-card .lqd-tm-details h3 {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    display: block;
    margin-bottom: 8px;
    color: #233d62;
    font-size: 24px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.team-page-section .team-member-card .lqd-tm-details p {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    color: #6b7280;
    font-size: 15px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.team-page-section .row>.animation-element {
    margin-bottom: 34px;
}

.team-page-section .team-members-grid {
    justify-content: flex-start;
}

html[dir="rtl"] .team-page-section .team-members-grid {
    justify-content: flex-start;
}

@media (max-width: 767px) {

    .team-featured-member,
    html[dir="rtl"] .team-featured-member {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 18px;
    }

    html[dir="rtl"] .team-featured-image,
    html[dir="rtl"] .team-featured-content {
        grid-column: auto;
        grid-row: auto;
    }

    .team-page-section .team-group-divider {
        gap: 12px;
        margin-bottom: 24px;
    }

    .team-page-section .team-group-divider span {
        padding-inline: 16px;
    }

    .team-page-section .team-member-card .lqd-tm-details {
        min-height: auto;
    }
}

/* Dynamic jobs section */
.dynamic-jobs-section {
    background: #f6f9fc;
}

.dynamic-job-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 30px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid rgba(35, 61, 98, 0.1);
    box-shadow: 0 18px 55px rgba(15, 23, 42, 0.08);
}

.dynamic-job-meta {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 14px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(0, 82, 155, 0.08);
    color: #00529b;
    font-size: 13px;
    font-weight: 800;
}

.dynamic-job-card h3 {
    margin: 0 0 14px;
    color: #233d62;
    font-size: 24px;
    line-height: 1.35;
}

.dynamic-job-card .rich-text-content {
    color: #5d6678;
    line-height: 1.8;
}

.dynamic-job-card .rich-text-content p:last-child {
    margin-bottom: 0;
}

.dynamic-job-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
    padding-top: 24px;
}

.dynamic-job-footer span {
    color: #5d6678;
    font-size: 14px;
}

.dynamic-job-footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 999px;
    background: #00529b;
    color: #fff;
    font-weight: 800;
}

.dynamic-job-footer a:hover {
    background: #233d62;
    color: #fff;
}

@media (max-width: 767px) {
    .dynamic-job-footer {
        align-items: stretch;
        flex-direction: column;
    }
}

.banner .btn-solid {
    background-color: var(--lqd-color-white-smoke);

    /* background-image: linear-gradient(90deg, var(--lqd-color-gradient-start) 0%, var(--lqd-color-gradient-stop) 100%); */
}

.banner .btn-solid:hover,
.banner .btn-solid:focus {
    background-color: var(--lqd-color-primary);
    color: var(--lqd-color-white-smoke);
    /* background-image: linear-gradient(90deg, var(--lqd-color-gradient-stop) 0%, var(--lqd-color-gradient-start) 100%); */
}

.ld-masked-image .clip-svg {
    clip-path: url(#banner-masked-svg);
    -webkit-clip-path: url(#banner-masked-svg);
    background-size: cover;
    background-position-x: 50%;
    background-position-y: 50%;
}

@media (max-width: 1199px) {
    .banner {
        padding: 100px 30px 0px 30px;
    }

    .banner .ld-fancy-heading h2 {
        font-size: 58px;
    }

    .banner .module-btn {
        margin-right: 10px;
    }
}

@media (max-width: 767px) {
    .banner {
        padding: 120px 10px 0px 10px;
    }

    .banner .ld-fancy-heading h2 {
        font-size: 14vw;
    }

    .banner .module-btn {
        margin: 0 0 10px 0;
    }

    .py-100 {
        padding: 0px !important;
    }

    .pt-200 {
        padding-top: 30px !important;
    }

    .ml-15,
    .mx-15 {
        margin-left: 5px;
        margin-right: 5px;
    }

    .pl-30,
    .px-30 {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* ***** services ***** */
/* .bg-color{background-color: #f0f6fc !important;} */
.bg-color {
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 0%,
            #f0f6fc 25%,
            #f0f6fc 75%,
            rgba(255, 255, 255, 1) 100%) !important;
}

@media (max-width: 1199px) {
    .services {
        padding: 0 30px;
    }
}

@media (max-width: 767px) {
    .services {
        padding: 70px 0 20px 10px;
    }
}

/* ***** Portfoilo ***** */
@media (max-width: 1199px) {
    .portfolio {
        padding: 50px 0 50px 0;
    }

    .portfolio .module h2 {
        font-size: 23px;
    }
}

@media (max-width: 767px) {
    .portfolio {
        padding: 20px 10px 30px 10px;
    }

    .portfolio .module-content {
        padding: 15px;
    }
}

/* ***** Marketing ***** */
.marketing .module-content {
    padding-left: 18%;
}

.marketing .module-content .lqd-highlight-inner {
    background: #D3FFF8;
    bottom: 4px;
    left: 0em;
}

.carousel-dots-mobile.carousel-dots-mobile-outside .flickity-page-dots {
    margin-top: 2.5em;
}

.marketing .carousel-nav {
    left: -17px;
}

.marketing .carousel-nav .flickity-button {
    font-size: 26px;
    width: 50px;
    height: 50px;
}

.marketing .flickity-button,
.marketing .flickity-button:focus,
.marketing .flickity-button:hover {
    background-color: transparent;
    color: #000;
}

@media (max-width: 1199px) {
    .marketing {
        padding: 50px 30px 60px 30px;
    }

    .marketing .carousel-dots-mobile {
        display: block;
    }

    .marketing .carousel-dots-mobile-inside .carousel-dots-mobile {
        opacity: 0;
    }

    .marketing .module-content {
        padding: 0 10px;
    }
}

@media(max-width:767px) {
    .marketing {
        padding: 40px 10px 50px 10px;
    }

    .marketing .module-image {
        margin: 0 0 10px 0;
    }

    .marketing .module-content {
        padding: 0 15px;
    }

    .marketing .module-content .ld-fancy-heading h2 {
        font-size: 15vw;
    }
}

/* ***** case Study Carousel ***** */
.case-study-carousel .carousel-nav .flickity-button {
    width: 20px;
    height: 20px;
}

.case-study-carousel .flickity-button {
    padding: 0;
    border-radius: 0;
}

.case-study-carousel .flickity-button,
.case-study-carousel .flickity-button:focus,
.case-study-carousel .flickity-button:hover {
    background-color: transparent;
    color: #000;
}

@media (max-width: 1199px) {
    .case-study-carousel {
        padding: 45px 40px 25px 40px;
    }

    .case-study-carousel .carousel-items {
        overflow-x: hidden;
    }
}

@media (max-width: 767px) {
    .case-study-carousel {
        padding: 45px 25px 55px 25px;
    }

    .case-study-carousel .ld-fancy-heading {
        margin: 0 0 10px 0;
    }
}

/* ***** Case Study ***** */
.case-study .icon-box-module {
    box-shadow: -5px 18px 60px 0px rgba(210, 210, 234, 0.4);
}

.case-study .module-1 .iconbox-icon-container {
    box-shadow: 6px 15px 30px 0px rgb(188 0 50 / 12%);
}

.case-study .module-2 .iconbox-icon-container {
    box-shadow: 6px 15px 30px 0px rgb(103 200 216 / 23%);
}

.case-study .module-3 .iconbox-icon-container {
    box-shadow: 6px 15px 30px 0px rgb(80 207 128 / 18%);
}

.case-study .module-4 .iconbox-icon-container {
    box-shadow: 6px 15px 30px 0px rgb(221 116 195 / 19%);
}

@media (max-width: 1199px) {
    .case-study {
        padding: 50px 30px 25px 30px;
    }

    .case-study .title-module {
        padding: 0 15%;
    }

    .case-study .module-1,
    .case-study .module-3 {
        padding: 10px 25px 10px 10px;
    }

    .case-study .module-2,
    .case-study .module-4 {
        padding: 10px 10px 10px 25px;
    }

    .case-study .icon-box-module {
        padding: 30px 20px;
    }
}

@media (max-width: 767px) {
    .case-study {
        padding: 30px 25px 35px 25px;
    }

    .case-study .title-module {
        padding: 0 0 30px 0;
    }

    .case-study .title-module .ld-fancy-heading p {
        font-size: 18px;
    }

    .case-study .module-content {
        margin-bottom: 20px;
        padding: 0;
    }

    .case-study .icon-box-module {
        margin: 0;
    }
}

/* ***** Team ***** */
.team .lqd-tm-details svg stop:first-child {
    stop-color: #F8F9FFE6;
}

.team .lqd-tm-details svg stop:last-child {
    stop-color: #F8F9FF;
}

@media (max-width: 1199px) {
    .team {
        padding: 25px 30px 50px 30px;
    }

    .team .module-2,
    .team .module-3 {
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    .team {
        padding: 25px 10px 50px 10px;
    }

    .team .module-title {
        margin: 0 0 10px 0;
    }

    .team .module-btn {
        padding: 0 15px 20px 15px;
    }

    .team .module-1,
    .team .module-2 {
        margin-bottom: 35px;
    }
}

/* ***** counters ***** */
.counters .ld-fancy-heading .h2 {
    font-size: 50px;
}

@media (max-width: 767px) {
    .counters {
        padding: 50px 0;
    }

    .counters .title-container {
        margin: 0 0 15px 0;
    }

    .counters .data-container {
        margin: 0 0 10px 0;
    }

    .counters .module-number p {
        font-size: 52px;
        line-height: 1em;
    }
}

/* ***** Testimonial ***** */
.testimonial .carousel-nav .flickity-button:hover {
    color: #FFFFFF;
    background: #000000;
}

.testimonial .carousel-dots-mobile.carousel-dots-mobile-outside .flickity-page-dots {
    margin-top: 1.5em;
}

.carousel-dots-mobile .flickity-page-dots .dot:first-child {
    margin-inline-start: 0;
}

@media (max-width: 1199px) {
    .testimonial {
        padding: 170px 30px 85px 30px;
    }

    .testimonial .image-container {
        width: 100%;
        max-width: 100%;
    }

    .testimonial .lqd-imggrp-img-container {
        width: 50%;
        margin: auto;
    }

    .testimonial .carousel-item {
        padding-inline-start: 0;
        padding-inline-end: 0;
    }
}

@media (max-width: 767px) {
    .testimonial {
        padding: 70px 10px;
    }
}

/* ***** Clients ***** */
@media (max-width: 1199px) {
    .clients .module-img {
        margin: 20px 0;
    }
}

@media (max-width: 767px) {
    .clients .lqd-imggrp-single {
        margin: 0 0 20px 0;
    }
}

/* ***** Contact ***** */
@media (max-width: 1199px) {
    .contact {
        padding-right: 35px;
        padding-left: 35px;
    }

    .contact .ld-fancy-heading h2 {
        font-size: 38px;
    }

    .contact .module-white {
        padding: 30px 20px;
    }
}

@media (max-width: 767px) {
    .contact {
        padding: 70px 15px;
    }

    .contact .ld-fancy-heading h2 {
        font-size: 11vw;
    }

    .contact .module-white {
        padding: 30px 20px 15px 20px;
    }
}

/* **** about us **** */
.about .btn {
    --icon-font-size: 16px;
}

.about .btn-solid {
    background-image: linear-gradient(-90deg, var(--lqd-color-gradient-start) 0%, var(--lqd-color-gradient-stop) 100%) !important;
}

.about .btn-solid:hover,
.about .btn-solid:focus {
    background-image: linear-gradient(-90deg, var(--lqd-color-gradient-stop) 0%, var(--lqd-color-gradient-start) 100%) !important;
}

.about .module-btn {
    margin-left: 10px;
}

.aboutus .svg-drow {
    height: 600px
}

.aboutus svg {
    height: 350px !important;
    width: auto;
    position: absolute;
    transform: translate(50%, -50%);
    top: 0px;
    opacity: 0.8
}

.aboutus .svg {
    height: 470px;
    position: absolute;
    transform: translate(50%, 20%);
    right: 69%;
    top: 120px;
    opacity: 0.8;
    z-index: 0
}

.aboutus .svg-path {
    stroke-dasharray: 1150;
    stroke-dashoffset: 1150;
    animation: 7s linear infinite alternate about-dash;
    fill-opacity: 1
}

@keyframes about-dash {
    from {
        stroke-dashoffset: 3000px
    }

    to {
        stroke-dashoffset: 0px;
        fill-opacity: 1
    }
}

.aboutus .cls-1 {
    stroke: url(#linear-gradient-8);
}

.aboutus .cls-1,
.aboutus .cls-2,
.aboutus .cls-3,
.aboutus .cls-4,
.aboutus .cls-5,
.aboutus .cls-6,
.aboutus .cls-7,
.aboutus .cls-8,
.aboutus .cls-9,
.aboutus .cls-10 {
    fill: none;
    stroke-miterlimit: 10;
    stroke-width: 3.07px;
}

.aboutus .cls-2 {
    stroke: url(#linear-gradient-3);
}

.aboutus .cls-11 {
    filter: url(#drop-shadow-9);
}

.aboutus .cls-12 {
    filter: url(#drop-shadow-2);
}

.aboutus .cls-3 {
    stroke: url(#linear-gradient);
}

.aboutus .cls-4 {
    stroke: url(#linear-gradient-5);
}

.aboutus .cls-13 {
    filter: url(#drop-shadow-6);
}

.aboutus .cls-14,
.aboutus .cls-15 {
    opacity: 1;
}

.aboutus .cls-16 {
    filter: url(#drop-shadow-5);
}

.aboutus .cls-17 {
    fill: #fff;
}

.aboutus .cls-18 {
    filter: url(#drop-shadow-8);
}

.aboutus .cls-5 {
    stroke: url(#linear-gradient-4);
}

.aboutus .cls-19 {
    filter: url(#drop-shadow-4);
}

.aboutus .cls-6 {
    stroke: url(#linear-gradient-10);
}

.aboutus .cls-20 {
    filter: url(#drop-shadow-1);
}

.aboutus .cls-21 {
    filter: url(#drop-shadow-11);
}

.aboutus .cls-22 {
    filter: url(#drop-shadow-10);
}

.aboutus .cls-7 {
    stroke: url(#linear-gradient-9);
}

.aboutus .cls-8 {
    stroke: url(#linear-gradient-2);
}

.aboutus .cls-9 {
    stroke: url(#linear-gradient-7);
}

.aboutus .cls-10 {
    stroke: url(#linear-gradient-6);
}

.aboutus .cls-23 {
    filter: url(#drop-shadow-12);
}

.aboutus .cls-24 {
    filter: url(#drop-shadow-3);
}

.aboutus .cls-15 {
    filter: url(#drop-shadow-7);
}

[dir="rtl"] .flip-rtl {
    display: inline-block !important;
    transform: scaleX(-1) !important;
    transform-origin: center;
}

[dir="rtl"] .btn-icon {
    display: inline-block;
    transform: scaleX(-1);
    transform-origin: center;
}

/* اقلب اتجاه رموز الأسهم فقط في RTL (من دون لمس اتجاه السلايدر أو النص) */
[dir="rtl"] #home-hero .flickity-prev-next-button.previous,
[dir="rtl"] #home-hero .flickity-prev-next-button.next {
    transform: scaleX(-1) !important;
    transform-origin: center !important;
}

/* اختياري: لو الثيم يضخ Transform على الـ SVG نفسه عطّله */
[dir="rtl"] #home-hero .flickity-prev-next-button .flickity-button-icon,
[dir="rtl"] #home-hero .flickity-prev-next-button svg {
    transform: none !important;
    transform-box: view-box;
    transform-origin: center;
}

.carousel-item-content h6 {
    color: var(--lqd-body-text-color) !important
}

.primary-color h6 {
    color: var(--lqd-color-primary) !important
}

.hide-mobile {
    display: none;
}

@media (min-width: 992px) {
    .hide-mobile {
        display: block;
    }
}

.search-input::placeholder {
    color: #dedddd !important;
    opacity: 1;
}

.search-input:-ms-input-placeholder {
    color: #dedddd !important;
}

.search-input::-ms-input-placeholder {
    color: #dedddd !important;
}

.services .iconbox:hover {
    background-color: var(--lqd-color-blue-600);
}

.services .iconbox:hover .contents h3,
.services .iconbox:hover .contents p {
    color: #fff;
}

/* ***** Titlebar ***** */
@media (max-width: 767px) {
    .titlebar-inner h1 {
        font-size: 60px;
    }
}

/* ***** Form ***** */
.form .module-form {
    box-shadow: 0 40px 80px 0px rgba(83, 94, 132, 0.15);
}

.form .lqd-contact-form {
    --input-margin-bottom: 20px;
    --inputs-margin: 0 0 var(--input-margin-bottom) 0;
}

@media (max-width: 767px) {
    .form {
        padding-right: 10px;
        padding-left: 10px;
    }

    .form .module-form {
        margin-right: 10px;
        margin-left: 10px;
        padding: 35px 15px;
    }
}

/* ***** Map ***** */
.map .module-contact {
    box-shadow: 20px 40px 60px 0px rgba(0, 0, 0, 0.1);
}

@media (max-width: 1199px) {
    .map .module-col {
        padding-right: 50px;
        padding-left: 50px;
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

@media (max-width: 767px) {
    .map .module-col {
        padding-right: 20px;
        padding-left: 20px;
        margin: 0;
    }

    .map .module-contact {
        padding: 45px 20px;
    }
}

.border-blue-10 {
    border-color: rgba(8, 5, 71, 0.1);
}

.feature-services .lqd-iconbox-scale:hover {
    background-color: #c9ecf682;
    transform: scale(1.1);
}

.features img {
    transition: filter 0.3s ease;
}

.feature-services:hover img {
    filter: brightness(0) invert(1);
}

.services .img {
    transition: filter 0.3s ease;
}

.services .lqd-fb:hover .img,
.services .iconbox:hover .img {
    filter: brightness(0) invert(1);
}

body.locale-en .services .lqd-fb-content {
    justify-content: flex-end !important;
}

body.locale-en .services .lqd-fb-content-wrap {
    align-items: flex-start !important;
}

.bg-blue {
    background: linear-gradient(360deg, #13183e, #1c2252);
}

.text-white-300,
.text-blue-400 {
    color: #F8F9FF;
}

.main-footer h3 {
    color: #F8F9FF !important;
}

.main-footer .text-slate-500 {
    color: #F8F9FF !important;
}

.main-footer p,
.main-footer span {
    color: #F8F9FF;
}

.main-footer .text-end {
    color: #F8F9FF;
}

.partner-logo {
    filter: grayscale(100%) brightness(0.7);
    opacity: 0.8;
    transition: all 0.3s ease;
    height: 60px;
}

/* Language Switch */
.lang-toggle {
    width: 64px;
    height: 32px;
    border-radius: 999px;
    position: relative;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.lang-toggle .toggle-track {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: rgba(0, 15, 159, 0.10);
    border: 1px solid rgba(0, 15, 159, 0.18);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
    transition: .25s ease;
}

.lang-toggle:hover .toggle-track {
    background: rgba(0, 15, 159, 0.14);
}

.lang-toggle .toggle-thumb {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .25s ease;
}

.lang-toggle .toggle-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .5px;
    color: #000F9F;
    line-height: 1;
    user-select: none;
}

/* الحالة ON = اللغة الحالية EN => الدائرة يمين */
.lang-toggle.is-on .toggle-thumb {
    right: 2px;
    left: auto;
}

/* الحالة OFF = اللغة الحالية AR => الدائرة يسار */
.lang-toggle.is-off .toggle-thumb {
    left: 2px;
    right: auto;
}

/* Mobile */
@media (max-width: 767px) {
    .lang-toggle {
        width: 60px;
        height: 30px;
    }

    .lang-toggle .toggle-thumb {
        width: 26px;
        height: 26px;
    }

    .lang-toggle .toggle-label {
        font-size: 10.5px;
    }

    .text-60 {
        font-size: 30px;
    }

    #lqd-gdpr {
        bottom: 0.5rem;
    }

    .h2,
    h2 {
        font-size: 30px !important;
    }

    .ld-fancy-heading {
        padding-top: 15px;
    }

    .mb-40,
    .my-40 {
        margin-bottom: 20px;
    }

    .text-end {
        text-align: center;
    }
}

/* GDPR cookie notice */
@keyframes lqdGDPRFadeIn {
    from {
        transform: translate(0, 50%);
        opacity: 0;
        visibility: hidden;
    }

    to {
        transform: translate(0, 0);
        opacity: 1;
        visibility: visible;
    }
}

@keyframes lqdGDPRFadeOut {
    from {
        transform: translate(0, 0);
        opacity: 1;
        visibility: visible;
    }

    to {
        transform: translate(0, 50%);
        opacity: 0;
        visibility: hidden;
    }
}

#lqd-gdpr {
    width: 242px;
    max-width: calc(100vw - 24px);
    padding: 38px 24px 22px;
    border: 1px solid #e9edf1;
    border-radius: 8px;
    bottom: 10%;
    left: 24px;
    background: #fff;
    color: #5f6f7d;
    font-size: 13px;
    line-height: 1.55;
    /* box-shadow: 0 12px 0 rgba(0, 0, 0, 0.18), 0 18px 26px rgba(0, 0, 0, 0.18); */
    transform: translate(0, 0);
}

#lqd-gdpr .lqd-gdpr-inner {
    display: block;
}

#lqd-gdpr .lqd-gdpr-left {
    padding: 0;
}

#lqd-gdpr p {
    margin: 0;
}

#lqd-gdpr .lqd-gdpr-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 24px;
}

#lqd-gdpr .lqd-gdpr-privacy {
    color: #98a7b8;
    font-size: 12px;
    line-height: 1.2;
    text-decoration: none;
    transition: color .2s ease;
}

#lqd-gdpr .lqd-gdpr-privacy:hover,
#lqd-gdpr .lqd-gdpr-privacy:focus {
    color: #1c2252;
}

#lqd-gdpr .lqd-gdpr-accept {
    min-width: 80px;
    padding: 9px 22px;
    border: 0;
    border-radius: 4px;
    background: #1c2252;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-transform: none;
    box-shadow: none;
}

#lqd-gdpr .lqd-gdpr-accept:hover,
#lqd-gdpr .lqd-gdpr-accept:focus {
    background: #1c2252;
    color: #fff;
}

#lqd-gdpr .lqd-gdpr-cookie {
    width: 62px;
    height: 50px;
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
}

#lqd-gdpr .lqd-gdpr-cookie::before,
#lqd-gdpr .lqd-gdpr-cookie::after {
    content: "";
    position: absolute;
    border-radius: 50%;
}

#lqd-gdpr .lqd-gdpr-cookie::before {
    width: 42px;
    height: 42px;
    left: 0;
    top: 4px;
    background: #a46a58;
    border: 3px solid #5f4b55;
}

#lqd-gdpr .lqd-gdpr-cookie::after {
    width: 40px;
    height: 40px;
    right: 0;
    top: 8px;
    background: #f0bd82;
    border: 3px solid #5f4b55;
}

#lqd-gdpr .lqd-gdpr-cookie-bite {
    width: 17px;
    height: 17px;
    position: absolute;
    top: 6px;
    right: 0;
    z-index: 3;
    border-radius: 50%;
    background: #fff;
}

#lqd-gdpr .lqd-gdpr-chip {
    width: 5px;
    height: 5px;
    position: absolute;
    z-index: 4;
    border-radius: 50%;
    background: #5f4b55;
}

#lqd-gdpr .lqd-gdpr-chip-1 {
    left: 15px;
    top: 17px;
}

#lqd-gdpr .lqd-gdpr-chip-2 {
    left: 28px;
    top: 29px;
}

#lqd-gdpr .lqd-gdpr-chip-3 {
    right: 25px;
    top: 23px;
}

#lqd-gdpr .lqd-gdpr-chip-4 {
    right: 15px;
    top: 36px;
}

@media (max-width: 540px) {
    #lqd-gdpr {
        min-width: 0;
        width: min(242px, calc(100vw - 24px));
        bottom: 10%;
        left: 12px;
        text-align: start;
    }

    #lqd-gdpr .lqd-gdpr-left {
        margin-bottom: 0;
    }

    #lqd-gdpr .lqd-gdpr-inner {
        display: block;
    }
}

/** logo switcher**/
.brand-switcher {
    position: relative;
    width: 260px;
    height: 60px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.brand-item {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    opacity: 0;
    transform: translateX(40px) scale(0.98);
    transition:
        transform 0.7s cubic-bezier(.22, .61, .36, 1),
        opacity 0.45s ease;
    white-space: nowrap;
}

.brand-item.is-active {
    opacity: 1;
    transform: translateX(0) scale(1);
    z-index: 2;
}

.brand-item.is-exit {
    opacity: 0;
    transform: translateX(-25px) scale(0.96);
    z-index: 1;
}

.brand-text {
    font-size: 16px;
    font-weight: 700;
    color: #0b2a6f;
    letter-spacing: .2px;
}

.brand-item,
.brand-switcher {
    will-change: transform, opacity;
}

/* search */
.smart-inline-search {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.smart-inline-search .smart-search-trigger {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform .15s ease, opacity .15s ease;
}

.smart-inline-search.is-open .smart-search-trigger {
    opacity: 0;
    pointer-events: none;
}

.smart-search-dropdown {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    opacity: 0;
    pointer-events: none;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .12);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .06);
    transition: width .25s cubic-bezier(.2, .8, .2, 1), opacity .15s ease, box-shadow .2s ease;
}

.smart-inline-search.is-open .smart-search-dropdown {
    opacity: 1;
    pointer-events: auto;
    width: 220px;
}

.smart-inline-search.is-open.is-focus .smart-search-dropdown {
    width: 300px;
    box-shadow: 0 14px 26px rgba(0, 0, 0, .10);
    border-color: rgba(11, 42, 111, .25);
}

.smart-inline-search .ld-search-form {
    position: relative;
    display: flex;
    align-items: center;
    height: 38px;
}

.smart-search-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: .65;
    color: #0b2a6f;
    flex: 0 0 38px;
}

.smart-search-input {
    height: 38px;
    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 10px 0 44px;
    font-size: 14px;
    color: #0b2a6f;
}

.smart-search-close {
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    border-radius: 999px;
    opacity: .7;
    cursor: pointer;
}

.smart-search-close:hover {
    opacity: 1;
}

@media (max-width: 480px) {
    .smart-inline-search.is-open .smart-search-dropdown {
        width: 190px;
    }

    .smart-inline-search.is-open.is-focus .smart-search-dropdown {
        width: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .smart-search-dropdown,
    .smart-search-trigger {
        transition: none !important;
    }
}

/* Error pages -------------------------------------------------------------
   One accessible, bilingual layout for 401/403/404/419/429/500/503. */
.mgi-error-document,
.mgi-error-document body {
    min-height: 100%;
    margin: 0;
}

.mgi-error-document body {
    overflow-x: hidden;
    background: var(--mgi-section-surface);
}

.mgi-error-page {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: 100svh;
    padding: clamp(34px, 5vw, 72px) 0;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 24%, rgba(244, 119, 50, .1), transparent 27rem),
        radial-gradient(circle at 84% 72%, rgba(42, 64, 154, .1), transparent 31rem),
        var(--mgi-section-surface) !important;
}

.mgi-error-page__decoration {
    position: absolute;
    z-index: -1;
    inset: auto -13% -37% auto;
    width: min(56vw, 760px);
    opacity: .055;
    transform: rotate(-9deg);
    pointer-events: none;
    user-select: none;
}

html[dir="ltr"] .mgi-error-page__decoration {
    right: auto;
    left: -13%;
    transform: rotate(9deg) scaleX(-1);
}

.mgi-error-page__decoration img {
    display: block;
    width: 100%;
    height: auto;
}

.mgi-error-page__container {
    width: min(1180px, calc(100% - (var(--mgi-container-gutter) * 2)));
    margin-inline: auto;
}

.mgi-error-card {
    position: relative;
    display: grid;
    padding: clamp(30px, 4.2vw, 58px);
    grid-template-columns: minmax(0, 1.45fr) minmax(240px, .62fr);
    align-items: center;
    gap: clamp(34px, 5vw, 72px);
    overflow: hidden;
    border: 1px solid rgba(42, 64, 154, .13);
    border-radius: var(--mgi-radius-xl);
    background: rgba(255, 255, 255, .78);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
    backdrop-filter: blur(22px) saturate(145%);
    box-shadow: 0 28px 75px rgba(23, 36, 95, .1);
    animation: mgi-error-card-in .7s var(--mgi-ease-emphasized) both;
}

.mgi-error-card::before {
    content: '';
    position: absolute;
    top: 0;
    inset-inline-start: clamp(30px, 4.2vw, 58px);
    width: 94px;
    height: 4px;
    border-radius: 0 0 5px 5px;
    background: linear-gradient(90deg, var(--mgi-color-primary-700), var(--mgi-color-accent-600));
}

.mgi-error-card__content {
    min-width: 0;
}

.mgi-error-card__eyebrow {
    display: inline-flex;
    margin-bottom: 18px;
    align-items: center;
    gap: 9px;
    color: var(--mgi-color-primary-700);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .02em;
}

.mgi-error-card__eyebrow > span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mgi-color-accent-600);
    box-shadow: 0 0 0 5px rgba(244, 119, 50, .11);
}

.mgi-error-card__heading {
    display: flex;
    align-items: center;
    gap: clamp(20px, 2.5vw, 34px);
}

.mgi-error-card__code {
    flex: 0 0 auto;
    margin: 0;
    background: linear-gradient(135deg, var(--mgi-color-primary-800) 12%, var(--mgi-color-primary-600) 58%, var(--mgi-color-accent-600) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(76px, 8.6vw, 126px);
    font-weight: 900;
    letter-spacing: -.075em;
    line-height: .82;
}

.mgi-error-card__divider {
    flex: 0 0 2px;
    width: 2px;
    height: clamp(92px, 9vw, 122px);
    border-radius: 2px;
    background: linear-gradient(180deg, var(--mgi-color-accent-600), rgba(244, 119, 50, .12));
}

.mgi-error-card__copy {
    min-width: 0;
    text-align: start;
}

#lqd-site-content .mgi-error-card__copy h1 {
    margin: 0 0 12px;
    color: var(--mgi-color-primary-900);
    font-size: clamp(29px, 3.2vw, 44px) !important;
    font-weight: 850;
    letter-spacing: -.03em;
    line-height: 1.22;
}

.mgi-error-card__copy p {
    max-width: 570px;
    margin: 0;
    color: var(--mgi-color-text);
    font-size: clamp(15px, 1.25vw, 18px);
    font-weight: 500;
    line-height: 1.9;
}

.mgi-error-card__actions {
    display: flex;
    margin-top: 32px;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.mgi-error-card__button {
    display: inline-flex !important;
    min-height: 48px;
    padding: 11px 20px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border-radius: var(--mgi-radius-button) !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.mgi-error-card__button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mgi-error-card__button--primary {
    border: 1px solid var(--mgi-color-accent-600);
    background: var(--mgi-color-accent-600);
    color: #fff !important;
}

.mgi-error-card__button--primary:hover {
    border-color: var(--mgi-color-accent-700);
    background: var(--mgi-color-accent-700);
    color: #fff !important;
    transform: translateY(-2px);
}

.mgi-error-card__visual {
    position: relative;
    display: flex;
    width: min(100%, 310px);
    margin-inline: auto;
    align-items: center;
    justify-content: center;
}

.mgi-error-card__visual > img {
    display: block;
    width: 100%;
    height: auto;
    opacity: .76;
}

.mgi-error-card__help {
    grid-column: 1 / -1;
    display: flex;
    min-height: 54px;
    margin-top: clamp(0px, 1vw, 10px);
    padding-top: 22px;
    align-items: center;
    gap: 10px;
    border-top: 1px solid rgba(42, 64, 154, .11);
    color: var(--mgi-color-muted);
    font-size: 14px;
}

.mgi-error-card__help p {
    margin: 0;
}

.mgi-error-card__help a {
    margin-inline-start: auto;
    color: var(--mgi-color-primary-700);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: rgba(42, 64, 154, .28);
    text-underline-offset: 4px;
}

.mgi-error-card__help a:hover {
    color: var(--mgi-color-accent-700);
    text-decoration-color: currentColor;
}

.mgi-error-card__help-icon {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: var(--mgi-radius-button);
    background: rgba(42, 64, 154, .08);
    color: var(--mgi-color-primary-700);
}

.mgi-error-card__help-icon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
}

@keyframes mgi-error-card-in {
    from { opacity: 0; transform: translateY(22px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 899px) {
    .mgi-error-card {
        grid-template-columns: 1fr;
    }

    .mgi-error-card__visual {
        display: none;
    }
}

@media (max-width: 640px) {
    .mgi-error-page {
        min-height: 100svh;
        padding: 24px 0;
        align-items: center;
    }

    .mgi-error-page__container {
        width: min(100% - 32px, 1180px);
    }

    .mgi-error-card {
        padding: 28px 20px 22px;
        gap: 28px;
        border-radius: var(--mgi-radius-lg);
    }

    .mgi-error-card__heading {
        display: grid;
        grid-template-columns: auto 2px minmax(0, 1fr);
        gap: 14px;
    }

    .mgi-error-card__code {
        font-size: clamp(54px, 18vw, 72px);
    }

    .mgi-error-card__divider {
        height: 82px;
    }

    #lqd-site-content .mgi-error-card__copy h1 {
        margin-bottom: 7px;
        font-size: clamp(23px, 7vw, 30px) !important;
    }

    .mgi-error-card__copy p {
        font-size: 14px;
        line-height: 1.75;
    }

    .mgi-error-card__actions {
        margin-top: 25px;
        align-items: stretch;
        flex-direction: column;
    }

    .mgi-error-card__button {
        width: 100%;
    }

    .mgi-error-card__help {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .mgi-error-card__help p {
        flex: 1 1 calc(100% - 42px);
    }

    .mgi-error-card__help a {
        margin-inline-start: 38px;
    }

    .mgi-error-page__decoration {
        right: -48%;
        bottom: -8%;
        width: 125vw;
    }

    html[dir="ltr"] .mgi-error-page__decoration {
        right: auto;
        left: -48%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mgi-error-card {
        animation: none;
    }
}

/* Hero and news entrance motion ------------------------------------------
   Hero copy follows the reading order. News cards rise independently while
   their inner hover transforms remain untouched. */
.animate-kicker,
.animate-title,
.animate-desc,
.animate-cta {
    animation: none;
}

.mgi-hero-motion-ready [data-mgi-hero-reveal] {
    opacity: 0;
    transform: translate3d(0, 30px, 0) scale(.985);
    will-change: opacity, transform;
}

.mgi-hero-motion-ready [data-mgi-hero-reveal].is-hero-revealed {
    animation: mgi-hero-copy-enter .82s var(--mgi-ease-emphasized) both !important;
    animation-delay: var(--hero-reveal-delay, 0ms) !important;
}

@keyframes mgi-hero-copy-enter {
    0% {
        opacity: 0;
        transform: translate3d(0, 30px, 0) scale(.985);
    }
    72% {
        opacity: 1;
        transform: translate3d(0, -2px, 0) scale(1.003);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

.news-motion-ready [data-mgi-news-reveal] {
    opacity: 0;
    transform: translate3d(0, 38px, 0) scale(.965);
    will-change: opacity, transform;
}

.news-motion-ready [data-mgi-news-reveal="text"] {
    transform: translate3d(0, 24px, 0);
}

.news-motion-ready [data-mgi-news-reveal].is-news-revealed {
    animation: mgi-news-card-enter .8s var(--mgi-ease-emphasized) both;
    animation-delay: var(--news-reveal-delay, 0ms);
}

@keyframes mgi-news-card-enter {
    0% {
        opacity: 0;
        transform: translate3d(0, 38px, 0) scale(.965);
    }
    72% {
        opacity: 1;
        transform: translate3d(0, -3px, 0) scale(1.006);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@media (max-width: 767px) {
    .mgi-hero-motion-ready [data-mgi-hero-reveal] {
        transform: translate3d(0, 22px, 0) scale(.99);
    }

    .mgi-hero-motion-ready [data-mgi-hero-reveal].is-hero-revealed,
    .news-motion-ready [data-mgi-news-reveal].is-news-revealed {
        animation-duration: .68s;
    }

    .news-motion-ready [data-mgi-news-reveal] {
        transform: translate3d(0, 26px, 0) scale(.975);
    }
}

@media (prefers-reduced-motion: reduce) {
    .mgi-hero-motion-ready [data-mgi-hero-reveal],
    .news-motion-ready [data-mgi-news-reveal] {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        will-change: auto;
    }
}

/* Legal pages ------------------------------------------------------------ */
.legal-page {
    --legal-primary: #2f469f;
    --legal-navy: #17245f;
    --legal-orange: #f47732;
    --legal-surface: var(--mgi-section-surface);
    background: var(--legal-surface);
    color: var(--legal-navy);
    min-height: 100vh;
}
.legal-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(120deg, #202d75 0%, var(--legal-primary) 58%, #4f67c2 100%);
    color: #fff;
    padding: clamp(72px, 10vw, 132px) 0 clamp(62px, 8vw, 104px);
}
.legal-hero::after {
    content: '';
    position: absolute;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    inset-inline-start: -160px;
    top: -220px;
    box-shadow: 0 0 0 42px rgba(255,255,255,.04), 0 0 0 84px rgba(244,119,50,.08);
}
.legal-hero-inner { position: relative; z-index: 1; max-width: 940px; text-align: center; }
.legal-eyebrow { display: inline-block; color: #ffb181; font-size: 15px; font-weight: 700; margin-bottom: 13px; }
.legal-hero h1 { color: #fff; font-size: clamp(38px, 5vw, 68px); line-height: 1.15; margin: 0 auto 16px; font-weight: 800; }
.legal-hero p { color: rgba(255,255,255,.82); max-width: 650px; margin: 0 auto; font-size: 17px; }
.legal-body { padding: clamp(38px, 6vw, 84px) 0 110px; }
.legal-layout { display: grid; grid-template-columns: minmax(210px, .28fr) minmax(0, .72fr); gap: 28px; align-items: start; }
[dir="rtl"] .legal-layout { grid-template-columns: minmax(0, .72fr) minmax(210px, .28fr); }
.legal-aside { position: sticky; top: 110px; }
.legal-aside-card { background: #fff; border: 1px solid #e2e7f3; border-radius: 20px; padding: 25px 24px; box-shadow: 0 14px 35px rgba(31,51,113,.07); }
.legal-aside-kicker { display: block; color: var(--legal-orange); font-size: 13px; font-weight: 700; margin-bottom: 12px; }
.legal-aside-card strong { display: block; color: var(--legal-primary); font-size: 20px; line-height: 1.45; }
.legal-aside-line { display: block; height: 2px; width: 42px; background: var(--legal-orange); margin: 18px 0; }
.legal-aside-card small { color: #7180a4; line-height: 1.7; }
.legal-content-card { background: #fff; border: 1px solid #e2e7f3; border-radius: 24px; padding: clamp(26px, 5vw, 58px); box-shadow: 0 18px 42px rgba(31,51,113,.07); }
.legal-section + .legal-section { border-top: 1px solid #edf0f7; margin-top: 34px; padding-top: 34px; }
.legal-section h2 { color: var(--legal-primary); font-size: clamp(23px, 2.5vw, 32px); line-height: 1.35; margin: 0 0 16px; font-weight: 800; }
.legal-section h3 { color: var(--legal-navy); font-size: 20px; margin: 0 0 12px; }
.legal-richtext { color: #536485; font-size: 16px; line-height: 2; }
.legal-richtext p { margin: 0 0 15px; }
.legal-richtext a { color: var(--legal-primary); text-decoration: underline; text-underline-offset: 3px; }
.legal-richtext strong { color: var(--legal-navy); }
.legal-richtext ul, .legal-richtext ol, .legal-list { padding-inline-start: 1.35em; margin: 14px 0; }
.legal-richtext li, .legal-list li { margin: 8px 0; }
.legal-list { color: #536485; line-height: 1.9; }
.legal-list strong { display: block; color: var(--legal-navy); }
.legal-list span { display: block; }
.legal-empty { color: #7180a4; text-align: center; padding: 30px 0; }
@media (max-width: 767px) {
    .legal-hero { padding: 58px 18px 50px; }
    .legal-hero h1 { font-size: 37px; }
    .legal-hero p { font-size: 15px; }
    .legal-body { padding: 22px 14px 64px; }
    .legal-layout, [dir="rtl"] .legal-layout { display: block; }
    .legal-aside { display: none; }
    .legal-content-card { border-radius: 18px; padding: 24px 20px; }
    .legal-section + .legal-section { margin-top: 26px; padding-top: 26px; }
    .legal-richtext { font-size: 15px; line-height: 1.9; }
}

.lqd-submenu-cover .main-nav>.menu-item-has-children:not(.megamenu)>.nav-item-children {
    top: 65px;
    padding-bottom: 40px;
}

.banner .btn-solid {
    --btn-pt: 16px;
    --btn-pe: 31px;
    --btn-pb: 16px;
    --btn-ps: 31px;
    --icon-mt: 0;
    --icon-me: 18px;
    --icon-mb: 0;
    --icon-ms: 0
}

.banner .btn-icon-right {
    --icon-mt: 2px;
    --icon-ms: 10px
}

@media (max-width:1199px) {
    .banner {
        padding: 40px 40px 0
    }

    .banner .ld-fancy-heading p {
        padding: 0 15%
    }
}

@media (max-width:767px) {
    .banner {
        padding: 20px 20px 180px
    }

    .banner .ld-fancy-heading p {
        padding: 0
    }

    .banner .btn-icon-right {
        margin: 20px 30px 0
    }
}

.clients .lqd-imggrp-single:hover {
    opacity: .7
}

@media (max-width:1199px) {
    .clients {
        padding: 50px 40px
    }
}

@media (max-width:767px) {
    .clients {
        padding: 40px 20px
    }
}

@media (max-width:1199px) {
    .features {
        padding: 100px 20px
    }

    .features .col-12:first-child .d-flex {
        margin: 0 0 30px 20px
    }
}

@media (max-width:767px) {
    .features {
        padding: 40px 0
    }
}

.solutions .lqd-section-scroll-dots {
    flex-direction: column
}

.solutions .lqd-section-scroll-dot {
    justify-content: center;
    align-items: center;
    border-radius: 50em
}

.solutions .lqd-overlay {
    display: block
}

.solutions .module-img-1 .block-revealer__element {
    background-color: #f0ebff
}

@media (max-width:1199px) {
    .solutions {
        padding: 40px
    }

    .solutions .lqd-section-scroll-inner {
        margin-top: 50px;
        margin-bottom: 50px
    }
}

@media (max-width:767px) {
    .solutions {
        padding: 40px 20px
    }
}

.tab-box .lqd-tabs-nav {
    --icon-size: 1em
}

.tab-box .lqd-tabs .lqd-tabs-nav li a.active,
.tab-box .lqd-tabs-style-5 .lqd-tabs-nav a:after {
    background-color: transparent;
    background-image: linear-gradient(180deg, #eaf4f3 0, #fff 100%)
}

.tab-box .lqd-tabs-nav .h3,
.tab-box .lqd-tabs-nav>li>a,
.tab-box .lqd-tabs-nav>li>a .lqd-tabs-nav-txt {
    font-size: var(--lqd-accent-font-size);
    line-height: var(--lqd-accent-line-height);
    letter-spacing: var(--lqd-accent-letter-spacing);
    word-spacing: var(--lqd-accent-word-spacing)
}

.tab-box .lqd-tabs .lqd-tabs-nav li a.active {
    color: #35399f
}

.tab-box .lqd-counter-element {
    margin-bottom: .3em;
    font-size: 51px
}

@media (max-width:1199px) {
    .tab-box {
        padding: 50px 40px
    }
}

@media screen and (max-width:768px) {
    .lqd-tabs-style-13 {
        flex-direction: column-reverse !important
    }
}

@media (max-width:767px) {
    .tab-box {
        padding: 40px 20px
    }

    .tab-box .lqd-counter-element {
        font-size: 12vw
    }
}

.lqd-tabs-style-10 .lqd-tabs-nav li a.active:before {
    opacity: 1;
    transform: scale(1)
}

@media (max-width:1199px) {
    .blog {
        padding: 0 40px 50px
    }
}

@media (max-width:767px) {
    .blog {
        padding: 0 20px
    }
}

:root {
    --lqd-container-width: 1140px;
    --lqd-container-width-sm: 100%;
    --lqd-container-width-md: 100%;
    --bs-gutter-x: 20px;
    --lqd-row-gutter-y: 20px;
    --lqd-row-gutter-x: 20px;
    --lqd-text-font-size: 13px;
    --lqd-accent-font-size: 16px;
    --lqd-accent-line-height: 2em;
    --lqd-body-font-size: 16px;
    --lqd-body-font-weight: 400;
    --lqd-body-line-height: 22px;
    --lqd-heading-color: var(--lqd-color-accent);
    --lqd-heading-font-weight: 600;
    --lqd-heading-line-height: 1.2em;
    --lqd-h1-font-size: 65px;
    --lqd-h1-line-height: 57px;
    --lqd-h1-letter-spacing: -1.96px;
    --lqd-h2-font-size: 40px;
    --lqd-h2-line-height: 1.1em;
    --lqd-h2-letter-spacing: -0.5px;
    --lqd-h3-font-size: 36px;
    --lqd-h4-font-size: 32px;
    --lqd-h5-font-size: 20px;
    --lqd-h6-font-size: 17px;
    --lqd-cc-bc: var(--lqd-color-primary);
    --lqd-cc-bg: var(--lqd-color-primary);
    --lqd-cc-size-outer: 35px;
    --lqd-cc-size-inner: 7px;
    --lqd-cc-bw: 1px;
    --lqd-cc-br: calc(var(--lqd-cc-size-outer) / 2);
    --lqd-cc-active-bc: var(--lqd-color-primary);
    --lqd-cc-active-bg: var(--lqd-color-primary);
    --lqd-cc-active-bw: 1px;
    --lqd-cc-active-circle-color: #fff;
    --lqd-cc-active-circle-txt: #000
}

.main-header .lqd-hide-onstuck {
    background-size: 91px auto
}

.main-header .lqd-hide-onstuck a:before {
    background-color: #fff
}

.main-header .module-primary-nav a:hover,
.main-header .module-primary-nav li.is-active,
.social-icon:hover i {
    color: #000
}

@media (max-width:1199px) {
    .main-header .module-primary-nav .navbar-collapse {
        margin-right: 50px
    }
}

@media (max-width:767px) {
    .main-header .lqd-mobile-sec .navbar-brand img {
        max-width: 171px
    }
}

@media (max-width:991px) {
    .banner {
        padding-top: 100px;
        padding-bottom: 40px
    }

    .banner h1,
    .banner h2 {
        font-size: 66px
    }
}

@media (max-width:767px) {
    .banner h2 {
        font-size: 40px
    }
}

@media (max-width:991px) {
    .about {
        padding-bottom: 40px
    }

    .about h2 {
        font-size: 38px
    }

    .contact {
        border-width: 10px
    }
}

.ld-flipbox-face {
    backface-visibility: hidden
}

@media (max-width:767px) {
    .about {
        padding-bottom: 70px
    }

    .about h2 {
        font-size: var(--lqd-h2-font-size)
    }

    .ld-flipbox-inner {
        padding: 25px
    }
}

:root {
    --lqd-color-blue-900: #0f144e;
    --lqd-container-width: 1170px;
    --lqd-container-width-md: 970px;
    --lqd-container-width-sm: 750px;
    --lqd-row-gutter-y: 0;
    --lqd-row-gutter-x: 30px;
    --lqd-body-font-weight: 400;
    --lqd-body-line-height: 1.7em;
    --lqd-body-font-size: 1em;
    --lqd-body-color: #8a8a91;
    --lqd-heading-font-weight: 700;
    --lqd-heading-line-height: 1.2em;
    --lqd-heading-color: #181b31;
    --lqd-h1-font-size: 52px;
    --lqd-h2-font-size: 40px;
    --lqd-h3-font-size: 30px;
    --lqd-h4-font-size: 25px;
    --lqd-h6-letter-spacing: .1em;
    --lqd-h6-font-size: 12px;
    --lqd-h6-text-transform: uppercase
}

.lqd-highlight-inner svg {
    height: .275em;
    max-height: .475em
}

.ld-flipbox,
.lqd-imggrp-single[data-hover3d] {
    perspective: 1200px
}

.ld-flipbox-face,
.ld-flipbox-wrap,
.lqd-imggrp-single[data-hover3d] .lqd-imggrp-img-container {
    transform-style: preserve-3d
}

.main-header .lqd-head-col>.lqd-active-row-light.header-module>.navbar-collapse .main-nav>li>a {
    color: rgba(0, 0, 0, .8)
}

/* .lqd-section-scroll-dot {
    width: 40px;
    height: 40px;
    border: 1px solid #fdfdfd;
    cursor: pointer;
    font-size: 14px;
    color: #fdfdfd;
    transition: background .3s;
    counter-increment: section-scroll-dots;
} */
.lqd-section-scroll-dot.is-active,
.lqd-section-scroll-dot:hover {
    border-color: #283c62;
    background-color: #283c62;
    color: #fff;
}

/* Chatbot Widget Container */
.chatbot-widget {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Chat Toggle Button */
.chat-toggle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    /*background: linear-gradient(135deg, #dab84a 0%, #9b353b 100%);*/
    background: linear-gradient(135deg, #224398 0%, #ed1c24 100%);
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.chat-toggle:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4);
}

.chat-toggle::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    /*background: linear-gradient(135deg, #224398 0%, rgb(237 28 36) 100%)*/
    transform: translateX(-100%);
    transition: transform 0.6s;
}

.chat-toggle:hover::before {
    transform: translateX(100%);
}

.chat-icon {
    width: 24px;
    height: 24px;
    fill: white;
    transition: transform 0.3s ease;
}

.chat-toggle.active .chat-icon {
    transform: rotate(180deg);
}

/* Chat Container */
.chat-container {
    position: absolute;
    bottom: 80px;
    right: 0;
    width: 380px;
    height: 500px;
    background: white;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    display: none;
    flex-direction: column;
    overflow: hidden;
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.3s ease;
}

.chat-container.active {
    display: flex;
    transform: translateY(0);
    opacity: 1;
}

/* Chat Header */
.chat-header {
    /*background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);*/
    /*background: linear-gradient(135deg, #dab84a 0%, #9b353b 100%);*/
    background: linear-gradient(135deg, #224398 0%, #ed1c24 100%);

    color: white;
    padding: 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.chat-header::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    animation: pulse 4s ease-in-out infinite;
}

@keyframes pulse {

    0%,
    100% {
        transform: scale(0.8);
        opacity: 0.5;
    }

    50% {
        transform: scale(1.2);
        opacity: 0.8;
    }
}

.chat-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 5px;
    position: relative;
    z-index: 1;
}

.chat-subtitle {
    font-size: 12px;
    opacity: 0.9;
    position: relative;
    z-index: 1;
}

.status-indicator {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 10px;
    height: 10px;
    background: #4ade80;
    border-radius: 50%;
    animation: blink 2s infinite;
}

@keyframes blink {

    0%,
    50% {
        opacity: 1;
    }

    51%,
    100% {
        opacity: 0.3;
    }
}

/* Chat Messages */
.chat-messages {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
    background: #f8fafc;
}

.chat-messages::-webkit-scrollbar {
    width: 6px;
}

.chat-messages::-webkit-scrollbar-track {
    background: #f1f5f9;
}

.chat-messages::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

.message {
    margin-bottom: 15px;
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from {
        transform: translateY(10px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.message.bot {
    text-align: left;
}

.message.user {
    text-align: right;
}

.message-content {
    display: inline-block;
    max-width: 80%;
    padding: 12px 16px;
    border-radius: 18px;
    font-size: 14px;
    line-height: 1.4;
    position: relative;
}

.message.bot .message-content {
    background: white;
    color: #374151;
    border-bottom-left-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.message.user .message-content {
    /*background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);*/
    /*background: linear-gradient(135deg, #dab84a 0%, #9b353b 100%);*/
    background: linear-gradient(135deg, #224398 0%, #ed1c24 100%);

    color: white;
    border-bottom-right-radius: 6px;
}

.message-time {
    font-size: 11px;
    opacity: 0.6;
    margin-top: 5px;
}

/* Typing Indicator */
.typing-indicator {
    display: none;
    padding: 12px 16px;
    background: white;
    border-radius: 18px;
    border-bottom-left-radius: 6px;
    max-width: 80%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.typing-dots {
    display: flex;
    gap: 4px;
}

.typing-dot {
    width: 8px;
    height: 8px;
    background: #9ca3af;
    border-radius: 50%;
    animation: typing 1.4s infinite;
}

.typing-dot:nth-child(2) {
    animation-delay: 0.2s;
}

.typing-dot:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes typing {

    0%,
    60%,
    100% {
        transform: translateY(0);
    }

    30% {
        transform: translateY(-10px);
    }
}

/* Chat Input */
.chat-input-container {
    padding: 20px;
    background: white;
    border-top: 1px solid #e5e7eb;
}

.chat-input-wrapper {
    display: flex;
    gap: 10px;
    align-items: center;
    background: #f8fafc;
    border-radius: 25px;
    padding: 8px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.chat-input-wrapper:focus-within {
    border-color: #667eea;
    background: white;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.chat-input {
    flex: 1;
    border: none;
    outline: none;
    padding: 8px 12px;
    font-size: 14px;
    background: transparent;
    color: #374151;
}

.chat-input::placeholder {
    color: #9ca3af;
}

.send-button {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    /*background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);*/
    /*background: linear-gradient(135deg, #dab84a 0%, #9b353b 100%);*/
    /*background: linear-gradient(135deg, #224398 0%, #ed1c24 100%);*/
    background: linear-gradient(135deg, #224398 0%, #ed1c24 100%);

    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.send-button:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.send-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.send-icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* Welcome Message */
.welcome-message {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);

    border: 1px solid #0ea5e9;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
    text-align: center;
}

.welcome-title {
    font-weight: 600;
    color: #0369a1;
    margin-bottom: 8px;
}

.welcome-text {
    font-size: 13px;
    color: #0284c7;
    line-height: 1.4;
}

/* Quick Actions */
.quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}

.quick-action {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 8px 12px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #6b7280;
}

.quick-action:hover {
    background: #667eea;
    color: white;
    border-color: #667eea;
    transform: translateY(-2px);
}

/* Chat History Controls */
.chat-controls {
    padding: 10px 20px;
    background: #f8fafc;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.clear-chat-btn {
    background: #ef4444;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.clear-chat-btn:hover {
    background: #dc2626;
    transform: translateY(-1px);
}

.chat-info {
    font-size: 11px;
    color: #6b7280;
}

/* Responsive Design */
@media (max-width: 480px) {
    .chat-container {
        width: calc(100vw - 40px);
        height: calc(100vh - 100px);
        right: 20px;
        bottom: 80px;
    }

    .chatbot-widget {
        right: 20px;
        bottom: 20px;
    }
}

/* Demo Container for Preview */
.demo-container {
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    text-align: center;
    max-width: 500px;
    width: 100%;
}

.demo-title {
    font-size: 28px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 10px;
}

.demo-subtitle {
    font-size: 16px;
    color: #6b7280;
    margin-bottom: 30px;
}

.demo-features {
    text-align: right;
    margin-bottom: 30px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    padding: 12px;
    background: #f8fafc;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.feature-item:hover {
    background: #f1f5f9;
    transform: translateX(-5px);
}

.feature-icon {
    width: 20px;
    height: 20px;
    fill: #667eea;
}

.feature-text {
    font-size: 14px;
    color: #374151;
}

.demo-note {
    background: #fef3c7;
    border: 1px solid #f59e0b;
    border-radius: 10px;
    padding: 15px;
    font-size: 14px;
    color: #92400e;
    margin-top: 20px;
}

/* Banner Background */

/* يخلي كل السلايدر يغطي الشاشة */
#banner,
#home-hero,
#banner .carousel-container,
#banner .carousel-items,
#banner .flickity-viewport,
#banner .flickity-slider {
    height: 100vh !important;
}

/* كل سلايد */
#banner .banner-slide {
    width: 100% !important;
    height: 100vh !important;

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    display: flex;
    align-items: center;
}

#banner .carousel-item {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* overlay لتحسين قراءة النص */

.banner-overlay {
    position: absolute;
    top: 0;
    line-height: 60px;
    /* left:0; */
    width: 100%;
    height: 100%;
    inset: 0;
    /* background:rgba(0,0,0,0.35); */
}

/* النص */

.banner-content {
    /* position:relative; */
    z-index: 2;
    color: #fff;
    padding-inline: 180px;

}

.banner-title {
    color: #fff;
    font-size: 60px;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: normal;
}

.banner-subtitle {
    display: block;
    max-width: 720px;
    font-size: 18px;
    line-height: 2;
    margin-bottom: 25px;
    white-space: normal;
}

body.locale-en #banner .banner-content {
    padding-left: clamp(64px, 7vw, 140px);
    padding-right: clamp(24px, 5vw, 100px);
    transform: translateY(38px);
}

body.locale-en #banner .banner-content .col-xl-6 {
    flex: 0 0 min(860px, 58%);
    max-width: min(860px, 58%);
}

body.locale-en #banner .ld-fancy-heading.pt-70 {
    padding-top: 0 !important;
}

body.locale-en #banner .banner-title {
    max-width: 860px;
    font-size: clamp(44px, 3.3vw, 64px);
    line-height: 1.07;
    margin-bottom: 22px;
    overflow-wrap: normal;
}

body.locale-en #banner .banner-subtitle {
    max-width: 760px;
    font-size: clamp(17px, 1.12vw, 21px);
    line-height: 1.55;
    margin-bottom: 28px;
}

@media (max-width:1199px) {
    body.locale-en #banner .banner-content {
        padding-left: 34px;
        padding-right: 24px;
        transform: translateY(20px);
    }

    body.locale-en #banner .banner-content .col-xl-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    body.locale-en #banner .banner-title {
        max-width: 620px;
        font-size: clamp(34px, 8vw, 52px);
    }

    body.locale-en #banner .banner-subtitle {
        max-width: 560px;
        font-size: 17px;
        line-height: 1.55;
    }
}

.main-menu-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: transparent !important;
    box-shadow: none !important;
}

/* موبايل */
@media (max-width:768px) {
    .banner-slide {
        height: 100vh;
        background-position: center;
    }

    .banner-title {
        font-size: 28px;
    }

    .banner-content {
        padding-left: 20px;
        padding-right: 20px;
        text-align: center;
    }

}

.btn-sm {
    --btn-pt: 0.85em;
    --btn-pe: 2em;
    --btn-pb: 0.85em;
    --btn-ps: 2em;
}

/* news */

.news-grid-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    width: 100%;
}

@media (min-width: 992px) {
    .news-grid-container {
        grid-template-columns: 2fr 1fr;
        /* 66% / 33% ratio */
        grid-template-rows: 250px 250px;
        /* Total height 500px + 30px gap */
    }

    .news-item-large {
        grid-column: 1;
        grid-row: 1 / 3;
        /* Spans both rows */
        height: 100%;
    }

    .news-item-small-1 {
        grid-column: 2;
        grid-row: 1;
        height: 100%;
    }

    .news-item-small-2 {
        grid-column: 2;
        grid-row: 2;
        height: 100%;
    }
}

.news-card {
    position: relative;
    border-radius: 24px;
    overflow: visible;
    box-shadow: none !important;
    transform: none !important;
    transition: border-color 0.3s ease;
    display: flex;
    flex-direction: column;
    background-color: transparent;
}

.news-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.news-card img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    z-index: 1;
}

.news-card:hover img {
    transform: scale(1.05);
}

.news-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.1) 100%);
    z-index: 2;
}

.news-content {
    position: relative;
    z-index: 3;
    padding: 30px;
    color: white;
}

.news-tag {
    display: inline-block;
    background-color: var(--lqd-color-primary);
    /* Blue-600 */
    color: white;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 15px;
    text-decoration: none;
    transition: background-color 0.3s;
}

.news-tag:hover {
    background-color: var(--lqd-color-accent);
    /* Blue-700 */
    color: white;
}

.news-title {
    color: white;
    font-weight: 500;
    margin: 0;
    line-height: 1.4;
    text-decoration: none;
    transition: color 0.3s;
    display: block;
}

.news-title:hover {
    color: #93c5fd;
    /* Blue-300 */
}

.news-item-large .news-title {
    font-size: 2rem;
    margin-bottom: 15px;
}

.news-item-small-1 .news-title,
.news-item-small-2 .news-title {
    font-size: 1rem;
}

.news-excerpt {
    color: #e2e8f0;
    /* Gray-200 */
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* RTL Support */
html[dir="rtl"] .news-grid-container {
    direction: rtl;
}

@media (max-width: 991px) {
    .news-card {
        height: 300px;
        /* Fixed height for mobile */
    }
}

.bg-orange {
    background-color: var(--lqd-color-primary);
}

.text-orange {
    color: var(--lqd-color-primary)
}

.hover\:bg-accent:hover {
    background-color: var(--lqd-color-accent);
}

.btn-md {
    --btn-pt: 1.1em;
    --btn-pe: 2.8em !important;
    --btn-pb: 1.1em;
    --btn-ps: 2.8em !important;
}

.main-menu-overlay .btn-solid:hover {
    border-color: transparent;
    transform: translate3d(0, 0, 0);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
}

.bg-blue-200 {
    background-color: #2d257d;
}

.text-blue-500 {
    color: #2d257d;
}

.bg-orange-200 {
    background-color: #f7921e;
}

.text-orange-500 {
    color: #f7921e;
}

.bg-yellow-200 {
    background-color: #f9c20a;
}

.text-yellow-500 {
    color: #f9c20a
}

.solutions .lqd-section-scroll-dot {
    justify-content: center;
    align-items: center;
    border-radius: 50em;
    display: none;
}

.bg-white-smoke {
    background-color: whitesmoke;
}

.text-white-smoke {
    color: whitesmoke;
}

.accordion-title-underlined .accordion-expander {
    left: 0px;
    right: auto;

}

[data-custom-animations=true]:not(.ca-initvalues-applied) {
    opacity: initial !important;
}

.ld-fh-txt-outline {
    -webkit-text-stroke-color: aliceblue !important;
}

/* ==========================================
   Mega Menu Custom CSS
   ========================================== */

/* 1. إجبار العنصر الأب (li) على أن يكون static لكي لا يحبس القائمة داخله */
.main-nav>li.lqd-megamenu {
    position: static !important;
}

/* 2. تصميم حاوية الميجا منيو الأساسية وتحديد عرضها بالكامل */
.main-nav>li.lqd-megamenu>.lqd-megamenu-inner {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 1200px !important;
    /* يمكنك تعديل هذا العرض حسب عرض الحاوية (container) في موقعك */
    margin: 0 auto !important;
    /* لتوسيط القائمة في الشاشة */
    top: 100%;
    background-color: #ffffff;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    border-radius: 0 0 16px 16px;
    padding: 30px !important;

    /* إعدادات الإخفاء والحركة */
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* منع القالب من التلاعب بخصائص العرض */
    display: block !important;
    pointer-events: none;
    z-index: 999;
}

/* 3. إظهار الميجا منيو عند تمرير الماوس (Hover) */
.main-nav>li.lqd-megamenu:hover>.lqd-megamenu-inner {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto;
}

/* 4. تنسيق العناصر الداخلية (الأعمدة) */
.lqd-megamenu-inner .mega-menu-item a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-radius: 8px;
    color: #4a5568;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.lqd-megamenu-inner .mega-menu-item a:hover {
    background-color: #f0fdf4;
    color: var(--lqd-color-primary);
}

.lqd-megamenu-inner .mega-menu-item a svg {
    opacity: 0;
    transform: translateX(10px);
    transition: all 0.3s ease;
    color: var(--lqd-color-primary);
}

.lqd-megamenu-inner .mega-menu-item a:hover svg {
    opacity: 1;
    transform: translateX(0);
}

.main-nav>li.lqd-megamenu {
    position: static !important;
}

.main-nav>li.lqd-megamenu>.lqd-megamenu-inner {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    top: 100%;
    background-color: #ffffff;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    border-radius: 0 0 16px 16px;
    padding: 30px !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    display: block !important;
    pointer-events: none;
    z-index: 999;
}

.main-nav>li.lqd-megamenu:hover>.lqd-megamenu-inner {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto;
}

.custom-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px 30px !important;
    width: 100% !important;
    direction: rtl;
    text-align: right;
}

.custom-mega-grid .mega-menu-item {
    width: 100% !important;
    display: block !important;
}

.custom-normal-menu {
    padding: 25px !important;
    min-width: 260px !important;
    background-color: white;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08) !important;
    border-radius: 16px 16px 16px 16px !important;
}

.custom-normal-menu .mega-menu-item {
    margin-bottom: 15px !important;
    list-style: none !important;
    width: 100% !important;
    display: block !important;
}

.custom-normal-menu .mega-menu-item:last-child {
    margin-bottom: 0 !important;
}

.custom-mega-grid .mega-menu-item a,
.custom-normal-menu .mega-menu-item a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 3px 15px !important;
    border-radius: 8px;
    background-color: transparent;
    transition: all 0.3s ease;
    text-decoration: none;
    color: #4a5568;
    min-height: 32px !important;
}

.custom-mega-grid .mega-menu-item a:hover,
.custom-normal-menu .mega-menu-item a:hover {
    background-color: rgba(247, 147, 32, 0.08) !important;
}

.custom-mega-grid .mega-menu-item a:hover span,
.custom-normal-menu .mega-menu-item a:hover span {
    color: var(--lqd-color-primary) !important;
}

.custom-mega-grid .mega-menu-item a i,
.custom-normal-menu .mega-menu-item a i {
    opacity: 0;
    transform: translateX(10px);
    transition: all 0.3s ease;
    color: var(--lqd-color-primary) !important;
}

.custom-mega-grid .mega-menu-item a:hover i,
.custom-normal-menu .mega-menu-item a:hover i {
    opacity: 1;
    transform: translateX(0);
}

@media (max-width: 1024px) {
    .custom-mega-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .custom-mega-grid {
        grid-template-columns: 1fr !important;
    }
}

.lqd-submenu-cover .main-nav>.menu-item-has-children:not(.megamenu)>.nav-item-children {
    --bg-position: none;

}

.main-nav>li {
    padding-bottom: 20px !important;
    margin-bottom: -20px !important;
}

.lqd-megamenu-inner,
.custom-normal-menu {
    margin-top: 0 !important;
}

.lqd-megamenu-inner::before,
.custom-normal-menu::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 25px;
    background-color: transparent;
    z-index: 10;
}

.t-75 {
    top: 75px !important;
}

.cac-about-page {
    --about-blue: var(--lqd-color-blue-600, #26286d);
    --about-gold: var(--lqd-color-primary, #da9e27);
    --about-light: var(--lqd-color-slate-100, #f0f6fc);
    --about-muted: var(--lqd-color-slate-500, #50596c);
    color: var(--lqd-body-text-color, #26286d);
    overflow: hidden;
}

.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--about-gold);
    font-weight: 700;
    margin-bottom: 10px;
}

.section-kicker:before {
    content: "";
    width: 34px;
    height: 2px;
    background: currentColor;
    border-radius: 10px;
}

.cac-about-page,
.cac-cards-page {
    --about-blue: var(--cac-navy);
    --about-gold: var(--cac-gold);
    --about-muted: var(--cac-muted);
    --cards-blue: var(--cac-navy);
    --cards-gold: var(--cac-gold);
    --cards-muted: var(--cac-muted);
    --app-blue: var(--cac-navy);
    --app-gold: var(--cac-gold);
    --app-muted: var(--cac-muted);
    color: var(--lqd-body-text-color, var(--cac-navy));
    overflow: hidden;
}

/* Shared headings */
.cac-about-page .section-kicker,
.cac-cards-page .section-kicker,
.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--cac-gold);
    font-weight: 800;
    margin-bottom: 10px;
}

.cac-about-page .section-kicker::before,
.cac-cards-page .section-kicker::before,
.section-kicker::before {
    content: "";
    width: 34px;
    height: 2px;
    background: currentColor;
    border-radius: 10px;
}

.cac-about-page .about-title,
.cac-cards-page .cards-title,
.app-title {
    color: var(--cac-navy);
    font-size: clamp(28px, 4vw, 56px);
    font-weight: 900;
    line-height: 1.18;
    margin-bottom: 16px;
}

.cac-about-page .about-text,
.cac-cards-page .cards-text,
.app-text {
    color: var(--cac-muted);
    font-size: 17px;
    line-height: 2;
    font-weight: 500;
}

/* Shared hero style */
.cac-hero,
.cac-cards-hero {
    min-height: 620px;
    display: flex;
    align-items: center;
    color: #fff;
    background-color: var(--cac-navy-dark);
    position: relative;
}

.cac-hero::before,
.cac-cards-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .11;
    background-image:
        linear-gradient(45deg, transparent 48%, rgba(255, 255, 255, .35) 49%, transparent 50%),
        linear-gradient(-45deg, transparent 48%, rgba(255, 255, 255, .20) 49%, transparent 50%);
    background-size: 78px 78px;
}

.cac-hero .container,
.cac-cards-hero .container {
    position: relative;
    z-index: 1;
}

.cac-hero h1,
.cac-cards-hero h1 {
    color: #fff;
    font-size: clamp(46px, 6vw, 86px);
    font-weight: 900;
    line-height: 1.08;
    margin-bottom: 22px;
}

.cac-hero .lead,
.cac-cards-hero .lead {
    max-width: 650px;
    color: rgba(255, 255, 255, .88);
    font-size: 22px;
    line-height: 2;
    margin-bottom: 30px;
}

/* About page */
.cac-story-card,
.cac-vm-card,
.cac-value-card,
.card-product,
.app-experience-card {
    height: 100%;
    background: #fff;
    border: 1px solid var(--cac-border);
    box-shadow: var(--cac-shadow);
    position: relative;
    overflow: hidden;
    transition: .3s ease;
}

.cac-story-card:hover,
.cac-value-card:hover,
.card-product:hover,
.app-experience-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--cac-shadow-hover);
}

.cac-story-card {
    border-radius: 28px;
    padding: 34px 28px;
}

.cac-story-year {
    color: var(--cac-gold);
    font-size: 38px;
    line-height: 1;
    font-weight: 900;
    margin-bottom: 16px;
}

.cac-story-icon,
.cac-value-icon,
.app-service-icon {
    width: 66px;
    height: 66px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(218, 158, 39, .12);
    color: var(--cac-gold);
    font-size: 30px;
    margin-bottom: 18px;
}

.cac-story-card h3,
.cac-value-card h3 {
    color: var(--cac-navy);
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 12px;
}

.cac-story-card p,
.cac-value-card p {
    color: var(--cac-muted);
    line-height: 1.9;
    margin-bottom: 0;
    font-weight: 500;
}

.cac-vm-card {
    padding: 42px 38px;
    border-radius: 30px;
}

.cac-vm-card.is-primary {
    background: linear-gradient(135deg, var(--cac-navy), var(--cac-navy-dark));
    color: #fff;
}

.cac-vm-card::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 999px;
    left: -70px;
    top: -70px;
    background: rgba(218, 158, 39, .13);
}

.cac-vm-card h3,
.cac-vm-card p {
    position: relative;
    color: inherit;
}

.cac-vm-card h3 {
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 14px;
}

.cac-vm-card p {
    opacity: .88;
    line-height: 2;
    font-size: 18px;
    margin-bottom: 0;
}

.cac-values-section {
    background: var(--mgi-section-surface);
}

.cac-value-card {
    border-radius: 24px;
    padding: 30px 22px;
    text-align: center;
    box-shadow: 0 18px 45px rgba(38, 40, 109, .07);
}

.cac-value-card:hover {
    background: var(--cac-navy);
}

.cac-value-card:hover h3,
.cac-value-card:hover p {
    color: #fff;
}

.cac-value-card:hover .cac-value-icon {
    background: rgba(255, 255, 255, .12);
    color: var(--cac-gold);
}

.cac-about-cta,
.cards-cta {
    border-radius: 34px;
    padding: clamp(32px, 5vw, 60px);
    background:
        radial-gradient(circle at 12% 15%, rgba(218, 158, 39, .20), transparent 28%),
        linear-gradient(135deg, var(--cac-navy-dark), var(--cac-navy));
    color: #fff;
    overflow: hidden;
    position: relative;
    box-shadow: 0 24px 70px rgba(19, 24, 62, .25);
}

.cac-about-cta h2,
.cards-cta h2 {
    color: #fff;
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 800;
    margin-bottom: 16px;
}

.cac-about-cta p,
.cac-about-cta .rich-text-content,
.cards-cta p,
.cards-cta .rich-text-content {
    color: rgba(255, 255, 255, .86);
    font-size: 18px;
    line-height: 2;
    margin-bottom: 28px;
    max-width: 850px;
}

/* Cards and solutions pages */
.cards-benefits-box {
    background: #fff;
    border-radius: var(--mgi-radius-lg);
    padding: 26px 20px;
    box-shadow: var(--cac-shadow);
    margin-top: -58px;
    position: relative;
    z-index: 5;
}

.benefit-mini {
    height: 100%;
    text-align: center;
    padding: 18px 16px;
    border-left: 1px solid rgba(38, 40, 109, .12);
}

.benefit-mini.no-border {
    border-left: 0;
}

.benefit-mini i,
.benefit-mini img {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 12px;
    border-radius: 50%;
}

.benefit-mini i {
    background: rgba(218, 158, 39, .12);
    color: var(--cac-gold);
    font-size: 26px;
}

.benefit-mini img {
    object-fit: contain;
}

.benefit-mini h3 {
    color: var(--mgi-color-primary-700);
    font-size: 17px;
    font-weight: 900;
    margin-bottom: 6px;
}

.benefit-mini p,
.benefit-mini .rich-text-content {
    color: var(--cac-muted);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

.card-product {
    border-radius: 28px;
    padding: 30px;
}

.card-product .tag {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(218, 158, 39, .12);
    color: var(--cac-gold);
    font-weight: 800;
    font-size: 13px;
    margin-bottom: 16px;
}

.mini-card-art {
    height: 150px;
    border-radius: 22px;
    padding: 18px;
    color: #fff;
    margin-bottom: 22px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 35px rgba(0, 0, 0, .18);
}

.mini-card-art::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, .18), transparent 45%);
}

.mini-card-art strong,
.mini-card-art span,
.mini-card-art small {
    position: relative;
}

.mini-card-art strong {
    display: block;
    font-size: 15px;
    margin-bottom: 40px;
}

.mini-card-art span {
    direction: ltr;
    display: block;
    text-align: left;
    letter-spacing: 2px;
    font-size: 17px;
}

.mini-card-art small {
    position: absolute;
    left: 18px;
    bottom: 16px;
    color: inherit;
    opacity: .9;
    font-size: 12px;
    font-weight: 800;
}

.mini-world {
    background: linear-gradient(135deg, #05070b, #33343a);
}

.mini-platinum {
    background: linear-gradient(135deg, #e6e8ef, #9ca3b3);
    color: #17204a;
}

.mini-gold {
    background: linear-gradient(135deg, #b87912, #e4b642);
}

.mini-business {
    background: linear-gradient(135deg, #061941, #27388d);
}

.mini-classic {
    background: linear-gradient(135deg, #072055, var(--cac-navy));
}

.mini-prepaid {
    background: linear-gradient(135deg, #233D62, #00937E);
}

.card-product h3 {
    color: var(--cac-navy);
    font-size: 23px;
    line-height: 1.35;
    font-weight: 900;
    margin-bottom: 10px;
}

.card-product .headline {
    color: var(--cac-gold);
    font-weight: 800;
    margin-bottom: 14px;
}

.card-product p,
.card-product .rich-text-content {
    color: var(--cac-muted);
    line-height: 1.9;
    margin-bottom: 18px;
    font-weight: 500;
}

.feature-list {
    padding: 0;
    margin: 0 0 24px;
    list-style: none;
}

.feature-list li {
    position: relative;
    padding-right: 26px;
    color: var(--cac-navy);
    font-weight: 600;
    margin-bottom: 8px;
    line-height: 1.75;
}

.feature-list li::before {
    content: "\e80e";
    font-family: "lqd-essentials";
    position: absolute;
    right: 0;
    top: 2px;
    color: var(--cac-gold);
    font-size: 14px;
}

.card-product .btn {
    width: 100%;
    justify-content: center;
}

.cac-cards-page .btn-outline {
    border: 1px solid rgba(38, 40, 109, .30);
    color: var(--cac-navy);
    background: transparent;
    border-radius: 14px;
    font-weight: 900;
    padding: 14px 28px;
}

.cac-cards-page .btn-outline:hover {
    background: var(--cac-navy);
    color: #fff;
    border-color: var(--cac-navy);
}

.cards-filter {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
}

.cards-filter a {
    display: inline-flex;
    align-items: center;
    padding: 11px 20px;
    border-radius: 999px;
    background: #fff;
    color: var(--cac-navy);
    font-weight: 800;
    box-shadow: 0 10px 30px rgba(38, 40, 109, .08);
    border: 1px solid rgba(38, 40, 109, .08);
}

.cards-filter a.is-active,
.cards-filter a:hover {
    background: var(--cac-navy);
    color: #fff;
}

/* App/service experience block used in solutions.blade.php */
.app-experience-card {
    border-radius: 28px;
    padding: 30px;
    min-height: 280px;
}

.app-experience-card.large {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 28px;
    align-items: center;
}

.app-experience-card.dark {
    background: linear-gradient(135deg, var(--cac-navy-dark), var(--cac-navy));
    color: #fff;
}

.app-experience-card.dark h3,
.app-experience-card.dark p,
.app-experience-card.dark .feature-list li {
    color: #fff;
}

.app-experience-card.outline {
    border: 2px solid rgba(218, 158, 39, .35);
}

.app-experience-card h3 {
    color: var(--cac-navy);
    font-size: 24px;
    line-height: 1.45;
    font-weight: 900;
    margin-bottom: 12px;
}

.app-experience-card p {
    color: var(--cac-muted);
    line-height: 1.9;
    font-weight: 500;
}

.experience-image-card {
    min-height: 360px;
    border-radius: 34px;
    background: linear-gradient(180deg, #fff, #eef3f9);
    padding: 25px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.experience-image-card img {
    max-width: 100%;
    max-height: 360px;
    object-fit: contain;
    display: block;
}

/* Header menu additions */
.custom-mega-grid>li {
    list-style: none;
}

.cac-mobile-level-2-link {
    font-size: 16px !important;
    font-weight: 700 !important;
}

.cac-mobile-level-3-link {
    font-size: 14px !important;
    font-weight: 400 !important;
    opacity: .85;
    padding-right: 25px !important;
}

/* Responsive */
@media (max-width: 991px) {

    .cac-hero,
    .cac-cards-hero {
        min-height: auto;
        padding: 80px 0;
    }

    .benefit-mini {
        border-left: 0;
        border-bottom: 1px solid rgba(38, 40, 109, .10);
    }
}

@media (max-width: 767px) {

    .cac-hero,
    .cac-cards-hero {
        padding: 60px 0;
    }

    .cac-hero .lead,
    .cac-cards-hero .lead {
        font-size: 18px;
    }

    .cac-story-card,
    .cac-vm-card,
    .cac-value-card,
    .card-product,
    .app-experience-card {
        padding: 26px 20px;
    }

    .cards-benefits-box {
        margin-top: 0;
    }

    .app-experience-card.large {
        grid-template-columns: 1fr;
    }

    .experience-image-card {
        min-height: 300px;
    }
}

.text-blue {
    color: #233D62;
}

.cac-sustain-page,
.cac-about-page {
    --sus-blue: var(--lqd-color-blue-600, #26286d);
    --sus-dark: #13183e;
    --sus-gold: var(--lqd-color-primary, #da9e27);
    --sus-light: #f5f7fb;
    --sus-muted: #50596c;
    overflow: hidden;
}

/* ================= HERO ================= */

.sus-hero {
    min-height: 720px;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
}

.sus-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.sus-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sus-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(19, 24, 62, .95) 0%,
            rgba(38, 40, 109, .82) 45%,
            rgba(38, 40, 109, .30) 100%);
    z-index: 2;
}

.sus-hero-pattern {
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: .08;
    background-image:
        linear-gradient(45deg, transparent 48%, rgba(255, 255, 255, .35) 49%, transparent 50%),
        linear-gradient(-45deg, transparent 48%, rgba(255, 255, 255, .18) 49%, transparent 50%);
    background-size: 70px 70px;
}

.sus-hero .container {
    position: relative;
    z-index: 5;
}

.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--sus-gold);
    font-weight: 800;
    margin-bottom: 14px;
}

.section-kicker:before {
    content: "";
    width: 34px;
    height: 2px;
    background: currentColor;
    border-radius: 10px;
}

.sus-hero h1 {
    color: #fff;
    font-size: clamp(44px, 6vw, 60px);
    font-weight: 900;
    line-height: 1.08;
    margin-bottom: 24px;
}

.sus-hero .lead {
    color: rgba(255, 255, 255, .88);
    font-size: 22px;
    line-height: 2;
    max-width: 720px;
    font-weight: 500;
}

.sus-hero-actions {
    margin-top: 35px;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.sus-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border-radius: 16px;
    padding: 15px 28px;
    font-weight: 800;
    transition: .3s ease;
}

.sus-btn.primary {
    background: var(--sus-gold);
    color: #13183e;
}

.sus-btn.primary:hover {
    background: #fff;
}

.sus-btn.outline {
    border: 1px solid rgba(255, 255, 255, .2);
    color: #fff;
    backdrop-filter: blur(10px);
}

.sus-btn.outline:hover {
    background: #fff;
    color: #13183e;
}

/* ================= FEATURES ================= */

.sus-pill-box {
    margin-top: -65px;
    position: relative;
    z-index: 10;
    background: #fff;
    border-radius: 34px;
    padding: 30px 20px;
    box-shadow: -5px 18px 60px rgba(210, 210, 234, .40);
}

.sus-mini-feature {
    text-align: center;
    padding: 20px;
    border-left: 1px solid rgba(38, 40, 109, .10);
    height: 100%;
}

.sus-mini-feature.no-border {
    border-left: 0;
}

.sus-mini-feature i,
.sus-icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(218, 158, 39, .12);
    color: var(--sus-gold);
    font-size: 32px;
    margin-bottom: 18px;
}

.sus-mini-feature h3 {
    color: var(--sus-blue);
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 8px;
}

.sus-mini-feature p {
    color: var(--sus-muted);
    line-height: 1.9;
    margin: 0;
}

/* ================= TITLES ================= */

.sus-title {
    color: var(--sus-blue);
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 900;
    line-height: 1.18;
    margin-bottom: 18px;
}

.sus-text {
    color: var(--sus-muted);
    font-size: 18px;
    line-height: 2;
}

/* ================= CARDS ================= */

.pillar-card,
.finance-card,
.target-card,
.faq-card,
.gallery-card,
.stat-card {
    background: #fff;
    border-radius: 28px;
    padding: 32px 28px;
    height: 100%;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(38, 40, 109, .08);
    box-shadow: -5px 18px 60px rgba(210, 210, 234, .40);
    transition: .35s ease;
}

.pillar-card:hover,
.finance-card:hover,
.target-card:hover,
.faq-card:hover,
.gallery-card:hover,
.stat-card:hover {
    transform: translateY(-8px);
}

.pillar-card:before,
.finance-card:before {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    left: -80px;
    top: -80px;
    background: rgba(218, 158, 39, .10);
}

.pillar-card h3,
.finance-card h3,
.target-card h3,
.faq-card h3,
.gallery-card h3 {
    color: var(--sus-blue);
    font-size: 24px;
    line-height: 1.4;
    font-weight: 900;
    margin-bottom: 12px;
    position: relative;
    z-index: 2;
}

.pillar-card p,
.pillar-card .rich-text-content,
.finance-card p,
.finance-card .rich-text-content,
.target-card p,
.target-card .rich-text-content,
.faq-card p,
.faq-card .rich-text-content,
.gallery-card p,
.gallery-card .rich-text-content {
    color: var(--sus-muted);
    line-height: 2;
    margin: 0;
    position: relative;
    z-index: 2;
}

.finance-card.dark {
    background: linear-gradient(135deg, #13183e, var(--sus-blue, #26286d));
    border-color: rgba(255, 255, 255, .12);
    box-shadow: -5px 18px 60px rgba(19, 24, 62, .25);
}

/* Compatibility layer: legacy dynamic-page cards inherit MGI motion and radii. */
.finance-card,
.target-card,
.faq-card,
.gallery-card,
.stat-card,
.pillar-card,
.initiative-tag,
.product-style-card,
.finance-showcase,
.finance-showcase.clean,
.finance-showcase.bordered,
.finance-showcase.dark,
.product-card-floating,
.dynamic-job-card,
.cac-about-cta,
.about-text,
.sus-title,
.sus-text,
.target-card {
    border-radius: var(--mgi-radius-lg) !important;
    box-shadow: var(--mgi-shadow-sm) !important;
}

.initiative-tag {
    background: rgba(244, 119, 50, .14) !important;
}

.card-product,
.cac-story-card,
.cac-value-card,
.cac-vm-card {
    border-radius: var(--mgi-radius-lg);
}

.finance-card.dark h3,
.finance-card.dark p,
.finance-card.dark .rich-text-content,
.finance-card.dark .rich-text-content * {
    color: #fff;
}

.initiative-tag {
    display: inline-flex;
    padding: 7px 15px;
    border-radius: 999px;
    background: rgba(218, 158, 39, .12);
    color: var(--sus-gold);
    font-weight: 800;
    margin-bottom: 16px;
}

/* ================= SHOWCASE ================= */

.finance-showcase,
.cta-sustain {
    border-radius: 36px;
    padding: clamp(32px, 5vw, 60px);
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 15% 18%, rgba(218, 158, 39, .20), transparent 28%),
        linear-gradient(135deg, #13183e, var(--sus-blue));
}

.finance-showcase h2,
.cta-sustain h2 {
    color: #fff;
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 900;
    margin-bottom: 16px;
}

.finance-showcase p,
.finance-showcase .rich-text-content,
.cta-sustain p,
.cta-sustain .rich-text-content {
    color: rgba(255, 255, 255, .86);
    line-height: 2;
    font-size: 18px;
}

.finance-showcase.clean {
    background: #fff;
    border-radius: 36px;
    padding: clamp(32px, 5vw, 60px);
}

.finance-showcase.clean h2 {
    color: var(--sus-blue);
}

.finance-showcase.clean p,
.finance-showcase.clean .rich-text-content {
    color: var(--sus-muted);
}

.finance-showcase.bordered {
    background: #fff;
    border-radius: 36px;
    padding: clamp(32px, 5vw, 60px);
    border: 1px solid rgba(38, 40, 109, .08);
    box-shadow: -5px 18px 60px rgba(210, 210, 234, .25);
}

.finance-showcase.bordered h2 {
    color: var(--sus-blue);
}

.finance-showcase.bordered p,
.finance-showcase.bordered .rich-text-content {
    color: var(--sus-muted);
}

.finance-showcase.dark {
    background:
        radial-gradient(circle at 15% 18%, rgba(218, 158, 39, .20), transparent 28%),
        linear-gradient(135deg, #13183e, var(--sus-blue));
}

.finance-showcase.dark h2,
.finance-showcase.dark p,
.finance-showcase.dark .rich-text-content {
    color: #fff;
}

/* ================= TARGET ================= */

.target-card {
    text-align: center;
    background: linear-gradient(180deg, #fff, #f7f9fd);
}

/* ================= GALLERY ================= */

.gallery-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 20px;
    margin-bottom: 18px;
}

/* ================= STATS ================= */

.stat-card {
    text-align: center;
}

.stat-card h3 {
    color: var(--sus-blue);
    font-size: 46px;
    font-weight: 900;
    margin-bottom: 10px;
}

.stat-card p {
    color: var(--sus-muted);
    font-weight: 700;
}

/* ================= CTA ================= */

.cta-sustain .btn {
    margin-top: 20px;
}

/* ================= MOBILE ================= */

@media(max-width:991px) {

    .sus-hero {
        min-height: auto;
        padding: 120px 0 90px;
    }

    .sus-pill-box {
        margin-top: -35px;
    }

    .sus-mini-feature {
        border-left: 0;
        border-bottom: 1px solid rgba(38, 40, 109, .08);
    }
}

@media(max-width:767px) {

    .sus-hero {
        padding: 100px 0 80px;
    }

    .sus-hero h1 {
        font-size: 44px;
    }

    .sus-hero .lead {
        font-size: 18px;
    }

    .sus-pill-box {
        margin-top: 0;
    }

    .pillar-card,
    .finance-card,
    .target-card,
    .faq-card,
    .gallery-card,
    .stat-card {
        padding: 24px 20px;
    }
}

.product-style-card {
    position: relative;
    height: 520px;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(135deg, #eef4ff, #dfe7fb);
    box-shadow: -5px 18px 60px rgba(210, 210, 234, .35);
}

/* حذف الجزء العلوي */
.product-card-text {
    display: none;
}

/* تكبير الصورة بالكامل */
.product-card-image {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.product-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* حذف الخط الأزرق */
.product-style-card:before {
    display: none;
}

/* الكرت السفلي */
.product-card-floating {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 5;
    min-height: 92px;
    background: #fff;
    border-radius: 18px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 18px;
    box-shadow: 0 18px 45px rgba(38, 40, 109, .12);
}

.product-card-arrow {
    color: var(--sus-blue);
    font-size: 28px;
    opacity: .75;
}

.product-card-info {
    flex: 1;
    text-align: center;
}

.product-card-info h4 {
    color: var(--sus-blue);
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 4px;
}

.product-card-info span {
    color: var(--sus-muted);
    font-size: 14px;
}

.product-card-icon {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--lqd-color-primary, #da9e27);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 26px;
}

.footer-social {
    gap: 25px;
}

.footer-social a {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    transition: .35s;
    color: #fff;
}

.footer-social a svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.footer-social a:hover {
    transform: translateY(-6px);
    background: var(--lqd-color-primary);
}

.footer-contact-box {
    background: #fff;
    padding: 40px;
    border-radius: 30px;
    margin-top: 40px;
}

.contact-item {
    text-align: center;
    border-left: 1px solid rgba(0, 0, 0, .08);
}

.contact-item:last-child {
    border: none;
}

.contact-item span {
    display: block;
    font-size: 15px;
    margin-bottom: 10px;
    color: #737791;
}

.contact-item a {
    display: inline-block;
    text-decoration: none;
}

.contact-item strong {
    font-size: 21px;
    font-weight: 800;
    color: #08164d;
    word-break: break-word;
    transition: color .2s ease;
}

.contact-item a:hover strong {
    color: var(--lqd-color-primary);
}

.related-services-section {
    background: var(--mgi-section-surface);
}

.related-service-card {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 138px;
    padding: 22px;
    border: 1px solid rgba(8, 22, 77, .1);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(8, 22, 77, .06);
    color: #08164d;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.related-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(231, 102, 81, .34);
    box-shadow: 0 22px 52px rgba(8, 22, 77, .11);
    color: #08164d;
}

.related-service-card__icon {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #f7f9fc;
}

.related-service-card__icon img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.related-service-card__body {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    flex: 1;
}

.related-service-card__body strong {
    font-size: 19px;
    line-height: 1.35;
    color: #08164d;
}

.related-service-card__body small {
    font-size: 14px;
    line-height: 1.55;
    color: #65708a;
}

.related-service-card__arrow {
    flex: 0 0 auto;
    color: var(--lqd-color-primary);
    font-size: 24px;
    line-height: 1;
}

@media (max-width: 767px) {
    .related-service-card {
        min-height: auto;
        padding: 18px;
    }
}

.footer-link-item {
    margin-bottom: 15px;
}

.footer-inline-link {
    position: relative;
    padding: 0 18px;
    color: #c7cce2;
    transition: .3s;
}

.footer-inline-link:hover {
    color: #fff;
}

.footer-inline-link:after {
    content: "";
    position: absolute;
    left: -2px;
    top: 50%;
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, .2);
    transform: translateY(-50%);
}

.footer-link-item:last-child .footer-inline-link:after {
    display: none;
}

.footer-copy,
.footer-powered {
    color: #9ca7cf;
    font-size: 14px;
}

.footer-powered a {
    color: #fff;
    font-weight: 700;
    transition: .3s;
}

.footer-powered a:hover {
    color: var(--color-primary);
}

body.locale-en #site-footer .footer-social-wrap {
    display: flex;
    justify-content: flex-end;
    text-align: right !important;
}

body.locale-en #site-footer .footer-social {
    justify-content: flex-end;
}

body.locale-en #site-footer .contact-item {
    border-left: 1px solid rgba(0, 0, 0, .08);
    border-right: 0;
}

body.locale-en #site-footer .contact-item:first-child {
    border-left: 0;
}

body.locale-en #site-footer .contact-item:last-child {
    border-left: 1px solid rgba(0, 0, 0, .08);
}

body.locale-en #site-footer .footer-inline-link:after {
    left: auto;
    right: -2px;
}

body.locale-en #site-footer .footer-link-item:first-child .footer-inline-link {
    padding-left: 0;
}

body.locale-en #site-footer .footer-link-item:last-child .footer-inline-link:after {
    display: none;
}

body.locale-en #site-footer .footer-powered {
    display: block;
    text-align: right;
}

body.locale-en #site-footer .footer-copy {
    display: block;
    text-align: left;
}

body.locale-en .cards-benefits-box .benefit-mini {
    border-left: 1px solid rgba(38, 40, 109, .12);
    border-right: 0;
}

body.locale-en .cards-benefits-box .benefit-mini.no-border {
    border-left: 1px solid rgba(38, 40, 109, .12);
}

body.locale-en .cards-benefits-box .row>.col:first-child .benefit-mini {
    border-left: 0;
}

body.locale-en .sus-pill-box .sus-mini-feature {
    border-left: 1px solid rgba(38, 40, 109, .10);
    border-right: 0;
}

body.locale-en .sus-pill-box .sus-mini-feature.no-border {
    border-left: 1px solid rgba(38, 40, 109, .10);
}

body.locale-en .sus-pill-box .row>.col:first-child .sus-mini-feature {
    border-left: 0;
}

@media(max-width:767px) {
    .contact-item {
        border: none;
        margin-bottom: 25px;
    }

    .footer-contact-box {
        padding: 25px;
    }

    .footer-powered {
        margin-top: 15px;
        display: block;
    }
}

@media(max-width:991px) {

    body.locale-en #site-footer .contact-item,
    body.locale-en #site-footer .contact-item:last-child {
        border-left: 0;
    }

    body.locale-en .cards-benefits-box .benefit-mini,
    body.locale-en .cards-benefits-box .benefit-mini.no-border,
    body.locale-en .sus-pill-box .sus-mini-feature,
    body.locale-en .sus-pill-box .sus-mini-feature.no-border {
        border-left: 0;
        border-bottom: 1px solid rgba(38, 40, 109, .08);
    }
}

@media(min-width:992px) and (max-width:1199px) {

    body.locale-en .cards-benefits-box .row>.col:nth-child(odd) .benefit-mini,
    body.locale-en .sus-pill-box .row>.col:nth-child(odd) .sus-mini-feature {
        border-left: 0;
    }

    body.locale-en .cards-benefits-box .row>.col:nth-child(even) .benefit-mini {
        border-left: 1px solid rgba(38, 40, 109, .12);
    }

    body.locale-en .sus-pill-box .row>.col:nth-child(even) .sus-mini-feature {
        border-left: 1px solid rgba(38, 40, 109, .10);
    }
}

@media(max-width:767px) {

    body.locale-en #site-footer .footer-social-wrap,
    body.locale-en #site-footer .footer-social {
        justify-content: center;
        text-align: center !important;
    }

    body.locale-en #site-footer .contact-item,
    body.locale-en #site-footer .contact-item:last-child {
        border-left: 0;
    }

    body.locale-en #site-footer .footer-powered,
    body.locale-en #site-footer .footer-copy {
        text-align: center;
    }
}

.mgi-page-up {
    --page-progress-offset: 100;
    position: fixed;
    inset-inline-end: 24px;
    bottom: 24px;
    z-index: 9999;
    width: 54px;
    height: 54px;
    padding: 0;
    border: 0;
    border-radius: 50% !important;
    background: transparent !important;
    color: #f47732;
    display: grid;
    place-items: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px) scale(.94);
    outline: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease, border-color .25s ease;
}

.mgi-page-up__progress {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    transform: rotate(-90deg);
    pointer-events: none;
    shape-rendering: geometricPrecision;
}
.mgi-page-up__track,
.mgi-page-up__value { fill: none; stroke-width: 3.6; }
.mgi-page-up__track { stroke: rgba(42, 64, 154, .18); }
.mgi-page-up__value {
    stroke: var(--mgi-color-primary-700, #2a409a);
    stroke-linecap: round;
    stroke-dasharray: 100;
    stroke-dashoffset: var(--page-progress-offset);
    transition: stroke-dashoffset .1s linear, stroke .2s ease;
}
.mgi-page-up__arrow {
    position: relative;
    z-index: 2;
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    background: transparent;
    box-shadow: none;
}
.mgi-page-up__arrow svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 2.35; stroke-linecap: round; stroke-linejoin: round; transition: transform .22s ease; }
.mgi-page-up:hover,
.mgi-page-up:focus-visible {
    transform: translateY(-3px) scale(1.02);
    outline: none;
}
.mgi-page-up:hover .mgi-page-up__value { stroke: var(--mgi-color-primary-600, #3651b5); }
.mgi-page-up:hover .mgi-page-up__arrow svg { transform: translateY(-2px); }
.mgi-page-up:focus-visible { box-shadow: 0 0 0 3px rgba(244,119,50,.24) !important; }
.mgi-page-up.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
.mgi-page-up.is-visible:hover { transform: translateY(-3px) scale(1.02); }

@media(max-width:767px) {
    .mgi-page-up {
        inset-inline-end: 16px;
        bottom: 16px;
        width: 46px;
        height: 46px;
        border-radius: 50% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mgi-page-up,
    .mgi-page-up__value { transition: none; }
}

.branches-page {
    background: var(--mgi-color-surface-soft);
    color: var(--mgi-color-ink);
    overflow: clip;
}

.branches-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(330px, 38vw, 470px);
    padding: clamp(112px, 12vw, 170px) 0 clamp(52px, 6vw, 82px);
    background:
        radial-gradient(circle at 12% 18%, rgba(244, 119, 50, .24), transparent 34%),
        linear-gradient(120deg, var(--mgi-color-primary-950) 0%, var(--mgi-color-primary-800) 58%, #3455a7 100%);
    color: #fff;
    isolation: isolate;
}

.branches-hero::after {
    position: absolute;
    inset: auto 0 0;
    height: 36%;
    background: linear-gradient(to bottom, transparent, rgba(245, 247, 251, .2));
    content: '';
    pointer-events: none;
    z-index: -1;
}

.branches-hero__inner {
    max-width: 820px;
    text-align: start;
}

.branches-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    margin-bottom: 16px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: var(--mgi-radius-button);
    color: #dfeafe;
    font-size: 13px;
    font-weight: 700;
}

.branches-hero h1 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(2.15rem, 5vw, 4.3rem);
    line-height: 1.08;
    letter-spacing: 0;
}

.branches-hero p {
    margin: 0;
    max-width: 700px;
    color: rgba(255, 255, 255, .84);
    font-size: 18px;
    line-height: 1.8;
}

.branches-finder-section {
    padding: clamp(36px, 6vw, 76px) 0 clamp(64px, 8vw, 110px);
}

.branch-finder-shell {
    display: flex;
    flex-direction: column;
    height: min(720px, calc(100vh - 150px));
    max-height: none;
    min-height: 580px;
    border: 1px solid var(--mgi-color-border);
    border-radius: var(--mgi-radius-lg);
    overflow: hidden;
    background: #fff;
    box-shadow: var(--mgi-shadow-md);
}

.branch-finder-toolbar {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 22px;
    border-bottom: 1px solid var(--mgi-color-border);
    background: var(--mgi-color-surface);
}

.branch-finder-body {
    display: grid;
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
    flex: 1;
    min-height: 0;
}

.branch-finder-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    border-inline-end: 1px solid var(--mgi-color-border);
    background: var(--mgi-color-surface);
    overflow: hidden;
}

.branch-search-row {
    padding: 0;
    border-bottom: 0;
}

.branch-search {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 48px;
    border: 1px solid #d7dfec;
    border-radius: var(--mgi-radius-button);
    background: #fff;
}

.branch-search:focus-within {
    border-color: #0a4b8f;
    box-shadow: 0 0 0 4px rgba(10, 75, 143, .12);
}

.branch-search input {
    width: 100%;
    height: 48px;
    border: 0;
    background: transparent;
    padding: 0 48px 0 16px;
    color: #101828;
    font-size: 14px;
    outline: 0;
}

[dir="ltr"] .branch-search input {
    padding: 0 16px 0 48px;
}

.branch-search__icon {
    position: absolute;
    inset-inline-start: 16px;
    display: flex;
    width: 20px;
    height: 20px;
    color: #667085;
}

[dir="rtl"] .branch-search__icon {
    inset-inline-start: auto;
    inset-inline-end: 16px;
}

.branch-search__icon svg,
.branch-location-btn svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.branch-filter-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, .34fr);
    gap: 12px;
    align-items: end;
    padding: 0;
    border-bottom: 0;
}

.branch-filter-group {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
    padding: 4px;
    margin-bottom: 0;
    border-radius: 8px;
    background: var(--mgi-color-surface-tint);
}

.branch-filter-btn {
    min-height: 40px;
    border: 0;
    border-radius: var(--mgi-radius-button);
    background: transparent;
    color: #475467;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.branch-filter-btn.is-active {
    background: #fff;
    color: #0a4b8f;
    box-shadow: 0 5px 16px rgba(16, 24, 40, .08);
}

.branch-select-label {
    display: grid;
    gap: 8px;
    color: #344054;
    font-size: 13px;
    font-weight: 800;
}

.branch-select-label select {
    width: 100%;
    min-height: 46px;
    border: 1px solid #d7dfec;
    border-radius: var(--mgi-radius-button);
    padding: 0 14px;
    background: #fff;
    color: #101828;
    font-size: 14px;
    outline: 0;
}

.branch-panel-actions {
    display: flex;
    gap: 10px;
    padding: 0;
    border-bottom: 0;
}

.branch-location-btn,
.branch-reset-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.branch-location-btn:disabled {
    cursor: wait;
    opacity: .78;
}

.branch-location-btn {
    flex: 1;
    gap: 8px;
    border: 1px solid #0a4b8f;
    background: #0a4b8f;
    color: #fff;
}

.branch-location-btn span {
    width: 18px;
    height: 18px;
}

.branch-reset-btn {
    min-width: 92px;
    border: 1px solid #d7dfec;
    background: #fff;
    color: #344054;
}

.branch-results-meta {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 14px 18px 8px;
    color: #667085;
    font-size: 13px;
}

.branch-results-meta strong {
    color: #0a4b8f;
    font-size: 22px;
}

.branch-results-list {
    flex: 1;
    overflow: auto;
    min-height: 0;
    padding: 10px 18px 18px;
    scrollbar-width: thin;
    scrollbar-color: #a7b4c7 #eef2f7;
}

.branch-results-list::-webkit-scrollbar {
    width: 8px;
}

.branch-results-list::-webkit-scrollbar-track {
    background: #eef2f7;
}

.branch-results-list::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background: #a7b4c7;
}

.branch-card {
    display: block;
    margin-bottom: 12px;
    padding: 16px;
    border: 1px solid #e4e9f2;
    border-radius: var(--mgi-radius-md);
    background: var(--mgi-color-surface);
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.branch-card:hover,
.branch-card:focus {
    border-color: #0a4b8f;
    box-shadow: 0 12px 28px rgba(10, 75, 143, .12);
    transform: translateY(-1px);
    outline: 0;
}

.branch-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.branch-type,
.branch-distance {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
}

.branch-type--branch {
    background: #e8f1fb;
    color: #0a4b8f;
}

.branch-type--atm {
    background: #fff3e3;
    color: #b85f00;
}

.branch-type--cac_fast {
    background: #e7f8ef;
    color: #027a48;
}

.branch-type--cac_transfer {
    background: #f6eafd;
    color: #6b1f80;
}

.branch-distance {
    background: #f2f4f7;
    color: #475467;
}

.branch-card h2 {
    margin: 0 0 8px;
    color: #101828;
    font-size: 18px;
    line-height: 1.35;
    letter-spacing: 0;
}

.branch-card__address {
    margin: 0 0 12px;
    color: #475467;
    font-size: 14px;
    line-height: 1.7;
}

.branch-card__meta {
    display: grid;
    gap: 8px;
    margin: 0 0 12px;
}

.branch-card__meta div {
    display: grid;
    gap: 3px;
}

.branch-card__meta dt {
    color: #667085;
    font-size: 12px;
    font-weight: 800;
}

.branch-card__meta dd {
    margin: 0;
    color: #1d2939;
    font-size: 13px;
}

.branch-card__meta a {
    color: #0a4b8f;
}

.branch-card__services {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}

.branch-card__services span {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 6px;
    background: #f8fafc;
    color: #475467;
    font-size: 12px;
    font-weight: 700;
}

.branch-card__actions {
    display: flex;
}

.branch-card__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: var(--mgi-radius-button);
    background: var(--mgi-color-primary-950);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.branch-map-wrap {
    position: relative;
    min-height: 0;
    height: 100%;
    background: #d8e0ea;
}

.branch-map {
    width: 100%;
    height: 100%;
    min-height: 100%;
}

.branches-map-empty {
    position: absolute;
    inset: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 28px;
    border: 1px dashed #98a2b3;
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
    color: #475467;
    text-align: center;
}

.branch-map-legend {
    position: absolute;
    top: 16px;
    inset-inline-start: 16px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
    border: 1px solid #e3e8f2;
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 24px rgba(16, 24, 40, .12);
}

.branch-map-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 8px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.branch-map-legend__pin {
    position: relative;
    display: inline-flex;
    width: 14px;
    height: 14px;
    border: 2px solid #fff;
    border-radius: 50% 50% 50% 0;
    box-shadow: 0 0 0 1px rgba(16, 24, 40, .14);
    transform: rotate(-45deg);
}

.branch-map-legend__pin::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #fff;
}

.branch-map-legend__pin--branch {
    background: #07154c;
}

.branch-map-legend__pin--atm {
    background: #d8a21b;
}

.branch-map-legend__pin--cac-fast {
    background: #039855;
}

.branch-map-legend__pin--cac-transfer {
    background: #7a2e8f;
}

.branches-map-empty strong {
    color: #101828;
    font-size: 18px;
}

.branch-no-results {
    padding: 28px 18px;
    border: 1px dashed #d0d5dd;
    border-radius: 8px;
    color: #667085;
    text-align: center;
}

.branch-map-info {
    display: grid;
    gap: 6px;
    max-width: 230px;
    color: #101828;
    font-family: inherit;
}

.branch-map-info strong {
    color: #0a4b8f;
    font-size: 15px;
}

.branch-map-info span {
    color: #475467;
    font-size: 13px;
}

.branch-map-info a {
    color: #f28c18;
    font-weight: 800;
}

@media(max-width:991px) {
    .branches-hero {
        min-height: 330px;
        padding: 108px 0 42px;
    }

    .branch-finder-shell {
        height: auto;
        max-height: none;
        min-height: 0;
    }

    .branch-finder-toolbar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .branch-filter-grid {
        grid-template-columns: 1fr;
    }

    .branch-filter-group {
        grid-template-columns: repeat(2, 1fr);
    }

    .branch-finder-body {
        grid-template-columns: 1fr;
    }

    .branch-finder-panel {
        height: auto;
        min-height: 0;
        border-inline-end: 0;
        border-bottom: 1px solid #e3e8f2;
    }

    .branch-results-list {
        max-height: 360px;
    }

    .branch-map-wrap,
    .branch-map {
        height: 430px;
        min-height: 430px;
    }
}

@media(max-width:575px) {
    .branches-finder-section {
        padding: 24px 0 55px;
    }

    .branch-finder-shell {
        min-height: 0;
        border-radius: var(--mgi-radius-md);
        margin-inline: 0;
    }

    .branch-filter-group {
        grid-template-columns: 1fr;
    }

    .branch-panel-actions {
        flex-direction: column;
    }

    .branch-reset-btn {
        width: 100%;
    }

    .branch-map-wrap,
    .branch-map {
        height: 360px;
        min-height: 360px;
    }

    .branch-results-list {
        max-height: 340px;
    }

    .branches-map-empty {
        inset: 14px;
        padding: 18px;
    }

    .branch-map-legend {
        top: 10px;
        inset-inline-start: 10px;
        max-width: calc(100% - 20px);
    }
}

.article-share {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 40px 0 8px;
    padding: 20px 0;
    border-block: 1px solid rgba(42, 64, 154, .13);
    background: transparent;
}

.article-share__text {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 220px;
}

.article-share__heading-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: var(--mgi-radius-button, 10px);
    background: rgba(244, 119, 50, .12);
    color: var(--mgi-color-accent-500, #f47732);
    font-size: 16px;
}

.article-share__text strong {
    display: block;
    color: var(--mgi-color-primary-900, #17245f);
    font-size: 16px;
    line-height: 1.35;
}
.article-share__text small {
    display: block;
    margin-top: 3px;
    color: #74809b;
    font-size: 12px;
    line-height: 1.45;
}

.article-share__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(42, 64, 154, .15);
    border-radius: var(--mgi-radius-button, 10px);
    background: #fff;
    color: var(--mgi-color-primary-700, #2a409a);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.article-share__btn:hover {
    transform: translateY(-1px);
    color: #fff;
}

.article-share__icon {
    display: block;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.article-share__btn--facebook:hover {
    border-color: #1877f2;
    background: #1877f2;
}

.article-share__btn--twitter:hover {
    border-color: #111827;
    background: #111827;
}

.article-share__btn--linkedin:hover {
    border-color: #0a66c2;
    background: #0a66c2;
}

.article-share__btn--whatsapp:hover {
    border-color: #25d366;
    background: #25d366;
}

.article-share__btn--copy {
    width: auto;
    min-width: 116px;
    gap: 8px;
    padding: 0 14px;
    cursor: pointer;
}

.article-share__btn--copy:hover,
.article-share__btn--copy.is-copied {
    border-color: var(--mgi-color-primary-700, #2a409a);
    background: var(--mgi-color-primary-700, #2a409a);
    color: #fff;
}

.article-share__mobile-trigger,
.article-share__mobile-fallback { display: none; }
.article-share__visually-hidden,
.article-share__status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media(max-width:767px) {
    .article-share {
        display: block;
        margin-top: 32px;
        padding: 18px 0;
    }
    .article-share__text,
    .article-share__desktop-actions { display: none; }
    .article-share__mobile-trigger {
        display: flex;
        width: 100%;
        min-height: 48px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 0 20px;
        border: 0;
        border-radius: var(--mgi-radius-button, 10px);
        background: var(--mgi-color-primary-700, #2a409a);
        color: #fff;
        font: inherit;
        font-size: 14px;
        font-weight: 800;
        cursor: pointer;
    }
    .article-share__mobile-trigger:active { transform: scale(.985); }
    .article-share__mobile-fallback:not([hidden]) {
        display: grid;
        grid-template-columns: repeat(5, 42px);
        justify-content: center;
        gap: 9px;
        margin-top: 12px;
    }
    .article-share__fallback-link {
        display: grid;
        width: 42px;
        height: 42px;
        place-items: center;
        padding: 0;
        border: 1px solid rgba(42, 64, 154, .15);
        border-radius: var(--mgi-radius-button, 10px);
        background: #fff;
        color: var(--mgi-color-primary-700, #2a409a);
        text-decoration: none;
        cursor: pointer;
    }
}

.cac-mobile-header .lqd-mobile-sec-inner {
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    padding-inline: 16px 74px;
    position: relative;
}

.cac-mobile-header .lqd-mobile-modules-container.empty {
    display: none;
}

.cac-mobile-header .navbar-toggle {
    position: absolute;
    top: 50%;
    right: 16px;
    left: auto;
    z-index: 4;
    width: 52px;
    height: 52px;
    justify-content: center;
    transform: translateY(-50%);
}

.cac-mobile-header .language-switch {
    display: none;
}

.cac-mobile-header .navbar-brand {
    position: absolute;
    top: 50%;
    left: 25px;
    right: auto;
    margin: 0;
    justify-content: flex-start;
    z-index: 3;
    transform: translateY(-50%);
}

.cac-mobile-header .navbar-brand img {
    width: 150px;
    max-width: 42vw;
    height: auto;
}

.cac-mobile-search-item {
    box-sizing: border-box;
    width: auto;
    margin: 12px 0px 0;
    padding: 14px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.cac-mobile-search-trigger {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border: 0;
    border-radius: 8px;
    background: #e6ad1b;
    color: #191c55;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}

.cac-mobile-search-trigger svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}

.cac-mobile-search-panel {
    box-sizing: border-box;
    width: auto;
    margin: 10px 0px 14px;
    padding: 0;
}

.cac-mobile-search-panel.collapse:not(.show) {
    display: none !important;
}

.cac-mobile-search-panel.show {
    display: block;
}

.cac-mobile-search-box {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(25, 28, 85, 0.1);
    overflow: hidden;
}

.cac-mobile-search-box input {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 12px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #191c55;
    font-weight: 600;
}

.cac-mobile-search-box button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    height: 42px;
    border: 0;
    border-radius: 8px;
    background: #191c55;
    color: #fff;
}

.cac-mobile-search-box button svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.lqd-module-search-slide-top .ld-module-dropdown {
    display: flex !important;
    height: 380px !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: transparent !important;
    transform: translate3d(0, -100%, 0);
    transition: transform .85s var(--ease), visibility .8s step-end;
}

/* ==========================================================================
   Centralized custom CSS: public/css/glassmorphism-design-system.css
   Glassmorphism components
   ========================================================================== */
/* ==========================================================================
   MGI GLASSMORPHISM SYSTEM DESIGN & COMPONENT SPECIFICATIONS
   ========================================================================== */

:root {
    --mgi-navy: #2a409a;
    --mgi-navy-dark: #1c2d73;
    --mgi-orange: #f47732;
    --mgi-orange-hover: #d95d1b;
    --mgi-indigo: #4f46e5;
    --glass-blur-heavy: blur(24px) saturate(190%);
    --glass-blur-std: blur(18px) saturate(180%);
}

/* Force PingAR Font Globally */
body,
*,
html {
    font-family: 'PingAR', system-ui, -apple-system, sans-serif !important;
}

/* --------------------------------------------------------------------------
   1. FLOATING GLASS HEADER BAR & DROPDOWNS
   -------------------------------------------------------------------------- */
.glassmorphism-header-bar,
header .glassmorphism-header-bar {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.48) 100%) !important;
    backdrop-filter: var(--glass-blur-heavy) !important;
    -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.7) !important;
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.9), 0 20px 45px rgba(42, 64, 154, 0.15) !important;
    border-radius: 100px !important;
    padding: 0px 24px 0px 11px !important;
    margin-top: 0px !important;
    min-height: 64px !important;
    transition: all 0.35s ease !important;
}

.glassmorphism-dropdown-panel {
    background: linear-gradient(135deg, rgba(42, 64, 154, 0.94) 0%, rgba(28, 45, 115, 0.88) 100%) !important;
    backdrop-filter: var(--glass-blur-heavy) !important;
    -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.3), 0 30px 60px rgba(0, 0, 0, 0.45) !important;
    border-radius: 20px !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   2. GLASSMORPHISM BUTTONS (ALL BUTTONS & CTAS)
   -------------------------------------------------------------------------- */
.glass-btn,
.glass-btn-orange,
.glass-cta-btn,
a.glass-btn-orange,
button.glass-btn-orange {
    background: linear-gradient(135deg, rgba(244, 119, 50, 0.95) 0%, rgba(217, 93, 27, 0.88) 100%) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6), 0 10px 25px rgba(244, 119, 50, 0.45) !important;
    color: #ffffff !important;
    border-radius: 100px !important;
    font-weight: 700 !important;
    padding: 10px 24px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.glass-btn-orange:hover,
.glass-cta-btn:hover {
    background: linear-gradient(135deg, rgba(217, 93, 27, 1) 0%, rgba(190, 75, 18, 1) 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.8), 0 14px 30px rgba(244, 119, 50, 0.6) !important;
}

/* Translucent Glass Outline Button */
.glass-btn-outline,
.glass-read-more,
.lightship-read-more,
a.glass-btn-outline {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.12) 100%) !important;
    backdrop-filter: var(--glass-blur-std) !important;
    -webkit-backdrop-filter: var(--glass-blur-std) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6), 0 8px 22px rgba(0, 0, 0, 0.15) !important;
    color: #ffffff !important;
    border-radius: 100px !important;
    font-weight: 700 !important;
    padding: 9px 20px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.glass-btn-outline:hover,
.lightship-read-more:hover {
    background: rgba(255, 255, 255, 0.95) !important;
    color: #2a409a !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(255, 255, 255, 0.3) !important;
}

/* ACCESSIBILITY KEYBOARD FOCUS OUTLINES */
.glass-btn:focus-visible,
.glass-btn-orange:focus-visible,
.glass-btn-outline:focus-visible,
.glass-nav-link:focus-visible,
.glass-cta-btn:focus-visible {
    outline: 3px solid #f47732 !important;
    outline-offset: 3px !important;
}

/* --------------------------------------------------------------------------
   3. LIGHT GLASS CARDS & CONTAINERS
   -------------------------------------------------------------------------- */
.glass-card,
.glass-panel,
.news-card-inner {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(248, 250, 252, 0.5) 100%) !important;
    backdrop-filter: var(--glass-blur-heavy) !important;
    -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.7) !important;
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.9), 0 20px 45px rgba(42, 64, 154, 0.08) !important;
    border-radius: 24px !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    min-width: 0;
}

.news-card-inner:hover {
    transform: translateY(-5px) !important;
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, 1), 0 25px 55px rgba(42, 64, 154, 0.14) !important;
    border-color: rgba(244, 119, 50, 0.4) !important;
}

/* --------------------------------------------------------------------------
   4. DARK GLASS CARDS & MAP POPUP MODALS
   -------------------------------------------------------------------------- */
.glass-panel-dark,
.glass-card-dark,
.pin-card-popup {
    background: linear-gradient(135deg, rgba(42, 64, 154, 0.94) 0%, rgba(28, 45, 115, 0.86) 100%) !important;
    backdrop-filter: var(--glass-blur-heavy) !important;
    -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.3), 0 30px 65px rgba(0, 0, 0, 0.55), 0 0 25px rgba(244, 119, 50, 0.2) !important;
    border-radius: 20px !important;
    color: #ffffff !important;
    min-width: 0;
}

/* --------------------------------------------------------------------------
   5. GLASS PILLS & BADGES
   -------------------------------------------------------------------------- */
.glass-pill,
.glass-pill-orange {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 16px !important;
    border-radius: 100px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, rgba(244, 119, 50, 0.25) 0%, rgba(244, 119, 50, 0.1) 100%) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    color: #f47732 !important;
    border: 1px solid rgba(244, 119, 50, 0.4) !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.3) !important;
}

/* --------------------------------------------------------------------------
   6. TEXT OVERFLOW & ACCESSIBILITY RESILIENCE UTILITIES
   -------------------------------------------------------------------------- */
.truncate-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* MOTION SENSITIVITY PREFERENCE HARDENING */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}


/* ==========================================================================
   Centralized custom CSS: public/assets/css/ltr.css
   English and LTR adaptations
   ========================================================================== */
html[dir="ltr"],
body.locale-en {
	direction: ltr;
	text-align: left;
}

body.locale-en {
	font-family: var(--lqd-body-font-family);
}

body.locale-en html,
body.locale-en *,
body.locale-en *::before,
body.locale-en *::after {
	direction: inherit;
}

body.locale-en [dir="rtl"] {
	direction: ltr !important;
	text-align: left;
}

body.locale-en [dir="ltr"] {
	direction: ltr !important;
}

body.locale-en .text-right,
body.locale-en .text-end,
body.locale-en .text-right *,
body.locale-en .text-end * {
	text-align: left !important;
}

body.locale-en .text-left,
body.locale-en .text-start {
	text-align: left !important;
}

body.locale-en .justify-end {
	justify-content: flex-start !important;
}

body.locale-en .justify-start {
	justify-content: flex-start !important;
}

body.locale-en .items-end {
	align-items: flex-start !important;
}

body.locale-en .float-right {
	float: left !important;
}

body.locale-en .float-left {
	float: left !important;
}

body.locale-en .right-icon,
body.locale-en .hide-if-empty {
	margin-left: 0.5rem;
	margin-right: 0;
}

body.locale-en .icon-ion-ios-arrow-back::before,
body.locale-en .fa-caret-left::before,
body.locale-en .fa-angle-left::before,
body.locale-en .fa-arrow-alt-square-left::before,
body.locale-en .fa-arrow-square-left::before {
	transform: scaleX(-1);
	display: inline-block;
}

body.locale-en .main-header .desktop-header,
body.locale-en .main-header.is-stuck .desktop-header {
	padding-right: 3.5%;
	padding-left: 2.5%;
}

body.locale-en .main-header .desktop-header .main-nav {
	--lqd-menu-items-right-padding: 25px;
	--lqd-menu-items-left-padding: 25px;
}

body.locale-en .lqd-module-search-slide-top .input-icon {
	right: 0;
	left: auto;
}

body.locale-en .custom-mega-grid,
body.locale-en .sub-menu,
body.locale-en .nav-item-children,
body.locale-en .lqd-mobile-main-nav {
	text-align: left;
}

body.locale-en .lqd-mobile-sec .navbar-brand {
	margin-left: auto;
	margin-right: 0;
}

body.locale-en .lqd-mobile-sec .navbar-toggle {
	justify-content: flex-start;
}

body.locale-en .rich-text-content ul,
body.locale-en .rich-text-content ol {
	margin-right: 0;
	margin-left: 1.25em;
}

body.locale-en .select2-container .select2-selection--single .select2-selection__rendered,
body.locale-en .select2-results__option[aria-selected],
body.locale-en .select2-container--default .select2-results__option--highlighted[aria-selected],
body.locale-en .select2-container--default .select2-results__option[aria-disabled=true] {
	float: left;
	text-align: left;
	padding-right: 5px;
	padding-left: 30px;
}

body.locale-en .select2-container--default .select2-selection--single .select2-selection__arrow b {
	right: 15%;
	left: auto;
	margin-right: -10px;
	margin-left: 0;
}

body.locale-en .select-style {
	background-position: 97% 50%;
	margin-right: 0;
	margin-left: 10px;
}

body.locale-en #electronic p,
body.locale-en #electronic .text-medium-gray,
body.locale-en #electronic .text-white-2,
body.locale-en #years .text-medium-gray {
	text-align: left;
}

body.locale-en #electronic .btn.btn-dark-gray,
body.locale-en #years .btn.btn-dark-gray {
	float: left;
}

body.locale-en footer .padding-45px-left {
	padding-left: 15px;
	padding-right: 0;
}

body.locale-en input[type="checkbox"] {
	margin-left: 10px;
	margin-right: 15px;
}

body.locale-en .pl-5 { padding-right: 5px !important; padding-left: 0 !important; }
body.locale-en .pl-10 { padding-right: 10px !important; padding-left: 0 !important; }
body.locale-en .pl-15 { padding-right: 15px !important; padding-left: 0 !important; }
body.locale-en .pl-20 { padding-right: 20px !important; padding-left: 0 !important; }
body.locale-en .pl-30 { padding-right: 30px !important; padding-left: 0 !important; }
body.locale-en .pl-45 { padding-right: 45px !important; padding-left: 0 !important; }
body.locale-en .pl-50 { padding-right: 50px !important; padding-left: 0 !important; }

body.locale-en .pr-5 { padding-left: 5px !important; padding-right: 0 !important; }
body.locale-en .pr-10 { padding-left: 10px !important; padding-right: 0 !important; }
body.locale-en .pr-15 { padding-left: 15px !important; padding-right: 0 !important; }
body.locale-en .pr-20 { padding-left: 20px !important; padding-right: 0 !important; }
body.locale-en .pr-30 { padding-left: 30px !important; padding-right: 0 !important; }
body.locale-en .pr-45 { padding-left: 45px !important; padding-right: 0 !important; }
body.locale-en .pr-50 { padding-left: 50px !important; padding-right: 0 !important; }

body.locale-en .ml-5 { margin-right: 5px !important; margin-left: 0 !important; }
body.locale-en .ml-10 { margin-right: 10px !important; margin-left: 0 !important; }
body.locale-en .ml-15 { margin-right: 15px !important; margin-left: 0 !important; }
body.locale-en .ml-20 { margin-right: 20px !important; margin-left: 0 !important; }
body.locale-en .ml-30 { margin-right: 30px !important; margin-left: 0 !important; }
body.locale-en .ml-45 { margin-right: 45px !important; margin-left: 0 !important; }
body.locale-en .ml-50 { margin-right: 50px !important; margin-left: 0 !important; }

body.locale-en .mr-5 { margin-left: 5px !important; margin-right: 0 !important; }
body.locale-en .mr-10 { margin-left: 10px !important; margin-right: 0 !important; }
body.locale-en .mr-15 { margin-left: 15px !important; margin-right: 0 !important; }
body.locale-en .mr-20 { margin-left: 20px !important; margin-right: 0 !important; }
body.locale-en .mr-30 { margin-left: 30px !important; margin-right: 0 !important; }
body.locale-en .mr-45 { margin-left: 45px !important; margin-right: 0 !important; }
body.locale-en .mr-50 { margin-left: 50px !important; margin-right: 0 !important; }

body.locale-en .border-right {
	border-right: 0 !important;
	border-left: 1px solid var(--lqd-color-border, rgba(0, 0, 0, .1)) !important;
}

body.locale-en .border-left {
	border-left: 0 !important;
	border-right: 1px solid var(--lqd-color-border, rgba(0, 0, 0, .1)) !important;
}

@media (max-width: 1199px) {
	body.locale-en .subscribe .module {
		padding-right: 0;
	}

	body.locale-en .footer-menu .module {
		padding-right: 0;
		padding-left: 10px;
	}
}

/* English homepage refinements */
body.locale-en .cac-about-cta {
	align-items: center;
}

body.locale-en .cac-about-cta > .w-55percent {
	position: relative;
	z-index: 2;
	flex: 0 1 54%;
	max-width: 720px;
}

body.locale-en .cac-about-cta > .w-40percent {
	position: relative;
	z-index: 1;
	flex: 0 1 38%;
}

body.locale-en .cac-about-cta .rich-text-content,
body.locale-en .cac-about-cta .rich-text-content p,
body.locale-en .cac-about-cta p {
	max-width: 640px;
	white-space: normal;
	overflow-wrap: anywhere;
	line-height: 1.7;
}

body.locale-en #news-section .row.items-center > .text-end {
	text-align: right !important;
}

body.locale-en #news-section .fancy-button {
	display: flex;
	justify-content: flex-end;
}

body.locale-en #news-section .fancy-button .btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

body.locale-en #news-section .fancy-button .btn i {
	margin-left: 0;
	margin-right: 0;
}

body.locale-en #site-footer .footer-powered {
	display: block;
	text-align: right !important;
}

body.locale-en #site-footer .footer-copy {
	display: block;
	text-align: left !important;
}

@media (max-width: 991px) {
	body.locale-en .cac-about-cta > .w-55percent,
	body.locale-en .cac-about-cta > .w-40percent {
		flex-basis: 100%;
		max-width: 100%;
	}

	body.locale-en .cac-about-cta .rich-text-content,
	body.locale-en .cac-about-cta .rich-text-content p,
	body.locale-en .cac-about-cta p {
		max-width: 100%;
	}

	body.locale-en #news-section .row.items-center > .text-end,
	body.locale-en #news-section .fancy-button {
		text-align: left !important;
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	body.locale-en #site-footer .footer-powered,
	body.locale-en #site-footer .footer-copy {
		text-align: center !important;
	}
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/header-menu.blade.php
   ========================================================================== */
#site-header {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/* ===== MAIN NAVIGATION LINKS ===== */
.glass-nav-link,
header .glass-nav-link,
header .main-nav > li > a,
header .main-nav > li > a > span,
.main-header .main-nav > li > a,
#site-header .main-nav > li > a,
#site-header .glass-nav-link {
    color: #1e2b4c !important;
    font-size: clamp(13px, 0.95vw, 15px) !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.glass-nav-link:hover,
header .main-nav > li > a:hover,
header .main-nav > li:hover > a,
#site-header .main-nav > li > a:hover {
    color: #f47732 !important;
    background-color: rgba(255, 255, 255, 0.0) !important;
}

#site-header .main-nav > li.is-active > a,
#site-header .main-nav > li > a.is-active,
#site-header .main-nav > li > a[aria-current="page"],
#site-header .main-nav > li > .is-active,
#lqd-mobile-sec-nav > .lqd-mobile-main-nav > li.is-active > a,
#lqd-mobile-sec-nav #mobile-primary-nav > li.is-active > a,
#mobile-primary-nav li.mega-menu-item.is-active > a,
#mobile-primary-nav li > ul .is-active {
    color: #f47732 !important;
    background-color: transparent !important;
}

/* Active Link Pill (الرئيسية) */
.active-pill-link {
    color: #f47732 !important;
    font-weight: 800 !important;
}

/* ===== DROPDOWN PANEL & MEGAMENU GLASS STYLE ===== */
.glassmorphism-dropdown-panel,
header .nav-item-children,
header .sub-menu,
#site-header .nav-item-children,
.main-header .nav-item-children,
.lqd-submenu-cover .main-nav > .menu-item-has-children:not(.megamenu) > .nav-item-children,
header .lqd-megamenu-inner,
#site-header .lqd-megamenu-inner,
.nav-item-children.lqd-megamenu-inner {
    background: linear-gradient(135deg, rgba(42, 64, 154, 0.97) 0%, rgba(28, 45, 115, 0.95) 100%) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.3), 0 30px 60px rgba(0, 0, 0, 0.5) !important;
    border-radius: 20px !important;
    position: absolute !important;
    top: calc(100% + 2px) !important;
    margin-top: 0 !important;
}

/* Scope Megamenu & Submenu hover strictly to the menu item itself or dropdown panel */
.lqd-megamenu-inner,
header .nav-item-children,
header .sub-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease, visibility 0.2s ease !important;
}

header .menu-item-has-children:hover > .nav-item-children,
header .menu-item-has-children:hover > .sub-menu,
header .lqd-megamenu:hover > .lqd-megamenu-inner,
header .lqd-megamenu-inner:hover,
header .nav-item-children:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Fix Chromium backdrop-filter bug by clearing transforms & will-change when active/hovered */
header .main-nav,
header .navbar-collapse,
.lqd-submenu-cover,
header .menu-item-has-children:hover > .nav-item-children,
header .menu-item-has-children.is-active > .nav-item-children,
.lqd-megamenu-inner,
header .lqd-megamenu-inner,
.nav-item-children.lqd-megamenu-inner,
header .nav-item-children:hover {
    transform: none !important;
    will-change: auto !important;
    perspective: none !important;
}

/* ===== DROPDOWN LINKS - FORCE WHITE ===== */
header .nav-item-children > li > a,
header .sub-menu > li > a,
header .nav-item-children li a,
#site-header .nav-item-children > li > a,
.main-header .nav-item-children > li > a,
.main-nav .nav-item-children > li > a,
.lqd-megamenu-inner a,
.glassmorphism-dropdown-panel a,
.glassmorphism-dropdown-panel li a {
    color: #ffffff !important;
}

header .nav-item-children > li:hover > a,
header .nav-item-children > li.current-menu-item > a,
header .nav-item-children > li.is-active > a,
#site-header .nav-item-children > li:hover > a,
.glassmorphism-dropdown-panel a:hover,
.glassmorphism-dropdown-panel li a:hover {
    color: #f47732 !important;
}

/* ===== LEFT ACTIONS LAYOUT WITH SPACED ELEMENTS ===== */
.header-left-actions-container {
    display: flex !important;
    align-items: center !important;
    gap: clamp(12px, 1.2vw, 18px) !important; /* Safe spacing between elements */
    margin-left: clamp(12px, 1.6vw, 28px) !important; /* Safe distance from last menu item */
    flex-shrink: 0 !important;
}

/* Language switch button - Clean text matching primary navy */
.header-lang-switch-btn {
    color: #1e2b4c !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    line-height: 1 !important;
    transition: color 0.25s ease !important;
    white-space: nowrap !important;
}

.header-lang-switch-btn:hover {
    color: #f47732 !important;
    background: transparent !important;
    border: none !important;
}

/* Vertical Glass Divider Line */
.header-v-divider {
    width: 1px !important;
    height: 20px !important;
    background: rgba(30, 43, 76, 0.22) !important;
    display: inline-block !important;
}

/* Solid Orange CTA Button (no glass, no borders) */
.header-solid-orange-btn {
    background: #f47732 !important; /* Solid orange color, no translucency */
    color: #ffffff !important;
    border: none !important; /* No borders */
    border-radius: 100px !important;
    height: 42px !important; /* Fixed height to control vertical centering precisely */
    padding: 0 26px !important; /* Only horizontal padding, height controls vertical spacing */
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    transition: all 0.25s ease !important;
    margin: 0 !important;
}

.header-solid-orange-btn:hover {
    background: #d95d1b !important; /* Darker orange on hover */
    box-shadow: none !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
}

/* Reset theme-specific margins and paddings on left actions container children */
.header-left-actions-container > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Align search trigger icon properly */
.header-left-actions-container .ld-module-search {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

.header-left-actions-container .ld-module-trigger-icon {
    color: #1e2b4c !important;
    display: flex !important;
    align-items: center !important;
}

/* Glassmorphism header bar full-width edge-to-edge alignment overrides */
header .glassmorphism-header-bar,
#site-header .glassmorphism-header-bar,
.main-header-floating-container .glassmorphism-header-bar,
.glassmorphism-header-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6) !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Sticky Header Glass State */
.is-stuck .glassmorphism-header-bar,
.is-stuck .main-header-floating-container {
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
}

/* SVG chevron arrows in menu items */
header .glass-nav-link svg,
header .main-nav svg {
    color: #1e2b4c !important;
    stroke: #1e2b4c !important;
}

/* Header controls */
header .menu-chevron {
    display: inline-flex;
    width: 8px;
    height: 5px;
    align-items: center;
    justify-content: center;
    transform-origin: center;
    transition: transform .28s cubic-bezier(.22,.61,.36,1);
}
header .menu-chevron svg { width: 8px; height: 5px; stroke-width: 1.35; }
header .main-nav > li.menu-item-has-children:hover > a .menu-chevron,
header .main-nav > li.menu-item-has-children.is-hovered > a .menu-chevron,
header .main-nav > li.menu-item-has-children.is-active > a .menu-chevron { transform: rotate(180deg); }
header .header-search-icon {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* ===== COMPACT SEARCH DROPDOWN CARD ===== */
#search-header-top.glassmorphism-dropdown-panel {
    background: linear-gradient(135deg, rgba(42, 64, 154, 0.96) 0%, rgba(28, 45, 115, 0.92) 100%) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4) !important;
    border-radius: 16px !important;
    position: absolute !important;
    top: 100% !important;
    margin-top: 12px !important;
    padding: 16px !important;
    z-index: 99999 !important;
}

/* Align inputs inside the compact dropdown */
#search-header-top .search-input {
    border: none !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3) !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: 14px !important;
    padding: 6px 0 !important;
    outline: none !important;
    transition: border-bottom-color 0.2s ease !important;
    width: 100% !important;
}

#search-header-top .search-input:focus {
    border-bottom-color: #f47732 !important;
}

#search-header-top .search-input::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Position dropdown correctly in RTL (left) and LTR (right) */
html[dir="rtl"] #search-header-top.glassmorphism-dropdown-panel {
    left: 0 !important;
    right: auto !important;
}
html[dir="ltr"] #search-header-top.glassmorphism-dropdown-panel {
    right: 0 !important;
    left: auto !important;
}

/* Mobile Responsive Header Bar (< 1024px) */
@media (max-width: 1023px) {
    .main-header-floating-container {
        display: none !important;
    }
    .cac-mobile-header {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 99999 !important;
        background: #ffffff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
        box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06) !important;
        padding: 8px 16px !important;
    }
    .mobile-sec-nav:not(.show) {
        display: none !important;
    }
    .mobile-sec-nav.show {
        display: flex !important;
    }
    .mobile-sec-nav {
        background: #2a409a !important;
        border-radius: 0 0 24px 24px !important;
        padding: 0 !important;
        box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6) !important;
    }
}

.mobile-lang-btn {
    color: #1e2b4c !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    text-decoration: none !important;
}

.mobile-nav-link {
    color: #f8fafc !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 8px 0 !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.mobile-nav-link:hover {
    color: #f47732 !important;
}

.mobile-sublink {
    color: #cbd5e1 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 6px 0 !important;
    display: block !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.mobile-sublink:hover {
    color: #f47732 !important;
}

.chevron-arrow.open {
    transform: rotate(180deg);
}

/* Hard breakpoint isolation: desktop and mobile headers must never overlap. */
@media (min-width: 1024px) {
    .main-header-floating-container,
    #site-header .main-header-floating-container {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        pointer-events: auto !important;
    }
    .lqd-mobile-sec,
    .cac-mobile-header,
    .lqd-mobile-sec-nav,
    .mobile-navbar-collapse,
    #lqd-mobile-sec-nav,
    #mobile-primary-nav {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
    }
}

/* Legacy mobile overrides retained for reference but disabled. */
@media (max-width: 0px) {
    .main-header-floating-container,
    #site-header .main-header-floating-container {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    html.mobile-menu-open,
    body.mobile-menu-open { overflow: hidden !important; }
    #site-header .cac-mobile-header {
        width: 100vw !important;
        max-width: 100vw !important;
        padding: 0 !important;
        background: #ffffff !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
        box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06) !important;
        overflow: visible !important;
    }

    /* Full-height mobile drawer: keep the blue panel attached to the header. */
    #site-header .lqd-mobile-sec-nav {
        position: fixed !important;
        top: 76px !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: calc(100vh - 76px) !important;
        height: calc(100vh - 76px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        background: #2f3b99 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        z-index: 100000 !important;
    }
    #site-header .lqd-mobile-sec-nav:not(.show) {
        display: none !important;
    }
    #site-header .lqd-mobile-sec-nav.collapsing {
        display: block !important;
        height: calc(100vh - 76px) !important;
        overflow-y: auto !important;
    }
    #site-header .lqd-mobile-sec-nav.show {
        display: block !important;
    }
    #site-header .mobile-navbar-collapse,
    #site-header #mobile-primary-nav {
        width: 100% !important;
        max-width: none !important;
        min-height: 100% !important;
        background: #2f3b99 !important;
    }
    #site-header #mobile-primary-nav {
        display: block !important;
        padding: 18px 16px 28px !important;
        margin: 0 !important;
    }
    #site-header #mobile-primary-nav > li,
    #site-header #mobile-primary-nav > li > a {
        position: relative !important;
        display: flex !important;
        width: 100% !important;
        box-sizing: border-box !important;
        color: #fff !important;
        background: transparent !important;
    }
    #site-header #mobile-primary-nav > li {
        min-height: 64px !important;
        align-items: center !important;
        border-bottom: 1px solid rgba(255,255,255,.18) !important;
    }
    #site-header #mobile-primary-nav > li.menu-item-has-children {
        display: block !important;
        min-height: 64px !important;
    }
    #site-header #mobile-primary-nav > li > a {
        min-height: 64px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 14px 54px 14px 12px !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
    }
    html[dir="rtl"] #site-header #mobile-primary-nav > li > a {
        justify-content: flex-end !important;
        padding: 14px 12px 14px 54px !important;
        text-align: right !important;
    }
    #site-header #mobile-primary-nav .sub-menu {
        position: static !important;
        inset: auto !important;
        display: none !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 8px 12px 12px !important;
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }
    #site-header #mobile-primary-nav > li.is-active > .sub-menu,
    #site-header #mobile-primary-nav li.menu-item-has-children.is-active > .sub-menu {
        display: block !important;
    }
    #site-header #mobile-primary-nav .sub-menu > li,
    #site-header #mobile-primary-nav .sub-menu > li > a {
        position: relative !important;
        display: flex !important;
        width: 100% !important;
        box-sizing: border-box !important;
        color: #fff !important;
        background: transparent !important;
    }
    #site-header #mobile-primary-nav .sub-menu > li {
        min-height: 52px !important;
        border: 0 !important;
    }
    #site-header #mobile-primary-nav .sub-menu > li > a {
        min-height: 52px !important;
        align-items: center !important;
        padding: 11px 16px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.45 !important;
        white-space: normal !important;
    }
    html[dir="rtl"] #site-header #mobile-primary-nav .sub-menu > li > a {
        justify-content: flex-end !important;
        text-align: right !important;
    }

    /* The expander is only a transparent click target; no box or border. */
    #site-header #mobile-primary-nav .submenu-expander,
    #site-header #mobile-primary-nav .link-icon {
        border: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    #site-header #mobile-primary-nav .submenu-expander {
        width: 42px !important;
        height: 42px !important;
        top: 50% !important;
        right: 8px !important;
        left: auto !important;
        transform: translateY(-50%) !important;
        color: #fff !important;
    }
    html[dir="rtl"] #site-header #mobile-primary-nav .submenu-expander {
        right: auto !important;
        left: 8px !important;
    }
    #site-header #mobile-primary-nav .submenu-expander::before,
    #site-header #mobile-primary-nav .link-icon i {
        color: #fff !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    /* Keep the full logo inside the mobile header on both directions. */
    #site-header .cac-mobile-header .navbar-brand,
    html[dir="ltr"] #site-header .cac-mobile-header .navbar-brand,
    html[dir="rtl"] #site-header .cac-mobile-header .navbar-brand {
        left: 16px !important;
        right: auto !important;
        width: 170px !important;
        max-width: 46vw !important;
        overflow: visible !important;
    }
    #site-header .cac-mobile-header .navbar-brand img {
        display: block !important;
        width: 170px !important;
        max-width: 46vw !important;
        height: auto !important;
        object-fit: contain !important;
    }
    html[dir="ltr"] #site-header .cac-mobile-header .navbar-toggle,
    html[dir="rtl"] #site-header .cac-mobile-header .navbar-toggle {
        right: 16px !important;
        left: auto !important;
    }

    #site-header .mobile-sublink { display: block !important; padding: 11px 8px !important; color: #c9d5e7 !important; font-size: 14px !important; }
    #site-header .mobile-main-nav form { display: flex !important; min-height: 48px !important; padding: 5px 14px !important; background: #fff !important; border: 0 !important; border-radius: 15px !important; }
    #site-header .mobile-main-nav form input { color: #14213a !important; background: transparent !important; box-shadow: none !important; }
    #site-header .mobile-main-nav form input::placeholder { color: #718096 !important; }
    #site-header .mobile-main-nav form button { color: #f47732 !important; }
    #site-header .mobile-main-nav > li:last-child { border: 0 !important; padding-top: 14px !important; }
    #site-header .mobile-main-nav > li:last-child > a { display: flex !important; justify-content: center !important; min-height: 48px !important; background: linear-gradient(135deg,#f47732,#d95d1b) !important; border-radius: 15px !important; color: #fff !important; }
    #site-header .mobile-main-nav > li:last-child > a {
        width: 100% !important; align-items: center !important; justify-content: center !important;
        padding: 0 20px !important; margin: 0 !important; text-align: center !important; line-height: 1 !important;
    }
}

/* ===== CAC BANK MOBILE NAVIGATION EXACT STYLES ===== */
.cac-mobile-level-2-link {
    font-size: 16px !important;
    font-weight: 700 !important;
}

.cac-mobile-level-3-link {
    font-size: 14px !important;
    font-weight: 400 !important;
    opacity: .85;
    padding-right: 25px !important;
}

.cac-mobile-header .lqd-mobile-sec-inner {
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    padding-inline: 16px 74px;
    position: relative;
    background: #ffffff !important;
}

.cac-mobile-header .lqd-mobile-modules-container.empty {
    display: none;
}

.cac-mobile-header .navbar-toggle {
    position: absolute;
    top: 50%;
    right: 16px;
    left: auto;
    z-index: 4;
    width: 52px;
    height: 52px;
    justify-content: center;
    transform: translateY(-50%);
}

html[dir="ltr"] .cac-mobile-header .navbar-toggle {
    right: auto;
    left: 16px;
}

.cac-mobile-header .language-switch {
    display: none;
}

.cac-mobile-header .navbar-brand {
    position: absolute;
    top: 50%;
    left: 25px;
    right: auto;
    margin: 0;
    justify-content: flex-start;
    z-index: 3;
    transform: translateY(-50%);
}

html[dir="ltr"] .cac-mobile-header .navbar-brand {
    left: auto;
    right: 25px;
}

.cac-mobile-header .navbar-brand img {
    width: 150px;
    max-width: 42vw;
    height: auto;
}

.cac-mobile-search-item {
    box-sizing: border-box;
    width: auto;
    margin: 12px 0px 0;
    padding: 14px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.cac-mobile-search-trigger {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border: 0;
    border-radius: 8px;
    background: #f47732;
    color: #ffffff;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}

.cac-mobile-search-trigger svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}

.cac-mobile-search-panel {
    box-sizing: border-box;
    width: auto;
    margin: 10px 0px 14px;
    padding: 0;
}

.cac-mobile-search-panel.collapse:not(.show) {
    display: none !important;
}

.cac-mobile-search-panel.show {
    display: block;
}

.cac-mobile-search-box {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(25, 28, 85, 0.1);
    overflow: hidden;
}

.cac-mobile-search-box input {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 12px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #191c55;
    font-weight: 600;
}

.cac-mobile-search-box button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    height: 42px;
    border: 0;
    border-radius: 8px;
    background: #2a409a;
    color: #fff;
}

.cac-mobile-search-box button svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* Final mobile navigation polish (desktop remains untouched). */
@media (max-width: 1023px) {
    #site-header .cac-mobile-header {
        height: 92px !important;
        min-height: 92px !important;
        padding: 0 !important;
        background: #fff !important;
    }
    #site-header .cac-mobile-header .lqd-mobile-sec-inner {
        height: 92px !important;
        min-height: 92px !important;
        padding: 0 20px !important;
        background: #fff !important;
    }
    #site-header .cac-mobile-header .navbar-brand,
    html[dir="ltr"] #site-header .cac-mobile-header .navbar-brand,
    html[dir="rtl"] #site-header .cac-mobile-header .navbar-brand {
        left: 20px !important;
        right: auto !important;
        width: 184px !important;
        max-width: 52vw !important;
    }
    #site-header .cac-mobile-header .navbar-brand img {
        width: 184px !important;
        max-width: 52vw !important;
        height: auto !important;
    }
    #site-header .cac-mobile-header .navbar-toggle,
    html[dir="ltr"] #site-header .cac-mobile-header .navbar-toggle,
    html[dir="rtl"] #site-header .cac-mobile-header .navbar-toggle {
        top: 46px !important;
        right: 20px !important;
        left: auto !important;
        width: 48px !important;
        height: 48px !important;
    }
    #site-header .lqd-mobile-sec-nav {
        position: fixed !important;
        top: 92px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        margin: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: calc(100vh - 92px) !important;
        min-height: calc(100vh - 92px) !important;
        background: #2a409a !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        z-index: 100000 !important;
    }
    #site-header .lqd-mobile-sec-nav:not(.show) {
        display: none !important;
    }
    #site-header .lqd-mobile-sec-nav.show,
    #site-header .lqd-mobile-sec-nav.collapsing {
        display: block !important;
    }
    #site-header .mobile-navbar-collapse,
    #site-header #lqd-mobile-sec-nav,
    #site-header #mobile-primary-nav {
        background-color: #2a409a !important;
    }
    #site-header #mobile-primary-nav .sub-menu,
    #site-header #mobile-primary-nav .cac-mobile-level-3-menu,
    #site-header #mobile-primary-nav .nav-item-children {
        background: transparent !important;
        background-color: transparent !important;
    }
    #site-header .mobile-navbar-collapse {
        width: 100% !important;
        min-height: 100% !important;
    }
    #site-header #mobile-primary-nav {
        padding: 22px 20px 30px !important;
        background: #2a409a !important;
        direction: rtl !important;
    }
    #site-header #mobile-primary-nav > li {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        min-height: 52px !important;
        border-bottom: 0 !important;
    }
    #site-header #mobile-primary-nav > li > a {
        min-height: 52px !important;
        justify-content: flex-start !important;
        padding: 10px 12px 10px 54px !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-align: right !important;
        direction: rtl !important;
        outline: 0 !important;
        border: 0 !important;
    }
    html[dir="rtl"] body #site-header #mobile-primary-nav > li > a {
        display: block !important;
        width: 100% !important;
        min-height: 52px !important;
        padding: 14px 12px 10px 54px !important;
        direction: rtl !important;
        text-align: right !important;
    }
    html[dir="ltr"] body #site-header #mobile-primary-nav {
        direction: ltr !important;
    }
    html[dir="ltr"] body #site-header #mobile-primary-nav > li > a {
        display: block !important;
        width: 100% !important;
        min-height: 52px !important;
        padding: 14px 54px 10px 12px !important;
        direction: ltr !important;
        text-align: left !important;
    }
    #site-header #mobile-primary-nav > li.menu-item-has-children > a {
        padding-left: 54px !important;
    }
    #site-header #mobile-primary-nav .submenu-expander {
        left: 18px !important;
        right: auto !important;
        width: 34px !important;
        height: 34px !important;
        color: #fff !important;
        top: 9px !important;
        transform: none !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        z-index: 6 !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }
    #site-header #mobile-primary-nav .submenu-expander::before {
        content: "" !important;
        position: absolute !important;
        top: 10px !important;
        left: 10px !important;
        width: 9px !important;
        height: 9px !important;
        border-right: 2px solid #fff !important;
        border-bottom: 2px solid #fff !important;
        transform: rotate(45deg) !important;
        transform-origin: center !important;
        transition: transform .22s ease !important;
        color: transparent !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    #site-header #mobile-primary-nav li.menu-item-has-children.is-active > .submenu-expander::before {
        transform: rotate(225deg) !important;
    }
    #site-header #mobile-primary-nav .link-icon {
        display: none !important;
    }
    #site-header #mobile-primary-nav .cac-submenu-toggle {
        position: absolute !important;
        top: 9px !important;
        left: 18px !important;
        right: auto !important;
        z-index: 8 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        height: 34px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        color: #fff !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }
    html[dir="ltr"] body #site-header #mobile-primary-nav .cac-submenu-toggle {
        right: 18px !important;
        left: auto !important;
    }
    #site-header #mobile-primary-nav .cac-submenu-toggle svg {
        display: block !important;
        width: 10px !important;
        height: 7px !important;
        overflow: visible !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.4 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        transition: transform .22s ease !important;
    }
    #site-header #mobile-primary-nav .cac-submenu-toggle svg path {
        fill: none !important;
        stroke: #fff !important;
        stroke-width: 1.4 !important;
    }
    #site-header #mobile-primary-nav li.menu-item-has-children.is-active > .cac-submenu-toggle svg {
        transform: rotate(180deg) !important;
    }
    #site-header #mobile-primary-nav a:focus,
    #site-header #mobile-primary-nav a:active,
    #site-header #mobile-primary-nav li:focus {
        outline: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    #site-header #mobile-primary-nav .sub-menu,
    #site-header #mobile-primary-nav .cac-mobile-level-3-menu,
    #site-header #mobile-primary-nav .nav-item-children {
        position: static !important;
        inset: auto !important;
        display: none !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 4px 0 6px !important;
        background: #2a409a !important;
        background-color: #2a409a !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        overflow: visible !important;
    }
    #site-header #mobile-primary-nav li.menu-item-has-children.is-active > .sub-menu,
    #site-header #mobile-primary-nav li.menu-item-has-children > .sub-menu.show {
        display: block !important;
    }
    #site-header #mobile-primary-nav .sub-menu > li,
    #site-header #mobile-primary-nav .cac-mobile-level-3-menu > li {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    #site-header #mobile-primary-nav .sub-menu > li > a,
    #site-header #mobile-primary-nav .cac-mobile-level-2-link {
        min-height: 44px !important;
        justify-content: flex-start !important;
        padding: 10px 24px 10px 42px !important;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-align: right !important;
        line-height: 1.35 !important;
        direction: rtl !important;
        outline: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    html[dir="rtl"] body #site-header #mobile-primary-nav .sub-menu > li > a,
    html[dir="rtl"] body #site-header #mobile-primary-nav .cac-mobile-level-2-link {
        display: block !important;
        width: 100% !important;
        min-height: 44px !important;
        padding: 10px 24px 10px 42px !important;
        direction: rtl !important;
        text-align: right !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    html[dir="ltr"] body #site-header #mobile-primary-nav .sub-menu > li > a,
    html[dir="ltr"] body #site-header #mobile-primary-nav .cac-mobile-level-2-link {
        display: block !important;
        width: 100% !important;
        min-height: 44px !important;
        padding: 10px 42px 10px 24px !important;
        direction: ltr !important;
        text-align: left !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    html[dir="rtl"] body #site-header #mobile-primary-nav .cac-mobile-level-3-menu > li > a,
    html[dir="rtl"] body #site-header #mobile-primary-nav .cac-mobile-level-3-link {
        display: block !important;
        width: 100% !important;
        min-height: 40px !important;
        padding: 8px 40px 8px 42px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: rgba(255, 255, 255, 0.88) !important;
        direction: rtl !important;
        text-align: right !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    html[dir="ltr"] body #site-header #mobile-primary-nav .cac-mobile-level-3-menu > li > a,
    html[dir="ltr"] body #site-header #mobile-primary-nav .cac-mobile-level-3-link {
        display: block !important;
        width: 100% !important;
        min-height: 40px !important;
        padding: 8px 42px 8px 40px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: rgba(255, 255, 255, 0.88) !important;
        direction: ltr !important;
        text-align: left !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    #site-header #mobile-primary-nav > li.cac-mobile-search-item {
        display: block !important;
        min-height: 0 !important;
        margin: 16px 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    #site-header .cac-mobile-search-trigger {
        width: auto !important;
        min-height: 48px !important;
        justify-content: flex-start !important;
        padding: 8px 4px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        direction: rtl !important;
        box-shadow: none !important;
        outline: 0 !important;
    }
    html[dir="ltr"] body #site-header .cac-mobile-search-trigger {
        direction: ltr !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
    #site-header .cac-mobile-search-trigger svg {
        width: 18px !important;
        height: 18px !important;
        color: #fff !important;
        fill: currentColor !important;
    }
    #site-header #mobile-primary-nav > li.cac-mobile-search-panel {
        display: none !important;
        min-height: 0 !important;
        margin: 14px 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    #site-header #mobile-primary-nav > li.cac-mobile-search-panel.show {
        display: block !important;
    }
    #site-header #mobile-primary-nav > li.cac-mobile-search-panel.collapsing {
        display: block !important;
    }
    #site-header .cac-mobile-search-box {
        min-height: 74px !important;
        padding: 8px 10px !important;
        border: 0 !important;
        border-radius: 11px !important;
        background: #fff !important;
        box-shadow: none !important;
    }
    #site-header .cac-mobile-search-box input {
        height: 56px !important;
        color: #6e6e6e !important;
        font-size: 17px !important;
        text-align: right !important;
    }
    html[dir="ltr"] body #site-header .cac-mobile-search-box input {
        direction: ltr !important;
        text-align: left !important;
    }
    #site-header .cac-mobile-search-box button {
        width: 54px !important;
        min-width: 54px !important;
        height: 54px !important;
        border-radius: 9px !important;
        background: #f47732 !important;
        color: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    #site-header .cac-mobile-search-box button svg,
    #site-header .cac-mobile-search-box button svg path {
        fill: #fff !important;
        color: #fff !important;
    }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/preloader.blade.php
   ========================================================================== */
.cls-1 {
                    fill: #f47732;
                  }

                  .cls-2 {
                    fill: #2a409a;
                  }

/* Two-Phase Star Opening Preloader Animation */
.mgi-preloader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background-color: #ffffff;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    pointer-events: auto;
    animation: mgiOverlayFadeOut 0.4s cubic-bezier(0.16, 1, 0.3, 1) 1.25s forwards;
    will-change: opacity, visibility;
}

.mgi-preloader-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.mgi-preloader-star-box {
    width: clamp(140px, 16vw, 190px);
    height: clamp(140px, 16vw, 190px);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0.35);
    opacity: 0;
    animation: 
        mgiStarPopIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.05s forwards,
        mgiStarZoomExpand 0.75s cubic-bezier(0.7, 0, 0.84, 0) 0.55s forwards;
    will-change: transform, opacity;
}

.mgi-preloader-svg {
    width: 100%;
    height: 100%;
    display: block;
    filter: drop-shadow(0 6px 18px rgba(15, 23, 42, 0.06));
}

@keyframes mgiStarPopIn {
    0% {
        transform: scale(0.3);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes mgiStarZoomExpand {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    100% {
        transform: scale(80);
        opacity: 1;
    }
}

@keyframes mgiOverlayFadeOut {
    0% {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    99% {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    100% {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        display: none !important;
    }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/slider.blade.php
   ========================================================================== */
/* Hero Video & Slide Overlay */
.banner-slide-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    object-position: left center !important;
    z-index: 0;
}

/* True edge-to-edge hero: no container, Flickity cell or theme gutters. */
#banner,
#home-hero,
#home-hero .carousel-items,
#home-hero .flickity-viewport,
#home-hero .flickity-slider,
#home-hero .banner-slide {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border: 0 !important;
}
#hero-reveal .hero-reveal__media {
    height: auto !important;
    min-height: 0 !important;
}
#hero-reveal #banner,
#hero-reveal #home-hero,
#hero-reveal #home-hero .carousel-items,
#hero-reveal #home-hero .flickity-viewport,
#hero-reveal #home-hero .flickity-slider,
#hero-reveal #home-hero .banner-slide {
    height: 100% !important;
    min-height: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#hero-reveal #home-hero .flickity-viewport,
#hero-reveal #home-hero .flickity-slider {
    position: relative !important;
    inset: auto !important;
}
#hero-reveal #home-hero .flickity-slider {
    position: absolute !important;
    inset: 0 !important;
}
#hero-reveal #home-hero .banner-slide {
    display: flex !important;
    left: 0 !important;
}
#hero-reveal #home-hero .hero-static-slide {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
}
#hero-reveal #home-hero .hero-static-slide > .banner-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
}
#banner,
#home-hero,
#home-hero .flickity-viewport,
#home-hero .banner-slide { overflow: hidden !important; }
#home-hero .banner-slide {
    background-size: cover !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
}

/* Kicker Text in New Orange Color (#f47732) */
.figma-kicker-text {
    color: #f47732 !important;
    font-size: clamp(13px, 1vw, 15px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    display: inline-block !important;
    opacity: 1 !important;
    margin-bottom: 8px !important;
}

/* Main Hero Title - Tightly proportioned and aligned as a unified block matching Image 2 */
.figma-hero-title {
    font-size: clamp(26px, 3.2vw, 44px) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.26 !important;
    max-width: 680px !important;
    letter-spacing: -0.3px !important;
    margin-bottom: 16px !important;
}

/* Subtitle Paragraph - Perfectly balanced line spacing and width */
.figma-hero-subtitle {
    font-size: clamp(14px, 1.1vw, 17px) !important;
    color: rgba(255, 255, 255, 0.88) !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    max-width: 640px !important;
    margin-bottom: 28px !important;
}

/* Figma Hero Explore Button (استكشف المجموعة) */
.figma-hero-explore-btn {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
    color: #ffffff !important;
    padding: 11px 30px !important;
    border-radius: 50px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.4), 0 12px 30px rgba(0, 0, 0, 0.25) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.figma-hero-explore-btn:hover {
    background: rgba(255, 255, 255, 0.95) !important;
    color: #2a409a !important;
    border-color: rgba(255, 255, 255, 0.9) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 16px 35px rgba(255, 255, 255, 0.25) !important;
}

/* Smooth Entrance Keyframe Animation */
@keyframes heroFadeInUp {
    0% {
        opacity: 0;
        transform: translateY(28px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-kicker,
.animate-title,
.animate-desc,
.animate-cta { animation: none; }

/* Mobile Responsive Hero Styles (< 768px) */
@media (max-width: 767px) {
    html,
    body,
    #wrap,
    #lqd-site-content,
    #lqd-contents-wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        padding-inline: 0 !important;
        overflow-x: hidden !important;
    }
    html body section#banner.lqd-section,
    html body #banner {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }
    .hero-reveal__media {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body #banner > #home-hero,
    html body #banner .carousel-items,
    html body #banner .flickity-viewport,
    html body #banner .flickity-slider,
    html body #banner .banner-slide {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .hero-reveal,
    .hero-reveal__sticky,
    #lqd-site-content,
    #lqd-contents-wrap {
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .banner, .banner-slide, #banner, #home-hero, .carousel-items, .carousel-item {
        min-height: 100vh !important;
        height: 100vh !important;
        width: 100% !important;
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        max-width: none !important;
    }
    .hero-text-wrapper {
        padding-right: 20px !important;
        padding-left: 20px !important;
        max-width: 100% !important;
    }
    .figma-hero-title {
        font-size: clamp(24px, 6.5vw, 34px) !important;
        line-height: 1.3 !important;
        max-width: 100% !important;
    }
    .figma-hero-subtitle {
        font-size: 14px !important;
        line-height: 1.6 !important;
        max-width: 100% !important;
    }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/scroll-five.blade.php
   ========================================================================== */
.hero-reveal{position:relative;height:300vh;background:#edf1f4;isolation:isolate}.hero-reveal__sticky{position:sticky;top:0;height:100vh;min-height:650px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#fff 0,#eef3f6 48%,#dfe7eb 100%)}
.hero-reveal__media{position:absolute;z-index:5;inset:0;overflow:hidden;border-radius:0;box-shadow:0 30px 90px rgba(5,30,52,.25);will-change:inset,border-radius,transform}.hero-reveal__media #banner,.hero-reveal__media #home-hero,.hero-reveal__media .carousel-items,.hero-reveal__media .carousel-item{height:100%!important;min-height:0!important}.hero-reveal__media #banner{width:100%;margin:0}.hero-reveal__media .banner-slide,#hero-reveal .hero-reveal__media #home-hero .banner-slide{background-size:cover!important;background-position:left center!important}.hero-reveal__media .banner-slide-video,#hero-reveal .hero-reveal__media #home-hero .banner-slide-video{object-fit:cover!important;object-position:left center!important}
.hero-reveal__cards{position:absolute;inset:0;z-index:2}
.hero-reveal__card{position:absolute;padding:clamp(16px,1.8vw,28px);border-radius:26px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:0 24px 55px rgba(17,49,70,.18);will-change:transform,opacity;background-image:var(--hero-card-image);background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-reveal__card:not(.hero-reveal__card--brand):before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.76) 100%);z-index:1;border-radius:26px}
.hero-reveal__card>span{position:relative;z-index:2;font-size:12px;font-weight:800;opacity:.85}
.hero-reveal__card>div{position:relative;z-index:2}
.hero-reveal__card h3{margin:0 0 6px;color:#fff;font-size:clamp(18px,1.5vw,22px);line-height:1.2;font-weight:700}
.hero-reveal__card p{margin:0;color:rgba(255,255,255,.88);font-size:clamp(11px,1vw,13px);line-height:1.5}

/* Specific Card Layouts & Backgrounds (Figma proportions) */
.hero-reveal__card--1{
    top: 6vh;
    left: 4vw;
    width: clamp(260px, 31vw, 450px);
    height: clamp(180px, 25vh, 260px);
    background-image: var(--hero-card-image, url('../../images/hero_card_car.png'));
}
.hero-reveal__card--2{
    top: 34vh;
    left: 12vw;
    width: clamp(200px, 23vw, 340px);
    height: clamp(180px, 25vh, 260px);
    background-image: var(--hero-card-image, url('../../images/hero_card_solar.png'));
}
.hero-reveal__card--3{
    top: 41vh;
    right: 12vw;
    width: clamp(200px, 23vw, 340px);
    height: clamp(160px, 22vh, 230px);
    background-color: #1f377f;
    background-image: var(--hero-card-image, linear-gradient(135deg, #d35400 0%, #e67e22 50%, #ba4a00 100%));
    justify-content: center;
    align-items: center;
    text-align: center;
}
.hero-reveal__card--4{
    bottom: clamp(80px, 10vh, 100px);
    right: 4vw;
    width: clamp(260px, 31vw, 450px);
    height: clamp(160px, 22vh, 230px);
    background-image: var(--hero-card-image, url('../../images/hero_card_container.png'));
}

.hero-reveal__card--brand {
    background-color: #f7f9fd;
    background-image: var(--hero-card-image), linear-gradient(135deg, #ffffff 0%, #eef2fb 100%);
    background-size: min(78%, 340px) auto, cover;
    background-position: center, center;
    border: 1px solid rgba(42, 64, 154, .12);
}

.hero-reveal__card--brand::before {
    content: none !important;
}

.hero-reveal__card:not(.hero-reveal__card--brand) {
    justify-content: flex-end;
}

.hero-reveal__card:not(.hero-reveal__card--brand) > div {
    width: 100%;
}

html[dir='rtl'] .hero-reveal__card:not(.hero-reveal__card--brand),
html[dir='rtl'] .hero-reveal__card:not(.hero-reveal__card--brand) > div {
    direction: rtl;
    text-align: right;
}

html[dir='ltr'] .hero-reveal__card:not(.hero-reveal__card--brand),
html[dir='ltr'] .hero-reveal__card:not(.hero-reveal__card--brand) > div {
    direction: ltr;
    text-align: left;
}

/* MGI Logo Container inside Card 3 */
.mgi-logo-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 100%;
}
.mgi-card-logo {
    width: clamp(65px, 7vw, 95px);
    height: auto;
    filter: brightness(0) invert(1);
    margin-bottom: 2px;
}
.mgi-card-text-en {
    font-size: clamp(9px, 0.9vw, 12px);
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
    opacity: 0.95;
}
.mgi-card-text-ar {
    font-size: clamp(10px, 1vw, 13px);
    font-weight: 600;
    color: #fff;
    direction: rtl;
    opacity: 0.95;
}

.hero-reveal__hint{position:absolute;z-index:8;bottom:25px;left:50%;display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:700;transform:translateX(-50%);text-shadow:0 2px 8px #000}.hero-reveal__hint i{display:block;width:1px;height:30px;background:#fff;animation:heroHint 1.5s ease-in-out infinite;transform-origin:top}@keyframes heroHint{0%,100%{transform:scaleY(.35);opacity:.5}50%{transform:scaleY(1);opacity:1}}

@media(max-width:991px){
    .hero-reveal{height:auto}
    .hero-reveal__sticky{position:relative;height:auto;min-height:0;padding-bottom:20px}
    .hero-reveal__media{position:relative;inset:auto;height:72vh;min-height:520px;border-radius:0;box-shadow:none}
    .hero-reveal__cards{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}
    .hero-reveal__card{position:relative;inset:auto!important;width:100%!important;height:220px!important;transform:none!important;opacity:1!important;background-image:none!important}
    .hero-reveal__card--3{background:linear-gradient(135deg, #d35400 0%, #e67e22 50%, #ba4a00 100%)!important}
    .hero-reveal__card:not(.hero-reveal__card--3){background:linear-gradient(145deg,#087d9c,#075273)}
    .hero-reveal__card--2{background:linear-gradient(145deg,#d99b28,#a95c18)}
    .hero-reveal__card--4{background:linear-gradient(145deg,#218a72,#075849)}
    .hero-reveal__card:not(.hero-reveal__card--3):before{display:none}
    .hero-reveal__hint{display:none}
}
@media(max-width:991px){
    .hero-reveal {
        height: 100vh !important;
        min-height: 100vh !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }
    .hero-reveal__sticky {
        position: relative !important;
        top: 0 !important;
        height: 100vh !important;
        min-height: 100vh !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }
    .hero-reveal__cards,
    .hero-reveal__hint {
        display: none !important;
    }
    .hero-reveal__media {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}
@media(prefers-reduced-motion:reduce){
    .hero-reveal{height:auto}
    .hero-reveal__sticky{position:relative;height:auto}
    .hero-reveal__media{position:relative;height:80vh}
    .hero-reveal__cards{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:14px}
    .hero-reveal__card{position:relative;inset:auto!important;width:100%!important;transform:none!important;opacity:1!important}
    .hero-reveal__hint{display:none}
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/scroll-five-cards.blade.php
   ========================================================================== */
/* Outer Sticky Scroll Track */
.lightship-section {
    position: relative;
    height: 380vh;
    background-color: var(--mgi-section-surface);
    color: #1e293b;
    isolation: isolate;
}

/* Sticky Stage Container */
.lightship-sticky-stage {
    position: sticky;
    top: 0;
    height: 100vh;
    min-height: 700px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: clamp(40px, 5vh, 70px);
    overflow: hidden;
}

/* Header Styling (Fixed High Z-Index 100 so cards slide under the title) */
.lightship-header {
    text-align: center;
    margin-bottom: clamp(15px, 2.5vw, 30px);
    z-index: 100;
    position: relative;
    pointer-events: none;
}

.lightship-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 10px;
}

.lightship-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #f47732;
    box-shadow: 0 0 10px rgba(244, 119, 50, 0.6);
}

.lightship-title {
    margin: 0;
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 800;
    color: #2a409a;
    letter-spacing: -0.02em;
}

/* Stacked Card Deck Outer Area */
.lightship-deck-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

/* Taller Portrait Rectangle Deck Dimensions (Aspect Ratio ~0.65) */
.lightship-deck {
    position: relative;
    width: clamp(340px, 32vw, 440px);
    height: clamp(500px, 60vh, 640px);
}

/* Stacked Cards Styling & Positioning */
.lightship-card {
    position: absolute;
    inset: 0;
    border-radius: 28px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 25px 65px rgba(15, 23, 42, 0.18), 0 5px 15px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.6);
    transform-origin: center top;
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s ease;
    will-change: transform, opacity;
}

.lightship-card-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.lightship-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 28px;
}

.lightship-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(42, 64, 154, 0.85) 0%, rgba(42, 64, 154, 0.25) 45%, rgba(42, 64, 154, 0) 100%);
    border-radius: 28px;
}

/* Card Bottom Content matching Figma 100% */
.lightship-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 32px 28px;
    z-index: 6;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.lightship-card-title {
    margin: 0 0 16px;
    font-size: clamp(24px, 2.2vw, 32px);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.lightship-card-action {
    display: flex;
}

.lightship-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 20px;
    border-radius: 100px;
    background: rgba(42, 64, 154, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
}

.lightship-read-more:hover {
    background: #ffffff;
    color: #2a409a;
    border-color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 255, 255, 0.2);
}

.lightship-arrow {
    width: 14px;
    height: 14px;
    transition: transform 0.3s ease;
}

[dir="rtl"] .lightship-read-more:hover .lightship-arrow {
    transform: translateX(-4px);
}

[dir="ltr"] .lightship-read-more:hover .lightship-arrow {
    transform: translateX(4px);
}

/* Responsive Styles */
@media (max-width: 768px) {
    .lightship-section {
        height: auto !important;
        min-height: 0 !important;
        padding: 46px 0 58px !important;
        overflow: hidden !important;
    }

    .lightship-sticky-stage {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .lightship-header {
        width: 100% !important;
        margin: 0 0 24px !important;
        padding: 0 20px !important;
    }

    .lightship-title {
        font-size: clamp(25px, 7vw, 32px) !important;
        line-height: 1.25 !important;
    }

    .lightship-deck-wrapper {
        display: block !important;
        width: 100% !important;
        overflow: visible !important;
    }

    .lightship-deck {
        position: relative !important;
        display: flex !important;
        gap: 16px !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 20px 18px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: 20px !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .lightship-deck::-webkit-scrollbar {
        display: none;
    }

    .lightship-card {
        position: relative !important;
        inset: auto !important;
        flex: 0 0 min(82vw, 340px) !important;
        width: min(82vw, 340px) !important;
        height: 470px !important;
        opacity: 1 !important;
        transform: none !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: always !important;
        border-radius: 24px !important;
        will-change: auto !important;
    }

    .lightship-card-img,
    .lightship-card-overlay {
        border-radius: 24px !important;
    }

    .lightship-card-content {
        padding: 25px 22px !important;
    }

    .lightship-card-title {
        font-size: 24px !important;
    }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/cacstat.blade.php
   ========================================================================== */
/* Full HD 100vh height */
.stats-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--mgi-section-surface);
    padding: clamp(60px, 8vh, 120px) 0;
    color: #1e293b;
    overflow: hidden;
    isolation: isolate;
}

.stats-container {
    width: min(1340px, 92vw);
    margin: 0 auto;
}

/* Header */
.stats-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto clamp(45px, 5vw, 75px);
}

.stats-eyebrow {
    display: inline-block;
    font-size: clamp(13px, 1.1vw, 15px);
    font-weight: 700;
    color: #f47732;
    letter-spacing: 0.04em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.stats-main-title {
    margin: 0 0 18px;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 800;
    color: #2a409a;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.stats-subtitle {
    margin: 0;
    font-size: clamp(15px, 1.35vw, 19px);
    font-weight: 500;
    color: #64748b;
    line-height: 1.7;
}

/* 4 Column Statistics Row Grid */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(20px, 3vw, 40px);
    align-items: center;
    justify-items: center;
}

.stat-card-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
}

.stat-number-wrap {
    margin-bottom: 12px;
}

/* Giant Gradient Number Styling matching Figma 100% */
.stat-number {
    display: inline-block;
    font-size: clamp(54px, 5.5vw, 84px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.03em;
    background: linear-gradient(135deg, #2a409a 0%, #f47732 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.stat-label {
    margin: 0;
    font-size: clamp(15px, 1.3vw, 19px);
    font-weight: 600;
    color: #475569;
    line-height: 1.4;
}

/* Responsive Grid */
@media (max-width: 991px) {
    .stats-section {
        min-height: auto;
        padding: 80px 0;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 20px;
    }
}

@media (max-width: 576px) {
    .stats-section {
        padding: 60px 0;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 16px;
    }

    .stat-number {
        font-size: 44px;
    }

    .stat-label {
        font-size: 14px;
    }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/branches.blade.php
   ========================================================================== */
.global-presence-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #2a409a;
    background-image: radial-gradient(circle at 30% 50%, #1c2d73 0%, #2a409a 75%);
    padding: clamp(50px, 6vh, 90px) 0;
    color: #ffffff;
    overflow: hidden;
    isolation: isolate;
}

.global-presence-shape {
    position: absolute;
    top: -25%;
    right: -9%;
    z-index: 0;
    width: min(31vw, 430px);
    max-width: none !important;
    height: auto;
    opacity: .72;
    pointer-events: none;
    user-select: none;
}

.global-presence-section[dir="ltr"] .global-presence-shape {
    right: auto;
    left: -9%;
    transform: scaleX(-1);
}

.global-presence-container {
    position: relative;
    z-index: 1;
    width: min(1380px, 94vw);
    margin: 0 auto;
}

.global-presence-grid {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: clamp(30px, 4vw, 70px);
    align-items: center;
}

[dir="ltr"] .global-presence-grid {
    grid-template-columns: 1fr 1.35fr;
}

/* Map Wrapper */
.global-map-wrapper {
    position: relative;
    width: 100%;
    border-radius: 24px;
    padding: 10px;
}

.global-map-inner {
    position: relative;
    width: 100%;
    /* Keep the overlay coordinate system identical to the 917x605 map asset. */
    aspect-ratio: 917 / 605;
    display: flex;
    align-items: center;
    justify-content: center;
}

.global-map-bg-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0.82;
    filter: drop-shadow(0 0 25px rgba(78, 110, 242, 0.2));
    user-select: none;
    pointer-events: none;
}

/* Map Pins */
.global-map-pins {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.global-map-pin {
    position: absolute;
    transform: translate(-50%, -50%);
    pointer-events: auto;
    cursor: pointer;
    z-index: 10;
    transition: z-index 0s;
}

/* CRITICAL FIX: Hovered or Active Pin gets top z-index so card floats over all pins */
.global-map-pin:hover,
.global-map-pin:focus-within,
.global-map-pin.is-active {
    z-index: 99999 !important;
}

.pin-dot {
    width: 13px;
    height: 13px;
    background-color: #f47732;
    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(244, 119, 50, 0.9), 0 0 20px rgba(244, 119, 50, 0.5);
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.28s ease, border-color 0.28s ease;
}

.global-map-pin:hover .pin-dot,
.global-map-pin.is-active .pin-dot {
    transform: scale(1.45);
    background-color: #ffffff;
    border-color: #f47732;
    box-shadow: 0 0 16px rgba(255, 255, 255, 1), 0 0 25px rgba(244, 119, 50, 0.8);
}

/* Yemen Glowing Ring Animation (وميض) */
.global-map-pin--yemen .pin-dot {
    background-color: #f47732;
    width: 15px;
    height: 15px;
    box-shadow: 0 0 16px #f47732, 0 0 30px #f47732;
}

.pin-pulse-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    margin-left: -14px;
    border-radius: 50%;
    border: 2px solid rgba(255, 69, 0, 0.85);
    animation: yemenPulseRing 2.2s infinite ease-out;
    pointer-events: none;
}

.pin-pulse-ring--delay {
    animation-delay: 1.1s;
}

@keyframes yemenPulseRing {
    0% {
        transform: scale(0.35);
        opacity: 1;
        border-color: rgba(255, 100, 30, 0.95);
    }
    100% {
        transform: scale(2.8);
        opacity: 0;
        border-color: rgba(255, 69, 0, 0);
    }
}

/* Glassmorphism Popup Card (Z-Index Fix & System Design Match) */
.pin-card-popup {
    position: absolute;
    bottom: calc(100% + 14px);
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    width: clamp(245px, 22vw, 295px);
    padding: 18px 20px;
    background: var(--glass-dark-bg, rgba(11, 19, 43, 0.88)) !important;
    backdrop-filter: var(--glass-blur-heavy, blur(24px) saturate(180%)) !important;
    -webkit-backdrop-filter: var(--glass-blur-heavy, blur(24px) saturate(180%)) !important;
    border: var(--glass-border-dark, 1.5px solid rgba(255, 255, 255, 0.25)) !important;
    border-radius: 20px !important;
    color: #ffffff;
    box-shadow: 0 30px 65px rgba(0, 0, 0, 0.55), 0 0 25px rgba(249, 115, 22, 0.18) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s ease;
    z-index: 100000 !important;
    text-align: right;
}

[dir="ltr"] .pin-card-popup {
    text-align: left;
}

.pin-card-popup::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px;
    border-style: solid;
    border-color: rgba(14, 22, 44, 0.88) transparent transparent transparent;
}

.global-map-pin:hover .pin-card-popup,
.global-map-pin:focus-within .pin-card-popup,
.global-map-pin.is-active .pin-card-popup {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.pin-card-header {
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    padding-bottom: 8px;
}

.pin-card-title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
}

.pin-card-address {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 10px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.5;
}

.pin-card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #f47732;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
    margin-top: 4px;
}

.pin-card-link:hover {
    color: #ffffff;
    text-decoration: underline;
}

.pin-card-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    stroke: currentColor;
    margin-top: 2px;
}

/* Right Content Area */
.global-presence-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.global-presence-eyebrow {
    display: inline-block;
    font-size: clamp(13px, 1.1vw, 15px);
    font-weight: 700;
    color: #f47732;
    letter-spacing: 0.04em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.global-presence-title {
    margin: 0 0 20px;
    font-size: clamp(30px, 3.4vw, 48px);
    font-weight: 800;
    line-height: 1.18;
    color: #ffffff;
    letter-spacing: -0.02em;
}

.global-presence-description {
    margin: 0 0 32px;
    font-size: clamp(14px, 1.25vw, 18px);
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.82);
    max-width: 560px;
}

.global-presence-action {
    display: flex;
}

.global-presence-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 30px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 100px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    background: transparent;
}

.global-presence-btn:hover {
    background: #ffffff;
    color: #2a409a;
    border-color: #ffffff;
    box-shadow: 0 10px 25px rgba(255, 255, 255, 0.2);
}

.global-btn-arrow {
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
}

[dir="rtl"] .global-presence-btn:hover .global-btn-arrow {
    transform: translateX(-4px);
}

[dir="ltr"] .global-presence-btn:hover .global-btn-arrow {
    transform: translateX(4px);
}

/* Responsive Media Queries */
@media (max-width: 991px) {
    .global-presence-section {
        min-height: auto;
        padding: 70px 0;
    }

    .global-presence-shape {
        top: -18%;
        right: -24%;
        width: 49vw;
        opacity: .5;
    }

    .global-presence-section[dir="ltr"] .global-presence-shape {
        right: auto;
        left: -24%;
    }

    .global-presence-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .global-map-inner {
        aspect-ratio: 917 / 605;
    }

    .pin-card-popup {
        width: 220px;
        padding: 12px 14px;
    }

    .global-presence-content {
        align-items: center;
        text-align: center;
    }

    .global-presence-description {
        max-width: 100%;
    }
}

@media (max-width: 576px) {
    .global-presence-section {
        padding: 50px 0;
    }

    .pin-dot {
        width: 10px;
        height: 10px;
    }

    .pin-card-popup {
        width: 190px;
        font-size: 11px;
    }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/cards.blade.php
   ========================================================================== */
.stripe-projects-section {
    position: relative;
    background-color: var(--mgi-section-surface);
    padding: clamp(60px, 7vh, 100px) 0;
    color: #1e293b;
    overflow: hidden;
    isolation: isolate;
}

.stripe-projects-container {
    width: min(1340px, 92vw);
    margin: 0 auto;
}

/* Header Row */
.stripe-projects-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: clamp(30px, 4vw, 45px);
    gap: 20px;
}

.stripe-projects-titles {
    display: flex;
    flex-direction: column;
}

.stripe-projects-title {
    margin: 0 0 8px;
    font-size: clamp(28px, 3.2vw, 44px);
    font-weight: 800;
    color: #1e293b;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.stripe-projects-subtitle {
    margin: 0;
    font-size: clamp(15px, 1.3vw, 20px);
    font-weight: 500;
    color: #64748b;
    line-height: 1.5;
}

/* Arrow Navigation Buttons */
.stripe-projects-nav {
    display: flex;
    align-items: center;
    gap: 10px;
}

.stripe-nav-btn {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background-color: rgba(42, 64, 154, 0.1);
    color: #2a409a;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.stripe-nav-btn svg {
    width: 20px;
    height: 20px;
}

.stripe-nav-btn:hover {
    background-color: #2a409a;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(42, 64, 154, 0.25);
}

/* Stripe Accordion Cards Wrapper */
.stripe-accordion-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: clamp(28px, 3.5vw, 40px);
}

.stripe-accordion-container {
    display: flex;
    gap: 12px;
    width: 100%;
    height: clamp(390px, 48vh, 490px);
    overflow: hidden;
}

/* Card Styling & Stripe Exact Flex Ratios & Smooth Transition */
.stripe-accordion-card {
    height: 100%;
    border-radius: 18px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: flex 0.85s cubic-bezier(0.19, 1, 0.22, 1), transform 0.4s ease;
    will-change: flex;
    box-shadow: none;
}

.stripe-accordion-card.is-active {
    cursor: default;
    box-shadow: none;
}

.stripe-card-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 18px;
}

/* Image fits centered in every slice (thin or wide) matching Stripe 100% */
.stripe-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 18px;
    pointer-events: none;
    user-select: none;
    transition: filter 0.4s ease;
    filter: brightness(0.95);
}

.stripe-accordion-card.is-active .stripe-card-img {
    filter: brightness(1);
}

.stripe-accordion-card:not(.is-active) .stripe-card-img {
    filter: brightness(0.9);
}

.stripe-card-overlay {
    display: none;
}

.stripe-accordion-card:hover:not(.is-active) {
    transform: translateY(-2px);
}

.stripe-accordion-card:hover:not(.is-active) .stripe-card-img {
    filter: brightness(0.94);
}

.stripe-card-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 8px 18px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease 0.15s, transform 0.4s ease 0.15s;
    white-space: nowrap;
}

[dir="ltr"] .stripe-card-badge {
    right: auto;
    left: 20px;
}

.stripe-accordion-card.is-active .stripe-card-badge {
    opacity: 1;
    transform: translateY(0);
}

/* Footer Row */
.stripe-projects-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.stripe-footer-text {
    flex: 1;
    max-width: 720px;
}

.stripe-footer-text p {
    margin: 0;
    font-size: clamp(14px, 1.25vw, 17px);
    line-height: 1.7;
    color: #475569;
    font-weight: 500;
    transition: opacity 0.3s ease;
}

.stripe-footer-action {
    display: flex;
    flex-shrink: 0;
}

.stripe-details-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 24px;
    border: 1.5px solid #cbd5e1;
    border-radius: 100px;
    color: #1e293b;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    background: #ffffff;
}

.stripe-details-btn:hover {
    border-color: #4f46e5;
    color: #4f46e5;
    box-shadow: 0 8px 22px rgba(79, 70, 229, 0.15);
    transform: translateY(-2px);
}

.stripe-btn-arrow {
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
}

[dir="rtl"] .stripe-details-btn:hover .stripe-btn-arrow {
    transform: translateX(-4px);
}

[dir="ltr"] .stripe-details-btn:hover .stripe-btn-arrow {
    transform: translateX(4px);
}

/* Responsive Media Queries */
@media (max-width: 991px) {
    .stripe-accordion-container {
        height: 380px;
        gap: 8px;
    }

    .stripe-projects-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }
}

@media (max-width: 640px) {
    .stripe-accordion-container {
        height: 340px;
        flex-direction: column;
        gap: 8px;
    }

    .stripe-accordion-card {
        width: 100%;
        min-width: 0;
        height: 55px;
    }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/partners.blade.php
   ========================================================================== */
.partners-section {
    position: relative;
    background-color: var(--mgi-section-surface);
    padding: clamp(120px, 6vh, 120px) 0;
    color: #1e293b;
    overflow: hidden;
}

.partners-container {
    width: min(1340px, 92vw);
    margin: 0 auto;
}

/* Header */
.partners-header {
    text-align: center;
    margin-bottom: clamp(35px, 4vw, 55px);
}

.partners-title {
    margin: 0;
    font-size: clamp(28px, 3.2vw, 42px);
    font-weight: 800;
    color: #2a409a;
    letter-spacing: -0.02em;
}

/* Carousel Outer Wrapper */
.partners-carousel-wrapper {
    width: 100%;
    position: relative;
}

/* Desktop 4 Columns Grid */
.partners-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(24px, 3.5vw, 44px) clamp(20px, 3vw, 40px);
    align-items: center;
    justify-items: center;
}

/* Individual Partner Item */
.partner-card-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 90px;
    padding: 6px;
}

/* Partners enter as a clear, one-time sequence instead of revealing the
   whole section at once. JS enables this state only when an observer exists. */
.partners-motion-ready .partners-title {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
}

.partners-motion-ready .partners-title.is-partner-revealed {
    animation: partner-title-reveal .58s var(--mgi-ease-emphasized) both;
}

.partners-motion-ready .partner-card-item:not(.partner-reveal-complete) {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(.94);
    will-change: opacity, transform;
}

.partners-motion-ready .partner-card-item.is-partner-revealed {
    animation: partner-logo-rise .78s var(--mgi-ease-emphasized) both;
    animation-delay: var(--partner-reveal-delay, 0ms);
}

@keyframes partner-title-reveal {
    from {
        opacity: 0;
        transform: translate3d(0, 14px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes partner-logo-rise {
    0% {
        opacity: 0;
        transform: translate3d(0, 34px, 0) scale(.94);
    }
    72% {
        opacity: 1;
        transform: translate3d(0, -3px, 0) scale(1.012);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

.partner-card-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: transparent;
    border-radius: 16px;
    transition: transform 0.35s ease;
}

.partner-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    cursor: pointer;
}

.partner-logo-img {
    max-height: 52px;
    max-width: 160px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%) opacity(0.55);
    transition: filter 0.38s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.38s ease, transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
}

.partner-brand-text {
    font-size: clamp(18px, 1.8vw, 24px);
    font-weight: 800;
    color: #64748b;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    filter: grayscale(100%) opacity(0.55);
    transition: filter 0.38s ease, color 0.38s ease, opacity 0.38s ease, transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
    user-select: none;
}

/* Desktop Hover effect */
.partner-card-item:hover .partner-logo-img {
    filter: grayscale(0%) opacity(1);
    transform: scale(1.08);
}

.partner-card-item:hover .partner-brand-text {
    filter: grayscale(0%) opacity(1);
    color: #2a409a;
    transform: scale(1.08);
}

/* Dots Controls (Hidden on Desktop) */
.partners-slider-controls {
    display: none;
}

/* Mobile View (Swipe & Auto-Play Carousel showing EXACTLY 2 logos per view with dots below) */
@media (max-width: 768px) {
    .partners-carousel-wrapper {
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        padding: 10px 0 !important;
    }

    .partners-carousel-wrapper::-webkit-scrollbar {
        display: none !important;
    }

    .partners-cards-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 16px !important;
        width: max-content !important;
        padding: 6px 12px !important;
        margin: 0 !important;
    }

    .partner-card-item {
        flex: 0 0 calc(46vw - 8px) !important;
        width: calc(46vw - 8px) !important;
        max-width: 170px !important;
        min-width: 135px !important;
        height: 76px !important;
        scroll-snap-align: start !important;
    }

    .partners-motion-ready .partner-card-item:not(.partner-reveal-complete) {
        transform: translate3d(0, 22px, 0) scale(.96);
    }

    .partners-motion-ready .partner-card-item.is-partner-revealed {
        animation-duration: .66s;
    }

    .partner-card-inner {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
    }

    .partner-logo-img {
        max-height: 48px;
        max-width: 125px;
        filter: grayscale(100%) opacity(0.75);
    }

    .partner-brand-text {
        font-size: 15px;
        font-weight: 800;
        color: #334155;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        filter: grayscale(100%) opacity(0.75);
    }

    .partners-slider-controls {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-top: 24px !important;
    }

    .partners-slider-dots {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    .partner-dot {
        position: relative;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background-color: #cbd5e1;
        cursor: pointer;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        touch-action: manipulation;
    }

    .partner-dot::after {
        content: '';
        position: absolute;
        top: -8px;
        bottom: -8px;
        left: -8px;
        right: -8px;
    }

    .partner-dot.active {
        width: 28px;
        border-radius: 12px;
        background-color: #f47732;
        box-shadow: 0 4px 12px rgba(244, 119, 50, 0.4);
    }
}

@media (prefers-reduced-motion: reduce) {
    .partners-motion-ready .partners-title,
    .partners-motion-ready .partner-card-item,
    .partners-motion-ready .partners-title.is-partner-revealed,
    .partners-motion-ready .partner-card-item.is-partner-revealed {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        will-change: auto;
    }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/news.blade.php
   ========================================================================== */
.news-section {
    position: relative;
    background-color: var(--mgi-section-surface);
    padding: clamp(60px, 8vh, 100px) 0;
    color: #1e293b;
    overflow: hidden;
}

.news-container {
    width: min(1340px, 92vw);
    margin: 0 auto;
}

/* Header Row */
.news-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: clamp(35px, 4vw, 55px);
    gap: 20px;
}

.news-titles {
    display: flex;
    flex-direction: column;
    max-width: 720px;
}

.news-eyebrow {
    display: inline-block;
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 700;
    color: #f47732;
    letter-spacing: 0.04em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.news-main-title {
    margin: 0 0 12px;
    font-size: clamp(28px, 3.2vw, 44px);
    font-weight: 800;
    color: #2a409a;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.news-subtitle {
    margin: 0;
    font-size: clamp(14px, 1.2vw, 17px);
    font-weight: 500;
    color: #64748b;
    line-height: 1.65;
}

/* Top View All Link */
.news-view-all-wrapper {
    display: flex;
    align-items: center;
    padding-top: 10px;
}

.news-view-all-link {
    font-size: 15px;
    font-weight: 700;
    color: #f47732;
    text-decoration: none;
    transition: color 0.25s ease, transform 0.25s ease;
}

.news-view-all-link:hover {
    color: #d95d1b;
    text-decoration: underline;
}

/* Carousel Outer Wrapper */
.news-carousel-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 10px 0;
}

.news-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
    width: 100%;
    padding: 14px 6px 22px;
    margin: -14px -6px -22px;
    transition: transform 0.5s ease;
}

/* Round Side Nav Buttons */
.news-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #ffffff;
    color: #f47732;
    border: 1px solid #e2e8f0;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
}

.news-nav-btn svg {
    width: 22px;
    height: 22px;
}

[dir="rtl"] .news-nav-prev {
    right: -22px;
}

[dir="rtl"] .news-nav-next {
    left: -22px;
}

[dir="ltr"] .news-nav-prev {
    left: -22px;
}

[dir="ltr"] .news-nav-next {
    right: -22px;
}

.news-nav-btn:hover {
    background-color: #f47732;
    color: #ffffff;
    border-color: #f47732;
    box-shadow: 0 8px 22px rgba(244, 119, 50, 0.3);
}

/* News Card Styling (Matching Figma 100%) */
.news-card {
    height: 100%;
}

.news-card-inner {
    height: 100%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    box-shadow: none !important;
    transform: none !important;
    transition: border-color 0.3s ease;
}

.news-card:hover .news-card-inner,
.news-card-inner:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: #cbd5e1;
}

.news-card-image-wrap {
    width: 100%;
    height: 210px;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 18px;
    position: relative;
}

.news-card-img-link {
    display: block;
    width: 100%;
    height: 100%;
}

.news-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    transition: transform 0.5s ease;
}

.news-card-inner:hover .news-card-img {
    transform: scale(1.04);
}

/* Card Body */
.news-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.news-card-date {
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 500;
    color: #94a3b8;
}

.news-card-title {
    margin: 0 0 12px;
    font-size: clamp(17px, 1.35vw, 20px);
    font-weight: 700;
    line-height: 1.4;
}

.news-card-title a {
    color: #2a409a;
    text-decoration: none;
    transition: color 0.25s ease;
}

.news-card-title a:hover {
    color: #f47732;
}

.news-card-excerpt {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.65;
    color: #64748b;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

.news-card-action {
    margin-top: auto;
}

.news-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #f47732;
    text-decoration: none;
    transition: color 0.25s ease;
}

.news-read-more-arrow {
    width: 16px;
    height: 16px;
    opacity: 0;
    transform: translateX(8px);
    transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

[dir="rtl"] .news-read-more-arrow {
    transform: translateX(-8px);
}

.news-card-inner:hover .news-read-more-arrow,
.news-read-more:hover .news-read-more-arrow {
    opacity: 1;
    transform: translateX(0);
    animation: newsArrowGentlePulse 1.4s infinite ease-in-out;
}

[dir="rtl"] .news-card-inner:hover .news-read-more-arrow,
[dir="rtl"] .news-read-more:hover .news-read-more-arrow {
    opacity: 1;
    transform: translateX(0);
    animation: newsArrowGentlePulseRtl 1.4s infinite ease-in-out;
}

@keyframes newsArrowGentlePulse {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(5px);
    }
}

@keyframes newsArrowGentlePulseRtl {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(-5px);
    }
}

/* Responsive Media Queries - Horizontal Swipe Carousel on Mobile */
@media (max-width: 991px) {
    .news-cards-grid {
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .news-carousel-wrapper {
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        padding: 10px 0 !important;
    }

    .news-carousel-wrapper::-webkit-scrollbar {
        display: none !important;
    }

    .news-cards-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 16px !important;
        width: max-content !important;
        padding: 10px 16px !important;
        margin: 0 !important;
    }

    .news-card {
        width: 82vw !important;
        max-width: 320px !important;
        flex-shrink: 0 !important;
        scroll-snap-align: center !important;
    }

    .news-nav-btn {
        display: none !important;
    }

    .news-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* Dots & Mobile Nav Styling */
.news-slider-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
}

.news-slider-dots {
    display: flex;
    align-items: center;
    gap: 8px;
}

.news-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #cbd5e1;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.news-dot.active {
    width: 28px;
    border-radius: 12px;
    background-color: #f47732;
    box-shadow: 0 4px 12px rgba(244, 119, 50, 0.4);
}

.news-mobile-nav-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #f8fafc;
    color: #1e293b;
    border: 1px solid #e2e8f0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.news-mobile-nav-btn:hover,
.news-mobile-nav-btn:active {
    background-color: #f47732;
    color: #ffffff;
    border-color: #f47732;
    box-shadow: 0 6px 16px rgba(244, 119, 50, 0.3);
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/services.blade.php
   ========================================================================== */
.services-icon-demo,
.services-icon-demo * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

.services-icon-demo {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            background: linear-gradient(135deg, #f8fafc 0%, #e0e7ff 50%, #e0f2fe 100%);
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

.services-icon-demo header {
            background: linear-gradient(90deg, #4f46e5 0%, #2563eb 100%);
            color: white;
            padding: 2rem 1rem;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        }

.services-icon-demo .header-container {
            max-width: 1280px;
            margin: 0 auto;
            padding: 0 1rem;
        }

.services-icon-demo h1 {
            font-size: 2.25rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
        }

.services-icon-demo .header-subtitle {
            font-size: 1.125rem;
            color: #e0e7ff;
        }

.services-icon-demo main {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem 1rem;
        }

.services-icon-demo .container {
            max-width: 1280px;
            margin: 0 auto;
            width: 100%;
        }

.services-icon-demo .ecosystem-section {
            width: 100%;
            padding: 2rem 1rem;
            background: linear-gradient(135deg, #f8fafc 0%, #e0e7ff 50%, #e0f2fe 100%);
        }

.services-icon-demo .section-title {
            text-align: center;
            margin-bottom: 3rem;
        }

.services-icon-demo .section-title h2 {
            font-size: 2.25rem;
            font-weight: 700;
            color: #1e293b;
            margin-bottom: 1rem;
        }

.services-icon-demo .section-title p {
            font-size: 1.125rem;
            color: #475569;
        }

.services-icon-demo .icon-grid-wrapper {
            max-width: 600px;
            margin: 0 auto;
            position: relative;
        }

.services-icon-demo .icon-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1rem;
            position: relative;
            z-index: 1;
        }

.services-icon-demo .icon-item {
            aspect-ratio: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 2px solid #e2e8f0;
            border-radius: 0.5rem;
            background: white;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
            opacity: 0;
            transition: all 0.3s ease;
            cursor: default;
            min-height: 100px;
        }

.services-icon-demo .icon-item.empty {
            border-color: transparent;
            background: transparent;
            box-shadow: none;
        }

.services-icon-demo .icon-item svg {
            width: 3rem;
            height: 3rem;
            stroke-width: 1.5;
            color: #cbd5e1;
        }

.services-icon-demo footer {
            background: #0f172a;
            color: #cbd5e1;
            padding: 2rem 1rem;
            margin-top: 3rem;
            text-align: center;
        }

.services-icon-demo .footer-text {
            font-size: 0.875rem;
        }

        @media (max-width: 768px) {
            .services-icon-demo h1 {
                font-size: 1.875rem;
            }

            .services-icon-demo .header-subtitle {
                font-size: 1rem;
            }

            .services-icon-demo .section-title h2 {
                font-size: 1.875rem;
            }

            .services-icon-demo .icon-grid {
                gap: 0.75rem;
            }

            .services-icon-demo .icon-item svg {
                width: 2.5rem;
                height: 2.5rem;
            }
        }

        /* SVG Icons - Using inline SVG */
        .services-icon-demo .icon-svg {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
        }


/* ==========================================================================
   Centralized Blade CSS: resources/views/partials/footer.blade.php
   ========================================================================== */
/* Footer Navigation Links Professional Hover Animation */
.footer-menu-link {
    display: inline-flex;
    align-items: center;
    color: #cbd5e1 !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, color;
}

.footer-menu-link::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #f47732;
    margin-inline-end: 8px;
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.footer-menu-link:hover {
    color: #f47732 !important;
}

[dir="rtl"] .footer-menu-link:hover {
    transform: translateX(-6px);
}

[dir="ltr"] .footer-menu-link:hover {
    transform: translateX(6px);
}

.footer-menu-link:hover::before {
    opacity: 1;
    transform: scale(1);
}

/* Footer Category Titles */
.footer-title-link {
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none !important;
    transition: color 0.25s ease, transform 0.25s ease;
}

.footer-title-link:hover {
    color: #f47732 !important;
}

/* Social Icons Hover */
.footer-social-link {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-social-link:hover {
    background-color: #f47732 !important;
    border-color: #f47732 !important;
    color: #ffffff !important;
    transform: translateY(-4px) scale(1.08);
    box-shadow: 0 8px 20px rgba(244, 119, 50, 0.35);
}

/* Legal Links Hover */
.footer-legal-link {
    color: #cbd5e1 !important;
    text-decoration: none !important;
    transition: color 0.25s ease, transform 0.25s ease;
    display: inline-block;
}

.footer-legal-link:hover {
    color: #f47732 !important;
    transform: translateY(-2px);
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/pages/contactus.blade.php
   ========================================================================== */
.contact-page {
    --contact-navy: var(--cac-navy, #26286d);
    --contact-navy-dark: var(--cac-navy-dark, #13183e);
    --contact-gold: var(--cac-gold, #da9e27);
    --contact-light: var(--cac-light, #f0f6fc);
    --contact-muted: #5d637d;
    background:
        linear-gradient(180deg, rgba(38, 40, 109, 0.05), rgba(218, 158, 39, 0.06)),
        #f8f9ff;
}

.contact-shell {
    position: relative;
    overflow: hidden;
}

.contact-shell::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 0;
    height: 230px;
    background: var(--contact-navy);
    opacity: 0.05;
    pointer-events: none;
}

.contact-info-panel,
.contact-form-panel {
    position: relative;
    height: 100%;
    border: 1px solid rgba(38, 40, 109, 0.1);
    border-radius: 8px;
    background: #fff;
    box-shadow: -5px 28px 75px rgba(38, 40, 109, 0.12);
}

.contact-info-panel {
    display: flex;
    flex-direction: column;
    padding: 44px;
    color: #fff;
    background:
        linear-gradient(145deg, rgba(19, 24, 62, 0.98), rgba(38, 40, 109, 0.94)),
        var(--contact-navy);
}

.contact-info-panel::after {
    content: "";
    position: absolute;
    inset-inline: 24px;
    top: 24px;
    height: 4px;
    border-radius: 8px;
    background: var(--contact-gold);
}

.contact-info-panel h2,
.contact-form-head h2 {
    margin: 8px 0 14px;
    color: inherit;
    font-size: 32px;
    line-height: 1.25;
    letter-spacing: 0;
}

.contact-info-panel p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, 0.76);
    line-height: 1.8;
}

.contact-kicker {
    display: inline-flex;
    width: fit-content;
    color: var(--contact-gold);
    font-size: 13px;
    font-weight: 800;
}

.contact-info-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.contact-info-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 15px;
    border: 1px solid rgba(218, 158, 39, 0.22);
    border-radius: 8px;
    color: inherit;
    background: rgba(255, 255, 255, 0.07);
    text-decoration: none;
}

[dir="rtl"] .contact-info-item {
    flex-direction: row;
    text-align: right;
}

[dir="ltr"] .contact-info-item {
    flex-direction: row;
    text-align: left;
}

[dir="rtl"] .contact-info-icon {
    order: 0;
}

[dir="rtl"] .contact-info-item > span:not(.contact-info-icon) {
    order: 1;
}

[dir="ltr"] .contact-info-icon {
    order: 0;
}

[dir="ltr"] .contact-info-item > span:not(.contact-info-icon) {
    order: 1;
}

.contact-info-item:hover {
    color: #fff;
    background: rgba(218, 158, 39, 0.12);
}

.contact-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    color: var(--contact-navy);
    background: var(--contact-gold);
}

.contact-info-icon svg {
    width: 22px;
    height: 22px;
}

.contact-info-item small {
    display: block;
    margin-bottom: 2px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 12px;
}

.contact-info-item strong {
    display: block;
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
    word-break: break-word;
}

.contact-phone-list {
    display: grid !important;
    gap: 3px;
}

.contact-phone-list a {
    width: fit-content;
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.contact-phone-list a:hover,
.contact-phone-list a:focus-visible {
    color: var(--contact-gold);
}

.contact-form-panel {
    padding: 44px;
    border-top: 4px solid var(--contact-gold);
}

.contact-form-head {
    margin-bottom: 28px;
}

.contact-form-head h2 {
    color: var(--contact-navy);
}

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

.contact-field span {
    display: block;
    margin-bottom: 8px;
    color: var(--contact-navy);
    font-size: 13px;
    font-weight: 800;
}

.contact-field input,
.contact-field textarea {
    width: 100%;
    border: 1px solid rgba(38, 40, 109, 0.15);
    border-radius: 8px;
    padding: 14px 16px;
    color: var(--contact-navy-dark);
    background: #fbfcff;
    font-size: 15px;
    line-height: 1.5;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.contact-field textarea {
    resize: vertical;
    min-height: 158px;
}

.contact-field input:focus,
.contact-field textarea:focus {
    outline: none;
    border-color: var(--contact-gold);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(218, 158, 39, 0.18);
}

.contact-acceptance {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 4px 0 22px;
    color: var(--contact-muted);
    font-size: 13px;
    line-height: 1.7;
}

.contact-acceptance input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: var(--contact-gold);
}

.contact-acceptance a {
    color: var(--contact-navy);
    font-weight: 800;
}

.contact-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 176px;
    min-height: 52px;
    border: 0;
    border-radius: 8px;
    padding: 14px 24px;
    color: var(--contact-navy);
    background: var(--contact-gold);
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}

.contact-submit:hover {
    background: #c68d1f;
    transform: translateY(-1px);
}

.contact-submit:disabled {
    cursor: wait;
    opacity: 0.68;
    transform: none;
}

.contact-response {
    min-height: 24px;
    color: var(--contact-muted);
    font-size: 14px;
    font-weight: 800;
}

.contact-response.is-success {
    color: var(--contact-navy);
}

.contact-response.is-error {
    color: #b42318;
}

.contact-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media (max-width: 991px) {
    .contact-info-panel,
    .contact-form-panel {
        padding: 28px;
    }
}

@media (max-width: 575px) {
    .contact-info-panel,
    .contact-form-panel {
        padding: 22px;
    }

    .contact-info-panel h2,
    .contact-form-head h2 {
        font-size: 26px;
    }

    .contact-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-submit {
        width: 100%;
    }
}

/* Contact page — MGI design-system refresh */
.contact-page {
    --contact-navy: var(--mgi-color-primary-700, #2a409a);
    --contact-navy-dark: var(--mgi-color-primary-950, #111b4d);
    --contact-gold: var(--mgi-color-accent-600, #f47732);
    --contact-light: #f7f9fd;
    --contact-muted: #687593;
    overflow: hidden;
    background: var(--contact-light);
}
.contact-container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.contact-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 390px;
    color: #fff;
    background:
        radial-gradient(circle at 16% 24%, rgba(244,119,50,.28), transparent 34%),
        linear-gradient(120deg, #17245f 0%, #2a409a 58%, #3651b5 100%);
}
.contact-hero::before,
.contact-hero::after { content: ""; position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; pointer-events: none; }
.contact-hero::before { width: 560px; height: 560px; right: -170px; bottom: -370px; }
.contact-hero::after { width: 360px; height: 360px; left: -190px; top: -230px; }
.contact-hero__inner { display: flex; min-height: 390px; align-items: center; justify-content: space-between; gap: 50px; }
.contact-hero__copy { position: relative; z-index: 2; width: 100%; }
.contact-hero__eyebrow { display: inline-flex; margin-bottom: 16px; padding: 7px 13px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,255,255,.1); color: #ffd1b7; font-size: 13px; font-weight: 700; backdrop-filter: blur(10px); }
.contact-hero h1 { margin: 0 0 16px; color: #fff; font-size: clamp(42px, 5.2vw, 72px); font-weight: 800; letter-spacing: -.04em; line-height: 1.12; }
.contact-hero p { max-width: 580px; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(15px, 1.25vw, 18px); line-height: 1.9; }
.contact-hero__meta { display: inline-flex; margin-top: 28px; align-items: center; gap: 9px; color: #fff; font-size: 13px; font-weight: 700; }
.contact-hero__meta-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--contact-gold); box-shadow: 0 0 0 6px rgba(244,119,50,.18); }
.contact-hero__visual { position: relative; flex: 0 0 330px; width: 330px; height: 260px; }
.contact-hero__visual { display: none; }
.contact-hero__ring { position: absolute; display: block; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; transform: rotate(-20deg); }
.contact-hero__ring--one { inset: 15px 0 0 35px; }
.contact-hero__ring--two { inset: 45px 35px 35px 0; border-color: rgba(244,119,50,.72); }
.contact-hero__visual-mark { position: absolute; inset: 0; display: grid; place-items: center; color: #ffb28d; font-size: 94px; text-shadow: 0 12px 35px rgba(8,18,66,.34); }
.contact-shell { position: relative; z-index: 2; padding: 52px 0 110px; }
.contact-layout { display: grid !important; grid-template-columns: minmax(290px, .78fr) minmax(0, 1.22fr); gap: 24px; margin: 0 !important; }
.contact-info-column, .contact-form-column { width: auto !important; max-width: none !important; padding: 0 !important; }
.contact-info-panel, .contact-form-panel { border: 1px solid rgba(42,64,154,.12); border-radius: 22px; box-shadow: 0 24px 70px rgba(20,37,92,.12); }
.contact-info-panel { min-height: 100%; padding: 38px; background: linear-gradient(145deg, #17245f, #2a409a); }
.contact-info-panel::after { inset-inline: 38px; top: 28px; height: 3px; background: var(--contact-gold); }
.contact-info-list { margin-top: 30px; }
.contact-info-item { padding: 14px; border-color: rgba(255,255,255,.17); border-radius: 14px; background: rgba(255,255,255,.09); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.contact-info-item:hover { border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.15); transform: translateY(-2px); }
.contact-info-icon { border-radius: 12px; color: #fff; background: rgba(244,119,50,.94); }
.contact-form-panel { padding: clamp(28px, 4vw, 48px); border-top: 0; background: rgba(255,255,255,.94); }
.contact-form-head { margin-bottom: 30px; }
.contact-form-head h2 { margin-top: 10px; font-size: clamp(28px, 3vw, 42px); }
.contact-field span { margin-bottom: 9px; color: var(--contact-navy-dark); font-size: 13px; }
.contact-field input, .contact-field textarea { border-color: rgba(42,64,154,.16); border-radius: 12px; background: #f9faff; }
.contact-field input:hover, .contact-field textarea:hover { border-color: rgba(42,64,154,.35); }
.contact-field input:focus, .contact-field textarea:focus { border-color: var(--contact-gold); box-shadow: 0 0 0 4px rgba(244,119,50,.14); }
.contact-submit { min-height: 52px; border-radius: 999px; color: #fff; background: linear-gradient(135deg, #f47732, #ff965f); box-shadow: 0 12px 24px rgba(244,119,50,.24); transition: transform .25s ease, box-shadow .25s ease; }
.contact-submit:hover { color: #fff; background: linear-gradient(135deg, #e96727, #f47732); box-shadow: 0 16px 30px rgba(244,119,50,.3); transform: translateY(-2px); }

@media (max-width: 991px) {
    .contact-hero__inner { min-height: 350px; }
    .contact-hero__copy { width: 100%; }
    .contact-hero__visual { position: absolute; right: -55px; opacity: .42; }
    .contact-shell { padding-top: 36px; }
    .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
    .contact-container { width: min(100% - 28px, 520px); }
    .contact-hero { min-height: 345px; }
    .contact-hero__inner { min-height: 345px; }
    .contact-hero__copy { text-align: start; }
    .contact-hero h1 { font-size: 39px; }
    .contact-hero__visual { right: -145px; transform: scale(.78); transform-origin: center right; }
    .contact-shell { padding-top: 28px; }
    .contact-layout { margin-top: 0 !important; }
    .contact-info-panel, .contact-form-panel { border-radius: 18px; padding: 24px; }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/pages/sectors.blade.php
   ========================================================================== */
.sectors-page {
    --sectors-blue: #2a409a;
    --sectors-orange: #f47732;
    --sectors-ink: #172554;
    --sectors-bg: #f5f7fb;
    width: 100%;
    overflow: clip;
    background: var(--sectors-bg);
    color: var(--sectors-ink);
}
.sectors-motion-hero { position: relative; height: 100vh; min-height: 720px; overflow: hidden; background: var(--sectors-bg); }
.sectors-motion-stage {
    position: relative;
    top: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "deck copy";
    align-items: center;
    width: 100%;
    height: 100vh;
    min-height: 720px;
    padding: 118px clamp(42px, 7vw, 135px) 42px;
    isolation: isolate;
    overflow: hidden;
    direction: ltr;
}
html[dir="ltr"] .sectors-motion-stage { grid-template-areas: "copy deck"; }
.sectors-page[dir="rtl"] .sectors-motion-stage { grid-template-areas: "deck copy"; }
.sectors-page[dir="ltr"] .sectors-motion-stage { grid-template-areas: "copy deck"; }
.sectors-motion-shape {
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    width: 58%;
    background: linear-gradient(145deg, #f7d0bd 0%, #f6d8ca 100%);
    clip-path: polygon(0 0, 100% 0, 67% 73%, 0 97%);
}
html[dir="ltr"] .sectors-motion-shape { left: auto; right: 0; transform: scaleX(-1); }
.sectors-page[dir="ltr"] .sectors-motion-shape { left: auto; right: 0; transform: scaleX(-1); }
.sectors-page[dir="rtl"] .sectors-motion-shape { left: 0; right: auto; transform: none; }
.sectors-motion-copy { grid-area: copy; position: relative; z-index: 8; width: min(100%, 620px); justify-self: center; direction: rtl; text-align: right; }
html[dir="ltr"] .sectors-motion-copy { direction: ltr; text-align: left; }
.sectors-page[dir="rtl"] .sectors-motion-copy { direction: rtl; text-align: right; }
.sectors-page[dir="ltr"] .sectors-motion-copy { direction: ltr; text-align: left; }
.sectors-breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 34px; color: var(--sectors-orange); font-size: 14px; }
.sectors-breadcrumb a { color: inherit; text-decoration: none; }
.sectors-kicker { margin: 0 0 12px; color: var(--sectors-orange); font-size: 15px; font-weight: 700; }
.sectors-motion-copy h1 { margin: 0; color: var(--sectors-blue); font-size: clamp(48px, 5.3vw, 82px); font-weight: 800; line-height: 1.08; letter-spacing: -.035em; }
.sectors-lead { max-width: 570px; margin: 24px 0 0; color: #5f6b85; font-size: clamp(16px, 1.25vw, 20px); line-height: 1.85; }
.sectors-motion-deck {
    position: absolute;
    z-index: 6;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.sectors-motion-card {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: min(26vw, 350px);
    height: min(47vh, 455px);
    border-radius: 13px;
    overflow: hidden;
    background: #dfe5ee;
    box-shadow: 0 28px 65px rgba(30, 50, 100, .24);
    transform-origin: 0 0;
    will-change: transform;
    pointer-events: auto;
}
.sectors-motion-card:hover,
.sectors-motion-card.is-hovered {
    /* GSAP writes an inline z-index while arranging the cards. The active
       card must still rise above adjacent cards so its CTA is reachable. */
    z-index: 100 !important;
}
.sectors-page[dir="rtl"] .sectors-motion-card-label { direction: rtl; }
.sectors-motion-card img, .sectors-grid-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.sectors-card-shade, .sectors-grid-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(5,15,42,.72) 100%); }
.sectors-motion-card-label, .sectors-grid-label {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 64px;
    padding: 12px 18px;
    border: 1px solid rgba(255,255,255,.52);
    border-radius: 9px;
    background: linear-gradient(135deg, rgba(255,255,255,.28), rgba(209,221,244,.16));
    -webkit-backdrop-filter: blur(16px) saturate(145%);
    backdrop-filter: blur(16px) saturate(145%);
    color: #fff;
    box-shadow:
        inset 0 1px rgba(255,255,255,.42),
        0 8px 24px rgba(7,18,49,.16);
    overflow: hidden;
    z-index: 3;
    pointer-events: auto;
    cursor: pointer;
    transition: background .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.sectors-motion-card-label::before, .sectors-grid-label::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.23) 48%, transparent 76%);
    transform: translateX(-120%);
    transition: transform .65s cubic-bezier(.2,.75,.25,1);
    pointer-events: none;
}
.sectors-motion-card-label strong, .sectors-grid-label strong { position: relative; z-index: 1; font-size: clamp(15px, 1.15vw, 19px); font-weight: 600; line-height: 1.35; }
.sectors-motion-card-label svg, .sectors-grid-label svg {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: var(--sectors-orange);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .35s cubic-bezier(.2,.8,.2,1), stroke .3s ease;
}
.sectors-motion-card:hover img, .sectors-grid-card:hover img { transform: scale(1.045); }
.sectors-motion-card:hover .sectors-motion-card-label,
.sectors-grid-card:hover .sectors-grid-label {
    border-color: rgba(255,255,255,.76);
    background: linear-gradient(135deg, rgba(42,64,154,.52), rgba(244,119,50,.34));
    box-shadow: inset 0 1px rgba(255,255,255,.5), 0 12px 30px rgba(7,18,49,.24);
    transform: translateY(-2px);
}
.sectors-motion-card.is-hovered .sectors-motion-card-label,
.sectors-motion-card-label.is-hovered,
.sectors-grid-card.is-hovered .sectors-grid-label,
.sectors-grid-label.is-hovered {
    border-color: rgba(255,255,255,.76);
    background: linear-gradient(135deg, rgba(42,64,154,.52), rgba(244,119,50,.34));
    box-shadow: inset 0 1px rgba(255,255,255,.5), 0 12px 30px rgba(7,18,49,.24);
    transform: translateY(-2px);
}
.sectors-motion-card.is-hovered .sectors-motion-card-label::before,
.sectors-motion-card-label.is-hovered::before,
.sectors-grid-card.is-hovered .sectors-grid-label::before,
.sectors-grid-label.is-hovered::before { transform: translateX(120%); }
.sectors-motion-card.is-hovered .sectors-motion-card-label svg,
.sectors-motion-card-label.is-hovered svg,
.sectors-grid-card.is-hovered .sectors-grid-label svg,
.sectors-grid-label.is-hovered svg { stroke: #fff; }
.sectors-page[dir="rtl"] .sectors-motion-card.is-hovered .sectors-motion-card-label svg,
.sectors-page[dir="rtl"] .sectors-motion-card-label.is-hovered svg { transform: translateX(-6px); }
.sectors-page[dir="ltr"] .sectors-motion-card.is-hovered .sectors-motion-card-label svg,
.sectors-page[dir="ltr"] .sectors-motion-card-label.is-hovered svg { transform: translateX(6px); }
/* Keep the CTA interactive when the pointer lands directly on the label. */
.sectors-motion-card-label:hover,
.sectors-motion-card-label:focus-visible,
.sectors-grid-label:hover,
.sectors-grid-label:focus-visible {
    border-color: rgba(255,255,255,.76);
    background: linear-gradient(135deg, rgba(42,64,154,.52), rgba(244,119,50,.34));
    box-shadow: inset 0 1px rgba(255,255,255,.5), 0 12px 30px rgba(7,18,49,.24);
    transform: translateY(-2px);
}
.sectors-motion-card-label:hover::before,
.sectors-motion-card-label:focus-visible::before,
.sectors-grid-label:hover::before,
.sectors-grid-label:focus-visible::before { transform: translateX(120%); }
.sectors-motion-card-label:hover svg,
.sectors-motion-card-label:focus-visible svg,
.sectors-grid-label:hover svg,
.sectors-grid-label:focus-visible svg { stroke: #fff; }
.sectors-page[dir="rtl"] .sectors-motion-card-label:hover svg,
.sectors-page[dir="rtl"] .sectors-motion-card-label:focus-visible svg,
.sectors-page[dir="rtl"] .sectors-grid-label:hover svg,
.sectors-page[dir="rtl"] .sectors-grid-label:focus-visible svg { transform: translateX(-6px); }
.sectors-page[dir="ltr"] .sectors-motion-card-label:hover svg,
.sectors-page[dir="ltr"] .sectors-motion-card-label:focus-visible svg,
.sectors-page[dir="ltr"] .sectors-grid-label:hover svg,
.sectors-page[dir="ltr"] .sectors-grid-label:focus-visible svg { transform: translateX(6px); }
.sectors-motion-card:hover .sectors-motion-card-label::before,
.sectors-grid-card:hover .sectors-grid-label::before { transform: translateX(120%); }
.sectors-page[dir="rtl"] .sectors-motion-card:hover .sectors-motion-card-label svg,
.sectors-page[dir="rtl"] .sectors-grid-card:hover .sectors-grid-label svg { transform: translateX(-6px); stroke: #fff; }
.sectors-page[dir="ltr"] .sectors-motion-card:hover .sectors-motion-card-label svg,
.sectors-page[dir="ltr"] .sectors-grid-card:hover .sectors-grid-label svg { transform: translateX(6px); stroke: #fff; }
.sectors-scroll-cue { position: absolute; bottom: 22px; left: 50%; display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--sectors-blue); font-size: 12px; font-weight: 600; transform: translateX(-50%); }
.sectors-scroll-cue i { display: block; width: 1px; height: 34px; background: currentColor; animation: sectorsCue 1.5s ease-in-out infinite; transform-origin: top; }
@keyframes sectorsCue { 0%,100% { transform: scaleY(.35); opacity: .4; } 50% { transform: scaleY(1); opacity: 1; } }
.sectors-final-heading {
    position: absolute;
    z-index: 5;
    top: clamp(118px, 15vh, 155px);
    right: 24px;
    left: 24px;
    direction: rtl;
    text-align: center;
    opacity: 0;
    transform: translateY(28px);
    pointer-events: none;
}
@media (min-width: 992px) {
    .sectors-final-heading { top: 20px; }
    .sectors-final-heading span { margin-bottom: 4px; font-size: 12px; }
    .sectors-final-heading h2 { font-size: clamp(30px, 2.4vw, 40px); }
}
html[dir="ltr"] .sectors-final-heading { direction: ltr; }
.sectors-final-heading span { display: block; margin-bottom: 8px; color: var(--sectors-orange); font-size: 14px; font-weight: 700; }
.sectors-final-heading > span { display: none; }
.sectors-final-heading h2 { margin: 0; color: var(--sectors-blue); font-size: clamp(40px, 4.4vw, 64px); font-weight: 800; line-height: 1.15; }
.sectors-final-targets {
    position: absolute;
    z-index: 1;
    top: clamp(285px, 34vh, 340px);
    right: 50%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 1.5vw, 24px);
    width: min(1320px, calc(100% - 96px));
    transform: translateX(50%);
    pointer-events: none;
}
.sectors-final-target { display: block; width: 100%; aspect-ratio: .77; border-radius: 12px; visibility: hidden; }
.sectors-mobile-slider-dots { display: none; }
.sectors-listing { position: relative; z-index: 10; padding: clamp(90px, 11vw, 160px) 0 clamp(100px, 12vw, 180px); background: var(--sectors-bg); }
.sectors-container { width: min(1320px, calc(100% - 48px)); margin: 0 auto; }
.sectors-section-heading { margin-bottom: 58px; text-align: center; }
.sectors-section-heading span { display: block; margin-bottom: 10px; color: var(--sectors-orange); font-size: 14px; font-weight: 700; }
.sectors-section-heading h2 { margin: 0; color: var(--sectors-blue); font-size: clamp(38px, 4.4vw, 64px); font-weight: 800; line-height: 1.15; }
.sectors-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.sectors-grid-card { position: relative; display: block; aspect-ratio: .76; border-radius: 12px; overflow: hidden; background: #dfe5ee; box-shadow: 0 20px 50px rgba(31,49,96,.13); }
.sectors-grid-label { min-height: 58px; right: 14px; bottom: 14px; left: 14px; padding: 10px 14px; }

@media (max-width: 991px) {
    .sectors-motion-hero { height: 100vh; min-height: 720px; }
    .sectors-motion-stage { grid-template-columns: 1fr; grid-template-rows: auto 1fr; grid-template-areas: "copy" "deck"; align-content: start; min-height: 100svh; padding: 112px 20px 24px; }
    html[dir="ltr"] .sectors-motion-stage { grid-template-areas: "copy" "deck"; }
    .sectors-motion-shape { width: 100%; height: 58%; bottom: auto; clip-path: polygon(0 0, 100% 0, 100% 74%, 0 100%); }
    html[dir="ltr"] .sectors-motion-shape { transform: none; }
    .sectors-motion-copy { width: 100%; text-align: center; }
    .sectors-breadcrumb { justify-content: center; margin-bottom: 16px; font-size: 12px; }
    .sectors-kicker { font-size: 13px; }
    .sectors-motion-copy h1 { font-size: clamp(36px, 10vw, 52px); }
    .sectors-lead { max-width: 520px; margin: 14px auto 0; font-size: 14px; line-height: 1.7; }
    .sectors-motion-card { width: min(72vw, 310px); height: min(45vh, 405px); }
    .sectors-scroll-cue { display: none; }
    .sectors-final-heading { top: 116px; }
    .sectors-final-heading h2 { font-size: clamp(32px, 8vw, 46px); }
    .sectors-final-targets { top: 235px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; width: min(680px, calc(100% - 32px)); }
    .sectors-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 575px) {
    .sectors-motion-hero { height: 100vh; min-height: 680px; }
    .sectors-motion-stage { padding-top: 108px; }
    .sectors-motion-card { width: min(72vw, 285px); height: min(40vh, 360px); }
    .sectors-final-heading { top: 108px; }
    .sectors-final-targets { top: 220px; gap: 10px; width: calc(100% - 24px); }
    .sectors-listing { padding-top: 80px; }
    .sectors-container { width: min(100% - 28px, 520px); }
    .sectors-section-heading { margin-bottom: 34px; }
    .sectors-section-heading h2 { font-size: 34px; }
    .sectors-grid { grid-template-columns: 1fr; gap: 18px; }
    .sectors-grid-card { aspect-ratio: 1 / 1.16; }
}
@media (max-width: 768px) {
    .sectors-motion-hero { height: auto; min-height: 0; }
    .sectors-motion-stage {
        position: relative;
        top: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        height: auto;
        min-height: 100svh;
        padding: 110px 0 64px;
        overflow: hidden;
    }
    .sectors-motion-shape { height: 47%; }
    .sectors-motion-copy { display: none; }
    .sectors-final-heading {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        order: 2;
        margin: 26px 20px 24px;
        opacity: 1;
        transform: none;
    }
    .sectors-final-heading span { margin-bottom: 5px; }
    .sectors-final-heading h2 { font-size: clamp(30px, 9vw, 42px); }
    .sectors-page .sectors-motion-deck {
        position: relative;
        inset: auto;
        order: 3;
        display: flex !important;
        flex-flow: row nowrap !important;
        gap: 16px !important;
        width: 100% !important;
        height: auto;
        padding: 10px 16px 24px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: 16px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        touch-action: pan-x;
        pointer-events: auto;
    }
    .sectors-page[dir="rtl"] .sectors-motion-deck { direction: rtl; }
    .sectors-page[dir="ltr"] .sectors-motion-deck { direction: ltr; }
    .sectors-motion-deck::-webkit-scrollbar { display: none; }
.sectors-page .sectors-motion-card {
        position: relative !important;
        top: auto;
        left: auto;
        flex: 0 0 82vw !important;
        width: 82vw !important;
        max-width: 320px !important;
        height: auto;
        aspect-ratio: .77;
        border-radius: 13px;
        transform: none !important;
        scroll-snap-align: center !important;
        scroll-snap-stop: always;
        will-change: auto;
    }
    .sectors-final-targets, .sectors-scroll-cue { display: none; }
    .sectors-mobile-slider-dots {
        order: 4;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 18px;
        margin-top: 4px;
    }
    .sectors-mobile-slider-dot {
        display: block;
        width: 9px;
        height: 9px;
        padding: 0;
        border: 0;
        border-radius: 999px;
        background: #cbd5e1;
        cursor: pointer;
        transition: width .3s cubic-bezier(.16,1,.3,1), background-color .3s ease, box-shadow .3s ease;
    }
    .sectors-mobile-slider-dot.is-active {
        width: 28px;
        background: var(--sectors-orange);
        box-shadow: 0 4px 12px rgba(244,119,50,.36);
    }
}
@media (prefers-reduced-motion: reduce) {
    /* Keep the hero's layout space even when animation is reduced; otherwise
       its absolute cards can visually fall behind the footer. */
    .sectors-motion-hero { height: 100vh; min-height: 720px; }
    .sectors-motion-stage { position: relative; min-height: 720px; }
    .sectors-motion-card { will-change: auto; }
    .sectors-scroll-cue i { animation: none; }
}


/* ==========================================================================
   Centralized Blade CSS: resources/views/master.blade.php
   ========================================================================== */
@font-face {
		    font-family: 'PingAR';
		    src: url('../fonts/PingAR-Light.otf') format('opentype');
		    font-weight: 300;
		    font-style: normal;
		    font-display: swap;
		}
		@font-face {
		    font-family: 'PingAR';
		    src: url('../fonts/PingAR-Regular.otf') format('opentype');
		    font-weight: 400;
		    font-style: normal;
		    font-display: swap;
		}
		@font-face {
		    font-family: 'PingAR';
		    src: url('../fonts/PingAR-Medium.otf') format('opentype');
		    font-weight: 500;
		    font-style: normal;
		    font-display: swap;
		}
		@font-face {
		    font-family: 'PingAR';
		    src: url('../fonts/PingAR-Bold.otf') format('opentype');
		    font-weight: 600;
		    font-style: normal;
		    font-display: swap;
		}
		@font-face {
		    font-family: 'PingAR';
		    src: url('../fonts/PingAR-Bold.otf') format('opentype');
		    font-weight: 700;
		    font-style: normal;
		    font-display: swap;
		}
		@font-face {
		    font-family: 'PingAR';
		    src: url('../fonts/PingAR-Heavy.otf') format('opentype');
		    font-weight: 800;
		    font-style: normal;
		    font-display: swap;
		}
		@font-face {
		    font-family: 'PingAR';
		    src: url('../fonts/PingAR-Black.otf') format('opentype');
		    font-weight: 900;
		    font-style: normal;
		    font-display: swap;
		}

		:root {
		    --lqd-body-font-family: 'PingAR', system-ui, -apple-system, sans-serif !important;
		    --lqd-heading-font-family: 'PingAR', system-ui, -apple-system, sans-serif !important;
		}

		html, body,
		h1, h2, h3, h4, h5, h6,
		p, a, span, div, li, ul, ol, dt, dd,
		button, input, select, textarea, label,
		strong, b, em, small, sub, sup,
		section, article, header, footer, main, nav, aside,
		.ld-fancy-heading, .ld-fancy-heading h1, .ld-fancy-heading h2, .ld-fancy-heading h3, .ld-fancy-heading h4, .ld-fancy-heading h5, .ld-fancy-heading h6,
		.figma-hero-title, .figma-hero-subtitle, .figma-kicker-text, .figma-hero-explore-btn,
		[class*="title"], [class*="heading"], [class*="text"], [class*="card"], [class*="btn"] {
		    font-family: 'PingAR', system-ui, -apple-system, sans-serif !important;
		}

i, .fa, [class*="icon"], [class*="fa-"], [class*="lqd-icn"], svg, path {
		    font-family: inherit;
		}

/* ========================================================================== 
   Semantic shell utilities replacing static inline styles
   ========================================================================== */
#site-header {
    position: absolute;
    z-index: 1000;
    inset: 0 0 auto;
    background: transparent;
}
.main-header-floating-container { width: 100%; padding: 0; background: transparent; }
#site-header .glassmorphism-header-bar {
    width: 100%;
    min-height: 90px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(242,246,255,.88));
    -webkit-backdrop-filter: blur(28px) saturate(200%);
    backdrop-filter: blur(28px) saturate(200%);
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
.site-header-inner { padding-inline: clamp(24px, 4vw, 64px); }
.site-header-logo-slot { flex-shrink: 0; order: 1; }
.site-header-nav-slot { flex-shrink: 1; order: 2; }
html[dir="rtl"] .site-header-logo-slot { order: 2; }
html[dir="rtl"] .site-header-nav-slot { order: 1; }
.site-header-logo { display: block; width: auto; max-width: 180px; height: 60px; object-fit: contain; }
#site-header .main-nav { gap: clamp(10px, 1.4vw, 24px); }
.attached-actions-nav-item {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin-inline: 16px;
}
.attached-actions-nav-item .header-v-divider { min-width: 1px; height: 16px; margin-inline: 10px; vertical-align: middle; background-color: rgba(30,43,76,.35); }
.attached-actions-nav-item .ld-module-search,
.attached-actions-nav-item .ld-module-trigger,
.attached-actions-nav-item .ld-module-trigger-icon { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; color: #1e2b4c; }
.header-search-icon { width: 16px; height: 16px; }
.header-search-submit-icon { width: 15px; height: 15px; }
#search-header-top.glassmorphism-dropdown-panel { z-index: 9999; width: 280px; padding: 14px; }

/* Keep desktop language switcher and search trigger on one horizontal line. */
@media (min-width: 1200px) {
    #site-header .main-nav > li.attached-actions-nav-item {
        display: inline-flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;
        gap: 0 !important;
        width: auto !important;
        min-width: max-content !important;
        height: 32px !important;
        margin: 0 16px !important;
        padding: 0 !important;
        line-height: 1 !important;
    }
    #site-header .main-nav > li.attached-actions-nav-item > .header-lang-switch-btn,
    #site-header .main-nav > li.attached-actions-nav-item > .header-v-divider,
    #site-header .main-nav > li.attached-actions-nav-item > .ld-module-search {
        position: relative;
        flex: 0 0 auto !important;
        align-self: center !important;
        margin-block: 0 !important;
    }
    #site-header .main-nav > li.attached-actions-nav-item .header-lang-switch-btn {
        display: inline-flex !important;
        width: auto !important;
        min-height: 28px !important;
        padding: 0 4px !important;
    }
    #site-header .main-nav > li.attached-actions-nav-item .header-v-divider {
        display: block !important;
        width: 1px !important;
        min-width: 1px !important;
        height: 18px !important;
        margin: 0 10px !important;
    }
    #site-header .main-nav > li.attached-actions-nav-item .ld-module-search,
    #site-header .main-nav > li.attached-actions-nav-item .ld-module-trigger,
    #site-header .main-nav > li.attached-actions-nav-item .ld-module-trigger-icon {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: 28px !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
    }
}

/* Shared glass action: use on primary CTAs in all current and future pages. */
.mgi-glass-action {
    position: relative !important;
    isolation: isolate;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 46px;
    padding: 11px 26px !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: var(--mgi-radius-button) !important;
    background: linear-gradient(135deg, rgba(42,64,154,.72), rgba(244,119,50,.28)) !important;
    -webkit-backdrop-filter: blur(16px) saturate(150%) !important;
    backdrop-filter: blur(16px) saturate(150%) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.42), 0 10px 28px rgba(19,31,79,.2) !important;
    color: #fff !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    transition: transform .3s var(--mgi-ease-standard), border-color .3s ease, background .3s ease, box-shadow .3s ease !important;
}
.mgi-glass-action::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.26) 48%, transparent 76%);
    transform: translateX(-125%);
    transition: transform .65s var(--mgi-ease-standard);
    pointer-events: none;
}
.mgi-glass-action > span,
.mgi-glass-action > svg { position: relative; z-index: 1; }
.mgi-glass-action svg,
.mgi-glass-action [class*="arrow"] {
    opacity: 1 !important;
    color: var(--mgi-color-accent-500) !important;
    stroke: currentColor !important;
    transition: transform .32s var(--mgi-ease-emphasized), color .25s ease !important;
}
.mgi-glass-action:hover {
    border-color: rgba(255,255,255,.82) !important;
    background: linear-gradient(135deg, rgba(42,64,154,.9), rgba(244,119,50,.55)) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.52), 0 14px 34px rgba(19,31,79,.28) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}
.mgi-glass-action:hover::before { transform: translateX(125%); }
html[dir="rtl"] .mgi-glass-action:hover svg,
html[dir="rtl"] .mgi-glass-action:hover [class*="arrow"] { color: #fff !important; transform: translateX(-5px) !important; }
html[dir="ltr"] .mgi-glass-action:hover svg,
html[dir="ltr"] .mgi-glass-action:hover [class*="arrow"] { color: #fff !important; transform: translateX(5px) !important; }
.mgi-glass-action--compact { min-height: 40px; padding: 8px 18px !important; font-size: 13px !important; }

.home-section-spacer { width: 100%; height: clamp(80px, 12vh, 140px); background-color: var(--mgi-section-surface); }
.cta-section-spacing { padding-block: 120px !important; }
.content-title-rtl { text-align: right; }
.report-cover-frame { height: 230px; }
.partner-card-frame { border: 1px solid rgba(229,229,229,.5); }
.error-code-display { font-size: clamp(72px, 12vw, 160px); line-height: 1; }
.dynamic-page-hero {
    background-image: var(--page-hero-image, none);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}
.dynamic-counter-icon { width: 60px; height: 60px; object-fit: contain; }
.dynamic-hero-background { background-image: var(--dynamic-hero-image, none); background-repeat: no-repeat; background-position: left center; background-size: cover; }
.dynamic-slide-background { background-image: var(--dynamic-slide-image, none); background-repeat: no-repeat; background-position: center; background-size: cover; }
/* Keep the home hero copy aligned to the same desktop grid as the header. */
@media (min-width:1024px){
    html[dir="rtl"] #home-hero .hero-text-wrapper {
        /* 1560px is the effective desktop header content width. */
        width:min(680px,calc(100% - 48px)) !important;
        max-width:min(680px,calc(100% - 48px)) !important;
        /* Align the Arabic copy with the "الرئيسية" edge in the header. */
        margin-right:max(145px,calc((100vw - 1560px)/2)) !important;
        margin-left:auto !important;
        padding-inline:0 !important;
        text-align:right !important;
    }
    html[dir="ltr"] #home-hero .hero-text-wrapper {
        width:min(680px,calc(100% - 48px)) !important;
        max-width:min(680px,calc(100% - 48px)) !important;
        /* Align the English copy with the logo edge in the header. */
        margin-left:max(24px,calc((100vw - 1560px)/2)) !important;
        margin-right:auto !important;
        padding-inline:0 !important;
        text-align:left !important;
    }
}
@media (max-width:1023px){
    html[dir="rtl"] .hero-text-wrapper { padding-right:24px; padding-left:20px; }
    html[dir="ltr"] .hero-text-wrapper { padding-right:20px; padding-left:24px; }
}
.dynamic-partner-logo { background-image: var(--partner-logo-image, none); }
.global-map-pin { top: var(--branch-top); left: var(--branch-left); }
.lqd-fb-hover-overlay { background-image: var(--service-overlay, none); }

#site-footer.main-footer {
    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
    padding: clamp(72px, 7vw, 108px) 0 30px;
    border-radius: 0;
    background:
        radial-gradient(circle at 8% 18%, rgba(40, 96, 219, .36), transparent 32%),
        radial-gradient(circle at 86% 42%, rgba(21, 67, 160, .18), transparent 28%),
        linear-gradient(118deg, #0b347f 0%, #082865 48%, #041a4d 100%);
    color: #fff;
    font-family: inherit;
}
.main-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .16;
    pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, .22) .7px, transparent .7px);
    background-size: 10px 10px;
    mask-image: linear-gradient(90deg, #000, transparent 48%, #000);
}
.site-footer-brand-pattern {
    position: absolute;
    inset-block-start: 55px;
    inset-inline-end: -80px;
    z-index: -1;
    width: 390px;
    aspect-ratio: 1;
    opacity: .075;
    background: url('/images/shape.svg') center / contain no-repeat;
    pointer-events: none;
}
.site-footer-container {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: min(1510px, calc(100% - 80px));
    margin-inline: auto;
}
.site-footer-grid {
    display: grid;
    grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(38px, 4vw, 66px);
    margin-bottom: clamp(48px, 5vw, 74px);
}
.site-footer-brand {
    display: flex;
    min-height: 330px;
    padding-inline: 0;
    align-items: center;
    flex-direction: column;
    border-inline-end: 0;
    text-align: center;
}
.site-footer-logo-wrap { width: 100%; margin-bottom: 24px; }
.site-footer-logo {
    display: block;
    width: min(184px, 100%);
    height: auto;
    max-height: 210px;
    margin-inline: auto;
    object-fit: contain;
}
#site-footer .site-footer-brand-copy {
    max-width: 270px;
    margin: 0;
    color: rgba(255, 255, 255, .76) !important;
    font-size: 16px;
    line-height: 1.95;
}
.site-footer-socials {
    display: flex;
    width: 100%;
    margin-top: 30px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: nowrap;
}
.footer-social-icon { width: 17px; height: 17px; fill: currentColor; }
.site-footer-navigation {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 38px clamp(20px, 2.5vw, 42px);
    padding-top: 12px;
}
.site-footer-menu-column { min-width: 0; }
#site-footer .site-footer-title {
    position: relative;
    margin: 0 0 28px;
    padding-bottom: 15px;
    color: #fff !important;
    font-size: clamp(15px, 1.05vw, 17px);
    font-weight: 800;
    line-height: 1.35;
}
.site-footer-title::after {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: 0;
    width: 43px;
    height: 2px;
    border-radius: 2px;
    background: #f47732;
}
.site-footer-menu-list {
    display: flex;
    margin: 0;
    padding: 0;
    flex-direction: column;
    gap: 16px;
    list-style: none;
}
#site-footer .footer-title-link { color: inherit !important; font-size: inherit; font-weight: inherit; }
#site-footer .footer-menu-link {
    display: flex;
    width: 100%;
    max-width: 260px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: rgba(255, 255, 255, .77) !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
    text-decoration: none !important;
    transition: color .25s ease, transform .25s ease;
}
#site-footer .footer-menu-link::before { display: none; content: none; }
.footer-menu-link svg {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .25s ease;
}
#site-footer .footer-menu-link:hover { color: #fff !important; }
[dir="rtl"] #site-footer .footer-menu-link:hover { transform: translateX(-4px); }
[dir="ltr"] #site-footer .footer-menu-link:hover { transform: translateX(4px); }
#site-footer .footer-menu-link:hover svg { color: #f47732; transform: translateX(-3px); }
[dir="ltr"] #site-footer .footer-menu-link:hover svg { transform: translateX(3px); }
#site-footer .footer-social-link {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: var(--mgi-radius-button, 10px);
    place-items: center;
    color: #fff;
    background: rgba(255, 255, 255, .015);
    text-decoration: none;
    transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}
#site-footer .footer-social-link:hover,
#site-footer .footer-social-link:focus-visible {
    border-color: #f47732 !important;
    background: #f47732 !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}
.site-footer-newsletter {
    position: relative;
    display: grid;
    min-height: 150px;
    padding: 28px clamp(28px, 4vw, 66px);
    overflow: hidden;
    grid-template-columns: minmax(360px, 420px) minmax(0, 1fr);
    grid-template-areas: "copy form";
    align-items: center;
    gap: clamp(24px, 2.5vw, 38px);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 12px;
    background: linear-gradient(100deg, rgba(19, 63, 153, .3), rgba(5, 30, 82, .18));
    direction: ltr;
}
html[dir="rtl"] #site-footer .site-footer-newsletter {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
    grid-template-areas: "form copy";
}
html[dir="ltr"] #site-footer .site-footer-newsletter {
    grid-template-columns: minmax(360px, 420px) minmax(0, 1fr);
    grid-template-areas: "copy form";
}
.site-footer-newsletter-map {
    position: absolute;
    inset-block: 8px;
    right: -20px;
    width: 38%;
    opacity: .11;
    background: url('/images/world-map-white.png') center / contain no-repeat;
    pointer-events: none;
}
.site-footer-newsletter-copy {
    position: relative;
    z-index: 1;
    grid-area: copy;
    display: flex;
    align-items: center;
    gap: 26px;
}
.site-footer-newsletter-copy > div {
    padding-inline-end: 25px;
    border-inline-end: 2px solid #f47732;
}
.site-footer-newsletter-icon {
    position: relative;
    display: grid;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 50%;
    place-items: center;
    background: rgba(29, 82, 190, .8);
}
.site-footer-newsletter-icon svg { width: 29px; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linejoin: round; }
.site-footer-newsletter-icon i { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; width: 8px; height: 8px; border-radius: 50%; background: #f47732; }
#site-footer .site-footer-newsletter-copy h2 { margin: 0 0 8px; color: #fff !important; font-size: 16px; font-weight: 800; }
#site-footer .site-footer-newsletter-copy p { max-width: 310px; margin: 0; color: rgba(255,255,255,.72) !important; font-size: 14px; line-height: 1.7; }
.site-footer-newsletter-form-wrap { position: relative; z-index: 2; grid-area: form; width: 100%; }
html[dir="rtl"] #site-footer .site-footer-newsletter-copy,
html[dir="rtl"] #site-footer .site-footer-newsletter-form-wrap { direction: rtl; text-align: right; }
html[dir="ltr"] #site-footer .site-footer-newsletter-copy,
html[dir="ltr"] #site-footer .site-footer-newsletter-form-wrap { direction: ltr; text-align: left; }
.site-footer-form {
    display: flex;
    width: 100%;
    min-height: 66px;
    padding: 5px;
    align-items: center;
    border: 2px solid rgba(255, 255, 255, .76);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(0, 12, 48, .14);
}
.site-footer-input {
    width: 100%;
    min-width: 0;
    padding: 10px 24px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #1e293b;
    font-size: 16px;
    text-align: start;
}
.site-footer-input::placeholder { color: #8a91a4; opacity: 1; }
.site-footer-submit {
    min-width: 190px;
    align-self: stretch;
    padding: 10px 25px;
    border: 0;
    border-radius: 7px;
    background: linear-gradient(120deg, #ff8a43, #f47732);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .22s ease, transform .22s ease;
}
.site-footer-submit:hover { background: #db5c19; transform: translateY(-1px); }
.site-footer-submit:disabled { cursor: wait; opacity: .72; }
.newsletter-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; }
.site-footer-newsletter-status { min-height: 22px; margin: 9px 0 0; font-size: 13px; font-weight: 600; line-height: 1.55; }
.site-footer-newsletter-status.is-success { color: #b9f6d0; }
.site-footer-newsletter-status.is-error { color: #ffd2c4; }
html[dir="rtl"] #site-footer .site-footer-input { direction: rtl; text-align: right; }
html[dir="ltr"] #site-footer .site-footer-input { direction: ltr; text-align: left; }
.site-footer-divider { width: 100%; margin: 34px 0 28px; border-top: 0px solid rgba(255,255,255,.22); }
.site-footer-bottom {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto minmax(190px, 1fr);
    align-items: center;
    gap: 28px;
    color: rgba(255,255,255,.74);
    font-size: 14px;
}
.site-footer-legal { display: flex; align-items: center; gap: 24px; }
.site-footer-legal > span { width: 1px; height: 22px; background: rgba(255,255,255,.3); }
#site-footer .footer-legal-link { color: rgba(255,255,255,.76) !important; }
#site-footer .footer-legal-link:hover { color: #fff !important; transform: none; }
#site-footer .site-footer-copyright { margin: 0; color: rgba(255,255,255,.76) !important; text-align: center; white-space: nowrap; }
.site-footer-powered { display: flex; align-items: center; justify-content: flex-end; gap: 10px; white-space: nowrap; }

/* Search results: restrained secondary action on every result card. */
.search-result-read-more { display: inline-flex; min-height: 38px; margin-top: 18px; padding: 8px 17px; align-items: center; justify-content: center; border: 1px solid #2f459f; border-radius: 8px; background: #fff; color: #2f459f; font-size: 13px; font-weight: 700; line-height: 1; text-decoration: none; transition: background-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease; }
.search-result-read-more:hover { background: #2f459f; color: #fff; transform: translateY(-2px); box-shadow: 0 9px 20px rgba(47,69,159,.18); }
.search-result-read-more:focus-visible { outline: 3px solid rgba(244,119,50,.45); outline-offset: 3px; }

@media (max-width: 1199px) {
    .site-footer-container { width: min(100% - 48px, 1120px); }
    .site-footer-grid { grid-template-columns: 220px minmax(0, 1fr); gap: 36px; }
    .site-footer-navigation { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 24px; }
    .site-footer-newsletter { gap: 28px; }
    html[dir="rtl"] #site-footer .site-footer-newsletter { grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); }
    html[dir="ltr"] #site-footer .site-footer-newsletter { grid-template-columns: minmax(320px, 380px) minmax(0, 1fr); }
    .site-footer-bottom { grid-template-columns: 1fr auto 1fr; gap: 18px; }
}

@media (max-width: 900px) {
    #site-footer.main-footer { padding-top: 68px; }
    .site-footer-grid { grid-template-columns: 1fr; }
    .site-footer-brand { min-height: 0; padding: 0 0 42px; border-inline-end: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
    .site-footer-logo { width: min(184px, 70%); }
    .site-footer-navigation { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .site-footer-newsletter { grid-template-columns: 1fr !important; grid-template-areas: "copy" "form" !important; }
    .site-footer-newsletter-map { width: 64%; opacity: .075; }
    .site-footer-bottom { grid-template-columns: 1fr 1fr; }
    .site-footer-copyright { order: 3; grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    #site-footer.main-footer { padding: 54px 0 24px; border-radius: 0; }
    .site-footer-container { width: calc(100% - 32px); }
    .site-footer-brand-pattern { width: 280px; inset-inline-end: -120px; }
    .site-footer-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 26px; }
    #site-footer .site-footer-title { margin-bottom: 25px; font-size: 17px; }
    .site-footer-menu-list { gap: 16px; }
    #site-footer .footer-menu-link { font-size: 14px; }
    .site-footer-newsletter { padding: 26px 20px; gap: 26px; }
    .site-footer-newsletter-copy { gap: 16px; }
    .site-footer-newsletter-copy > div { padding-inline-end: 16px; }
    .site-footer-newsletter-icon { width: 50px; height: 50px; flex-basis: 50px; }
    .site-footer-form { min-height: 54px; }
    .site-footer-submit { min-width: 110px; padding-inline: 18px; }
    .site-footer-input { padding-inline: 13px; font-size: 14px; }
    .site-footer-bottom { display: flex; flex-direction: column; gap: 20px; text-align: center; }
    .site-footer-legal { justify-content: center; flex-wrap: wrap; }
    .site-footer-powered { justify-content: center; }
    #site-footer .site-footer-copyright { white-space: normal; }
}

@media (max-width: 430px) {
    .site-footer-navigation { grid-template-columns: 1fr; }
    .site-footer-newsletter-copy { align-items: flex-start; }
    .site-footer-form { flex-direction: column; padding: 6px; }
    .site-footer-input { min-height: 48px; }
    .site-footer-submit { width: 100%; min-height: 46px; }
}

@media (max-width: 1199px) {
    #site-header { position: absolute; }
}

/* ========================================================================== */
/* About Al-Moraisi page                                                       */
/* ========================================================================== */
.about-redesign {
    --about-navy: var(--mgi-color-primary-700, #2f459f);
    --about-blue: var(--mgi-color-primary-600, #3149aa);
    --about-orange: var(--mgi-color-accent-600, #f47732);
    --about-ink: #182d70;
    --about-muted: #64718f;
    --about-surface: #f7f9fd;
    --about-hero-bg: none;
    --about-line: rgba(34, 57, 125, .13);
    width: 100%;
    overflow: hidden;
    background: var(--about-surface);
    color: var(--about-ink);
    font-family: inherit;
}

.about-redesign *,
.about-redesign *::before,
.about-redesign *::after { box-sizing: border-box; }

.about-redesign__container {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.about-redesign h1,
.about-redesign h2,
.about-redesign h3,
.about-redesign p,
.about-redesign figure { margin: 0; }

.about-redesign img { display: block; max-width: 100%; }

.about-redesign__hero {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: clamp(560px, 66vw, 730px);
    padding-block: clamp(130px, 11vw, 175px) 80px;
    overflow: hidden;
    background-image:
        var(--about-hero-bg),
        radial-gradient(circle at 18% 42%, rgba(255,255,255,.76), transparent 26%),
        linear-gradient(112deg, #d9c6c2 0%, #dadde9 42%, #8796ca 100%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.about-redesign__hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .42;
    /* Keep the soft lower fade, but remove the vertical grid lines over the
       hero image so the uploaded artwork remains clean and uninterrupted. */
    background: linear-gradient(180deg, transparent 70%, rgba(255,255,255,.86));
}

.about-redesign__hero::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: -1px;
    z-index: 3;
    height: 150px;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent, var(--about-surface) 92%);
}

.about-redesign__hero-glow {
    position: absolute;
    inset-inline-start: -4%;
    top: 12%;
    width: 48%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(255,255,255,.28);
    filter: blur(40px);
}

.about-redesign__hero-symbol {
    position: absolute;
    left: clamp(5%, 9vw, 12%);
    right: auto;
    top: 47%;
    z-index: 1;
    width: clamp(290px, 32vw, 500px);
    transform: translateY(-50%) rotate(-2deg);
    filter: drop-shadow(0 38px 30px rgba(21, 32, 77, .28));
}

.about-redesign__hero-symbol::after {
    content: "";
    position: absolute;
    right: 9%;
    bottom: -8%;
    left: 9%;
    height: 12%;
    border-radius: 50%;
    background: rgba(18, 28, 67, .22);
    filter: blur(17px);
}

.about-redesign__hero-symbol img { width: 100%; }

.about-redesign__hero-layout {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    direction: ltr;
}

.about-redesign__hero-copy {
    width: min(470px, 44%);
}

html[dir="rtl"] .about-redesign__hero-symbol {
    right: auto;
    left: clamp(5%, 9vw, 12%);
}

html[dir="ltr"] .about-redesign__hero-symbol {
    right: clamp(5%, 9vw, 12%);
    left: auto;
}

html[dir="rtl"] .about-redesign__hero-copy {
    margin-right: 0;
    margin-left: auto;
    direction: rtl;
    text-align: right;
}

html[dir="ltr"] .about-redesign__hero-copy {
    margin-right: auto;
    margin-left: 0;
    direction: ltr;
    text-align: left;
}

.about-redesign__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 500;
}

.about-redesign__breadcrumb a { color: inherit; transition: color .25s ease; }
.about-redesign__breadcrumb a:hover { color: var(--about-orange); }

.about-redesign__hero h1 {
    color: #fff;
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.1;
    text-shadow: 0 8px 25px rgba(30, 42, 87, .16);
}

.about-redesign__intro { padding-block: clamp(80px, 9vw, 130px); }

.about-redesign__intro-grid {
    display: grid;
    grid-template-columns: minmax(320px, .88fr) minmax(380px, 1fr);
    grid-template-areas: "media copy";
    align-items: center;
    gap: clamp(70px, 10vw, 150px);
    direction: ltr;
}

.about-redesign__intro-media { grid-area: media; }
.about-redesign__intro-grid > .about-redesign__copy-block { grid-area: copy; }

.about-redesign__media {
    position: relative;
    overflow: hidden;
    border-radius: 7px;
    background: #dfe5ef;
    box-shadow: 0 24px 60px rgba(20, 39, 92, .13);
}

.about-redesign__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(9, 22, 61, .42), transparent 45%);
    pointer-events: none;
}

.about-redesign__intro-media { width: min(100%, 405px); justify-self: center; aspect-ratio: 4 / 4.65; }
.about-redesign__intro-media > img { width: 100%; height: 100%; object-fit: cover; }

.about-redesign__play {
    position: absolute;
    z-index: 2;
    inset-inline-start: 20px;
    bottom: 18px;
    display: grid;
    width: 45px;
    height: 45px;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: var(--about-blue);
    box-shadow: 0 8px 24px rgba(17, 33, 84, .25);
}

.about-redesign__play svg { width: 22px; fill: currentColor; }
.about-redesign__media figcaption { position: absolute; z-index: 2; inset-inline-start: 78px; bottom: 30px; color: #fff; font-size: 13px; font-weight: 700; }

.about-redesign__copy-block { direction: inherit; text-align: start; }
html[dir="rtl"] .about-redesign__copy-block { direction: rtl; }
html[dir="ltr"] .about-redesign__copy-block { direction: ltr; }

.about-redesign__eyebrow {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--about-orange);
    font-size: 14px;
    font-weight: 700;
}

.about-redesign__copy-block h2,
.about-redesign__chairman-copy h2 {
    margin-bottom: 22px;
    color: var(--about-ink);
    font-size: clamp(31px, 3.2vw, 48px);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.2;
}

.about-redesign__copy-block p,
.about-redesign__chairman-copy p {
    color: var(--about-muted);
    font-size: clamp(15px, 1.15vw, 18px);
    line-height: 2;
}

.about-redesign__pillars {
    position: relative;
    isolation: isolate;
    padding-block: clamp(95px, 10vw, 150px);
    overflow: hidden;
    background: var(--about-navy);
    color: #fff;
}

.about-redesign__pillars::before {
    display: none;
}

.about-redesign__brand-corner {
    display: none;
}

.about-redesign__pillars-shape {
    position: absolute;
    left: -7%;
    right: auto;
    top: -2%;
    z-index: 0;
    width: min(38vw, 520px);
    height: auto;
    opacity: .28;
    pointer-events: none;
    user-select: none;
}

.about-redesign__pillars-inner { position: relative; z-index: 1; display: grid; gap: clamp(90px, 12vw, 160px); }

.about-redesign__pillar-row {
    display: grid;
    grid-template-columns: minmax(320px, .92fr) minmax(340px, 1fr);
    grid-template-areas: "copy visual";
    align-items: center;
    gap: clamp(70px, 10vw, 145px);
    direction: ltr;
}

.about-redesign__pillar-row--reverse { grid-template-areas: "visual copy"; }
.about-redesign__pillar-row > .about-redesign__copy-block { grid-area: copy; }
.about-redesign__pillar-row > .about-redesign__concept { grid-area: visual; }

.about-redesign__copy-block--light h2 { color: #fff; }
.about-redesign__copy-block--light p { color: rgba(255,255,255,.78); }

.about-redesign__concept {
    position: relative;
    justify-self: center;
    width: min(100%, 420px);
    aspect-ratio: 1 / 1.06;
    overflow: hidden;
    border-radius: 8px;
    background: #e6ebf3;
    box-shadow: 0 30px 70px rgba(5, 14, 48, .25);
}

.about-redesign__concept > img:first-child { width: 100%; height: 100%; object-fit: cover; }
.about-redesign__concept--goal::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,22,61,.42), transparent 58%); }

.about-redesign__concept-mark {
    display: none;
}

.about-redesign__concept-mark img { width: 52px; }

.about-redesign__concept--vision {
    display: grid;
    place-items: center;
    /* The uploaded vision artwork is the complete visual. Do not place it
       inside the old compass/radial placeholder background. */
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
}

.about-redesign__concept--vision > img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: none;
}
.about-redesign__compass-ring { display: none; }
.about-redesign__compass-ring::before,
.about-redesign__compass-ring::after { content: ""; position: absolute; background: rgba(38,61,149,.2); }
.about-redesign__compass-ring::before { top: -13%; bottom: -13%; left: 50%; width: 1px; }
.about-redesign__compass-ring::after { top: 50%; right: -13%; left: -13%; height: 1px; }

.about-redesign__concept--mission {
    background: transparent;
}

.about-redesign__concept--mission::before { display: none; }
.about-redesign__concept--mission > img { position: absolute; bottom: 7%; left: 50%; z-index: 2; width: 86px; transform: translateX(-50%); filter: drop-shadow(0 9px 9px rgba(20,35,77,.18)); }
.about-redesign__kite { display: none; }

.about-redesign__values { padding: 120px 0 64px; background: var(--about-surface); }

.about-redesign__values > .about-redesign__container {
    width: min(1320px, calc(100% - 48px));
}

.about-redesign__section-title {
    margin-bottom: 76px !important;
    color: var(--about-ink);
    font-size: clamp(35px, 4vw, 54px);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.2;
    text-align: center;
}

.about-redesign__values-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 32px;
}

.about-redesign__value-card {
    display: flex;
    min-height: 232px;
    padding: 34px;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: column;
    gap: 18px;
    border: 1px solid rgba(91, 103, 130, .38);
    border-radius: 9px;
    background: #fff;
    box-shadow: none;
    text-align: start;
    transition: border-color .25s ease, background-color .25s ease;
}

.about-redesign__value-card:hover { border-color: rgba(244,119,50,.55); background: #fff; }
.about-redesign__value-icon { display: grid; width: 67px; height: 67px; place-items: center; border-radius: 14px; background: var(--about-orange); color: #fff; box-shadow: none; }
.about-redesign__value-icon img { display: block; width: 42px; height: 42px; object-fit: contain; }
.about-redesign__value-icon svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.about-redesign__value-card h3 { max-width: 230px; color: var(--about-ink); font-size: 22px; font-weight: 700; line-height: 1.45; text-align: start; }

.about-redesign__chairman { padding-block: clamp(70px, 8vw, 115px); background: var(--about-surface); }
.about-redesign__chairman-grid { display: grid; grid-template-columns: minmax(340px, .85fr) minmax(420px, 1.15fr); grid-template-areas: "media copy"; align-items: center; direction: ltr; }
.about-redesign__chairman-media { position: relative; grid-area: media; min-height: 500px; }
.about-redesign__chairman-orange {
    position: absolute;
    inset: 0 12% 0 0;
    z-index: 0;
    overflow: hidden;
    border-radius: 4px;
    background: var(--about-orange);
}
.about-redesign__chairman-shape {
    position: absolute;
    left: -42%;
    bottom: -58%;
    z-index: 0;
    width: 132%;
    max-width: none !important;
    height: auto;
    opacity: .78;
    pointer-events: none;
    user-select: none;
    /* The source artwork uses the brand orange strokes. On the orange panel
       the Figma treatment uses a soft white line treatment for contrast. */
    filter: brightness(0) invert(1);
}
.about-redesign__chairman-frame {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    display: block;
    width: 82%;
    aspect-ratio: .8;
    overflow: hidden;
    border-radius: var(--mgi-radius-image, 9px);
    /* Keep transparent pixels on the uploaded frame tied to the orange
       backing instead of painting a separate white strip below the image. */
    background: transparent;
    box-shadow: 0 24px 55px rgba(55,40,36,.2);
    transform: translateY(-50%);
}

.about-redesign__chairman-frame img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 124%;
    max-width: none;
    height: auto;
    border-radius: 0;
    object-fit: contain;
    filter: saturate(.78) contrast(1.03);
    transform: translate(-50%, -50%);
}
.about-redesign__chairman-copy { grid-area: copy; padding: clamp(35px, 5vw, 70px); background: var(--about-surface); direction: inherit; text-align: start; }
html[dir="rtl"] .about-redesign__chairman-copy { direction: rtl; }
html[dir="ltr"] .about-redesign__chairman-copy { direction: ltr; }
.about-redesign__chairman-copy strong { display: block; margin-top: 28px; color: var(--about-orange); font-size: 14px; }

/* Image proportion correction
   The editable About images are uploaded at 473x532 (portrait). The old
   square-ish figure plus the absolute mission-image rule left a visible
   strip below the artwork and made the chairman image look detached from
   its orange backing. Keep the media boxes tied to the source ratio and let
   the image itself define the visible height. */
.about-redesign__concept {
    aspect-ratio: 473 / 532;
    height: auto;
    min-height: 0;
}

.about-redesign__concept > img:first-child {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center;
}

.about-redesign__concept--vision,
.about-redesign__concept--mission {
    display: block;
    overflow: hidden;
    border-radius: var(--mgi-radius-image, 9px);
}

.about-redesign__concept--vision > img,
.about-redesign__concept--mission > img {
    position: static;
    display: block;
    width: 100%;
    height: 100%;
    transform: none;
    object-fit: cover;
    object-position: center;
}

.about-redesign__chairman-media {
    min-height: 0;
    height: auto;
    aspect-ratio: 439 / 528;
    overflow: visible;
}


.about-redesign__help { padding-block: clamp(90px, 9vw, 135px); }
.about-redesign__help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.about-redesign__help-card { display: flex; min-height: 190px; padding: 30px; align-items: center; justify-content: center; flex-direction: column; border: 1px solid var(--about-line); border-radius: 14px; background: #fff; color: var(--about-ink); box-shadow: 0 16px 35px rgba(25,43,98,.055); text-align: center; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.about-redesign__help-card:hover { color: var(--about-ink); border-color: rgba(244,119,50,.45); transform: translateY(-7px); box-shadow: 0 22px 45px rgba(25,43,98,.11); }
.about-redesign__help-icon { display: grid; width: 52px; height: 52px; margin-bottom: 15px; place-items: center; border-radius: 50%; background: rgba(244,119,50,.1); color: var(--about-orange); }
.about-redesign__help-icon svg { width: 26px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.about-redesign__help-card strong { font-size: 18px; }
.about-redesign__help-card small { margin-top: 8px; color: var(--about-muted); font-size: 13px; }

@media (max-width: 991px) {
    .about-redesign__hero { min-height: 620px; padding-top: 125px; }
    html[dir="rtl"] .about-redesign__hero-symbol { right: auto; left: 4%; width: clamp(265px, 42vw, 390px); }
    html[dir="ltr"] .about-redesign__hero-symbol { right: 4%; left: auto; width: clamp(265px, 42vw, 390px); }
    .about-redesign__hero-copy { width: 46%; }
    .about-redesign__intro-grid,
    .about-redesign__pillar-row { gap: 55px; }
    .about-redesign__values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-redesign__chairman-grid { grid-template-columns: .85fr 1.15fr; }
}

@media (max-width: 767px) {
    .about-redesign__container { width: min(100% - 36px, 560px); }
    .about-redesign__hero { min-height: 610px; padding-block: 105px 55px; align-items: flex-end; }
    .about-redesign__hero::after { height: 110px; }
    .about-redesign__hero-symbol,
    html[dir="rtl"] .about-redesign__hero-symbol,
    html[dir="ltr"] .about-redesign__hero-symbol { right: auto; left: 50%; top: 40%; width: min(75vw, 340px); transform: translate(-50%, -50%); }
    .about-redesign__hero-layout { align-items: flex-end; }
    .about-redesign__hero-copy,
    html[dir="rtl"] .about-redesign__hero-copy,
    html[dir="ltr"] .about-redesign__hero-copy { width: 100%; margin: 0; padding-bottom: 28px; text-align: center; }
    .about-redesign__breadcrumb { justify-content: center; margin-bottom: 12px; }
    .about-redesign__hero h1 { font-size: 42px; }
    .about-redesign__intro { padding-block: 70px 85px; }
    .about-redesign__intro-grid,
    .about-redesign__pillar-row,
    .about-redesign__pillar-row--reverse,
    .about-redesign__chairman-grid { grid-template-columns: 1fr; }
    .about-redesign__intro-grid { grid-template-areas: "copy" "media"; gap: 42px; }
    .about-redesign__pillar-row,
    .about-redesign__pillar-row--reverse { grid-template-areas: "copy" "visual"; gap: 42px; }
    .about-redesign__copy-block h2,
    .about-redesign__chairman-copy h2 { font-size: 33px; }
    .about-redesign__copy-block p,
    .about-redesign__chairman-copy p { font-size: 15px; line-height: 1.9; }
    .about-redesign__intro-media { width: 100%; max-width: 390px; }
    .about-redesign__pillars { padding-block: 90px; }
    .about-redesign__pillars-inner { gap: 100px; }
    .about-redesign__brand-corner { width: 90px; height: 90px; inset-inline-start: -35px; }
    .about-redesign__concept { width: min(100%, 390px); }
    .about-redesign__values { padding: 120px 0 80px; }
    .about-redesign__values > .about-redesign__container { width: min(100% - 36px, 560px); }
    .about-redesign__section-title { margin-bottom: 36px !important; }
    .about-redesign__values-grid { gap: 14px; }
    .about-redesign__value-card { min-height: 180px; padding: 22px 16px; gap: 12px; }
    .about-redesign__value-icon { width: 50px; height: 50px; border-radius: 11px; }
    .about-redesign__value-icon img { width: 32px; height: 32px; }
    .about-redesign__value-icon svg { width: 21px; }
    .about-redesign__value-card h3 { max-width: 150px; font-size: 15px; }
    .about-redesign__chairman-grid { grid-template-areas: "media" "copy"; }
    .about-redesign__chairman-media { min-height: 0; height: auto; aspect-ratio: 439 / 528; }
    .about-redesign__chairman-orange { inset-inline: 0 18%; }
    .about-redesign__chairman-shape { left: -36%; bottom: -47%; width: 126%; opacity: .68; }
    .about-redesign__chairman-frame { right: 7%; width: 82%; }
    .about-redesign__chairman-frame img { width: 124%; }
    .about-redesign__chairman-copy { padding: 45px 5px 10px; }
    .about-redesign__help-grid { grid-template-columns: 1fr; gap: 14px; }
    .about-redesign__help-card { min-height: 150px; }
}

@media (max-width: 420px) {
    .about-redesign__container { width: calc(100% - 28px); }
    .about-redesign__hero { min-height: 570px; }
    .about-redesign__hero-symbol { width: 290px; }
    .about-redesign__values-grid { grid-template-columns: 1fr 1fr; }
    .about-redesign__value-icon { width: 46px; height: 46px; }
    .about-redesign__chairman-media { min-height: 0; height: auto; aspect-ratio: 439 / 528; }
}

/* Final interaction polish: flat social icons and solid CTAs on light surfaces. */
.site-footer-socials .footer-social-link:hover,
.site-footer-socials .footer-social-link:focus-visible {
    transform: none !important;
    box-shadow: none !important;
    filter: none !important;
}

/* Orange action treatment used by news, projects and the home-page cards. */
.news-read-more.mgi-glass-action,
.lightship-read-more.mgi-glass-action,
.stripe-details-btn,
.global-presence-btn.mgi-glass-action {
    background: var(--mgi-color-accent-500, #f47732) !important;
    border: 1px solid var(--mgi-color-accent-500, #f47732) !important;
    color: #fff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}
.news-read-more.mgi-glass-action:hover,
.lightship-read-more.mgi-glass-action:hover,
.stripe-details-btn:hover,
.global-presence-btn.mgi-glass-action:hover {
    background: var(--mgi-color-accent-700, #d95d1b) !important;
    border-color: var(--mgi-color-accent-700, #d95d1b) !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
}
.news-read-more.mgi-glass-action svg,
.lightship-read-more.mgi-glass-action svg,
.stripe-details-btn svg,
.global-presence-btn.mgi-glass-action svg {
    color: var(--mgi-color-primary-700, #2a409a) !important;
    stroke: currentColor !important;
    transition: transform .28s ease, color .2s ease !important;
}
.news-read-more.mgi-glass-action:hover svg,
.lightship-read-more.mgi-glass-action:hover svg,
.stripe-details-btn:hover svg,
.global-presence-btn.mgi-glass-action:hover svg { color: #fff !important; }
.news-read-more.mgi-glass-action svg,
.lightship-read-more.mgi-glass-action svg,
.stripe-details-btn svg,
.global-presence-btn.mgi-glass-action svg { color: #fff !important; }

/* Card actions keep the original glass treatment. */
.lightship-read-more.mgi-glass-action {
    background: linear-gradient(135deg, rgba(42,64,154,.72), rgba(244,119,50,.28)) !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    -webkit-backdrop-filter: blur(16px) saturate(150%) !important;
    backdrop-filter: blur(16px) saturate(150%) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.42), 0 10px 28px rgba(19,31,79,.2) !important;
    color: #fff !important;
}
.lightship-read-more.mgi-glass-action:hover {
    background: linear-gradient(135deg, rgba(42,64,154,.9), rgba(244,119,50,.55)) !important;
    border-color: rgba(255,255,255,.82) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.52), 0 14px 34px rgba(19,31,79,.28) !important;
    color: #fff !important;
}
.lightship-read-more.mgi-glass-action svg { color: var(--mgi-color-accent-500, #f47732) !important; }
.lightship-read-more.mgi-glass-action:hover svg { color: #fff !important; }

/* The news "View all" control is intentionally a clean white outline button. */
.news-view-all-link.mgi-glass-action {
    background: #fff !important;
    border: 1px solid var(--mgi-color-primary-500, #2a409a) !important;
    color: var(--mgi-color-primary-500, #2a409a) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.news-view-all-link.mgi-glass-action:hover {
    background: var(--mgi-color-primary-500, #2a409a) !important;
    border-color: var(--mgi-color-primary-500, #2a409a) !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
}

@media (prefers-reduced-motion: reduce) {
    .about-redesign__value-card,
    .about-redesign__help-card { transition: none; }
}

/* ========================================================================== */
/* Sector detail page                                                         */
/* ========================================================================== */
.sector-detail {
    --sector-blue: var(--mgi-color-primary-700, #2f459f);
    --sector-navy: #172c70;
    --sector-orange: var(--mgi-color-accent-600, #f47732);
    --sector-text: #213776;
    --sector-muted: #687593;
    --sector-surface: #f7f9fd;
    --sector-line: rgba(39, 61, 134, .14);
    width: 100%;
    overflow: hidden;
    background: var(--sector-surface);
    color: var(--sector-text);
}

.sector-detail *,
.sector-detail *::before,
.sector-detail *::after { box-sizing: border-box; }

.sector-detail__container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.sector-detail h1,
.sector-detail h2,
.sector-detail h3,
.sector-detail p,
.sector-detail figure { margin: 0; }
.sector-detail img { display: block; max-width: 100%; }

.sector-detail__hero {
    position: relative;
    isolation: isolate;
    min-height: clamp(560px, 62vw, 720px);
    overflow: hidden;
}

.sector-detail__hero-image { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.025); }
.sector-detail__hero-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(223,174,157,.72) 0%, rgba(41,66,148,.5) 51%, rgba(23,43,106,.76) 100%); }
html[dir="ltr"] .sector-detail__hero-overlay { background: linear-gradient(-90deg, rgba(223,174,157,.72) 0%, rgba(41,66,148,.5) 51%, rgba(23,43,106,.76) 100%); }
.sector-detail__hero-fade { position: absolute; inset-inline: 0; bottom: -1px; z-index: -1; height: 190px; background: linear-gradient(to bottom, transparent, var(--sector-surface) 94%); }
.sector-detail__hero-inner { display: flex; min-height: inherit; padding-top: 105px; align-items: center; direction: ltr; }
.sector-detail__hero-copy { width: min(560px, 48%); color: #fff; }
html[dir="rtl"] .sector-detail__hero-copy { margin-left: 0; margin-right: auto; direction: rtl; text-align: right; }
html[dir="ltr"] .sector-detail__hero-copy { margin-left: auto; margin-right: 0; direction: ltr; text-align: left; }
.sector-detail[dir="rtl"] .sector-detail__hero-copy { margin-left: 0; margin-right: auto; direction: rtl; text-align: right; }
.sector-detail[dir="ltr"] .sector-detail__hero-copy { margin-left: auto; margin-right: 0; direction: ltr; text-align: left; }
/* The page wrapper carries the actual locale direction. Keep hero placement
   local to the sector detail page so the global html direction cannot put
   Arabic copy on the left. */
.sector-detail[dir="rtl"] .sector-detail__hero-inner { direction: ltr; justify-content: flex-end; }
.sector-detail[dir="rtl"] .sector-detail__hero-copy { margin-inline: 0; }
.sector-detail[dir="ltr"] .sector-detail__hero-inner { direction: ltr; justify-content: flex-start; }
.sector-detail[dir="ltr"] .sector-detail__hero-copy { margin-inline: 0; }
.sector-detail__breadcrumb { display: flex; margin-bottom: 25px; align-items: center; flex-wrap: wrap; gap: 7px; color: rgba(255,255,255,.83); font-size: 12px; font-weight: 500; }
.sector-detail__breadcrumb a { color: inherit; transition: color .25s ease; }
.sector-detail__breadcrumb a:hover { color: var(--sector-orange); }
.sector-detail__hero h1 { color: #fff; font-size: clamp(46px, 5.4vw, 76px); font-weight: 700; letter-spacing: -.035em; line-height: 1.12; text-shadow: 0 7px 25px rgba(15,29,76,.2); }

.sector-detail__intro { padding-block: clamp(80px, 9vw, 130px); }
.sector-detail__intro-grid { display: grid; grid-template-columns: minmax(340px, .92fr) minmax(390px, 1fr); grid-template-areas: "visual copy"; align-items: center; gap: clamp(70px, 10vw, 145px); direction: ltr; }
.sector-detail__brand-visual { position: relative; grid-area: visual; display: grid; width: min(100%, 430px); aspect-ratio: 1; place-items: center; justify-self: center; }
.sector-detail__brand-visual::before { content: ""; position: absolute; inset: 6%; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.96), rgba(224,229,241,.64) 65%, transparent 67%); filter: drop-shadow(0 28px 25px rgba(20,38,90,.14)); }
.sector-detail__brand-visual::after { content: ""; position: absolute; right: 14%; bottom: 5%; left: 14%; height: 9%; border-radius: 50%; background: rgba(27,42,88,.16); filter: blur(17px); }
.sector-detail__brand-visual img { position: relative; z-index: 2; width: 76%; filter: drop-shadow(0 24px 18px rgba(18,34,84,.24)); }
.sector-detail__brand-halo { position: absolute; width: 90%; aspect-ratio: 1; border: 1px solid rgba(50,72,161,.12); border-radius: 50%; box-shadow: inset 0 0 55px rgba(255,255,255,.8); }
.sector-detail__brand-visual--media {
    aspect-ratio: 1.08;
    overflow: hidden;
    border-radius: var(--mgi-radius-image, 9px);
    background: #e8edf7;
    box-shadow: 0 22px 46px rgba(23, 37, 84, .12);
}
.sector-detail__brand-visual--media::before,
.sector-detail__brand-visual--media::after { display: none; }
.sector-detail__brand-visual--media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: none;
}
.sector-detail__copy-block { grid-area: copy; text-align: start; }
html[dir="rtl"] .sector-detail__copy-block { direction: rtl; }
html[dir="ltr"] .sector-detail__copy-block { direction: ltr; }
.sector-detail[dir="rtl"] .sector-detail__copy-block { direction: rtl; }
.sector-detail[dir="ltr"] .sector-detail__copy-block { direction: ltr; }
.sector-detail__eyebrow { display: inline-block; margin-bottom: 12px; color: var(--sector-orange); font-size: 14px; font-weight: 700; }
.sector-detail__copy-block h2,
.sector-detail__section-heading h2 { margin-bottom: 22px; color: var(--sector-text); font-size: clamp(31px, 3.4vw, 48px); font-weight: 800; letter-spacing: -.025em; line-height: 1.25; }
.sector-detail__copy-block p { color: var(--sector-muted); font-size: clamp(15px, 1.1vw, 17px); line-height: 2; }

.sector-detail__companies { padding-block: 30px clamp(90px, 10vw, 145px); }
.sector-detail__section-heading { margin: 0 auto 45px; text-align: center; }
.sector-detail__section-heading h2 { margin-bottom: 0; }
.sector-detail__company-shell,
.sector-detail__related-shell { position: relative; }
.sector-detail__company-track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.sector-detail__company-track::-webkit-scrollbar,
.sector-detail__related-track::-webkit-scrollbar { display: none; }
.sector-detail__company-card { display: grid; min-width: 100%; grid-template-columns: .72fr 1.03fr; grid-template-areas: "logo copy"; min-height: 455px; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 18px 55px rgba(22,43,105,.08); scroll-snap-align: center; direction: ltr; }
.sector-detail__company-logo { grid-area: logo; display: flex; padding: 45px; align-items: center; justify-content: center; flex-direction: column; gap: 24px; background: var(--sector-blue); color: #fff; text-align: center; }
.sector-detail__company-logo img { width: min(170px, 55%); filter: drop-shadow(0 15px 17px rgba(5,15,48,.24)); }
.sector-detail__company-logo strong { max-width: 260px; font-size: clamp(19px, 2vw, 27px); line-height: 1.45; }
.sector-detail__company-copy { grid-area: copy; display: flex; padding: clamp(40px, 6vw, 80px); justify-content: center; flex-direction: column; text-align: start; }
html[dir="rtl"] .sector-detail__company-copy { direction: rtl; }
html[dir="ltr"] .sector-detail__company-copy { direction: ltr; }
.sector-detail__company-copy h3 { margin-bottom: 17px; color: var(--sector-text); font-size: clamp(27px, 3vw, 42px); font-weight: 800; line-height: 1.3; }
.sector-detail__company-copy p { color: var(--sector-muted); font-size: 15px; line-height: 1.9; }
.sector-detail__company-copy small { margin-top: 25px; color: var(--sector-orange); font-size: 12px; font-weight: 700; }
.opportunities-page { background: var(--sector-surface, var(--mgi-section-surface)); color: var(--sector-text, #243b86); }
.opportunities-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.opportunities-hero { padding: 150px 0 95px; background: linear-gradient(120deg, #243b86, #3d55ad); color: #fff; }
.opportunities-hero--compact { padding-block: 115px 75px; }
.opportunities-eyebrow { display: block; margin-bottom: 14px; color: #ff7a32; font-size: 15px; font-weight: 800; }
.opportunities-hero h1 { max-width: 820px; margin: 0 0 18px; color: #fff; font-size: clamp(38px, 5vw, 68px); line-height: 1.2; }
.opportunities-hero p { max-width: 700px; margin: 0; color: rgba(255,255,255,.82); font-size: 18px; line-height: 1.9; }
.opportunities-list, .opportunity-detail { padding-block: 75px 115px; }
.opportunities-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.opportunity-card { overflow: hidden; border: 1px solid rgba(47,69,159,.12); border-radius: 16px; background: #fff; box-shadow: 0 16px 38px rgba(28,48,112,.08); }
.opportunity-card__body { padding: 30px; }
.opportunity-card__reference { color: #f47732; font-size: 12px; font-weight: 800; }
.opportunity-card h2 { margin: 8px 0 13px; color: #243b86; font-size: 23px; line-height: 1.45; }
.opportunity-card p { min-height: 54px; margin: 0; color: #66779c; line-height: 1.8; }
.opportunity-card__meta { display: flex; margin-top: 20px; flex-wrap: wrap; gap: 10px 18px; color: #7b89a6; font-size: 12px; }
.opportunity-card__link { display: inline-flex; margin-top: 24px; padding: 11px 18px; align-items: center; gap: 10px; border-radius: 999px; background: #f47732; color: #fff; font-weight: 800; transition: background .25s ease, transform .25s ease; }
.opportunity-card__link:hover { background: #d95c20; color: #fff; transform: translateY(-2px); }
.opportunities-empty { padding: 70px 20px; border-radius: 16px; background: #fff; color: #6f7d9e; text-align: center; }
.opportunities-pagination { margin-top: 34px; }
.opportunity-detail__inner { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 42px; align-items: start; }
.opportunity-detail__content, .opportunity-detail__meta { padding: 34px; border: 1px solid rgba(47,69,159,.12); border-radius: 16px; background: #fff; box-shadow: 0 16px 38px rgba(28,48,112,.06); }
.opportunity-detail__content { color: #53688f; font-size: 17px; line-height: 2; }
.opportunity-detail__meta { display: grid; gap: 20px; }
.opportunity-detail__meta div { display: grid; gap: 6px; padding-bottom: 15px; border-bottom: 1px solid rgba(47,69,159,.1); }
.opportunity-detail__meta strong { color: #243b86; font-size: 13px; }
.opportunity-detail__meta span { color: #6a7898; }
.job-application-form { display: grid; gap: 12px; margin-top: 12px; padding-top: 18px; border-top: 1px solid rgba(47,69,159,.1); }
.job-application-form h2 { margin: 0 0 6px; color: #243b86; font-size: 20px; }
.job-application-form label { display: grid; gap: 6px; color: #243b86; font-size: 13px; font-weight: 700; }
.job-application-form input:not([type="checkbox"]), .job-application-form textarea { width: 100%; border: 1px solid rgba(47,69,159,.2); border-radius: 8px; padding: 10px 12px; background: #fff; color: #243b86; }
.job-application-form textarea { min-height: 90px; resize: vertical; }
.job-application-form__consent { grid-template-columns: auto 1fr; display: grid !important; align-items: start; gap: 8px !important; font-weight: 500 !important; line-height: 1.6; }
.job-application-form__consent input { margin-top: 4px; }
.job-application-form .alert { padding: 10px 12px; border-radius: 8px; font-size: 13px; }
.job-application-form .alert-danger { background: #fff1f0; color: #b42318; }
.job-application-form .alert-success { background: #ecfdf3; color: #067647; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Desktop header spacing: keep the mobile drawer completely untouched. */
@media (min-width: 1024px) {
    #site-header .site-header-inner {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 1280px !important;
        margin-inline: auto !important;
        padding-inline: 24px !important;
    }

    #site-header .main-nav {
        column-gap: clamp(8px, 0.8vw, 14px) !important;
    }

    #site-header .main-nav > li > .glass-nav-link {
        padding-inline: clamp(6px, 0.55vw, 10px) !important;
    }

    #site-header .header-left-actions-container {
        gap: clamp(10px, 0.8vw, 16px) !important;
    }

    /* Compact desktop dropdowns: give each item comfortable side breathing room. */
    #site-header .lqd-submenu-cover .main-nav > .menu-item-has-children:not(.lqd-megamenu) > .nav-item-children,
    #site-header .main-nav > .menu-item-has-children:not(.lqd-megamenu) > .sub-menu {
        min-width: 230px !important;
        padding: 16px 22px !important;
    }

    #site-header .lqd-submenu-cover .main-nav > .menu-item-has-children:not(.lqd-megamenu) > .nav-item-children > li > a,
    #site-header .main-nav > .menu-item-has-children:not(.lqd-megamenu) > .sub-menu > li > a {
        display: block !important;
        padding-inline: 12px !important;
    }
}
@media (max-width: 800px) { .opportunities-grid { grid-template-columns: 1fr; } .opportunity-detail__inner { grid-template-columns: 1fr; } .opportunities-hero { padding-block: 110px 70px; } }

.menu-item-icon { width: 1em; margin-inline-end: .45rem; color: currentColor; font-size: .9em; }
.sector-detail__brand-list { display: flex; max-width: 100%; margin-top: 14px; align-items: center; flex-wrap: wrap; gap: 10px; }
.sector-detail__brand-logo { width: 58px; height: 32px; padding: 5px 8px; object-fit: contain; border: 1px solid rgba(47,69,159,.12); border-radius: 7px; background: #fff; }
.sector-detail__brand-name { padding: 6px 10px; border: 1px solid rgba(47,69,159,.14); border-radius: 999px; color: var(--sector-muted); font-size: 11px; font-weight: 700; }
.sector-detail__company-link { display: inline-flex; width: max-content; margin-top: 24px; padding: 10px 17px; align-items: center; gap: 8px; border: 1px solid rgba(47,69,159,.18); border-radius: 999px; color: var(--sector-blue); font-size: 13px; font-weight: 700; transition: background-color .25s ease, color .25s ease, transform .25s ease; }
.sector-detail__company-link:hover { background: var(--sector-blue); color: #fff; transform: translateY(-2px); }
.sector-detail__company-link svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
html[dir="rtl"] .sector-detail__company-link svg { transform: scaleX(-1); }
.sector-detail__slider-arrow { position: absolute; top: 50%; z-index: 3; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: #fff; color: var(--sector-orange); box-shadow: 0 10px 28px rgba(25,42,96,.13); cursor: pointer; transform: translateY(-50%); transition: background-color .25s ease, color .25s ease, transform .25s ease; }
.sector-detail__slider-arrow:hover { background: var(--sector-orange); color: #fff; transform: translateY(-50%) scale(1.06); }
.sector-detail__slider-arrow svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sector-detail__slider-arrow--prev { left: -64px; }
.sector-detail__slider-arrow--next { right: -64px; }
.sector-detail__slider-dots { display: flex; min-height: 11px; margin-top: 24px; justify-content: center; gap: 7px; }
.sector-detail__slider-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(47,69,159,.25); cursor: pointer; transition: width .25s ease, border-radius .25s ease, background-color .25s ease; }
.sector-detail__slider-dots button.is-active { width: 25px; border-radius: 8px; background: var(--sector-orange); }

/* Desktop scroll-driven company rail: keep a deliberate peek of the next
   card and let vertical scrolling control the rail. */
@media (min-width: 768px) {
    .sector-detail__companies[data-sector-scroll-slider] .sector-detail__company-shell { overflow: visible; }
    .sector-detail__companies[data-sector-scroll-slider] .sector-detail__company-track { overflow: visible; }
    .sector-detail__companies[data-sector-scroll-slider] .sector-detail__slider-arrow,
    .sector-detail__companies[data-sector-scroll-slider] .sector-detail__slider-dots { display: none; }
}

.sector-detail__advantages { padding-block: clamp(90px, 9vw, 135px); }
.sector-detail__section-title { margin-bottom: clamp(45px, 5vw, 68px) !important; color: var(--sector-text); font-size: clamp(36px, 4.3vw, 58px); font-weight: 800; letter-spacing: -.03em; line-height: 1.2; text-align: center; }
.sector-detail__advantages-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.sector-detail__advantage-card { display: flex; min-height: 170px; padding: 24px 18px; align-items: center; justify-content: center; flex-direction: column; gap: 16px; border: 1px solid var(--sector-line); border-radius: 9px; background: rgba(255,255,255,.82); box-shadow: 0 11px 30px rgba(26,45,100,.04); text-align: center; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.sector-detail__advantage-card:hover { border-color: rgba(244,119,50,.45); transform: translateY(-6px); box-shadow: 0 18px 40px rgba(26,45,100,.1); }
.sector-detail__advantage-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 11px; background: linear-gradient(135deg, var(--sector-blue), var(--sector-orange)); color: #fff; box-shadow: 0 9px 21px rgba(34,55,137,.2); }
.sector-detail__advantage-icon svg { width: 26px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.sector-detail__advantage-card h3 { max-width: 200px; color: var(--sector-text); font-size: 15px; font-weight: 750; line-height: 1.65; }

.sector-detail__related { padding-block: clamp(85px, 9vw, 135px); }
.sector-detail__related-heading { display: flex; margin-bottom: 38px; align-items: center; justify-content: space-between; gap: 24px; }
.sector-detail__related-heading h2 { color: var(--sector-text); font-size: clamp(31px, 3.7vw, 50px); font-weight: 800; letter-spacing: -.025em; }
.sector-detail__related-heading a { color: var(--sector-orange); font-size: 14px; font-weight: 700; }
.sector-detail__related-track { display: grid; grid-auto-columns: calc((100% - 48px) / 3); grid-auto-flow: column; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.sector-detail__related-card { position: relative; aspect-ratio: .84; overflow: hidden; border-radius: 9px; background: #dce2ed; box-shadow: 0 16px 40px rgba(24,42,96,.1); scroll-snap-align: start; }
.sector-detail__related-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,22,61,.7), transparent 54%); }
.sector-detail__related-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.sector-detail__related-card:hover img { transform: scale(1.055); }
.sector-detail__related-card .sector-detail__related-label { position: absolute; z-index: 2; right: 18px; bottom: 18px; left: 18px; display: flex; min-height: 64px; padding: 12px 18px; align-items: center; justify-content: space-between; gap: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.52); border-radius: 9px; background: linear-gradient(135deg, rgba(255,255,255,.28), rgba(209,221,244,.16)); backdrop-filter: blur(16px) saturate(145%); -webkit-backdrop-filter: blur(16px) saturate(145%); color: #fff; font-size: clamp(15px, 1.15vw, 19px); font-weight: 600; line-height: 1.35; box-shadow: inset 0 1px rgba(255,255,255,.42), 0 8px 24px rgba(7,18,49,.16); transition: background .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease; }
.sector-detail__related-label::before { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.23) 48%, transparent 76%); transform: translateX(-120%); transition: transform .65s cubic-bezier(.2,.75,.25,1); pointer-events: none; }
.sector-detail__related-label strong, .sector-detail__related-label svg { position: relative; z-index: 1; }
.sector-detail__related-label svg { flex: 0 0 auto; width: 20px; height: 20px; fill: none; stroke: var(--sectors-orange); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.2,.8,.2,1), stroke .3s ease; }
.sector-detail__related-card:hover .sector-detail__related-label { border-color: rgba(255,255,255,.76); background: linear-gradient(135deg, rgba(42,64,154,.52), rgba(244,119,50,.34)); box-shadow: inset 0 1px rgba(255,255,255,.5), 0 12px 30px rgba(7,18,49,.24); transform: translateY(-2px); }
.sector-detail__related-card:hover .sector-detail__related-label::before { transform: translateX(120%); }
html[dir="rtl"] .sector-detail__related-card:hover .sector-detail__related-label svg { transform: translateX(-6px); stroke: #fff; }
html[dir="ltr"] .sector-detail__related-card:hover .sector-detail__related-label svg { transform: translateX(6px); stroke: #fff; }

.sector-detail__help { padding-block: clamp(90px, 9vw, 135px); }
.sector-detail__help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.sector-detail__help-card { display: flex; min-height: 185px; padding: 28px; align-items: center; justify-content: center; flex-direction: column; border: 1px solid var(--sector-line); border-radius: 12px; background: #fff; color: var(--sector-text); box-shadow: 0 14px 34px rgba(25,43,98,.05); text-align: center; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.sector-detail__help-card:hover { border-color: rgba(244,119,50,.45); color: var(--sector-text); transform: translateY(-7px); box-shadow: 0 21px 44px rgba(25,43,98,.11); }
.sector-detail__help-card > span { display: grid; width: 52px; height: 52px; margin-bottom: 14px; place-items: center; border-radius: 50%; background: transparent; color: var(--sector-orange); }
.sector-detail__help-card > span img { width: 42px; height: 42px; object-fit: contain; }
.sector-detail__help-card svg { width: 26px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.sector-detail__help-card strong { font-size: 17px; }
.sector-detail__help-card small { margin-top: 8px; color: var(--sector-muted); font-size: 12px; }

@media (max-width: 1280px) {
    .sector-detail__slider-arrow--prev { left: 12px; }
    .sector-detail__slider-arrow--next { right: 12px; }
}

@media (max-width: 991px) {
    .sector-detail__hero { min-height: 630px; }
    .sector-detail__hero-copy { width: 58%; }
    .sector-detail__intro-grid { gap: 55px; }
    .sector-detail__company-card { min-height: 420px; }
    .sector-detail__advantages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sector-detail__related-track { grid-auto-columns: calc((100% - 24px) / 2); }
}

@media (max-width: 767px) {
    .sector-detail__container { width: min(100% - 32px, 560px); }
    .sector-detail__hero { min-height: 570px; }
    .sector-detail__hero-inner { padding-top: 95px; align-items: flex-end; }
    .sector-detail__hero-copy,
    html[dir="rtl"] .sector-detail__hero-copy,
    html[dir="ltr"] .sector-detail__hero-copy { width: 100%; margin: 0; padding-bottom: 105px; text-align: center; }
    .sector-detail__breadcrumb { justify-content: center; }
    .sector-detail__hero h1 { font-size: 43px; }
    .sector-detail__hero-fade { height: 140px; }
    .sector-detail__intro { padding-block: 70px 90px; }
    .sector-detail__intro-grid { grid-template-columns: 1fr; grid-template-areas: "copy" "visual"; gap: 42px; }
    .sector-detail__copy-block h2,
    .sector-detail__section-heading h2 { font-size: 32px; }
    .sector-detail__brand-visual { width: min(100%, 360px); }
    .sector-detail__companies { padding-top: 10px; }
    .sector-detail__company-card { grid-template-columns: 1fr; grid-template-areas: "logo" "copy"; min-height: 0; }
    .sector-detail__company-logo { min-height: 290px; padding: 35px 25px; }
    .sector-detail__company-logo img { width: 115px; }
    .sector-detail__company-copy { padding: 34px 26px 40px; }
    .sector-detail__company-copy h3 { font-size: 26px; }
    .sector-detail__slider-arrow { width: 39px; height: 39px; }
    .sector-detail__slider-arrow--prev { left: 8px; }
    .sector-detail__slider-arrow--next { right: 8px; }
    .sector-detail__advantages-grid { gap: 12px; }
    .sector-detail__advantage-card { min-height: 155px; padding: 20px 12px; }
    .sector-detail__advantage-card h3 { font-size: 13px; }
    .sector-detail__related-track { grid-auto-columns: 84%; gap: 14px; }
    .sector-detail__related-card { aspect-ratio: .82; }
    .sector-detail__related-shell .sector-detail__slider-arrow { display: none; }
    .sector-detail__help-grid { grid-template-columns: 1fr; gap: 14px; }
    .sector-detail__help-card { min-height: 145px; }
}

@media (max-width: 420px) {
    .sector-detail__container { width: calc(100% - 26px); }
    .sector-detail__hero { min-height: 535px; }
    .sector-detail__hero h1 { font-size: 37px; }
    .sector-detail__advantages-grid { grid-template-columns: 1fr 1fr; }
    .sector-detail__advantage-icon { width: 46px; height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
    .sector-detail__related-card img,
    .sector-detail__advantage-card,
    .sector-detail__help-card { transition: none; }
}

/* Final interaction polish: flat social icons and solid CTAs on light surfaces. */
.site-footer-socials .footer-social-link:hover,
.site-footer-socials .footer-social-link:focus-visible {
    transform: none !important;
    box-shadow: none !important;
    filter: none !important;
}
.news-read-more.mgi-glass-action,
.lightship-read-more.mgi-glass-action,
.stripe-details-btn,
.global-presence-btn.mgi-glass-action {
    background: var(--mgi-color-accent-500, #f47732) !important;
    border: 1px solid var(--mgi-color-accent-500, #f47732) !important;
    color: #fff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}
.news-read-more.mgi-glass-action:hover,
.lightship-read-more.mgi-glass-action:hover,
.stripe-details-btn:hover,
.global-presence-btn.mgi-glass-action:hover {
    background: var(--mgi-color-accent-700, #d95d1b) !important;
    border-color: var(--mgi-color-accent-700, #d95d1b) !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
}
.news-read-more.mgi-glass-action svg,
.lightship-read-more.mgi-glass-action svg,
.stripe-details-btn svg,
.global-presence-btn.mgi-glass-action svg {
    color: #fff !important;
    stroke: currentColor !important;
    transition: transform .28s ease, color .2s ease !important;
}

/* User-facing final overrides (must remain last in the cascade). */
.lightship-read-more.mgi-glass-action {
    background: linear-gradient(135deg, rgba(42,64,154,.72), rgba(244,119,50,.28)) !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    -webkit-backdrop-filter: blur(16px) saturate(150%) !important;
    backdrop-filter: blur(16px) saturate(150%) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.42), 0 10px 28px rgba(19,31,79,.2) !important;
}
.lightship-read-more.mgi-glass-action:hover {
    background: linear-gradient(135deg, rgba(42,64,154,.9), rgba(244,119,50,.55)) !important;
    border-color: rgba(255,255,255,.82) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.52), 0 14px 34px rgba(19,31,79,.28) !important;
}
.lightship-read-more.mgi-glass-action svg { color: #f47732 !important; }
.lightship-read-more.mgi-glass-action:hover svg { color: #fff !important; }
.news-view-all-link.mgi-glass-action {
    background: #fff !important;
    border: 1px solid #2a409a !important;
    color: #2a409a !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.news-view-all-link.mgi-glass-action:hover {
    background: #2a409a !important;
    border-color: #2a409a !important;
    color: #fff !important;
    box-shadow: none !important;
}
/* ========================================================================
   Project details — database-driven project page
   ======================================================================== */
.project-details{--project-blue:#274398;--project-blue-deep:#14235f;--project-orange:#ff7a2f;--project-ink:#223b85;--project-surface:#f5f7fc;--project-muted:#71809c;background:var(--project-surface);color:var(--project-ink);overflow:hidden;padding-bottom:0}
.project-details__container{width:min(1280px,calc(100% - 48px));margin-inline:auto}
.project-details__hero{position:relative;min-height:580px;isolation:isolate;overflow:hidden;background:#314da4;display:flex;align-items:center}
.project-details__hero-image,.project-details__hero-overlay,.project-details__hero-fade{inset:0;position:absolute;width:100%;height:100%}
.project-details__hero-image{object-fit:cover;object-position:center;z-index:-3}
.project-details__hero-overlay{z-index:-2;background:linear-gradient(90deg,rgba(13,26,76,.12),rgba(38,65,153,.72) 61%,rgba(42,68,157,.9))}
[dir="ltr"] .project-details__hero-overlay{background:linear-gradient(90deg,rgba(42,68,157,.9),rgba(38,65,153,.72) 39%,rgba(13,26,76,.12))}
.project-details__hero-fade{z-index:-1;top:auto;height:42%;background:linear-gradient(transparent,var(--project-surface))}
.project-details__hero-inner{display:flex;justify-content:flex-start;align-items:center;padding-top:70px}
.project-details__hero-copy{color:#fff;max-width:560px;text-align:right}
[dir="ltr"] .project-details__hero-inner{justify-content:flex-start}
[dir="ltr"] .project-details__hero-copy{text-align:left}
.project-details__breadcrumb{display:flex;align-items:center;justify-content:flex-start;gap:.65rem;font-size:.82rem;margin-bottom:1.8rem;color:rgba(255,255,255,.82)}
.project-details__breadcrumb a{color:inherit;text-decoration:none}.project-details__breadcrumb a:hover{color:#fff}
.project-details__hero h1{margin:0;font-size:clamp(2.55rem,5vw,5.3rem);line-height:1.05;font-weight:800;letter-spacing:-.04em}
.project-details__overview{padding:70px 0 38px;background:var(--project-surface)}
.project-details__overview-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);gap:clamp(48px,10vw,150px);align-items:center;direction:ltr}
.project-details__overview-visual{margin:0;width:min(100%,360px);border-radius:8px;overflow:hidden;box-shadow:0 24px 42px rgba(29,48,112,.12)}
.project-details__overview-visual img{display:block;width:100%;aspect-ratio:1/1.16;object-fit:cover}
.project-details__overview-copy{direction:rtl;text-align:right;max-width:570px}.locale-en .project-details__overview-copy{direction:ltr;text-align:left}
.project-details__eyebrow{display:block;margin-bottom:.55rem;font-size:.88rem;font-weight:700;color:var(--project-orange)}
.project-details h2{margin:0;color:var(--project-ink);font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.17;font-weight:800;letter-spacing:-.03em}
.project-details__overview-copy p{margin:1.4rem 0 0;color:#546889;line-height:2;font-size:1rem;white-space:pre-line}
.project-details__metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:106px 0 76px 0;padding:0;direction:rtl}
.project-details__metadata-item{text-align:center}.project-details__metadata-item dt{display:flex;flex-direction:column;align-items:center;gap:.65rem;font-size:.9rem;color:#7888a7}.project-details__metadata-item dd{margin:.45rem 0 0;color:var(--project-ink);font-weight:700;font-size:.96rem}
.project-details__metadata-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:5px;background:var(--project-blue);position:relative}.project-details__metadata-icon:before{content:"";width:15px;height:15px;border:1.6px solid #fff;border-radius:50%;display:block}.project-details__metadata-icon--pin:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#fff}.project-details__metadata-icon--spark:before{border-radius:2px;transform:rotate(45deg)}.project-details__metadata-icon--building:before{border-radius:1px;width:13px;height:17px}.project-details__metadata-icon--calendar:before{border-radius:2px;width:17px;height:15px}.project-details__metadata-icon--calendar:after{content:"";position:absolute;top:17px;width:17px;border-top:1.6px solid #fff}
.project-details__feature-image{position:relative;height:clamp(330px,42vw,570px);overflow:hidden;background:var(--project-blue-deep)}
.project-details__feature-image>img{width:100%;height:100%;display:block;object-fit:cover;opacity:.95}.project-details__feature-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,44,116,.35),transparent 52%,rgba(28,44,116,.18))}.project-details__feature-pattern{position:absolute;inset:0 auto 0 8%;width:220px;opacity:.8;background:repeating-linear-gradient(120deg,transparent 0 23px,rgba(255,255,255,.48) 24px 26px,transparent 27px 43px);clip-path:polygon(0 0,100% 0,47% 100%,0 100%)}
.project-journey{padding:94px 0;background:var(--project-surface);min-height:650px}.project-journey__heading{max-width:420px;margin-inline-start:auto;text-align:right}.locale-en .project-journey__heading{text-align:left;margin-inline-start:0;margin-inline-end:auto}
.project-journey__progress{position:relative;display:flex;align-items:center;gap:clamp(24px,6vw,82px);width:min(710px,100%);margin:48px auto 28px;justify-content:center}.project-journey__progress>span{position:absolute;top:50%;inset-inline:0;height:2px;background:#c6d1f0}.project-journey__progress i{display:block;width:12px;height:12px;border-radius:50%;background:var(--project-blue);border:3px solid var(--project-surface);position:relative;z-index:1;transition:background .25s,transform .25s}.project-journey__progress i.is-current{background:#09b6c9;transform:scale(1.3);box-shadow:0 0 0 2px #bcebf0}
.project-journey__viewport{position:relative;min-height:310px}.project-journey__track{position:relative;min-height:310px}.project-journey__card{position:absolute;inset:0;display:grid;grid-template-columns:1fr minmax(260px,.8fr) 1fr;align-items:stretch;direction:rtl;border-radius:5px;overflow:hidden;box-shadow:0 18px 32px rgba(31,53,125,.10)}
.project-journey__card-copy{background:var(--project-blue);color:#fff;padding:clamp(30px,4vw,62px);align-content:center;text-align:right}.project-journey__card-copy span{display:block;color:var(--project-orange);font-size:.88rem;font-weight:700;margin-bottom:.7rem}.project-journey__card-copy h3{margin:0;color:#fff;font-weight:800;font-size:clamp(1.35rem,2.2vw,2rem)}.project-journey__card-copy p{margin:1rem 0 0;line-height:1.9;color:#dce5ff;font-size:.94rem}.project-journey__card figure{grid-column:2;margin:0;min-height:310px}.project-journey__card figure img{display:block;width:100%;height:100%;object-fit:cover}.project-journey__card:after{content:"";grid-column:3;background:var(--project-blue)}
.project-journey__mobile-controls{display:none;gap:10px;justify-content:center;margin-top:20px}.project-journey__mobile-controls button{border:1px solid #c5d1ed;background:#fff;width:42px;height:42px;border-radius:50%;font-size:27px;color:var(--project-blue);line-height:1;cursor:pointer}
.project-related{padding:90px 0 112px;background:#fff}.project-related__heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;direction:rtl}.project-related__heading h2{font-size:clamp(1.5rem,2.3vw,2.2rem)}.project-related__heading a{color:var(--project-orange);font-size:.9rem;font-weight:700;text-decoration:none}.project-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project-related__card{position:relative;aspect-ratio:.78;overflow:hidden;border-radius:5px;text-decoration:none;background:var(--project-blue);box-shadow:0 12px 25px rgba(26,47,110,.11)}.project-related__card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.project-related__card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(24,43,110,.82))}.project-related__card span{position:absolute;z-index:1;inset:auto 18px 17px;padding:10px 12px;color:var(--project-ink);background:rgba(255,255,255,.78);backdrop-filter:blur(8px);border-radius:3px;text-align:right;font-weight:700;font-size:.85rem}.project-related__card:hover img{transform:scale(1.06)}
@media (max-width:767px){.project-details__container{width:min(100% - 32px,560px)}.project-details__hero{min-height:360px;align-items:flex-end}.project-details__hero-inner{padding:0 0 54px}.project-details__breadcrumb{display:none}.project-details__hero h1{font-size:2.4rem}.project-details__overview{padding:42px 0 28px}.project-details__overview-grid{grid-template-columns:1fr;gap:28px}.project-details__overview-visual{width:min(76%,300px);margin-inline:auto}.project-details__overview-visual img{aspect-ratio:1/1.08}.project-details__overview-copy{text-align:center}.locale-en .project-details__overview-copy{text-align:center}.project-details__overview-copy p{font-size:.93rem;line-height:1.85}.project-details__metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 10px;margin-top:44px}.project-details__feature-image{height:285px}.project-details__feature-pattern{width:110px;inset-inline-start:0}.project-journey{min-height:0;padding:58px 0}.project-journey__heading{text-align:center;margin:0}.locale-en .project-journey__heading{margin:0;text-align:center}.project-journey__progress{margin:33px auto 23px;gap:30px}.project-journey__viewport,.project-journey__track{min-height:0}.project-journey__track{display:flex;gap:14px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}.project-journey__track::-webkit-scrollbar{display:none}.project-journey__card{position:relative;inset:auto;flex:0 0 88%;grid-template-columns:1fr;grid-template-rows:180px auto;scroll-snap-align:center;opacity:.48;transform:none!important;visibility:visible!important;transition:opacity .25s}.project-journey__card.is-active{opacity:1}.project-journey__card figure{grid-column:auto;grid-row:1;min-height:0}.project-journey__card-copy{grid-row:2;padding:25px;text-align:right}.project-journey__card:after{display:none}.project-journey__mobile-controls{display:flex}.project-related{padding:58px 0}.project-related__heading{margin-bottom:24px}.project-related__grid{display:flex;overflow:auto;gap:16px;scroll-snap-type:x mandatory;padding-bottom:10px}.project-related__card{flex:0 0 70%;scroll-snap-align:center}.project-details .sector-detail__help{padding-top:55px}}
@media (min-width:768px) and (max-width:1050px){.project-details__hero{min-height:490px}.project-details__overview-grid{gap:60px}.project-journey__card{grid-template-columns:1fr minmax(230px,.7fr) 1fr}.project-journey__card-copy{padding:35px}}
/* Scroll-driven journey: intentionally mirrors the sector company carousel. */
@media (min-width:768px){.project-journey{padding-block:76px;min-height:0;overflow:hidden}.project-journey__shell{position:relative;margin-inline:calc((100vw - min(1280px,calc(100vw - 48px)))/-2)}.project-journey__viewport{width:100%;min-height:408px;overflow:hidden;padding-inline:max(24px,calc((100vw - min(1280px,calc(100vw - 48px)))/2))}.project-journey__track{display:flex;gap:24px;min-height:408px;width:max-content;will-change:transform}.project-journey__card{position:relative;inset:auto;flex:0 0 84%;width:84%;min-width:84%;min-height:408px;grid-template-columns:42% 58%;grid-template-rows:1fr;direction:rtl;border-radius:16px;background:#fff;box-shadow:0 22px 46px rgba(31,53,125,.12)}.project-journey__card-copy{grid-column:2;grid-row:1;background:#fff;color:var(--project-ink);padding:clamp(42px,5vw,78px);text-align:right;align-content:center}.project-journey__card-copy h3{color:var(--project-ink);font-size:clamp(1.8rem,3.3vw,3rem)}.project-journey__card-copy p{color:#66789d;font-size:1rem;max-width:560px}.project-journey__card figure{grid-column:1;grid-row:1;min-height:408px;background:var(--project-blue)}.project-journey__card:after{display:none}.project-journey__arrow{z-index:3;position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:50%;background:#fff;color:var(--project-orange);box-shadow:0 12px 32px rgba(22,44,110,.14);cursor:pointer}.project-journey__arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.project-journey__arrow--prev{inset-inline-start:max(16px,calc((100vw - min(1280px,calc(100vw - 48px)))/2 - 28px))}.project-journey__arrow--next{inset-inline-end:max(16px,calc((100vw - min(1280px,calc(100vw - 48px)))/2 - 28px))}.project-journey__arrow:hover{background:var(--project-orange);color:#fff}.project-journey__mobile-controls{display:none!important}}

/* Company details — sourced from companies and company_brands. */
.company-details{--company-blue:#2c469e;--company-deep:#1f337c;--company-orange:#ff7a2e;--company-surface:#f5f7fc;--company-text:#233d88;background:var(--company-surface);color:var(--company-text);overflow:hidden}.company-details__container{width:min(1280px,calc(100% - 48px));margin-inline:auto}.company-details__hero{min-height:560px;position:relative;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#546dbc,#e1e8ff)}.company-details__hero-image,.company-details__hero-overlay,.company-details__hero-fade{position:absolute;inset:0;width:100%;height:100%}.company-details__hero-image{object-fit:cover;z-index:-3}.company-details__hero-overlay{z-index:-2;background:linear-gradient(90deg,rgba(55,76,165,.38),rgba(56,81,176,.82))}.company-details__hero-fade{z-index:-1;top:auto;height:48%;background:linear-gradient(transparent,var(--company-surface))}.company-details__hero-inner{padding-top:72px;display:flex;justify-content:flex-start}.company-details__hero-copy{max-width:560px;color:#fff;text-align:right}.locale-en .company-details__hero-copy{text-align:left}.company-details__breadcrumb{display:flex;gap:.65rem;align-items:center;margin-bottom:1.8rem;color:rgba(255,255,255,.84);font-size:.82rem}.company-details__breadcrumb a{color:inherit;text-decoration:none}.company-details__hero h1{margin:0;font-size:clamp(2.5rem,5vw,5.1rem);line-height:1.05;font-weight:800;letter-spacing:-.04em}.company-details__overview{padding:76px 0 38px}.company-details__overview-grid{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1fr);gap:clamp(50px,10vw,150px);align-items:center;direction:ltr}.company-details__logo-card{margin:0;width:min(100%,360px);aspect-ratio:1;display:grid;place-items:center;padding:45px;border-radius:9px;background:var(--company-blue);box-shadow:0 24px 46px rgba(35,59,139,.15)}.company-details__logo-card:before{content:"";position:absolute}.company-details__logo-card img{max-width:100%;max-height:100%;object-fit:contain;background:#fff;border-radius:6px;padding:28px}.company-details__copy{max-width:585px;direction:rtl;text-align:right}.locale-en .company-details__copy{direction:ltr;text-align:left}.company-details__eyebrow{display:block;margin-bottom:.55rem;color:var(--company-orange);font-size:.88rem;font-weight:700}.company-details h2{margin:0;color:var(--company-text);font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.16;font-weight:800;letter-spacing:-.035em}.company-details__copy p{margin:1.45rem 0 0;color:#5c6d90;font-size:1rem;line-height:2;white-space:pre-line}.company-details__website{display:inline-flex;gap:.6rem;align-items:center;margin-top:1.35rem;color:var(--company-orange);font-size:.9rem;font-weight:700;text-decoration:none}.company-details__website span{font-size:1.25rem}.company-details__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:76px 0 0;padding:0;direction:rtl}.company-details__fact{text-align:center}.company-details__fact dt{display:flex;flex-direction:column;align-items:center;gap:.72rem;color:#7a89a8;font-size:.9rem}.company-details__fact dd{margin:.45rem 0 0;color:var(--company-text);font-size:.96rem;font-weight:700}.company-details__fact-icon{width:42px;height:42px;border-radius:5px;background:#ffdbbf;display:grid;place-items:center;position:relative}.company-details__fact-icon:before{content:"";width:15px;height:15px;border:1.6px solid var(--company-blue);border-radius:50%}.company-details__fact-icon--pin:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--company-blue)}.company-details__fact-icon--cars:before{border-radius:3px;width:18px;height:11px}.company-details__fact-icon--calendar:before{border-radius:2px;width:17px;height:15px}.company-details__fact-icon--calendar:after{content:"";position:absolute;top:17px;width:17px;border-top:1.6px solid var(--company-blue)}.company-details__fact-icon--spark:before{border-radius:2px;transform:rotate(45deg)}.company-details__mission{position:relative;overflow:hidden;background:var(--company-blue);padding:clamp(70px,8vw,130px) 0;color:#fff}.company-details__mission-grid{position:relative;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1fr);gap:clamp(44px,10vw,160px);align-items:center;direction:ltr}.company-details__mission figure{margin:0;width:min(100%,400px);box-shadow:0 17px 30px rgba(15,27,80,.25)}.company-details__mission figure img{display:block;width:100%;aspect-ratio:1.23;object-fit:cover}.company-details__mission article{direction:rtl;text-align:right;max-width:570px}.locale-en .company-details__mission article{direction:ltr;text-align:left}.company-details__mission h2{color:var(--company-orange);font-size:clamp(1.7rem,3vw,2.6rem)}.company-details__mission article p{margin:1.3rem 0 0;line-height:2;color:#e0e7ff}.company-details__mission-pattern{position:absolute;inset:auto auto 0 0;width:260px;height:240px;opacity:.5;background:repeating-linear-gradient(125deg,transparent 0 24px,rgba(255,135,72,.7) 25px 27px,transparent 28px 48px);clip-path:polygon(0 0,100% 100%,0 100%)}.company-details__brands{padding:100px 0;background:var(--company-surface)}.company-details__brands-heading{text-align:center;margin-bottom:46px}.company-details__brands-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:35px 55px;align-items:center}.company-details__brand{display:grid;place-items:center;min-height:52px;color:#586378;font-weight:800;text-decoration:none;filter:grayscale(1);opacity:.8;transition:opacity .25s,filter .25s}.company-details__brand:hover{filter:grayscale(0);opacity:1}.company-details__brand img{display:block;max-width:130px;max-height:44px;object-fit:contain}.company-details__brand span{text-align:center}.company-details .sector-detail__help{padding-top:120px}
@media(max-width:767px){.company-details__container{width:min(100% - 32px,560px)}.company-details__hero{min-height:355px;align-items:flex-end}.company-details__hero-inner{padding:0 0 55px}.company-details__breadcrumb{display:none}.company-details__hero h1{font-size:2.4rem}.company-details__overview{padding:48px 0 30px}.company-details__overview-grid{grid-template-columns:1fr;gap:30px}.company-details__logo-card{width:min(76%,290px);margin-inline:auto;padding:30px}.company-details__copy,.locale-en .company-details__copy{text-align:center}.company-details__copy p{font-size:.93rem;line-height:1.85}.company-details__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px;margin-top:50px}.company-details__mission{padding:64px 0}.company-details__mission-grid{grid-template-columns:1fr;gap:30px}.company-details__mission figure{margin-inline:auto;width:min(100%,360px)}.company-details__mission article,.locale-en .company-details__mission article{text-align:center}.company-details__mission-pattern{width:140px;height:150px}.company-details__brands{padding:62px 0}.company-details__brands-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.company-details__brand img{max-width:120px}.company-details .sector-detail__help{padding-top:48px}}

/* Screenshot-matched company mission area: tabs and controls above a two-column story. */
.company-details__mission-top{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin:0 0 55px;direction:ltr}.company-details__mission-tabs{margin-inline-start:auto;min-width:390px;direction:rtl;text-align:right}.company-details__mission-tabs h2{color:#fff;font-size:clamp(2rem,3.3vw,3rem)}.company-details__mission-tabs>div{display:flex;justify-content:flex-start;gap:34px;margin-top:28px;border-bottom:1px solid rgba(255,255,255,.18)}.company-details__mission-tabs button{position:relative;padding:0 0 17px;border:0;background:transparent;color:rgba(255,255,255,.78);font:inherit;font-size:1rem;font-weight:600;cursor:pointer}.company-details__mission-tabs button.is-active{color:#fff}.company-details__mission-tabs button.is-active:after{content:"";position:absolute;inset:auto 0 -1px;height:3px;background:#f85f46}.company-details__mission-arrows{display:flex;gap:12px;direction:ltr}.company-details__mission-arrows button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:3px;background:#eef0ff;color:var(--company-orange);font-size:28px;line-height:1;cursor:pointer;transition:background .2s,color .2s}.company-details__mission-arrows button:hover{background:var(--company-orange);color:#fff}.company-details__mission-grid{grid-template-columns:minmax(320px,.95fr) minmax(350px,.8fr);gap:clamp(72px,13vw,210px)}.company-details__mission figure{width:min(100%,550px);justify-self:start}.company-details__mission figure img{aspect-ratio:1.48;object-fit:cover}.company-details__mission article{align-self:center}.company-details__mission article .company-details__eyebrow{display:none}.company-details__mission article h3{margin:0;color:var(--company-orange);font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.16;font-weight:800}.company-details__mission article p{max-width:500px;font-size:1rem;line-height:2.05}.company-details__mission-pattern{width:310px;height:300px}
@media(max-width:767px){.company-details__mission-top{margin-bottom:34px;align-items:flex-start;flex-direction:column-reverse;gap:24px}.company-details__mission-tabs{min-width:0;width:100%;text-align:right}.company-details__mission-tabs h2{font-size:2rem}.company-details__mission-tabs>div{margin-top:18px;gap:22px}.company-details__mission-grid{grid-template-columns:1fr;gap:32px}.company-details__mission article,.locale-en .company-details__mission article{text-align:right}.locale-en .company-details__mission article{text-align:left}.company-details__mission article h3{font-size:2rem}.company-details__mission figure{width:100%}}
/* Arabic mission header: title/tabs right, navigation controls left. */
html[dir="rtl"] .company-details__mission-top{direction:rtl}
html[dir="rtl"] .company-details__mission-tabs{order:1;margin-inline:0;text-align:right;direction:rtl}
html[dir="rtl"] .company-details__mission-tabs>div{justify-content:flex-start}
html[dir="rtl"] .company-details__mission-arrows{order:2;margin-inline-start:auto;direction:ltr}
html[dir="ltr"] .company-details__mission-top{direction:ltr}
html[dir="ltr"] .company-details__mission-tabs{order:1;margin-inline:0;text-align:left;direction:ltr}
html[dir="ltr"] .company-details__mission-arrows{order:2;margin-inline-start:auto}
@media(max-width:767px){html[dir="rtl"] .company-details__mission-top{align-items:stretch}html[dir="rtl"] .company-details__mission-arrows{margin-inline-start:0;justify-content:flex-start}}
/* Keep the mission heading on the reading edge without reversing the controls. */
html[dir="rtl"] .company-details__mission-top{direction:ltr}
html[dir="rtl"] .company-details__mission-tabs{order:2;margin-left:auto;margin-right:0;direction:rtl;text-align:right}
html[dir="rtl"] .company-details__mission-arrows{order:1;margin:0;direction:ltr}
html[dir="ltr"] .company-details__mission-top{direction:rtl}
html[dir="ltr"] .company-details__mission-tabs{order:2;margin-right:auto;margin-left:0;direction:ltr;text-align:left}
html[dir="ltr"] .company-details__mission-arrows{order:1;margin:0;direction:ltr}
@media(max-width:767px){html[dir="rtl"] .company-details__mission-top,html[dir="ltr"] .company-details__mission-top{direction:inherit}html[dir="rtl"] .company-details__mission-tabs,html[dir="ltr"] .company-details__mission-tabs{margin-inline:0}}
/* The desktop divider deliberately connects the right-side tabs to the left-side controls. */
@media(min-width:768px){.company-details__mission-top{position:relative;padding-bottom:18px}.company-details__mission-top:after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:rgba(255,255,255,.22)}.company-details__mission-tabs>div{position:relative;z-index:1;border-bottom:0}.company-details__mission-tabs button{padding-bottom:0}.company-details__mission-tabs button.is-active:after{bottom:-19px;height:3px}.company-details__mission-arrows{position:relative;z-index:1}}

/* Direction and geometry corrections for Arabic project and desktop menus. */
html[dir="rtl"] .project-journey__heading{margin-inline-start:0;margin-inline-end:auto;text-align:right;direction:rtl}
html[dir="ltr"] .project-journey__heading{margin-inline-start:auto;margin-inline-end:0;text-align:left;direction:ltr}
@media (min-width:768px){.project-journey__shell{direction:ltr}.project-journey__viewport{box-sizing:border-box}.project-journey__track{box-sizing:border-box;align-items:stretch}.project-journey__card{box-sizing:border-box;flex-shrink:0;visibility:visible!important;opacity:1!important}.project-journey__card-copy{direction:rtl}.locale-en .project-journey__card-copy{direction:ltr;text-align:left}.project-journey__viewport .project-journey__card:first-child{margin-inline-start:0}}
@media (min-width:1200px){html[dir="rtl"] #site-header .lqd-megamenu-inner,html[dir="rtl"] header .lqd-megamenu-inner{direction:rtl!important;text-align:right!important;left:auto!important;right:0!important;margin-left:0!important;margin-right:0!important}html[dir="rtl"] #site-header .custom-mega-grid,html[dir="rtl"] header .custom-mega-grid{direction:rtl!important;text-align:right!important}html[dir="rtl"] #site-header .custom-mega-grid .mega-menu-item,html[dir="rtl"] header .custom-mega-grid .mega-menu-item{direction:rtl!important;text-align:right!important}html[dir="rtl"] #site-header .custom-mega-grid .mega-menu-item a,html[dir="rtl"] header .custom-mega-grid .mega-menu-item a{justify-content:flex-start!important;text-align:right!important}html[dir="rtl"] #site-header .custom-mega-grid .mega-menu-item ul,html[dir="rtl"] header .custom-mega-grid .mega-menu-item ul{padding-right:0!important;padding-left:0!important;text-align:right!important}}

/* ===== Editorial news and social-responsibility system ===== */
.editorial-page{--editorial-blue:#243f91;--editorial-blue-deep:#14245d;--editorial-orange:#ff7a2d;--editorial-ink:#172654;--editorial-muted:#6e7fa3;--editorial-soft:#f4f7fd;color:var(--editorial-ink);background:#fff;overflow:hidden}.editorial-shell{width:min(1240px,calc(100% - 48px));margin-inline:auto}.editorial-hero{position:relative;padding:clamp(96px,11vw,160px) 0 clamp(62px,8vw,110px);background:radial-gradient(circle at 14% 9%,rgba(255,149,89,.3),transparent 27%),linear-gradient(118deg,#18285e 0%,#294aa9 54%,#7194eb 125%);color:#fff;isolation:isolate}.editorial-hero:after{content:"";position:absolute;inset:auto -7vw -18vw auto;width:55vw;height:55vw;border:1px solid rgba(255,255,255,.22);border-radius:50%;z-index:-1}.editorial-hero--social{background:radial-gradient(circle at 87% 16%,rgba(255,132,67,.31),transparent 24%),linear-gradient(118deg,#123459,#286a8a 55%,#58a4a0 130%)}.editorial-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--editorial-orange);font-size:.9rem;font-weight:800;letter-spacing:.02em}.editorial-kicker:before{content:"";inline-size:8px;block-size:8px;border-radius:50%;background:currentColor}.editorial-hero h1,.editorial-article-hero h1{max-width:900px;margin:17px 0 15px;font-size:clamp(2.3rem,5.3vw,5rem);line-height:1.08;color:#fff;font-weight:800;letter-spacing:-.035em}.editorial-hero p{max-width:670px;margin:0;font-size:clamp(1.05rem,1.5vw,1.27rem);line-height:1.9;color:rgba(255,255,255,.82)}.editorial-section{padding:clamp(64px,8vw,118px) 0}.editorial-section--tint{background:var(--editorial-soft)}.editorial-feature{display:grid;grid-template-columns:1.07fr .93fr;min-height:510px;margin-top:clamp(-38px,-4vw,-58px);position:relative;z-index:2;border-radius:28px;background:#fff;overflow:hidden;box-shadow:0 28px 75px rgba(25,51,120,.15)}.editorial-feature__image{min-height:100%;display:block;background:#dce4f8}.editorial-feature__image img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.editorial-feature:hover .editorial-feature__image img{transform:scale(1.045)}.editorial-feature__content{align-self:center;padding:clamp(36px,5.3vw,80px)}.editorial-feature__content>span{color:var(--editorial-orange);font-weight:800}.editorial-feature__content time{display:block;margin-top:9px;color:var(--editorial-muted);font-size:.9rem}.editorial-feature h2{margin:20px 0 16px;font-size:clamp(1.7rem,3vw,2.85rem);line-height:1.28}.editorial-feature h2 a,.editorial-card h2 a{color:inherit;text-decoration:none}.editorial-feature p{margin:0 0 28px;color:var(--editorial-muted);font-size:1.05rem;line-height:1.9}.mgi-button{display:inline-flex;align-items:center;gap:14px;justify-content:center;border-radius:999px;padding:13px 21px;font-weight:800;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease}.mgi-button b{font-size:1.25em;transition:transform .25s ease}.mgi-button:hover{transform:translateY(-2px)}.mgi-button:hover b{transform:translateX(-5px)}[dir="ltr"] .mgi-button:hover b{transform:translateX(5px)}.mgi-button--solid{background:var(--editorial-orange);color:#fff}.mgi-button--solid:hover{background:#dd5b12;color:#fff}.editorial-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:clamp(66px,9vw,116px) 0 30px}.editorial-heading h2{margin:10px 0 0;font-size:clamp(1.75rem,3.4vw,3.1rem);line-height:1.2;color:var(--editorial-blue)}.editorial-heading>span{padding:8px 12px;border-radius:999px;background:#eef2fc;color:var(--editorial-blue);font-size:.9rem;font-weight:700}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.editorial-card{height:100%;display:flex;flex-direction:column;border:1px solid #e3e8f6;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(21,43,104,.07);transition:transform .25s ease,box-shadow .25s ease}.editorial-card:hover{transform:translateY(-7px);box-shadow:0 23px 48px rgba(21,43,104,.14)}.editorial-card__image{display:block;aspect-ratio:1.45;background:#dce4f8;overflow:hidden}.editorial-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.editorial-card:hover .editorial-card__image img{transform:scale(1.05)}.editorial-card__placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:3rem;color:var(--editorial-blue)}.editorial-card__body{display:flex;flex:1;flex-direction:column;padding:23px 24px 25px}.editorial-card__meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:13px;color:var(--editorial-orange);font-size:.78rem;font-weight:800}.editorial-card__meta time{color:var(--editorial-muted);font-weight:600;white-space:nowrap}.editorial-card h2{margin:0 0 11px;font-size:1.25rem;line-height:1.5;color:var(--editorial-ink)}.editorial-card p{margin:0;color:var(--editorial-muted);font-size:.94rem;line-height:1.75}.editorial-card__link{display:inline-flex;align-items:center;gap:9px;margin-top:auto;padding-top:21px;color:var(--editorial-blue);font-weight:800;text-decoration:none}.editorial-card__link span{color:var(--editorial-orange);font-size:1.35em;transition:transform .25s ease}.editorial-card__link:hover span{transform:translateX(-5px)}[dir="ltr"] .editorial-card__link:hover span{transform:translateX(5px)}.editorial-empty{grid-column:1/-1;margin:0;padding:44px;border:1px dashed #c7d1e9;border-radius:18px;text-align:center;color:var(--editorial-muted)}.editorial-pagination{margin-top:38px}.editorial-article-hero{padding:clamp(110px,13vw,180px) 0 clamp(56px,7vw,94px);background:linear-gradient(132deg,#111e4a,#2f4eae);color:#fff}.editorial-article-hero--social{background:linear-gradient(132deg,#10385c,#267386)}.editorial-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;color:rgba(255,255,255,.66);font-size:.9rem}.editorial-breadcrumb a{color:inherit;text-decoration:none}.editorial-breadcrumb a:hover{color:#fff}.editorial-article-hero time,.editorial-detail-meta{color:rgba(255,255,255,.75);font-weight:700}.editorial-detail-meta{display:flex;gap:15px;flex-wrap:wrap}.editorial-detail-meta span:before{content:"•";margin-inline-end:15px;color:var(--editorial-orange)}.editorial-article{max-width:940px;padding:clamp(54px,8vw,112px) 0}.editorial-article__image{margin:0 0 46px;border-radius:26px;overflow:hidden;box-shadow:0 24px 58px rgba(18,43,104,.18)}.editorial-article__image img{display:block;width:100%;max-height:610px;object-fit:cover}.editorial-article__content{color:#344568;font-size:1.12rem;line-height:2}.editorial-article__content p{margin:0 0 1.45em}.editorial-article__content h2,.editorial-article__content h3{margin:1.55em 0 .6em;color:var(--editorial-blue);line-height:1.35}.editorial-details .share-links{margin-top:45px}
@media (max-width:900px){.editorial-feature{grid-template-columns:1fr}.editorial-feature__image{min-height:310px}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-feature__content{padding:36px}.editorial-heading{margin-top:70px}}
@media (max-width:600px){.editorial-shell{width:min(100% - 32px,1240px)}.editorial-hero{padding-top:100px}.editorial-hero h1,.editorial-article-hero h1{font-size:2.35rem}.editorial-feature{margin-top:-28px;border-radius:20px}.editorial-feature__image{min-height:225px}.editorial-feature__content{padding:28px 22px}.editorial-grid{grid-template-columns:1fr;gap:18px}.editorial-heading{align-items:flex-start;flex-direction:column;margin:58px 0 24px}.editorial-card__body{padding:21px}.editorial-article__image{margin-bottom:30px;border-radius:18px}.editorial-article__content{font-size:1rem;line-height:1.95}.editorial-article-hero{padding-top:105px}}

/* Events — shared media-center experience. */
.events-page{--event-blue:#233f91;--event-deep:#112a69;--event-orange:#ff762e;--event-surface:#f5f7fc;--event-muted:#66779c;background:var(--event-surface);color:var(--event-blue);min-height:60vh}.events-container{width:min(1240px,calc(100% - 48px));margin-inline:auto}.events-hero{position:relative;overflow:hidden;padding:clamp(104px,12vw,168px) 0 clamp(68px,8vw,110px);background:radial-gradient(circle at 12% 15%,rgba(255,133,75,.33),transparent 25%),linear-gradient(122deg,var(--event-deep),var(--event-blue) 57%,#7897e2 130%);color:#fff}.events-hero:after{content:"";position:absolute;inset:auto -8vw -24vw auto;width:55vw;height:55vw;border:1px solid rgba(255,255,255,.2);border-radius:50%}.events-hero--detail{padding-top:clamp(120px,14vw,190px)}.events-hero .events-container{position:relative;z-index:1;max-width:880px;margin-inline-start:max(24px,calc((100vw - min(1240px,calc(100vw - 48px)))/2));margin-inline-end:auto}.events-hero span{color:#ffb28a;font-size:.9rem;font-weight:800}.events-hero h1{max-width:900px;margin:14px 0;color:#fff;font-size:clamp(2.55rem,5vw,5rem);line-height:1.13;font-weight:800;letter-spacing:-.04em}.events-hero p{max-width:650px;margin:0;color:rgba(255,255,255,.84);font-size:clamp(1rem,1.55vw,1.2rem);line-height:1.9}.events-list{padding:clamp(58px,8vw,110px) 0}.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.event-card{display:flex;min-height:100%;flex-direction:column;overflow:hidden;border:1px solid #e0e6f4;border-radius:22px;background:#fff;box-shadow:0 13px 36px rgba(21,45,108,.08);transition:transform .25s ease,box-shadow .25s ease}.event-card:hover{transform:translateY(-6px);box-shadow:0 23px 50px rgba(21,45,108,.14)}.event-card>img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover;background:#dbe4f7}.event-card__body{display:flex;flex:1;flex-direction:column;padding:24px}.event-card time{color:var(--event-orange);font-size:.82rem;font-weight:800}.event-card h2{margin:12px 0 10px;font-size:1.35rem;line-height:1.45;color:var(--event-blue)}.event-card p{margin:0;color:var(--event-muted);font-size:.94rem;line-height:1.82}.event-card a{display:inline-flex;align-items:center;justify-content:center;width:max-content;margin-top:auto;padding:18px 0 0;color:var(--event-blue);font-weight:800;text-decoration:none}.event-card a:after{content:"←";margin-inline-start:9px;color:var(--event-orange);font-size:1.2em;transition:transform .2s ease}.event-card a:hover:after{transform:translateX(-4px)}[dir="ltr"] .event-card a:after{content:"→"}.events-empty{grid-column:1/-1;margin:0;padding:48px;border:1px dashed #bdc9e4;border-radius:18px;color:var(--event-muted);text-align:center}.events-pagination{margin-top:40px}.event-detail{padding:clamp(54px,8vw,104px) 0}.event-detail__cover{display:block;width:100%;max-height:630px;margin-bottom:45px;border-radius:24px;object-fit:cover;box-shadow:0 22px 55px rgba(18,43,105,.16)}.event-detail__content{max-width:930px;color:#3d4e72;font-size:1.1rem;line-height:2.05;white-space:normal}.event-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:50px}.event-gallery img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:16px}.event-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:50px}.event-videos iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:17px;background:#0f1f50}@media(max-width:900px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.events-container{width:min(100% - 32px,1240px)}.events-hero{padding-top:105px}.events-hero h1{font-size:2.45rem}.events-grid{grid-template-columns:1fr;gap:18px}.event-detail__cover{margin-bottom:30px;border-radius:18px}.event-detail__content{font-size:1rem;line-height:1.95}.event-gallery,.event-videos{grid-template-columns:1fr;gap:14px;margin-top:30px}}

/* Keep desktop mega menus inside the page gutter instead of against the browser scrollbar. */
@media (min-width:1200px){#site-header .main-nav>li.lqd-megamenu>.lqd-megamenu-inner,header .main-nav>li.lqd-megamenu>.lqd-megamenu-inner{left:clamp(28px,4.25vw,72px)!important;right:clamp(28px,4.25vw,72px)!important;width:auto!important;max-width:none!important;margin-inline:0!important}html[dir="rtl"] #site-header .lqd-megamenu-inner,html[dir="rtl"] header .lqd-megamenu-inner{left:clamp(28px,4.25vw,72px)!important;right:clamp(28px,4.25vw,72px)!important;margin-inline:0!important}}

/* Persistent current-route state. The submenu script owns `.is-active`, so
   route highlighting uses a separate class that hover handlers never remove. */
#site-header .main-nav > li > a.is-current-route,
#site-header .main-nav > li > a.is-current-route > span,
#site-header .main-nav > li > a.is-current-route > i,
#site-header .main-nav > li > a.is-current-route .menu-chevron {
    color: var(--mgi-color-primary-700, #2a409a) !important;
}

#site-header .main-nav > li > a.is-current-route svg {
    color: var(--mgi-color-primary-700, #2a409a) !important;
    stroke: var(--mgi-color-primary-700, #2a409a) !important;
}

/* A calm desktop current-page indicator: accessible navy text with a soft
   orange accent instead of a large, visually dominant orange label. */
@media (min-width: 1200px) {
    #site-header .main-nav > li > a.is-current-route {
        position: relative;
        font-weight: 800 !important;
    }
    #site-header .main-nav > li > a.is-current-route::after {
        content: "";
        position: absolute;
        inset-inline-start: 50%;
        bottom: 10px;
        width: 22px;
        height: 2px;
        border-radius: 999px;
        background: rgba(244, 119, 50, .58);
        transform: translateX(-50%);
        pointer-events: none;
    }
}

#site-header #mobile-primary-nav a.is-current-route {
    color: #f47732 !important;
}

/* Shared home link used by every public breadcrumb. */
.breadcrumb-home-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: inherit;
    line-height: 1.35;
    text-decoration: none;
    white-space: nowrap;
}

.breadcrumb-home-link__icon {
    display: block;
    width: 1.35em;
    height: 1.35em;
    min-width: 1.35em;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain;
    flex: 0 0 auto;
}

/* Desktop mega-menu alignment: attach the panel directly to the header and
   keep the lower corners only; the mobile drawer keeps its own styling. */
@media (min-width:992px){
    #site-header .main-nav>li.lqd-megamenu>.lqd-megamenu-inner,
    header .main-nav>li.lqd-megamenu>.lqd-megamenu-inner{
        top:100%!important;
        margin-top:0!important;
        border-top:0!important;
        border-radius:0 0 20px 20px!important;
    }

    #site-header .main-nav>li.menu-item-has-children:not(.lqd-megamenu)> .nav-item-children,
    header .main-nav>li.menu-item-has-children:not(.lqd-megamenu)> .nav-item-children,
    #site-header .main-nav>li.menu-item-has-children:not(.lqd-megamenu)> .sub-menu,
    header .main-nav>li.menu-item-has-children:not(.lqd-megamenu)> .sub-menu{
        top:100%!important;
        margin-top:0!important;
        border-top:0!important;
        border-radius:0 0 16px 16px!important;
    }
}

/* ========================================================================== 
   Unified action-button shape
   All primary/action buttons use the same 9px radius. Circular controls
   (carousel arrows, chat and back-to-top controls) intentionally keep their
   circular geometry because they are icon controls rather than CTA buttons.
   ========================================================================== */
:where(
    button,
    [role="button"],
    .btn,
    .button,
    .mgi-button,
    .mgi-glass-action,
    .glass-btn,
    .glass-btn-orange,
    .glass-cta-btn,
    .glass-btn-outline,
    .glass-read-more,
    .lightship-read-more,
    .figma-hero-explore-btn,
    .global-presence-btn,
    .stripe-details-btn,
    .sector-detail__company-link,
    .sector-detail__related-heading a,
    .news-read-more,
    .news-view-all-link,
    .branch-filter-btn,
    .branch-location-btn,
    .branch-reset-btn,
    .contact-submit,
    .opportunity-card__link,
    .search-result-read-more,
    .site-footer-submit,
    input[type="submit"],
    input[type="button"],
    input[type="reset"]
) {
    border-radius: var(--mgi-radius-button) !important;
}

/* Icon-only controls keep their circular hit area; they are not CTA buttons. */
:where(
    .chat-toggle,
    .send-button,
    .stripe-nav-btn,
    .news-nav-btn,
    .sector-detail__slider-arrow,
    .project-journey__arrow,
    .cac-page-up,
    .mgi-page-up,
    .social-share-button,
    .lity-close
) {
    border-radius: 50% !important;
}

/* Keep sector/project CTA labels interactive on every card instance. */
.sectors-page .sectors-motion-card-label,
.sectors-page .sectors-grid-label,
.projects-page .sectors-motion-card-label,
.projects-page .sectors-grid-label {
    pointer-events: auto !important;
}

/* Project cards use the same glass CTA treatment as sector cards. */
.project-related__label {
    position: absolute;
    z-index: 2;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: flex;
    min-height: 64px;
    padding: 12px 18px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.52);
    border-radius: var(--mgi-radius-button);
    background: linear-gradient(135deg, rgba(255,255,255,.28), rgba(209,221,244,.16));
    -webkit-backdrop-filter: blur(16px) saturate(145%);
    backdrop-filter: blur(16px) saturate(145%);
    color: #fff;
    font-size: clamp(15px, 1.15vw, 19px);
    font-weight: 600;
    line-height: 1.35;
    box-shadow: inset 0 1px rgba(255,255,255,.42), 0 8px 24px rgba(7,18,49,.16);
    pointer-events: none;
    transition: background .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.project-related__label::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.23) 48%, transparent 76%);
    transform: translateX(-120%);
    transition: transform .65s cubic-bezier(.2,.75,.25,1);
    pointer-events: none;
}
.project-related__label strong,
.project-related__label svg { position: relative; z-index: 1; }
.project-related__label strong { font-size: inherit; }
.project-related__label svg {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: var(--project-orange);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .35s cubic-bezier(.2,.8,.2,1), stroke .3s ease;
}
.project-related__card:hover .project-related__label,
.project-related__card:focus-visible .project-related__label {
    border-color: rgba(255,255,255,.76);
    background: linear-gradient(135deg, rgba(42,64,154,.52), rgba(244,119,50,.34));
    box-shadow: inset 0 1px rgba(255,255,255,.5), 0 12px 30px rgba(7,18,49,.24);
    transform: translateY(-2px);
}
.project-related__card:hover .project-related__label::before,
.project-related__card:focus-visible .project-related__label::before { transform: translateX(120%); }
.project-details[dir="rtl"] .project-related__card:hover .project-related__label svg,
.project-details[dir="rtl"] .project-related__card:focus-visible .project-related__label svg {
    transform: translateX(-6px);
    stroke: #fff;
}
.project-details[dir="ltr"] .project-related__card:hover .project-related__label svg,
.project-details[dir="ltr"] .project-related__card:focus-visible .project-related__label svg {
    transform: translateX(6px);
    stroke: #fff;
}

/* Override the legacy card-span rule without changing the card markup. */
.project-related__card .project-related__label {
    inset: auto 18px 18px;
    padding: 12px 18px;
    border-radius: var(--mgi-radius-button);
    background: linear-gradient(135deg, rgba(255,255,255,.28), rgba(209,221,244,.16));
    color: #fff;
    font-size: clamp(15px, 1.15vw, 19px);
    font-weight: 600;
    line-height: 1.35;
    text-align: start;
}

/* Projects landing page empty state and shared card behaviour. */
.projects-page .projects-empty-state {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    z-index: 7;
    width: min(90%, 420px);
    padding: 24px;
    border: 1px solid rgba(42,64,154,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.84);
    color: var(--sectors-ink, #172554);
    text-align: center;
    box-shadow: 0 18px 50px rgba(31,49,96,.12);
}
.projects-page .sectors-motion-card:focus-visible {
    outline: 3px solid var(--sectors-orange, #f47732);
    outline-offset: 4px;
}

/* ========================================================================== 
   Unified light section surface
   Keep public page canvases consistent while preserving white cards/forms and
   branded dark hero sections. All light sections use the single #f7f9fd token.
   ========================================================================== */
.cac-about-page,
.cac-sustain-page,
.branches-page,
.sectors-page,
.projects-page,
.sector-detail,
.about-redesign,
.contact-page,
.legal-page,
.editorial-page,
.events-page,
.project-details,
.company-details,
.opportunities-page {
    background-color: var(--mgi-section-surface) !important;
}

.project-details,
.company-details,
.events-page {
    --project-surface: var(--mgi-section-surface);
    --company-surface: var(--mgi-section-surface);
    --event-surface: var(--mgi-section-surface);
}

.editorial-page {
    --editorial-soft: var(--mgi-section-surface);
}

.project-related {
    background-color: var(--mgi-section-surface) !important;
}

/* Opportunity detail follow-up sections. */
.opportunities-page {
    --sector-blue: var(--mgi-color-primary-700);
    --sector-orange: var(--mgi-color-accent-600);
    --sector-text: var(--mgi-color-ink);
    --sector-muted: var(--mgi-color-muted);
    --sector-line: var(--mgi-color-border);
}

.opportunity-related {
    padding: clamp(64px, 8vw, 110px) 0 clamp(70px, 9vw, 120px);
    background: var(--mgi-section-surface) !important;
}

.opportunity-related__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
}

.opportunity-related__heading .opportunities-eyebrow {
    margin: 0;
}

.opportunity-related__heading h2 {
    margin: 0;
    color: var(--sector-text);
    font-size: clamp(27px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.25;
}

.opportunity-related__grid {
    align-items: stretch;
}

.opportunity-related__card {
    display: flex;
    min-height: 100%;
}

.opportunity-related__card .opportunity-card__body {
    display: flex;
    width: 100%;
    flex-direction: column;
}

.opportunity-related__card h3 {
    margin: 8px 0 13px;
    color: var(--sector-text);
    font-size: 21px;
    line-height: 1.5;
}

.opportunity-related__card .opportunity-card__link {
    margin-top: auto;
    width: fit-content;
    border-radius: var(--mgi-radius-button);
    text-decoration: none;
}

.opportunity-related__card .opportunity-card__link span {
    font-size: 1.15em;
    transition: transform .25s ease;
}

.opportunity-related__card .opportunity-card__link:hover span {
    transform: translateX(-4px);
}

[dir='ltr'] .opportunity-related__card .opportunity-card__link:hover span {
    transform: translateX(4px);
}

/* Chairman portrait: anchor the frame to the panel bottom and let the image
   cover the frame so no light gap remains below the portrait. */
.about-redesign__chairman-frame {
    box-sizing: border-box;
    right: 0 !important;
    top: auto;
    bottom: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

.about-redesign__chairman-frame img {
    position: absolute !important;
    inset: -1.5% !important;
    width: 103% !important;
    max-width: none !important;
    height: 103% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center;
    border-radius: inherit !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .opportunity-related__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .opportunity-related__heading h2 {
        font-size: 28px;
    }

    .opportunity-related {
        padding-block: 52px 70px;
    }
}

/* Legal pages: keep the wide article and narrow aside in the intended visual
   order. RTL should affect text alignment, not swap the grid columns. */
.legal-layout,
[dir='rtl'] .legal-layout {
    direction: ltr;
    grid-template-columns: minmax(210px, .28fr) minmax(0, .72fr);
}

.legal-layout > .legal-aside,
.legal-layout > .legal-content-card {
    direction: rtl;
}

html[dir='ltr'] .legal-layout > .legal-aside,
html[dir='ltr'] .legal-layout > .legal-content-card {
    direction: ltr;
}

/* The light-surface token is authoritative for every light section. */
.cac-values-section,
.related-services-section,
.lightship-section,
.stats-section,
.stripe-projects-section,
.partners-section,
.news-section,
.home-section-spacer,
.project-related {
    background-color: var(--mgi-section-surface) !important;
}

/* Translucent brand shape inside the desktop mega menu. It sits behind the
   columns, clipped to the panel, and mirrors with the document direction. */
@media (min-width: 1200px) {
    #site-header .lqd-megamenu-inner,
    header .lqd-megamenu-inner {
        overflow: hidden !important;
        isolation: isolate;
    }

    #site-header .lqd-megamenu-inner::after,
    header .lqd-megamenu-inner::after {
        content: '';
        position: absolute;
        z-index: 0;
        inset: auto auto -190px -185px;
        width: 520px;
        height: 520px;
        background: url('/images/shape.svg') center / contain no-repeat;
        opacity: .14;
        mix-blend-mode: screen;
        pointer-events: none;
        user-select: none;
    }

    #site-header .lqd-megamenu-inner > *,
    header .lqd-megamenu-inner > * {
        position: relative;
        z-index: 1;
    }

html[dir='ltr'] #site-header .lqd-megamenu-inner::after,
html[dir='ltr'] header .lqd-megamenu-inner::after {
        right: -185px;
        left: auto;
        transform: scaleX(-1);
    }
}

/* Sectors and projects hero: the brand shape fills the peach geometric field
   like the reference artwork, while remaining behind the animated cards. */
.sectors-motion-shape {
    overflow: hidden;
}

.sectors-motion-brand-shape {
    position: absolute;
    z-index: 0;
    inset: -12% -10% -12% -10%;
    width: 120% !important;
    height: 124% !important;
    max-width: none !important;
    object-fit: cover;
    opacity: .3;
    mix-blend-mode: multiply;
    transform: scale(1.15);
    transform-origin: center center;
    pointer-events: none;
    user-select: none;
}

.sectors-motion-shape::after {
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 54%);
    pointer-events: none;
}

@media (max-width: 991px) {
    .sectors-motion-brand-shape {
        inset: -8% -18% -8% -18%;
        width: 136% !important;
        height: 116% !important;
        opacity: .22;
    }
}

/* The card stack stays crisp against the geometric background. The CTA label
   retains its own glass treatment, while the large outer glow is removed. */
.sectors-motion-card,
.sectors-grid-card {
    box-shadow: none !important;
}

/* Site motion system ------------------------------------------------------
   Content stays visible without JavaScript. The enabled class is added only
   after IntersectionObserver is ready, and animated transforms are removed
   after entry so existing hover interactions remain untouched. */
html.lenis {
    scroll-behavior: auto !important;
}

html.mgi-motion-enabled [data-mgi-reveal] {
    --mgi-reveal-distance: 30px;
    opacity: 0;
    transform: translate3d(0, var(--mgi-reveal-distance), 0) scale(.985);
    transform-origin: 50% 50%;
    will-change: opacity, transform;
}

html.mgi-motion-enabled [data-mgi-reveal].is-revealed {
    animation: mgi-content-reveal .78s var(--mgi-ease-emphasized) both;
    animation-delay: var(--mgi-reveal-delay, 0ms);
}

@keyframes mgi-content-reveal {
    from {
        opacity: 0;
        transform: translate3d(0, var(--mgi-reveal-distance), 0) scale(.985);
    }

    72% {
        opacity: 1;
        transform: translate3d(0, -2px, 0) scale(1.004);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@media (max-width: 767px) {
    html.mgi-motion-enabled [data-mgi-reveal] {
        --mgi-reveal-distance: 15px;
    }

    html.mgi-motion-enabled [data-mgi-reveal].is-revealed {
        animation-duration: .62s;
        animation-delay: min(var(--mgi-reveal-delay, 0ms), 140ms);
    }
}

@media (prefers-reduced-motion: reduce) {
    html.mgi-motion-enabled [data-mgi-reveal],
    html.mgi-motion-enabled [data-mgi-reveal].is-revealed {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        will-change: auto;
    }
}
