/* ============================================================================
   MRAIB — Mineral Resources & Commercial Investment Bureau
   Premium merchant banking overlay. Sits on top of the legacy Bootstrap theme.
   Colour system: deep midnight navy + brushed gold + porcelain neutrals.
   ============================================================================ */

:root {
    --mraib-navy-900: #06101f;
    --mraib-navy-800: #0b1a33;
    --mraib-navy-700: #122648;
    --mraib-navy-600: #1c3566;
    --mraib-navy-500: #264d8c;
    --mraib-gold-400: #e4c17a;
    --mraib-gold-500: #c9a253;
    --mraib-gold-600: #a67f2f;
    --mraib-cream: #f7f3ea;
    --mraib-ink: #0f172a;
    --mraib-muted: #5b677d;
    --mraib-line: rgba(15, 23, 42, 0.08);
    --mraib-line-strong: rgba(15, 23, 42, 0.16);
    --mraib-glass: rgba(255, 255, 255, 0.06);
    --mraib-glass-strong: rgba(255, 255, 255, 0.14);
    --mraib-shadow-sm: 0 1px 2px rgba(6, 16, 31, 0.06), 0 4px 14px rgba(6, 16, 31, 0.05);
    --mraib-shadow-md: 0 6px 18px rgba(6, 16, 31, 0.1), 0 16px 40px rgba(6, 16, 31, 0.12);
    --mraib-shadow-lg: 0 20px 60px rgba(6, 16, 31, 0.25);
    --mraib-radius: 14px;
    --mraib-radius-lg: 22px;
    --mraib-sans: 'Inter', 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    --mraib-serif: 'Playfair Display', 'Times New Roman', serif;
}

/* Global body typography — overrides legacy defaults */
body {
    font-family: var(--mraib-sans);
    color: var(--mraib-ink);
    background: #ffffff;
    -webkit-font-smoothing: antialiased;
}

/* ------------------------------------------------------------------
   HEADER / NAV
   ------------------------------------------------------------------ */
.mraib-header {
    position: relative;
    z-index: 40;
}

.mraib-header-top {
    background: linear-gradient(90deg, var(--mraib-navy-900) 0%, var(--mraib-navy-700) 100%) !important;
    border-bottom: 1px solid rgba(201, 162, 83, 0.2);
}

.mraib-header-top .top-inner {
    padding: 10px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.mraib-top-meta,
.mraib-header-top .info-list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.mraib-top-meta li,
.mraib-header-top .info-list li {
    color: #d6dbe4;
    font-size: 12.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    list-style: none;
}

.mraib-header-top a {
    color: var(--mraib-gold-400) !important;
    text-decoration: none;
    transition: color .2s;
}

.mraib-header-top a:hover {
    color: #fff !important;
}

.mraib-dot {
    width: 6px;
    height: 6px;
    background: var(--mraib-gold-500);
    border-radius: 999px;
    display: inline-block;
    box-shadow: 0 0 0 3px rgba(201, 162, 83, 0.18);
}

.mraib-top-pill a {
    padding: 4px 12px;
    border: 1px solid rgba(201, 162, 83, 0.5);
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.08em;
}

/* Brand mark */
.mraib-logo {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    text-decoration: none !important;
}

.mraib-mark {
    width: 48px;
    height: 48px;
    flex: none;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--mraib-navy-800) 0%, var(--mraib-navy-600) 100%);
    box-shadow: inset 0 0 0 1px rgba(201, 162, 83, 0.35), var(--mraib-shadow-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.mraib-mark::before {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 9px;
    border: 1px solid rgba(201, 162, 83, 0.35);
    pointer-events: none;
}
.mraib-mark-inner {
    font-family: var(--mraib-serif);
    font-weight: 700;
    font-size: 22px;
    color: var(--mraib-gold-400);
    letter-spacing: 0;
}

.mraib-wordmark {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.05;
}

.mraib-wordmark-primary {
    font-family: var(--mraib-serif);
    font-weight: 700;
    font-size: 22px;
    letter-spacing: 0.14em;
    color: var(--mraib-navy-800);
}

.mraib-wordmark-secondary {
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--mraib-muted);
    margin-top: 4px;
    font-weight: 500;
}

.sticky-header .mraib-wordmark-primary {
    color: var(--mraib-navy-800);
}

.header-lower {
    background: #fff !important;
    border-bottom: 1px solid var(--mraib-line);
}

.header-lower .outer-box {
    padding: 18px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.main-menu .navigation > li > a,
.main-menu .navigation li a {
    font-family: var(--mraib-sans);
    font-weight: 500 !important;
    color: var(--mraib-navy-800) !important;
    font-size: 15px;
    letter-spacing: 0.01em;
    padding: 22px 18px !important;
    transition: color .2s;
}
.main-menu .navigation > li.current > a,
.main-menu .navigation > li.current a,
.main-menu .navigation > li > a:hover {
    color: var(--mraib-gold-600) !important;
}

.mraib-cta-group {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.mraib-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
    border-radius: 999px;
    font-family: var(--mraib-sans);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    cursor: pointer;
    border: 1px solid transparent;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
    line-height: 1;
}
.mraib-btn-primary {
    background: linear-gradient(135deg, var(--mraib-navy-800) 0%, var(--mraib-navy-600) 100%);
    color: #fff !important;
    box-shadow: var(--mraib-shadow-sm);
}
.mraib-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: var(--mraib-shadow-md);
    color: #fff !important;
}
.mraib-btn-gold {
    background: linear-gradient(135deg, var(--mraib-gold-500) 0%, var(--mraib-gold-600) 100%);
    color: var(--mraib-navy-900) !important;
    box-shadow: 0 10px 24px rgba(201, 162, 83, 0.35);
}
.mraib-btn-gold:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
}
.mraib-btn-ghost {
    background: transparent;
    color: var(--mraib-navy-800) !important;
    border-color: var(--mraib-line-strong);
}
.mraib-btn-ghost:hover {
    background: var(--mraib-navy-800);
    color: #fff !important;
    border-color: var(--mraib-navy-800);
}
.mraib-btn-outline-light {
    background: transparent;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.35);
}
.mraib-btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.6);
    color: #fff !important;
}
.mraib-btn-lg {
    padding: 16px 28px;
    font-size: 15px;
}

/* Sticky header refinement */
.sticky-header {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: saturate(160%) blur(10px);
    -webkit-backdrop-filter: saturate(160%) blur(10px);
    border-bottom: 1px solid var(--mraib-line);
    box-shadow: 0 6px 22px rgba(6, 16, 31, 0.06);
}

/* ------------------------------------------------------------------
   HERO
   ------------------------------------------------------------------ */
.mraib-hero {
    position: relative;
    padding: 140px 0 120px;
    color: #fff;
    background:
        radial-gradient(1200px 600px at 85% -10%, rgba(201, 162, 83, 0.18), transparent 60%),
        radial-gradient(800px 500px at 10% 110%, rgba(38, 77, 140, 0.35), transparent 60%),
        linear-gradient(180deg, var(--mraib-navy-900) 0%, var(--mraib-navy-800) 55%, #0a1830 100%);
    overflow: hidden;
    isolation: isolate;
}

.mraib-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%);
    opacity: 0.7;
    z-index: 0;
}

.mraib-hero .auto-container { position: relative; z-index: 2; }

.mraib-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;
    align-items: center;
}

@media (max-width: 991px) {
    .mraib-hero { padding: 90px 0 80px; }
    .mraib-hero-grid { grid-template-columns: 1fr; gap: 50px; }
}

.mraib-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 14px;
    border: 1px solid rgba(201, 162, 83, 0.45);
    background: rgba(201, 162, 83, 0.08);
    border-radius: 999px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    color: var(--mraib-gold-400);
    font-weight: 600;
}
.mraib-eyebrow .mraib-dot { background: var(--mraib-gold-400); box-shadow: 0 0 0 4px rgba(201, 162, 83, 0.18);}

.mraib-hero h1 {
    font-family: var(--mraib-serif);
    font-weight: 600;
    font-size: clamp(36px, 5.2vw, 64px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 22px 0 22px;
}
.mraib-hero h1 em {
    font-style: italic;
    color: var(--mraib-gold-400);
    font-weight: 500;
}

.mraib-hero p.lede {
    font-size: 18px;
    line-height: 1.6;
    color: #c7cfdd;
    max-width: 560px;
    margin: 0 0 32px;
}

.mraib-hero-ctas {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.mraib-hero-badges {
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.mraib-hero-badge {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mraib-hero-badge strong {
    font-family: var(--mraib-serif);
    color: #fff;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0.01em;
}
.mraib-hero-badge span {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #8d97ab;
}

/* Hero visual: glass stack of mock account cards */
.mraib-hero-visual {
    position: relative;
    min-height: 520px;
    perspective: 1400px;
}

.mraib-hero-card {
    position: absolute;
    border-radius: var(--mraib-radius-lg);
    padding: 24px 26px;
    color: #fff;
    box-shadow: var(--mraib-shadow-lg);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(140deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
}

.mraib-hero-card--primary {
    inset: 40px 40px auto auto;
    width: 380px;
    background:
        radial-gradient(400px 200px at 100% 0%, rgba(201,162,83,0.35), transparent 70%),
        linear-gradient(135deg, #0d1c3a 0%, #15315f 100%);
    border-color: rgba(201,162,83,0.3);
    transform: rotate(-2deg);
}
.mraib-hero-card--secondary {
    inset: auto auto 40px 0;
    width: 320px;
    background: linear-gradient(135deg, #2a2118 0%, #6b4f1c 60%, #a67f2f 100%);
    border-color: rgba(255, 235, 180, 0.28);
    transform: rotate(3deg);
    color: #fff7e2;
}
.mraib-hero-card--tertiary {
    inset: auto 70px 160px auto;
    width: 260px;
    background: rgba(255, 255, 255, 0.09);
    transform: rotate(-5deg);
}

.mraib-card-label {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.8;
    margin-bottom: 28px;
}
.mraib-card-number {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    letter-spacing: 0.12em;
    font-size: 18px;
    margin-bottom: 22px;
}
.mraib-card-footer {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    opacity: 0.85;
}
.mraib-card-balance {
    font-family: var(--mraib-serif);
    font-size: 34px;
    font-weight: 600;
    margin-bottom: 6px;
}
.mraib-card-meta {
    font-size: 12px;
    letter-spacing: 0.08em;
    opacity: 0.75;
}

.mraib-hero-transaction {
    position: absolute;
    left: -10px;
    top: 340px;
    width: 300px;
    background: #fff;
    color: var(--mraib-ink);
    padding: 18px 20px;
    border-radius: 16px;
    box-shadow: var(--mraib-shadow-lg);
    border: 1px solid var(--mraib-line);
    display: flex;
    align-items: center;
    gap: 14px;
    transform: rotate(-2deg);
}
.mraib-hero-transaction .dot {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg, #e9f4ec, #c7e7d0);
    color: #1f7a43;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    flex: none;
}
.mraib-hero-transaction .body {
    flex: 1;
}
.mraib-hero-transaction h4 {
    font-size: 13px;
    font-weight: 600;
    color: var(--mraib-ink);
    margin: 0 0 2px;
}
.mraib-hero-transaction small {
    font-size: 11px;
    color: var(--mraib-muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.mraib-hero-transaction .amount {
    font-weight: 700;
    color: #1f7a43;
    font-size: 15px;
}

@media (max-width: 991px) {
    .mraib-hero-visual { min-height: 420px; }
    .mraib-hero-card--primary { width: 86%; inset: 10px 10px auto auto; }
    .mraib-hero-card--secondary { width: 72%; inset: auto auto 10px 10px; }
    .mraib-hero-card--tertiary { display: none; }
    .mraib-hero-transaction { left: 0; top: 280px; width: 260px; }
}
@media (max-width: 575px) {
    .mraib-hero-transaction { display: none; }
}

/* ------------------------------------------------------------------
   TRUST BAR
   ------------------------------------------------------------------ */
.mraib-trust {
    background: #fff;
    padding: 36px 0;
    border-bottom: 1px solid var(--mraib-line);
}
.mraib-trust-grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 36px;
    align-items: center;
}
@media (max-width: 767px) {
    .mraib-trust-grid { grid-template-columns: 1fr; }
}
.mraib-trust-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    color: var(--mraib-muted);
    font-weight: 600;
}
.mraib-trust-logos {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.mraib-trust-logos span {
    font-family: var(--mraib-serif);
    font-size: 18px;
    letter-spacing: 0.18em;
    color: #8995a8;
    font-weight: 500;
    opacity: 0.85;
}

/* ------------------------------------------------------------------
   SECTION SCAFFOLDING
   ------------------------------------------------------------------ */
.mraib-section {
    padding: 110px 0;
    position: relative;
}
.mraib-section--alt {
    background: var(--mraib-cream);
}
.mraib-section--dark {
    background: linear-gradient(180deg, var(--mraib-navy-900) 0%, var(--mraib-navy-800) 100%);
    color: #fff;
}

.mraib-section-header {
    max-width: 720px;
    margin: 0 auto 60px;
    text-align: center;
}
.mraib-section-header.left {
    text-align: left;
    margin-left: 0;
}
.mraib-section-eyebrow {
    display: inline-block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: var(--mraib-gold-600);
    font-weight: 600;
    margin-bottom: 14px;
}
.mraib-section--dark .mraib-section-eyebrow {
    color: var(--mraib-gold-400);
}
.mraib-section-title {
    font-family: var(--mraib-serif);
    font-weight: 600;
    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.12;
    letter-spacing: -0.01em;
    color: var(--mraib-navy-900);
    margin: 0 0 18px;
}
.mraib-section--dark .mraib-section-title { color: #fff; }
.mraib-section-title em { color: var(--mraib-gold-600); font-style: italic; }
.mraib-section--dark .mraib-section-title em { color: var(--mraib-gold-400); }

.mraib-section-lede {
    font-size: 17px;
    line-height: 1.6;
    color: var(--mraib-muted);
}
.mraib-section--dark .mraib-section-lede {
    color: #c3cad8;
}

/* ------------------------------------------------------------------
   PILLAR CARDS
   ------------------------------------------------------------------ */
.mraib-pillars {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}
@media (max-width: 991px) { .mraib-pillars { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mraib-pillars { grid-template-columns: 1fr; } }

.mraib-pillar {
    background: #fff;
    border: 1px solid var(--mraib-line);
    border-radius: var(--mraib-radius-lg);
    padding: 30px 28px;
    box-shadow: var(--mraib-shadow-sm);
    transition: transform .25s, box-shadow .25s, border-color .25s;
    position: relative;
    overflow: hidden;
}
.mraib-pillar::after {
    content: "";
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--mraib-gold-500), transparent);
    opacity: 0;
    transition: opacity .25s;
}
.mraib-pillar:hover {
    transform: translateY(-4px);
    box-shadow: var(--mraib-shadow-md);
    border-color: rgba(201, 162, 83, 0.35);
}
.mraib-pillar:hover::after { opacity: 1; }

.mraib-pillar-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #f3ebd8 0%, #e4c17a 100%);
    color: var(--mraib-navy-800);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    font-size: 22px;
    box-shadow: inset 0 0 0 1px rgba(201, 162, 83, 0.4);
}

.mraib-pillar h3 {
    font-family: var(--mraib-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--mraib-navy-900);
    margin: 0 0 10px;
}
.mraib-pillar p {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--mraib-muted);
    margin: 0 0 16px;
}
.mraib-pillar a.more {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 600;
    color: var(--mraib-navy-700);
    text-decoration: none;
}
.mraib-pillar a.more:hover { color: var(--mraib-gold-600); }

/* ------------------------------------------------------------------
   TABBED SERVICES
   ------------------------------------------------------------------ */
.mraib-tabs {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 50px;
    align-items: start;
}
@media (max-width: 991px) { .mraib-tabs { grid-template-columns: 1fr; gap: 30px; } }

.mraib-tab-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-left: 1px solid var(--mraib-line);
    padding-left: 0;
    margin: 0;
    list-style: none;
}
@media (max-width: 991px) {
    .mraib-tab-list {
        flex-direction: row;
        border-left: none;
        border-bottom: 1px solid var(--mraib-line);
        overflow-x: auto;
        gap: 4px;
    }
}

.mraib-tab-btn {
    background: none;
    border: none;
    text-align: left;
    padding: 18px 22px;
    font-family: var(--mraib-sans);
    font-size: 15px;
    font-weight: 500;
    color: var(--mraib-navy-800);
    border-left: 2px solid transparent;
    margin-left: -1px;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    flex-direction: column;
    gap: 4px;
    white-space: nowrap;
}
@media (max-width: 991px) {
    .mraib-tab-btn { border-left: none; border-bottom: 2px solid transparent; margin-left: 0; }
}
.mraib-tab-btn small {
    font-size: 11px;
    color: var(--mraib-muted);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 500;
}
.mraib-tab-btn.is-active {
    color: var(--mraib-gold-600);
    border-color: var(--mraib-gold-500);
    background: rgba(201, 162, 83, 0.05);
}
.mraib-tab-btn.is-active small { color: var(--mraib-navy-700); }

.mraib-tab-panel {
    display: none;
    background: #fff;
    border: 1px solid var(--mraib-line);
    border-radius: var(--mraib-radius-lg);
    padding: 34px 36px;
    box-shadow: var(--mraib-shadow-sm);
}
.mraib-tab-panel.is-active { display: grid; }
.mraib-tab-panel {
    grid-template-columns: 1.2fr 1fr;
    gap: 36px;
    align-items: center;
}
@media (max-width: 767px) { .mraib-tab-panel.is-active { grid-template-columns: 1fr; } }

.mraib-tab-panel h3 {
    font-family: var(--mraib-serif);
    font-size: 30px;
    font-weight: 600;
    color: var(--mraib-navy-900);
    margin: 0 0 14px;
}
.mraib-tab-panel p {
    font-size: 15px;
    line-height: 1.65;
    color: var(--mraib-muted);
    margin: 0 0 20px;
}
.mraib-tab-panel ul {
    list-style: none;
    padding: 0;
    margin: 0 0 26px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
}
.mraib-tab-panel ul li {
    font-size: 14px;
    color: var(--mraib-ink);
    padding-left: 22px;
    position: relative;
}
.mraib-tab-panel ul li::before {
    content: "";
    position: absolute;
    left: 0; top: 8px;
    width: 10px; height: 10px;
    border: 2px solid var(--mraib-gold-500);
    border-radius: 3px;
    transform: rotate(45deg);
}
.mraib-tab-visual {
    border-radius: 18px;
    aspect-ratio: 4 / 3;
    background: linear-gradient(135deg, #0d1c3a 0%, #264d8c 100%);
    position: relative;
    overflow: hidden;
    color: #fff;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.mraib-tab-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(420px 240px at 100% 0%, rgba(201, 162, 83, 0.25), transparent 60%);
}
.mraib-tab-visual .panel-label {
    position: relative; z-index: 1;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--mraib-gold-400);
    font-weight: 600;
}
.mraib-tab-visual .panel-figure {
    position: relative; z-index: 1;
    font-family: var(--mraib-serif);
    font-size: 44px;
    font-weight: 600;
    line-height: 1.05;
}
.mraib-tab-visual .panel-figure small { display: block; font-size: 13px; color: #c3cad8; margin-top: 8px; font-family: var(--mraib-sans); font-weight: 400; letter-spacing: 0; }

/* ------------------------------------------------------------------
   CARDS SHOWCASE
   ------------------------------------------------------------------ */
.mraib-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}
@media (max-width: 991px) { .mraib-cards { grid-template-columns: 1fr; } }

.mraib-card-showcase {
    background: #fff;
    border-radius: var(--mraib-radius-lg);
    padding: 28px;
    border: 1px solid var(--mraib-line);
    box-shadow: var(--mraib-shadow-sm);
    transition: transform .25s, box-shadow .25s;
}
.mraib-card-showcase:hover {
    transform: translateY(-6px);
    box-shadow: var(--mraib-shadow-md);
}
.mraib-card-visual {
    border-radius: 14px;
    padding: 22px;
    min-height: 190px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 22px;
    position: relative;
    overflow: hidden;
}
.mraib-card-visual::after {
    content: "";
    position: absolute;
    right: -40px; top: -40px;
    width: 180px; height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.15), transparent 60%);
}
.mraib-card-visual.silver {
    background: linear-gradient(135deg, #3e4655 0%, #6c7689 60%, #a9b3c4 100%);
}
.mraib-card-visual.gold {
    background: linear-gradient(135deg, #6b4f1c 0%, #a67f2f 60%, #e4c17a 100%);
}
.mraib-card-visual.platinum {
    background: linear-gradient(135deg, #0a1628 0%, #1c3566 50%, #3a5a96 100%);
}

.mraib-card-visual .chip {
    width: 34px; height: 26px;
    border-radius: 5px;
    background: linear-gradient(135deg, #f0e2b2, #c9a253);
    position: relative; z-index: 1;
}
.mraib-card-visual .num {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    letter-spacing: 0.12em;
    font-size: 16px;
    position: relative; z-index: 1;
}
.mraib-card-visual .foot {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    position: relative; z-index: 1;
}
.mraib-card-visual .foot strong { font-weight: 600; letter-spacing: 0.22em; font-size: 14px; }

.mraib-card-showcase h3 {
    font-family: var(--mraib-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--mraib-navy-900);
    margin: 0 0 8px;
}
.mraib-card-showcase p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--mraib-muted);
    margin: 0 0 18px;
}
.mraib-card-specs {
    list-style: none;
    padding: 0; margin: 0 0 20px;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.mraib-card-specs li {
    font-size: 12px;
    color: var(--mraib-navy-700);
    background: var(--mraib-cream);
    padding: 6px 12px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
}

/* ------------------------------------------------------------------
   STATS (dark band)
   ------------------------------------------------------------------ */
.mraib-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}
@media (max-width: 767px) { .mraib-stats { grid-template-columns: repeat(2, 1fr); } }

.mraib-stat {
    padding: 20px 28px;
    border-left: 1px solid rgba(255, 255, 255, 0.09);
}
.mraib-stat:first-child { border-left: none; padding-left: 0; }

.mraib-stat-value {
    font-family: var(--mraib-serif);
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 600;
    color: var(--mraib-gold-400);
    line-height: 1;
    letter-spacing: -0.01em;
}
.mraib-stat-label {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: #9fb0cc;
    margin-top: 10px;
    font-weight: 500;
}
.mraib-stat-sub {
    font-size: 13px;
    color: #6b7a95;
    margin-top: 4px;
}

/* ------------------------------------------------------------------
   PROCESS TIMELINE
   ------------------------------------------------------------------ */
.mraib-process {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    counter-reset: step;
}
@media (max-width: 991px) { .mraib-process { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mraib-process { grid-template-columns: 1fr; } }

.mraib-process-step {
    background: #fff;
    border: 1px solid var(--mraib-line);
    border-radius: var(--mraib-radius-lg);
    padding: 32px 28px 28px;
    position: relative;
    counter-increment: step;
    box-shadow: var(--mraib-shadow-sm);
    transition: transform .25s, border-color .25s;
}
.mraib-process-step:hover {
    transform: translateY(-4px);
    border-color: rgba(201, 162, 83, 0.4);
}
.mraib-process-step::before {
    content: "0" counter(step);
    display: inline-block;
    font-family: var(--mraib-serif);
    font-weight: 600;
    font-size: 40px;
    color: var(--mraib-gold-500);
    line-height: 1;
    margin-bottom: 16px;
}
.mraib-process-step h3 {
    font-family: var(--mraib-serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--mraib-navy-900);
    margin: 0 0 10px;
}
.mraib-process-step p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--mraib-muted);
    margin: 0;
}

/* ------------------------------------------------------------------
   TESTIMONIAL / QUOTE
   ------------------------------------------------------------------ */
.mraib-quote {
    background: linear-gradient(135deg, var(--mraib-navy-900) 0%, var(--mraib-navy-700) 100%);
    border-radius: var(--mraib-radius-lg);
    padding: 60px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
@media (max-width: 767px) { .mraib-quote { padding: 40px 28px; } }
.mraib-quote::before {
    content: "\201C";
    position: absolute;
    top: 20px; left: 36px;
    font-family: var(--mraib-serif);
    font-size: 200px;
    line-height: 1;
    color: var(--mraib-gold-500);
    opacity: 0.25;
}
.mraib-quote blockquote {
    font-family: var(--mraib-serif);
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.4;
    font-weight: 500;
    max-width: 820px;
    margin: 0 0 30px;
    position: relative;
    z-index: 1;
}
.mraib-quote cite {
    display: flex;
    align-items: center;
    gap: 14px;
    font-style: normal;
    position: relative;
    z-index: 1;
}
.mraib-quote cite .avatar {
    width: 46px; height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mraib-gold-500), var(--mraib-gold-400));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--mraib-navy-900);
    font-family: var(--mraib-serif);
    font-weight: 600;
}
.mraib-quote cite span {
    display: flex;
    flex-direction: column;
    font-family: var(--mraib-sans);
}
.mraib-quote cite strong { color: #fff; font-weight: 600; font-size: 15px; }
.mraib-quote cite small { color: #9fb0cc; font-size: 12.5px; text-transform: uppercase; letter-spacing: 0.18em; margin-top: 2px; }

/* ------------------------------------------------------------------
   INSIGHTS (news)
   ------------------------------------------------------------------ */
.mraib-insights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}
@media (max-width: 991px) { .mraib-insights { grid-template-columns: 1fr; } }

.mraib-insight {
    background: #fff;
    border: 1px solid var(--mraib-line);
    border-radius: var(--mraib-radius-lg);
    overflow: hidden;
    transition: transform .25s, box-shadow .25s;
    box-shadow: var(--mraib-shadow-sm);
    display: flex;
    flex-direction: column;
}
.mraib-insight:hover {
    transform: translateY(-4px);
    box-shadow: var(--mraib-shadow-md);
}
.mraib-insight-cover {
    aspect-ratio: 16 / 10;
    position: relative;
    overflow: hidden;
}
.mraib-insight-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(6,16,31,0.55) 100%);
}
.mraib-insight-cover.c1 { background: linear-gradient(135deg, #1c3566, #264d8c); }
.mraib-insight-cover.c2 { background: linear-gradient(135deg, #6b4f1c, #a67f2f); }
.mraib-insight-cover.c3 { background: linear-gradient(135deg, #0d1c3a, #122648); }
.mraib-insight-tag {
    position: absolute;
    top: 18px; left: 18px;
    padding: 5px 12px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--mraib-navy-800);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    border-radius: 999px;
    font-weight: 600;
    z-index: 2;
}
.mraib-insight-body {
    padding: 26px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.mraib-insight-body h3 {
    font-family: var(--mraib-serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--mraib-navy-900);
    margin: 0 0 10px;
    line-height: 1.3;
}
.mraib-insight-body p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--mraib-muted);
    flex: 1;
    margin: 0 0 16px;
}
.mraib-insight-meta {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: var(--mraib-muted);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 500;
}

/* ------------------------------------------------------------------
   CTA BAND
   ------------------------------------------------------------------ */
.mraib-cta {
    background: linear-gradient(135deg, var(--mraib-navy-900) 0%, #0b1f42 60%, #122648 100%);
    padding: 80px 0;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.mraib-cta::before {
    content: "";
    position: absolute;
    right: -100px; top: 50%;
    transform: translateY(-50%);
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(201,162,83,0.3), transparent 60%);
    pointer-events: none;
}
.mraib-cta-inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 40px;
    align-items: center;
    position: relative;
}
@media (max-width: 767px) { .mraib-cta-inner { grid-template-columns: 1fr; text-align: center; } }
.mraib-cta h2 {
    font-family: var(--mraib-serif);
    font-size: clamp(28px, 3.2vw, 40px);
    font-weight: 600;
    line-height: 1.15;
    margin: 0 0 14px;
    color: #fff;
}
.mraib-cta p {
    color: #c3cad8;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}
.mraib-cta-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}
@media (max-width: 767px) { .mraib-cta-actions { justify-content: center; } }

/* ------------------------------------------------------------------
   FOOTER
   ------------------------------------------------------------------ */
.mraib-footer {
    background: linear-gradient(180deg, var(--mraib-navy-900) 0%, #030915 100%);
    color: #c3cad8;
    padding: 0 !important;
    margin-top: 0 !important;
}
.mraib-footer-top {
    padding: 70px 0 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.mraib-footer-brand p {
    font-size: 14.5px;
    line-height: 1.65;
    color: #97a3bb;
    margin: 22px 0 22px;
    max-width: 360px;
}
.mraib-footer-brand .mraib-wordmark-primary { color: #fff; }
.mraib-footer-brand .mraib-wordmark-secondary { color: var(--mraib-gold-400); letter-spacing: 0.24em; }

.mraib-footer-certs {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.mraib-footer-certs li {
    font-size: 11px;
    padding: 5px 12px;
    border: 1px solid rgba(201, 162, 83, 0.35);
    border-radius: 999px;
    color: var(--mraib-gold-400);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 600;
}

.mraib-footer-heading {
    font-size: 12px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 20px;
    font-weight: 600;
}
.mraib-footer-links {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.mraib-footer-links a {
    color: #97a3bb;
    font-size: 14px;
    text-decoration: none;
    transition: color .2s;
}
.mraib-footer-links a:hover {
    color: var(--mraib-gold-400);
}

.mraib-footer-contact {
    list-style: none;
    padding: 0; margin: 0 0 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.mraib-footer-contact li {
    font-size: 14px;
    color: #bec6d5;
    line-height: 1.5;
}
.mraib-footer-contact span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--mraib-gold-400);
    margin-bottom: 3px;
    font-weight: 600;
}
.mraib-footer-contact a {
    color: #fff;
    text-decoration: none;
}

.mraib-footer-hours {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: rgba(80, 184, 120, 0.12);
    border: 1px solid rgba(80, 184, 120, 0.28);
    border-radius: 999px;
    font-size: 13px;
    color: #bde3c8;
}
.mraib-pulse {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.6);
    animation: mraibPulse 2s infinite;
}
@keyframes mraibPulse {
    0% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.55); }
    70% { box-shadow: 0 0 0 10px rgba(74, 222, 128, 0); }
    100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); }
}

.mraib-footer-bottom { padding: 24px 0 30px; }
.mraib-footer-bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    margin-bottom: 18px;
}
.mraib-copy {
    margin: 0;
    font-size: 13px;
    color: #8693ae;
}
.mraib-legal {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    gap: 22px;
}
.mraib-legal a {
    color: #97a3bb;
    font-size: 13px;
    text-decoration: none;
}
.mraib-legal a:hover { color: var(--mraib-gold-400); }
.mraib-disclosure {
    font-size: 12px;
    color: #6d7891;
    line-height: 1.6;
    margin: 0;
    max-width: 960px;
}

/* ------------------------------------------------------------------
   UTIL
   ------------------------------------------------------------------ */
.mraib-muted-line {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--mraib-line-strong), transparent);
    margin: 0;
}

/* ------------------------------------------------------------------
   CONTACT FORM — bordered inputs
   ------------------------------------------------------------------ */
.contact-forms input[type="text"],
.contact-forms input[type="email"],
.contact-forms input[type="tel"],
.contact-forms textarea,
.contact-forms select {
    width: 100%;
    padding: 14px 18px;
    font-family: var(--mraib-sans);
    font-size: 15px;
    line-height: 1.5;
    color: var(--mraib-ink);
    background: #fff;
    border: 1px solid var(--mraib-line-strong);
    border-radius: 12px;
    box-shadow: var(--mraib-shadow-sm);
    transition: border-color .18s, box-shadow .18s, background .18s;
    outline: none;
}
.contact-forms textarea {
    min-height: 160px;
    resize: vertical;
}
.contact-forms input::placeholder,
.contact-forms textarea::placeholder {
    color: #94a0b7;
    font-weight: 400;
}
.contact-forms input:hover,
.contact-forms textarea:hover,
.contact-forms select:hover {
    border-color: var(--mraib-navy-600);
}
.contact-forms input:focus,
.contact-forms textarea:focus,
.contact-forms select:focus {
    border-color: var(--mraib-gold-500);
    box-shadow: 0 0 0 3px rgba(201, 162, 83, 0.18), var(--mraib-shadow-sm);
    background: #fff;
}
.contact-forms input:invalid:not(:placeholder-shown),
.contact-forms textarea:invalid:not(:placeholder-shown) {
    border-color: #e4a7a7;
}
.contact-forms .form-group { margin-bottom: 18px; }

/* ==================================================================
   V2 — Reworked nav, hero slider, specialist desks, global presence,
   stories, scroll-reveal, ticker, marquee, parallax and animations.
   ================================================================== */

/* ------------------------------------------------------------------
   UTILITY STRIP (top): FX ticker + region + sign-in
   ------------------------------------------------------------------ */
.mraib-utility {
    background: linear-gradient(90deg, #04080f 0%, #0a162c 50%, #04080f 100%);
    color: #c8d1e4;
    font-size: 12.5px;
    border-bottom: 1px solid rgba(201, 162, 83, 0.14);
    position: relative;
    z-index: 5;
}
.mraib-utility::after {
    content: "";
    position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,162,83,0.5), transparent);
}

.mraib-utility-inner {
    display: flex;
    align-items: stretch;
    gap: 24px;
    min-height: 38px;
    justify-content: space-between;
}
@media (max-width: 991px) {
    .mraib-utility-inner { flex-direction: column; gap: 0; }
}

/* FX ticker */
.mraib-ticker {
    flex: 1;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
    max-width: calc(100% - 480px);
}
@media (max-width: 991px) { .mraib-ticker { max-width: 100%; padding: 10px 0; } }

.mraib-ticker-track {
    display: inline-flex;
    gap: 38px;
    white-space: nowrap;
    padding-right: 38px;
    animation: mraibTicker 80s linear infinite;
    will-change: transform;
}
.mraib-ticker:hover .mraib-ticker-track { animation-play-state: paused; }
@keyframes mraibTicker {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.mraib-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    letter-spacing: 0.05em;
    font-variant-numeric: tabular-nums;
}
.mraib-ticker-pair {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--mraib-gold-400);
    font-weight: 600;
}
.mraib-ticker-price {
    color: #fff;
    font-weight: 500;
}
.mraib-ticker-delta {
    font-size: 11.5px;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
}
.mraib-ticker-delta--up { background: rgba(74, 222, 128, 0.12); color: #72e3a0; }
.mraib-ticker-delta--down { background: rgba(248, 113, 113, 0.12); color: #f8a5a5; }
.mraib-ticker-delta--flat { background: rgba(201, 162, 83, 0.12); color: var(--mraib-gold-400); }

/* Utility right */
.mraib-utility-right {
    display: flex;
    align-items: center;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}
@media (max-width: 991px) { .mraib-utility-right { padding: 8px 0; border-top: 1px solid rgba(255,255,255,0.06); justify-content: flex-end; flex-wrap: wrap; } }

.mraib-utility-right a {
    color: #c8d1e4;
    text-decoration: none;
    font-weight: 500;
    transition: color .2s;
}
.mraib-utility-right a:hover { color: #fff; }

.mraib-utility-divider {
    width: 1px; height: 14px;
    background: rgba(255, 255, 255, 0.12);
}

.mraib-utility-region button {
    background: none;
    border: none;
    color: #c8d1e4;
    font-family: var(--mraib-sans);
    font-size: 12.5px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 4px 0;
    font-weight: 500;
    transition: color .2s;
}
.mraib-utility-region button:hover { color: #fff; }
.mraib-globe, .mraib-lock { font-size: 13px; filter: saturate(1.1); }
.mraib-caret { font-size: 9px; opacity: 0.7; }

.mraib-utility-signin {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 5px 14px !important;
    border: 1px solid rgba(201, 162, 83, 0.4);
    border-radius: 999px;
    color: var(--mraib-gold-400) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    background: rgba(201, 162, 83, 0.06);
    transition: all .2s;
}
.mraib-utility-signin:hover {
    background: var(--mraib-gold-500);
    color: var(--mraib-navy-900) !important;
    border-color: var(--mraib-gold-500);
}

/* ------------------------------------------------------------------
   MAIN NAV — refined
   ------------------------------------------------------------------ */
.mraib-header-lower {
    background: #fff !important;
    border-bottom: 1px solid var(--mraib-line);
    position: relative;
    z-index: 4;
}

/* Kill the legacy theme's red ribbon / chevron / shape on .logo-box */
.main-header .outer-box .mraib-logo-box,
.main-header .outer-box .mraib-logo-box .shape {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    clip-path: none !important;
}
.main-header .outer-box .mraib-logo-box::before,
.main-header .outer-box .mraib-logo-box::after,
.main-header .outer-box .mraib-logo-box .shape {
    display: none !important;
    content: none !important;
    background: transparent !important;
}
.main-header .sticky-header .outer-box .mraib-logo-box {
    padding: 0 !important;
    margin: 0 !important;
}

.mraib-outer {
    padding: 20px 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.mraib-logo-box { flex: none; }

.mraib-menu-area {
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 1;
    justify-content: flex-end;
}

.mraib-nav-list {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
}

.mraib-nav-list > li { position: static; }
.mraib-nav-list > li > a {
    padding: 14px 18px !important;
    font-weight: 500 !important;
    color: var(--mraib-navy-800) !important;
    font-size: 14.5px !important;
    letter-spacing: 0.01em;
    border-radius: 10px;
    transition: all .2s;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.mraib-nav-list > li > a:hover,
.mraib-nav-list > li.current > a {
    color: var(--mraib-gold-600) !important;
    background: rgba(201, 162, 83, 0.08);
}

/* ------------------------------------------------------------------
   MEGA MENU
   ------------------------------------------------------------------ */
.mraib-has-mega { position: relative; }
.mraib-mega {
    position: absolute;
    left: 50%;
    top: calc(100% + 4px);
    transform: translate(-50%, 6px);
    width: min(920px, 92vw);
    background: #fff;
    border: 1px solid var(--mraib-line);
    border-radius: 18px;
    box-shadow: var(--mraib-shadow-lg);
    padding: 28px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s, transform .2s;
    z-index: 10;
}
.mraib-has-mega:hover .mraib-mega,
.mraib-has-mega:focus-within .mraib-mega {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}
.mraib-mega::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 14px; height: 14px;
    background: #fff;
    border-left: 1px solid var(--mraib-line);
    border-top: 1px solid var(--mraib-line);
}
.mraib-mega-inner {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    gap: 32px;
}
@media (max-width: 767px) { .mraib-mega-inner { grid-template-columns: 1fr; } }
.mraib-mega-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mraib-mega-col--primary {
    background: linear-gradient(135deg, var(--mraib-navy-900), var(--mraib-navy-700));
    border-radius: 14px;
    padding: 24px;
    color: #fff;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}
.mraib-mega-col--primary::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(400px 200px at 100% 0%, rgba(201,162,83,0.22), transparent 65%);
}
.mraib-mega-col--primary > * { position: relative; z-index: 1; }
.mraib-mega-eyebrow {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    color: var(--mraib-gold-400);
    font-weight: 600;
}
.mraib-mega-col--primary h4 {
    font-family: var(--mraib-serif);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    margin: 10px 0 8px;
    color: #fff;
}
.mraib-mega-col--primary p {
    font-size: 13.5px;
    line-height: 1.55;
    color: #c3cad8;
    margin: 0 0 16px;
}
.mraib-mega-heading {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    color: var(--mraib-muted);
    font-weight: 600;
    margin-bottom: 10px;
}
.mraib-mega-col > a {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border-radius: 12px;
    text-decoration: none !important;
    color: var(--mraib-navy-800);
    transition: background .18s, transform .18s;
}
.mraib-mega-col > a:hover {
    background: var(--mraib-cream);
    transform: translateX(2px);
}
.mraib-mega-col > a > span:first-child {
    width: 36px; height: 36px; flex: none;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #f3ebd8, #e4c17a);
    border-radius: 10px;
    font-size: 16px;
}
.mraib-mega-col > a strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--mraib-navy-900);
    margin-bottom: 2px;
}
.mraib-mega-col > a small {
    font-size: 12.5px;
    color: var(--mraib-muted);
}

/* Icon button (search) */
.mraib-icon-btn {
    width: 40px; height: 40px;
    border-radius: 12px;
    border: 1px solid var(--mraib-line-strong);
    background: #fff;
    color: var(--mraib-navy-800);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s;
}
.mraib-icon-btn:hover {
    background: var(--mraib-navy-900);
    color: #fff;
    border-color: var(--mraib-navy-900);
    transform: translateY(-1px);
}

/* Sticky refinement for v2 */
.mraib-sticky {
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid var(--mraib-line);
    box-shadow: 0 10px 36px rgba(6, 16, 31, 0.08);
}
.mraib-sticky .mraib-outer { padding: 14px 0 !important; }

/* ==================================================================
   HERO — image slider (ken burns) with copy overlay
   ================================================================== */
.mraib-hero-v2 {
    position: relative;
    padding: 0;
    color: #fff;
    overflow: hidden;
    isolation: isolate;
    min-height: 720px;
    display: flex;
    align-items: stretch;
}
@media (max-width: 991px) { .mraib-hero-v2 { min-height: 640px; } }

.mraib-hero-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.mraib-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.4s ease;
    background-size: cover;
    background-position: center;
    animation: mraibKenBurns 18s linear infinite;
    will-change: transform;
}
.mraib-hero-slide.is-active { opacity: 1; z-index: 1; }
@keyframes mraibKenBurns {
    0% { transform: scale(1.04) translate(-1%, -1%); }
    50% { transform: scale(1.14) translate(1.5%, 1%); }
    100% { transform: scale(1.04) translate(-1%, -1%); }
}

.mraib-hero-scrim {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(90deg, rgba(6,16,31,0.88) 0%, rgba(6,16,31,0.72) 45%, rgba(6,16,31,0.35) 70%, rgba(6,16,31,0.55) 100%),
        radial-gradient(900px 500px at 12% 60%, rgba(38, 77, 140, 0.35), transparent 60%);
}
.mraib-hero-grid-lines {
    position: absolute;
    inset: 0;
    z-index: 2;
    background-image:
        linear-gradient(rgba(201, 162, 83, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(201, 162, 83, 0.08) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse at 20% 50%, black 20%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse at 20% 50%, black 20%, transparent 70%);
    pointer-events: none;
}

.mraib-hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 120px 0 140px;
}
@media (max-width: 991px) { .mraib-hero-content { padding: 80px 0 100px; } }

.mraib-hero-v2-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 60px;
    align-items: center;
}
@media (max-width: 991px) { .mraib-hero-v2-grid { grid-template-columns: 1fr; gap: 40px; } }

.mraib-hero-v2 h1 {
    font-family: var(--mraib-serif);
    font-weight: 600;
    font-size: clamp(40px, 5.5vw, 68px);
    line-height: 1.03;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 22px 0 22px;
}
.mraib-hero-v2 h1 em {
    font-style: italic;
    color: var(--mraib-gold-400);
    font-weight: 500;
}
.mraib-hero-v2 .lede {
    font-size: 19px;
    line-height: 1.6;
    color: #d7dde9;
    max-width: 560px;
    margin: 0 0 36px;
}

/* Slider caption card */
.mraib-hero-caption {
    background: rgba(10, 20, 40, 0.5);
    border: 1px solid rgba(201, 162, 83, 0.3);
    border-radius: 18px;
    padding: 22px;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    max-width: 440px;
    margin-left: auto;
    position: relative;
    overflow: hidden;
}
.mraib-hero-caption::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 40%, rgba(201,162,83,0.12) 100%);
    pointer-events: none;
}
.mraib-hero-caption-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    color: var(--mraib-gold-400);
    font-weight: 600;
    margin-bottom: 16px;
    position: relative;
}
.mraib-hero-caption-eyebrow::before {
    content: "";
    width: 24px; height: 1px;
    background: var(--mraib-gold-500);
}
.mraib-hero-caption h3 {
    font-family: var(--mraib-serif);
    font-size: 22px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 8px;
    line-height: 1.25;
    position: relative;
}
.mraib-hero-caption p {
    font-size: 14px;
    color: #c6cee0;
    line-height: 1.5;
    margin: 0 0 18px;
    position: relative;
}
.mraib-hero-caption-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    font-size: 12px;
    color: #8b97ae;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}
.mraib-hero-caption-meta strong { color: #fff; font-weight: 600; }

/* Slider dots */
.mraib-hero-dots {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 4;
}
.mraib-hero-dots button {
    width: 36px; height: 3px;
    background: rgba(255, 255, 255, 0.25);
    border: none;
    border-radius: 999px;
    cursor: pointer;
    padding: 0;
    position: relative;
    overflow: hidden;
    transition: background .2s;
}
.mraib-hero-dots button.is-active {
    background: rgba(255, 255, 255, 0.15);
}
.mraib-hero-dots button.is-active::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--mraib-gold-500);
    transform-origin: left;
    animation: mraibProgress 6s linear forwards;
}
@keyframes mraibProgress {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

/* Floating stat cards over slider */
.mraib-hero-floats {
    position: absolute;
    bottom: 0;
    left: 0; right: 0;
    z-index: 3;
    padding: 0 0 80px;
    pointer-events: none;
}
.mraib-hero-floats-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
@media (max-width: 767px) { .mraib-hero-floats { display: none; } }

.mraib-hero-float {
    background: rgba(10, 20, 40, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 16px 18px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    pointer-events: auto;
    animation: mraibFloat 6s ease-in-out infinite;
}
.mraib-hero-float:nth-child(2) { animation-delay: 0.8s; }
.mraib-hero-float:nth-child(3) { animation-delay: 1.6s; }
.mraib-hero-float:nth-child(4) { animation-delay: 2.4s; }

.mraib-hero-float strong {
    font-family: var(--mraib-serif);
    font-size: 26px;
    font-weight: 600;
    color: #fff;
    display: block;
    letter-spacing: -0.01em;
}
.mraib-hero-float span {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--mraib-gold-400);
    font-weight: 600;
}
@keyframes mraibFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

/* ==================================================================
   SCROLL-REVEAL — applied via data-reveal
   ================================================================== */
[data-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1);
    will-change: opacity, transform;
}
[data-reveal="left"] { transform: translateX(-28px); }
[data-reveal="right"] { transform: translateX(28px); }
[data-reveal="zoom"] { transform: scale(0.96); }
[data-reveal].is-visible { opacity: 1; transform: none; }
[data-reveal-delay="100"] { transition-delay: 100ms; }
[data-reveal-delay="200"] { transition-delay: 200ms; }
[data-reveal-delay="300"] { transition-delay: 300ms; }
[data-reveal-delay="400"] { transition-delay: 400ms; }
[data-reveal-delay="500"] { transition-delay: 500ms; }

/* ==================================================================
   MARQUEE of institutional logos
   ================================================================== */
.mraib-marquee {
    overflow: hidden;
    padding: 40px 0;
    background: #fff;
    border-top: 1px solid var(--mraib-line);
    border-bottom: 1px solid var(--mraib-line);
    position: relative;
    mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
}
.mraib-marquee-track {
    display: flex;
    gap: 60px;
    animation: mraibMarquee 40s linear infinite;
    width: max-content;
}
.mraib-marquee:hover .mraib-marquee-track { animation-play-state: paused; }
.mraib-marquee-item {
    font-family: var(--mraib-serif);
    font-size: 22px;
    letter-spacing: 0.22em;
    color: #9aa5ba;
    font-weight: 500;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color .2s;
}
.mraib-marquee-item:hover { color: var(--mraib-navy-700); }
@keyframes mraibMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ==================================================================
   SPECIALIST DESKS — replaces card section
   ================================================================== */
.mraib-desks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
@media (max-width: 991px) { .mraib-desks { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mraib-desks { grid-template-columns: 1fr; } }

.mraib-desk {
    position: relative;
    border-radius: var(--mraib-radius-lg);
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #0a1628;
    cursor: pointer;
    isolation: isolate;
}
.mraib-desk-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center top;
    filter: grayscale(0.15) brightness(0.92);
    transition: transform 1.1s cubic-bezier(.22,.61,.36,1), filter .6s;
    transform: scale(1.02);
}
.mraib-desk:hover .mraib-desk-img {
    transform: scale(1.08);
    filter: grayscale(0) brightness(1);
}
.mraib-desk::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(6,16,31,0.25) 55%, rgba(6,16,31,0.95) 100%);
    transition: background .4s;
}
.mraib-desk:hover::after {
    background: linear-gradient(180deg, transparent 10%, rgba(6,16,31,0.45) 35%, rgba(6,16,31,0.98) 90%);
}

.mraib-desk-badge {
    position: absolute;
    top: 18px; left: 18px;
    z-index: 3;
    padding: 6px 12px;
    background: rgba(201, 162, 83, 0.2);
    border: 1px solid rgba(201, 162, 83, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--mraib-gold-400);
    font-size: 10.5px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 999px;
}

.mraib-desk-body {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 3;
    padding: 26px;
    color: #fff;
    transform: translateY(calc(100% - 120px));
    transition: transform .5s cubic-bezier(.22,.61,.36,1);
}
.mraib-desk:hover .mraib-desk-body { transform: translateY(0); }
.mraib-desk-body h3 {
    font-family: var(--mraib-serif);
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 4px;
    line-height: 1.15;
    color: #fff;
}
.mraib-desk-body .specialty {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--mraib-gold-400);
    font-weight: 600;
    margin-bottom: 12px;
    display: block;
}
.mraib-desk-body p {
    font-size: 14px;
    line-height: 1.55;
    color: #d6dbe8;
    margin: 0 0 16px;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .4s .1s, transform .4s .1s;
}
.mraib-desk:hover .mraib-desk-body p { opacity: 1; transform: none; }
.mraib-desk-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--mraib-gold-400);
    font-weight: 600;
    text-decoration: none;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .4s .18s, transform .4s .18s, color .2s;
}
.mraib-desk:hover .mraib-desk-cta { opacity: 1; transform: none; }
.mraib-desk-cta:hover { color: #fff; }

/* ==================================================================
   GLOBAL PRESENCE — office photo grid
   ================================================================== */
.mraib-offices {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 260px 260px;
    gap: 18px;
}
@media (max-width: 991px) {
    .mraib-offices { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 220px); }
    .mraib-office:nth-child(1) { grid-column: 1 / -1; }
}
@media (max-width: 575px) { .mraib-offices { grid-template-columns: 1fr; grid-template-rows: repeat(6, 200px); } .mraib-office:nth-child(1) { grid-column: auto; } }

.mraib-office {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    isolation: isolate;
    cursor: pointer;
    background: var(--mraib-navy-900);
}
.mraib-office:first-child { grid-row: span 2; }
@media (max-width: 991px) { .mraib-office:first-child { grid-row: auto; } }

.mraib-office-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 1s;
    transform: scale(1.02);
}
.mraib-office:hover .mraib-office-img { transform: scale(1.08); }
.mraib-office::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(6,16,31,0.95) 100%);
}
.mraib-office-label {
    position: absolute;
    left: 22px; bottom: 22px; right: 22px;
    z-index: 2;
    color: #fff;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
}
.mraib-office-label h4 {
    font-family: var(--mraib-serif);
    font-size: 24px;
    font-weight: 600;
    margin: 0;
    letter-spacing: -0.01em;
}
.mraib-office-label small {
    display: block;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--mraib-gold-400);
    font-weight: 600;
    margin-bottom: 4px;
}
.mraib-office-pulse {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #c3cad8;
    white-space: nowrap;
}
.mraib-office-pulse .dot {
    width: 7px; height: 7px;
    background: #4ade80;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.55);
    animation: mraibPulse 2s infinite;
}

/* ==================================================================
   SINGLE HQ SHOWCASE (Berlin)
   ================================================================== */
.mraib-hq-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 40px;
    align-items: stretch;
}
@media (max-width: 991px) { .mraib-hq-grid { grid-template-columns: 1fr; } }

.mraib-hq-photo {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    min-height: 460px;
    isolation: isolate;
    box-shadow: var(--mraib-shadow-lg);
}
.mraib-hq-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s ease;
}
.mraib-hq-photo:hover img { transform: scale(1.05); }
.mraib-hq-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(6,16,31,0.6) 100%);
}
.mraib-hq-photo-tag {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 2;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(201, 162, 83, 0.2);
    border: 1px solid rgba(201, 162, 83, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--mraib-gold-400);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    font-weight: 600;
}

.mraib-hq-details {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.mraib-hq-detail p {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: #e3e9f5;
}
.mraib-hq-detail p small {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #8d97ab;
    letter-spacing: 0.06em;
}
.mraib-hq-detail a { color: #fff; text-decoration: none; transition: color .2s; }
.mraib-hq-detail a:hover { color: var(--mraib-gold-400); }
.mraib-hq-detail-label {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--mraib-gold-400);
    font-weight: 600;
    margin-bottom: 8px;
}
.mraib-hq-status {
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* ==================================================================
   CLIENT STORIES — photo + quote carousel
   ================================================================== */
.mraib-stories {
    position: relative;
    background: #fff;
    border: 1px solid var(--mraib-line);
    border-radius: var(--mraib-radius-lg);
    overflow: hidden;
    box-shadow: var(--mraib-shadow-sm);
    min-height: 460px;
}

.mraib-story {
    display: none;
    grid-template-columns: 1fr 1fr;
    min-height: 460px;
}
.mraib-story.is-active { display: grid; animation: mraibStoryIn .9s ease; }
@keyframes mraibStoryIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) { .mraib-story { grid-template-columns: 1fr; } .mraib-story.is-active { display: block; } }

.mraib-story-img {
    background-size: cover;
    background-position: center;
    position: relative;
    min-height: 340px;
}
.mraib-story-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 60%, rgba(255,255,255,0.9));
}
@media (max-width: 767px) { .mraib-story-img::after { background: linear-gradient(180deg, transparent 55%, rgba(255,255,255,0.92)); } }
.mraib-story-img-tag {
    position: absolute;
    top: 22px; left: 22px;
    padding: 6px 14px;
    background: rgba(255,255,255,0.92);
    color: var(--mraib-navy-800);
    border-radius: 999px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    font-weight: 700;
    z-index: 2;
}

.mraib-story-body {
    padding: 54px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (max-width: 767px) { .mraib-story-body { padding: 32px 26px; } }
.mraib-story-body blockquote {
    font-family: var(--mraib-serif);
    font-size: 24px;
    line-height: 1.4;
    color: var(--mraib-navy-900);
    margin: 0 0 24px;
    font-weight: 500;
    position: relative;
}
.mraib-story-body blockquote::before {
    content: "\201C";
    font-size: 80px;
    color: var(--mraib-gold-500);
    position: absolute;
    top: -30px; left: -18px;
    line-height: 1;
    opacity: 0.7;
}
.mraib-story-body cite {
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 28px;
}
.mraib-story-body cite strong {
    font-size: 15px;
    color: var(--mraib-navy-900);
    font-weight: 700;
}
.mraib-story-body cite small {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--mraib-muted);
    font-weight: 500;
}
.mraib-story-kpis {
    display: flex;
    gap: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--mraib-line);
}
.mraib-story-kpi strong {
    font-family: var(--mraib-serif);
    font-size: 24px;
    font-weight: 600;
    color: var(--mraib-gold-600);
    display: block;
    line-height: 1;
}
.mraib-story-kpi span {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--mraib-muted);
    font-weight: 500;
    margin-top: 6px;
    display: block;
}

.mraib-stories-nav {
    position: absolute;
    bottom: 26px; right: 26px;
    z-index: 3;
    display: flex;
    gap: 10px;
}
.mraib-stories-nav button {
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--mraib-line-strong);
    background: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--mraib-navy-800);
    transition: all .2s;
}
.mraib-stories-nav button:hover {
    background: var(--mraib-navy-900);
    color: #fff;
    border-color: var(--mraib-navy-900);
    transform: translateY(-2px);
}
@media (max-width: 575px) { .mraib-stories-nav { right: 18px; bottom: 18px; } }

/* ==================================================================
   ANIMATED STATS (counter)
   ================================================================== */
.mraib-stat-value[data-count] {
    font-variant-numeric: tabular-nums;
}

/* ==================================================================
   FLOATING SHAPES — decorative SVG/blob backgrounds
   ================================================================== */
.mraib-shape {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    filter: blur(40px);
    opacity: 0.5;
    border-radius: 50%;
    animation: mraibOrbit 24s ease-in-out infinite;
}
.mraib-shape--gold {
    background: radial-gradient(circle, rgba(201, 162, 83, 0.5), transparent 70%);
}
.mraib-shape--navy {
    background: radial-gradient(circle, rgba(38, 77, 140, 0.45), transparent 70%);
}
@keyframes mraibOrbit {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(40px, -30px) scale(1.1); }
    66% { transform: translate(-30px, 40px) scale(0.95); }
}

/* ==================================================================
   MOVING "LIVE" BADGES — subtle pulse overlays
   ================================================================== */
.mraib-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(74, 222, 128, 0.12);
    border: 1px solid rgba(74, 222, 128, 0.35);
    font-size: 11px;
    color: #6ee29a;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 600;
}
.mraib-live-badge .dot {
    width: 7px; height: 7px;
    background: #4ade80;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.55);
    animation: mraibPulse 2s infinite;
}

/* Reduce motion opt-out */
@media (prefers-reduced-motion: reduce) {
    .mraib-ticker-track,
    .mraib-marquee-track,
    .mraib-hero-slide,
    .mraib-hero-float,
    .mraib-shape,
    .mraib-pulse,
    .mraib-office-pulse .dot,
    .mraib-live-badge .dot {
        animation: none !important;
    }
    [data-reveal] { opacity: 1; transform: none; }
}

/* ============================================================
   HAMBURGER TOGGLER — SVG button on the white header, visible
   from 0 up to 1200px (matches legacy responsive.css breakpoint).
   ============================================================ */
html body .mraib-burger,
html body .menu-area .mobile-nav-toggler,
html body .nav-outer .mobile-nav-toggler {
    display: none !important;
}
@media (max-width: 1200px) {
    html body .mraib-burger,
    html body .menu-area .mobile-nav-toggler,
    html body .nav-outer .mobile-nav-toggler {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: #fff !important;
        border: 1px solid var(--mraib-line-strong) !important;
        border-radius: 12px !important;
        color: var(--mraib-navy-800) !important;
        cursor: pointer;
        float: none !important;
        flex: 0 0 44px !important;
        box-shadow: var(--mraib-shadow-sm);
        transition: all .2s;
    }
    html body .mraib-outer,
    html body .main-header .outer-box {
        padding-left: 18px !important;
        padding-right: 18px !important;
        gap: 14px !important;
    }
    html body .mraib-menu-area {
        flex: 0 0 auto !important;
        gap: 10px !important;
    }
    html body .main-header .outer-box .mraib-logo-box {
        padding: 0 !important;
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
    }
    html body .mraib-wordmark-primary {
        font-size: 18px;
        letter-spacing: 0.12em;
    }
    html body .mraib-wordmark-secondary {
        font-size: 9.5px;
        letter-spacing: 0.18em;
    }
}
@media (max-width: 575px) {
    html body .mraib-wordmark-secondary { display: none; }
    html body .mraib-mark { width: 42px; height: 42px; }
    html body .mraib-mark-inner { font-size: 19px; }
}
html body .mraib-burger svg,
html body .mobile-nav-toggler svg {
    stroke: var(--mraib-navy-800) !important;
    color: var(--mraib-navy-800) !important;
    width: 22px !important;
    height: 22px !important;
}
html body .mraib-burger:hover,
html body .mobile-nav-toggler:hover {
    background: var(--mraib-navy-800) !important;
    border-color: var(--mraib-navy-800) !important;
    color: #fff !important;
    transform: translateY(-1px);
}
html body .mraib-burger:hover svg,
html body .mobile-nav-toggler:hover svg {
    stroke: #fff !important;
    color: #fff !important;
}
/* Legacy icon-bars fallback in case markup still has them somewhere */
html body .mobile-nav-toggler .icon-bar {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    margin: 4px auto !important;
    background-color: var(--mraib-navy-800) !important;
    border-radius: 2px;
}
html body .mobile-nav-toggler:hover .icon-bar {
    background-color: #fff !important;
}

/* ============================================================
   MOBILE MENU — ensure cloned nav links are legible on the
   dark slide-in panel. Legacy style.css sets them white but the
   cloned markup carries desktop specificity rules that leak in.
   ============================================================ */
html body .mobile-menu {
    background: linear-gradient(180deg, #06101f 0%, #0b1a33 60%, #06101f 100%);
}
html body .mobile-menu .menu-box {
    background: transparent !important;
}

/* Logo inside the drawer */
html body .mobile-menu .nav-logo,
html body .mobile-menu .nav-logo .mraib-logo {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    padding: 24px 22px 18px;
}
html body .mobile-menu .nav-logo .mraib-mark {
    background: linear-gradient(135deg, var(--mraib-gold-400), var(--mraib-gold-600)) !important;
    color: var(--mraib-navy-900) !important;
    border: 0 !important;
    box-shadow: 0 6px 18px rgba(201, 162, 83, 0.25);
}
html body .mobile-menu .nav-logo .mraib-mark-inner,
html body .mobile-menu .nav-logo .mraib-wordmark-primary {
    color: #ffffff !important;
}
html body .mobile-menu .nav-logo .mraib-mark-inner {
    color: var(--mraib-navy-900) !important;
}
html body .mobile-menu .nav-logo .mraib-wordmark-primary {
    color: #ffffff !important;
    letter-spacing: 0.14em;
    font-family: var(--mraib-serif);
}

/* Nav links — every variant wins with html body prefix */
html body .mobile-menu .menu-outer,
html body .mobile-menu .menu-outer .navbar-collapse,
html body .mobile-menu .navigation {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
html body .mobile-menu .navigation li > a,
html body .mobile-menu .navigation li a,
html body .mobile-menu .menu-outer .navigation li > a,
html body .mobile-menu .menu-outer .navigation li a,
html body .mobile-menu .menu-outer .main-menu .navigation li > a,
html body .mobile-menu .menu-outer .main-menu .navigation li a {
    color: rgba(255, 255, 255, 0.92) !important;
    font-family: var(--mraib-sans) !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em;
    font-size: 14px !important;
    padding: 14px 22px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    background: transparent !important;
    transition: background 0.2s ease, color 0.2s ease;
    text-transform: uppercase;
    display: block !important;
}
html body .mobile-menu .navigation li > a:hover,
html body .mobile-menu .navigation li a:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.04) !important;
}
html body .mobile-menu .navigation li.current > a,
html body .mobile-menu .navigation li.current a,
html body .mobile-menu .navigation li.active > a,
html body .mobile-menu .navigation li.active a {
    color: var(--mraib-gold-400) !important;
    background: linear-gradient(90deg, rgba(201, 162, 83, 0.15), transparent) !important;
}
html body .mobile-menu .navigation li > a:before {
    border-left-color: var(--mraib-gold-500) !important;
}
html body .mobile-menu .navigation .mraib-caret,
html body .mobile-menu .mraib-mega,
html body .mobile-menu .mraib-mega-inner {
    display: none !important;
}
html body .mobile-menu .contact-info h4 {
    color: #ffffff !important;
    font-family: var(--mraib-serif);
    font-size: 16px;
    letter-spacing: 0.04em;
}
html body .mobile-menu .contact-info ul li,
html body .mobile-menu .contact-info ul li a,
html body .mobile-menu .contact-info ul li small {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 13px;
    line-height: 1.6;
}
html body .mobile-menu .contact-info ul li a:hover {
    color: var(--mraib-gold-400) !important;
}
html body .mobile-menu .close-btn {
    color: #ffffff !important;
}

