/* ==========================================================================
   MenThee — inner-page design layer
   Loaded after premium.css on every page except index.html (which has its
   own home.css). It carries the homepage's design language — palette, Inter
   typography, light hero, glass header, rounded cards, navy footer — over to
   the inner pages without changing their markup or content.

   Most pages define their own styles in inline <style> blocks that come later
   in the document than this file, so selectors here are prefixed with `body`
   (or otherwise made one step more specific) to win without !important.
   ========================================================================== */

/* ---------- Tokens (same values as home.css) ---------- */
:root {
    --mt-primary: #1560d9;
    --mt-primary-600: #1560d9;
    --mt-primary-700: #0f4cb4;
    --mt-accent: #1560d9;
    --mt-accent-soft: #eaf2fe;
    --mt-ink: #0d2a5c;
    --mt-text: #56637c;
    --mt-muted: #6b7890;
    --mt-surface: #f5f8fd;
    --mt-border: #e3e9f3;
    --mt-border-hover: #d3dff1;
    --mt-navy: #0c2a66;
    --mt-navy-2: #0d3b8c;
    --mt-font-heading: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --mt-shadow: 0 14px 34px -14px rgba(13, 42, 92, .2);
    --mt-shadow-lg: 0 28px 60px -24px rgba(13, 42, 92, .3);
    --mt-card-shadow: 0 10px 30px -22px rgba(13, 42, 92, .35);
    --mt-header-h: 70px;
    --mt-glass-bg: linear-gradient(120deg, rgba(255, 255, 255, .58) 0%, rgba(232, 241, 255, .40) 55%, rgba(222, 235, 255, .46) 100%);
    --mt-glass-rim: rgba(255, 255, 255, .65);
}

/* ---------- Base typography ---------- */
body {
    font-family: var(--mt-font);
    color: var(--mt-text);
}

body h1, body h2, body h3, body h4, body h5, body h6 {
    font-family: var(--mt-font-heading);
    letter-spacing: -0.015em;
}

/* ---------- Header: floating glass panel (as on the homepage) ---------- */
.navbar.navbar-default,
.navbar.navbar-default.affix,
.navbar.navbar-default.affix-top,
.navbar.navbar-default.is-scrolled {
    padding: 8px 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.navbar.navbar-default .container1 {
    position: relative;
    width: calc(100% - 32px);
    max-width: 1240px;
    min-height: calc(var(--mt-header-h) - 16px);
    padding: 0 12px 0 22px;
    border: 1px solid transparent;
    border-radius: 18px;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: blur(0) saturate(100%);
    backdrop-filter: blur(0) saturate(100%);
    transition: border-color .4s ease, box-shadow .4s ease, -webkit-backdrop-filter .4s ease, backdrop-filter .4s ease;
}

.navbar.navbar-default .container1::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--mt-glass-bg);
    opacity: 0;
    transition: opacity .4s ease;
    pointer-events: none;
}

.navbar.navbar-default.is-scrolled .container1 {
    border-color: var(--mt-glass-rim);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .85),
        inset 0 -1px 0 rgba(21, 96, 217, .06),
        0 0 0 1px rgba(13, 42, 92, .05),
        0 18px 40px -18px rgba(13, 42, 92, .35);
    -webkit-backdrop-filter: blur(22px) saturate(190%) brightness(1.04);
    backdrop-filter: blur(22px) saturate(190%) brightness(1.04);
}

.navbar.navbar-default.is-scrolled .container1::before {
    opacity: 1;
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .navbar.navbar-default.is-scrolled .container1 {
        background: rgba(248, 251, 255, .97);
    }
}

#nav-menu-container .animated-menu > li > a {
    font-size: 15px;
}

/* The last menu sits near the right edge: open its panel leftwards */
#nav-menu-container .animated-menu > li:last-child .dropdown-menu {
    left: auto;
    right: 0;
}

/* ---------- Page hero: light, like the homepage hero ----------
   The hero slides up under the transparent sticky header (by its height) and
   pads its content back down, so the header floats over the hero's tint. */
body .events-hero,
body .bp-hero,
body .history-hero {
    position: relative;
    overflow: hidden;
    margin-top: calc(var(--mt-header-h) * -1);
    padding: calc(64px + var(--mt-header-h)) 0 60px;
    border-bottom: 1px solid var(--mt-border);
    background:
        radial-gradient(1000px 520px at 82% 0%, rgba(21, 96, 217, .11), transparent 62%),
        radial-gradient(700px 400px at 0% 100%, rgba(109, 63, 224, .05), transparent 60%),
        linear-gradient(180deg, #f3f7fe 0%, #f9fbfe 70%, #fff 100%);
    color: var(--mt-ink);
    text-align: center;
}

body .events-hero::before,
body .bp-hero::before,
body .history-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(21, 96, 217, .1) 1px, transparent 1px);
    background-size: 22px 22px;
    -webkit-mask-image: radial-gradient(640px 360px at 50% 40%, #000, transparent 72%);
    mask-image: radial-gradient(640px 360px at 50% 40%, #000, transparent 72%);
    pointer-events: none;
}

body .events-hero > *,
body .bp-hero > *,
body .history-hero > * {
    position: relative;
}

body .events-hero h1,
body .bp-hero h1,
body .history-hero h1 {
    max-width: 960px;
    margin: 0 auto 18px;
    color: var(--mt-ink);
    font-size: clamp(32px, 4.4vw, 56px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.035em;
    text-shadow: none;
    text-wrap: balance;
}

body .events-hero p,
body .bp-hero .bp-sub,
body .history-hero p {
    max-width: 680px;
    margin: 0 auto 26px;
    color: var(--mt-text);
    font-size: 18px;
    line-height: 1.65;
    opacity: 1;
}

body .bp-hero .bp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
    padding: 7px 16px;
    border: 1px solid #d3e2fb;
    border-radius: 999px;
    background: #eef4fe;
    color: var(--mt-primary-600);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: 1;
}

body .bp-hero .bp-meta {
    margin-top: 14px;
    color: var(--mt-muted);
    font-size: 14px;
    font-weight: 500;
    opacity: 1;
}

/* Breadcrumb as a soft pill */
body .breadcrumb {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px 0;
    margin: 0;
    padding: 8px 18px;
    border: 1px solid var(--mt-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 6px 18px -12px rgba(13, 42, 92, .3);
}

body .breadcrumb-item {
    color: var(--mt-ink);
    font-size: 14px;
    font-weight: 600;
}

body .breadcrumb-item a {
    color: var(--mt-primary-600);
    font-weight: 500;
    text-decoration: none;
}

body .breadcrumb-item a:hover,
body .breadcrumb-item a:focus-visible {
    color: var(--mt-primary-700);
    text-decoration: underline;
}

body .breadcrumb-item.active {
    color: var(--mt-ink);
}

body .breadcrumb-item + .breadcrumb-item::before {
    color: #a7b4c8;
}

/* The careers hero is a photograph: keep it dark, refine the type */
body .career-hero h1 {
    color: #fff;
    font-weight: 800;
    letter-spacing: -0.035em;
}

/* ---------- Section headings ---------- */
body .section-header h3,
body .section-header .section-title,
body .vision-heading h2 {
    color: var(--mt-ink);
    font-family: var(--mt-font-heading);
    font-size: clamp(28px, 3.4vw, 44px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
    text-transform: none;
}

body .section-header p {
    color: var(--mt-text);
    font-size: 17px;
    line-height: 1.7;
}

body .about-kicker,
body .vision-kicker {
    color: var(--mt-primary-600);
    font-weight: 700;
    letter-spacing: .16em;
}

/* ---------- Buttons ---------- */
body .arrow-btn,
body .submit-btn,
body .apply-btn,
body .primary-btn,
body .event-btn,
body .verify-otp-btn {
    border-radius: 10px;
    background: var(--mt-primary-600);
    box-shadow: 0 12px 24px -12px rgba(21, 96, 217, .75);
    color: #fff;
    font-family: var(--mt-font);
    font-weight: 700;
    letter-spacing: 0;
    transition: background-color .2s ease, box-shadow .25s ease, transform .2s var(--mt-ease);
}

body .arrow-btn:hover,
body .submit-btn:hover:not(:disabled),
body .apply-btn:hover,
body .primary-btn:hover,
body .event-btn:hover,
body .verify-otp-btn:hover:not(:disabled) {
    background: var(--mt-primary-700);
    box-shadow: 0 16px 28px -12px rgba(21, 96, 217, .8);
    color: #fff;
    transform: translateY(-1px);
}

/* On the dark CTA band the main button is white, as on the homepage */
body .career-cta .arrow-btn {
    background: #fff;
    box-shadow: none;
    color: var(--mt-primary-600);
}

body .career-cta .arrow-btn:hover {
    background: var(--mt-accent-soft);
    color: var(--mt-primary-700);
}

body .secondary-btn,
body .view-details,
body .verify-btn,
body .resend-btn {
    border: 1.5px solid var(--mt-primary-600);
    border-radius: 10px;
    background: #fff;
    color: var(--mt-primary-600);
    font-weight: 700;
    transition: background-color .2s ease, color .2s ease;
}

body .secondary-btn:hover,
body .view-details:hover,
body .verify-btn:hover:not(:disabled),
body .resend-btn:hover:not(:disabled) {
    background: var(--mt-accent-soft);
    color: var(--mt-primary-700);
}

/* ---------- Cards: one shared treatment ----------
   White surface, hairline border, 18px corners, soft lift on hover. The old
   thick left accent borders are replaced by the hairline border. */
body .overview,
body .key-highlights,
body .feature-box,
body .prod-modules .card,
body .carousel,
body .vision-mission-box,
body .job-card,
body .event-card,
body .memory-card,
body .founder-card,
body .timeline-content,
body .step,
body .legal-content,
body .policy-content,
body .bp-card,
body .bp-toc,
body .bp-cta-inline {
    border: 1px solid var(--mt-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--mt-card-shadow);
}

body .feature-box,
body .prod-modules .card,
body .vision-mission-box,
body .job-card,
body .event-card,
body .memory-card,
body .founder-card,
body .timeline-content,
body .step,
body .bp-card {
    transition: transform .3s var(--mt-ease), box-shadow .3s ease, border-color .3s ease;
}

body .feature-box:hover,
body .prod-modules .card:hover,
body .vision-mission-box:hover,
body .job-card:hover,
body .event-card:hover,
body .memory-card:hover,
body .founder-card:hover,
body .timeline-content:hover,
body .step:hover,
body .bp-card:hover {
    border-color: var(--mt-border-hover);
    box-shadow: var(--mt-shadow);
    transform: translateY(-4px);
}

body .overview,
body .key-highlights {
    padding: 30px 32px;
}

body .overview h2,
body .key-highlights h2 {
    color: var(--mt-ink);
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 800;
    letter-spacing: -0.025em;
}

body .overview p,
body .key-highlights li {
    color: var(--mt-text);
    line-height: 1.75;
}

body .feature-box {
    padding: 22px 24px;
}

body .feature-box strong,
body .feature-box h3,
body .prod-modules .card h3,
body .job-card h3,
body .event-title,
body .memory-title,
body .founder-info h3,
body .timeline-content h3,
body .step h3,
body .vision-mission-box h3 {
    color: var(--mt-ink);
    font-weight: 700;
}

body .feature-box p,
body .job-description,
body .event-desc,
body .memory-desc,
body .timeline-content p,
body .step p {
    color: var(--mt-text);
    line-height: 1.7;
}

body .feature-box .icon,
body .vision-mission-box .icon {
    color: var(--mt-primary-600);
}

body .job-card .apply-btn,
body .job-card .view-details {
    border-radius: 10px;
}

body .step-number {
    background: var(--mt-primary-600);
    box-shadow: 0 10px 20px -10px rgba(21, 96, 217, .8);
}

body .timeline-date,
body .event-date,
body .memory-date {
    color: var(--mt-primary-600);
    font-weight: 700;
}

body .stat-number,
body .about-stat strong {
    color: var(--mt-primary-600);
    font-weight: 800;
    letter-spacing: -0.03em;
}

/* Images inside cards and the about photo follow the rounder corners */
body .milestone-image img,
body .event-img img,
body .memory-img img,
body #aboutus .product-ims-image img,
body .about-image {
    border-radius: 14px;
}

/* Filters / tabs (events, careers) */
body .filter-btn,
body .memory-filter-btn {
    border: 1.5px solid var(--mt-border);
    border-radius: 999px;
    background: #fff;
    color: var(--mt-ink);
    font-weight: 600;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

body .filter-btn:hover,
body .filter-btn.active,
body .memory-filter-btn:hover,
body .memory-filter-btn.active {
    border-color: var(--mt-primary-600);
    background: var(--mt-primary-600);
    color: #fff;
}

/* ---------- Form controls ---------- */
body .filter-group select,
body .form-group input,
body .form-group select,
body .form-group textarea,
body .captcha-input {
    border: 1.5px solid var(--mt-border);
    border-radius: 10px;
    background-color: #fbfcfe;
    color: var(--mt-ink);
    font-family: var(--mt-font);
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

body .filter-group select:focus,
body .form-group input:focus,
body .form-group select:focus,
body .form-group textarea:focus,
body .captcha-input:focus {
    outline: none;
    border-color: var(--mt-primary-600);
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(21, 96, 217, .14);
}

body .form-group label,
body .filter-group label {
    color: var(--mt-ink);
    font-weight: 600;
}

/* Demo / job / OTP dialogs */
body .modern-popup,
body .otp-popup,
body .job-application-content,
body .otp-modal-content,
body .popup-form {
    border-radius: 20px;
    box-shadow: var(--mt-shadow-lg);
    font-family: var(--mt-font);
}

body .popup-header h3,
body .otp-header h3,
body .job-application-header h3 {
    color: var(--mt-ink);
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* ---------- Article pages (blog, industries, locations, solutions) ---------- */
body .bp-body,
body .bp-list-body {
    background: var(--mt-surface);
}

body .bp-article {
    padding: 44px 48px;
    border: 1px solid var(--mt-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--mt-card-shadow);
}

body .bp-lede {
    color: var(--mt-ink);
    font-size: 18.5px;
    line-height: 1.75;
    opacity: .9;
}

body .bp-article p,
body .bp-article ul,
body .bp-article ol {
    color: var(--mt-text);
    line-height: 1.8;
}

body .bp-article h2,
body .bp-faq h2 {
    color: var(--mt-ink);
    font-size: clamp(24px, 2.4vw, 30px);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.025em;
    border-top-color: var(--mt-border);
}

body .bp-article h3 {
    color: var(--mt-primary-600);
    font-size: 18.5px;
}

body .bp-article strong,
body .bp-faq-q {
    color: var(--mt-ink);
}

body .bp-article li::marker,
body .bp-faq-q span {
    color: var(--mt-primary-600);
}

body .bp-article a:not([class]) {
    color: var(--mt-primary-600);
    text-underline-offset: 3px;
}

body .bp-callout {
    padding: 18px 22px;
    border: 1px solid #d3e2fb;
    border-left: 4px solid var(--mt-primary-600);
    border-radius: 14px;
    background: #f1f6fe;
}

body .bp-callout.bp-warn {
    border-color: #f3d2cf;
    border-left-color: #d9534f;
    background: #fdf3f2;
}

body .bp-callout .bp-label {
    color: var(--mt-primary-600);
}

body .bp-tblwrap {
    border-color: var(--mt-border);
    border-radius: 14px;
}

body .bp-tblwrap thead th {
    background: var(--mt-ink);
}

body .bp-tblwrap tbody tr:nth-child(even) {
    background: var(--mt-surface);
}

body .bp-mod,
body .bp-ex-card {
    padding: 18px 20px;
    border: 1px solid var(--mt-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
    transition: transform .3s var(--mt-ease), box-shadow .3s ease, border-color .3s ease;
}

body .bp-mod:hover,
body .bp-ex-card:hover {
    border-color: var(--mt-border-hover);
    box-shadow: var(--mt-shadow);
    transform: translateY(-3px);
}

body .bp-mod h4,
body .bp-ex-card h4 {
    color: var(--mt-ink);
    font-weight: 700;
}

body .bp-mod p,
body .bp-ex-card p {
    color: var(--mt-text);
    line-height: 1.6;
}

body .bp-ex-card .bp-eyebrow {
    color: var(--mt-primary-600);
}

body .bp-toc {
    top: calc(var(--mt-header-h) + 20px);
    padding: 24px 24px 18px;
}

body .bp-toc h4 {
    color: var(--mt-primary-600);
    font-weight: 800;
    letter-spacing: .14em;
}

body .bp-toc li {
    margin-bottom: 4px;
}

body .bp-toc a {
    display: block;
    padding: 5px 8px;
    border-radius: 8px;
    color: var(--mt-text);
    transition: background-color .2s ease, color .2s ease;
}

body .bp-toc a:hover,
body .bp-toc a:focus-visible {
    background: var(--mt-accent-soft);
    color: var(--mt-primary-600);
}

body .bp-cta-inline {
    padding: 26px 24px;
    background:
        radial-gradient(260px 160px at 100% 0%, rgba(21, 96, 217, .1), transparent 70%),
        #fff;
}

body .bp-cta-inline h5 {
    color: var(--mt-ink);
    font-size: 17px;
    font-weight: 800;
}

body .bp-cta-inline p {
    color: var(--mt-text);
}

body .bp-faq-item {
    border-top-color: var(--mt-border);
}

body .bp-faq-a {
    color: var(--mt-text);
    line-height: 1.7;
}

/* Blog listing cards */
body .bp-card {
    overflow: hidden;
}

body .bp-card-top {
    height: 4px;
    background: linear-gradient(90deg, var(--mt-primary-600), #6d3fe0);
}

body .bp-card-eyebrow {
    color: var(--mt-primary-600);
    font-weight: 700;
    letter-spacing: .12em;
}

body .bp-card h3 {
    color: var(--mt-ink);
    font-weight: 800;
    letter-spacing: -0.02em;
}

body .bp-card p {
    color: var(--mt-text);
}

body .bp-card-meta {
    color: var(--mt-muted);
}

body .bp-card-link {
    color: var(--mt-primary-600);
    font-weight: 700;
}

/* ---------- Product pages: "by industry" link tiles ----------
   These tiles and their heading are styled with inline style attributes,
   so !important is the only way to restyle them without editing markup. */
[id$="-by-industry"] h2[style],
#eims-by-institution h2[style] {
    color: var(--mt-ink) !important;
    font-size: clamp(26px, 3vw, 38px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em;
}

[id$="-by-industry"] a[style],
#eims-by-institution a[style] {
    border: 1px solid var(--mt-border) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: var(--mt-ink) !important;
    transition: border-color .2s ease, color .2s ease, transform .2s var(--mt-ease), box-shadow .2s ease;
}

[id$="-by-industry"] a[style]:hover,
[id$="-by-industry"] a[style]:focus-visible,
#eims-by-institution a[style]:hover,
#eims-by-institution a[style]:focus-visible {
    border-color: var(--mt-primary-600) !important;
    box-shadow: var(--mt-shadow) !important;
    color: var(--mt-primary-600) !important;
    transform: translateY(-2px);
}

/* Cloud product pricing used Georgia / Times New Roman inline */
#pricing[style],
#pricing [style*="serif"] {
    font-family: var(--mt-font) !important;
}

/* API page: content blocks as cards */
body .padded-content {
    margin-bottom: 24px;
    padding: 40px 44px;
    border: 1px solid var(--mt-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--mt-card-shadow);
}

body .padded-content h4 {
    color: var(--mt-ink);
    font-weight: 800;
    letter-spacing: -0.02em;
}

body .padded-content p,
body .padded-content li {
    color: var(--mt-text);
    line-height: 1.75;
}

/* History timeline accents in the brand blue */
body .timeline::after {
    background: linear-gradient(180deg, var(--mt-primary-600), #6d3fe0);
}

body .timeline-item::after {
    border-color: var(--mt-primary-600);
}

/* ---------- Legal and policy pages ---------- */
body .legal-content,
body .policy-content {
    padding: 44px 48px;
}

body .legal-section,
body .policy-section {
    border-bottom-color: var(--mt-border);
}

body .legal-section h2,
body .policy-section h2,
body .policy-section h3 {
    color: var(--mt-ink);
    font-weight: 800;
    letter-spacing: -0.02em;
}

body .legal-section p,
body .legal-section li,
body .policy-section p,
body .policy-section li {
    color: var(--mt-text);
    line-height: 1.8;
}

body .cookie-table {
    overflow: hidden;
    border-radius: 14px;
}

body .cookie-table th {
    background: var(--mt-ink);
    color: #fff;
}

/* ---------- CTA band: the homepage's rounded navy panel ----------
   The section becomes a light strip and its inner container the navy card,
   so it no longer runs straight into the navy footer. */
body .career-cta {
    padding: 72px 0;
    background: var(--mt-surface);
    color: #fff;
}

body .career-cta > .container {
    position: relative;
    overflow: hidden;
    padding: 60px 48px;
    border-radius: 24px;
    background:
        radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px) 0 0 / 16px 16px,
        radial-gradient(600px 300px at 100% 0%, rgba(41, 110, 230, .55), transparent 60%),
        linear-gradient(120deg, #0b2560 0%, #0d3784 100%);
    box-shadow: var(--mt-shadow-lg);
}

body .career-cta h2 {
    color: #fff;
    font-size: clamp(28px, 3.2vw, 42px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

body .career-cta p {
    color: rgba(255, 255, 255, .82);
    opacity: 1;
}

body .bp-contact-line a {
    color: #fff;
}

/* ---------- Footer: refined navy footer ---------- */
footer.ultra-compact-footer {
    padding: 72px 0 28px;
    background:
        radial-gradient(700px 360px at 100% 0%, rgba(41, 110, 230, .35), transparent 60%),
        linear-gradient(160deg, #0c2a66 0%, #081c48 100%);
    color: rgba(255, 255, 255, .72);
    font-family: var(--mt-font);
    font-size: 14px;
}

footer.ultra-compact-footer .footer-container {
    max-width: 1240px;
    padding: 0 24px;
}

footer.ultra-compact-footer .top-row {
    gap: 56px;
    margin-bottom: 0;
    padding-bottom: 44px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

footer.ultra-compact-footer .logo-contact-column {
    align-items: flex-start;
    gap: 22px;
}

/* The PNG is 1000x600 with the wordmark in its middle band */
footer.ultra-compact-footer img.footer-logo {
    display: block;
    width: 200px;
    max-width: none;
    height: auto;
    max-height: none !important; /* style.css caps it with !important on mobile */
    margin: -44px 0 -44px -13px;
    filter: brightness(0) invert(1);
}

footer.ultra-compact-footer .call-us {
    gap: 14px;
    margin: 0;
    padding: 14px 18px 14px 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    background: rgba(255, 255, 255, .05);
    color: #fff;
}

footer.ultra-compact-footer .call-us img {
    width: 42px;
    height: 42px;
    padding: 6px;
    border-radius: 12px;
    background: #fff;
}

footer.ultra-compact-footer .call-us .text-content p {
    margin: 2px 0;
}

footer.ultra-compact-footer .call-us-mail,
footer.ultra-compact-footer .call-us-mail a {
    color: #fff;
    font-size: 14.5px;
    font-weight: 600;
    text-decoration: none;
}

footer.ultra-compact-footer .call-us-mail:hover,
footer.ultra-compact-footer .call-us-mail a:hover {
    color: #8fc0ff;
}

footer.ultra-compact-footer .company-links-column h3 {
    margin-bottom: 22px;
    padding-bottom: 0;
    border-bottom: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

footer.ultra-compact-footer .company-links-grid {
    gap: 28px;
}

footer.ultra-compact-footer .links-column h4,
footer.ultra-compact-footer .address-row h3 {
    margin: 0 0 16px;
    color: #fff;
    font-family: var(--mt-font);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

footer.ultra-compact-footer .footer-links li {
    margin-bottom: 10px;
}

footer.ultra-compact-footer .footer-links a {
    display: inline-block;
    padding: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    line-height: 1.45;
    transition: color .2s ease;
}

footer.ultra-compact-footer .footer-links a:hover,
footer.ultra-compact-footer .footer-links a:focus-visible {
    color: #fff;
    transform: none;
}

footer.ultra-compact-footer .address-row {
    margin-bottom: 0;
    padding: 40px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

footer.ultra-compact-footer .address-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

footer.ultra-compact-footer .address-card {
    min-height: 0;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    background: rgba(255, 255, 255, .03);
    transition: border-color .2s ease, background-color .2s ease;
}

footer.ultra-compact-footer .address-card:hover {
    border-color: rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .05);
}

footer.ultra-compact-footer .address-title {
    gap: 8px;
    margin-bottom: 8px;
    color: #7fb4ff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

footer.ultra-compact-footer .address-title i {
    color: #7fb4ff;
}

footer.ultra-compact-footer .address-content,
footer.ultra-compact-footer .address-content p {
    color: rgba(255, 255, 255, .66);
    font-size: 13.5px;
    line-height: 1.6;
}

footer.ultra-compact-footer .address-content strong {
    margin-bottom: 3px;
    color: #fff;
    font-size: 14.5px;
}

footer.ultra-compact-footer .social-media-row {
    margin: 26px 0 0;
}

footer.ultra-compact-footer .social-icon-small {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 10px;
    background: rgba(255, 255, 255, .04);
    color: rgba(255, 255, 255, .85);
    font-size: 15px;
}

footer.ultra-compact-footer .social-icon-small:hover,
footer.ultra-compact-footer .social-icon-small:focus-visible {
    border-color: #fff;
    background: #fff;
    box-shadow: none;
    color: var(--mt-primary-700);
    transform: translateY(-2px);
    animation: none;
}

footer.ultra-compact-footer .social-icon-small::after {
    display: none;
}

footer.ultra-compact-footer .copyright-row {
    padding-top: 22px;
    border-top: 0;
}

footer.ultra-compact-footer .copyright {
    color: rgba(255, 255, 255, .58);
    font-size: 13px;
}

footer.ultra-compact-footer .footer-menu a {
    color: rgba(255, 255, 255, .62);
    font-size: 13px;
}

footer.ultra-compact-footer .footer-menu a:hover {
    color: #fff;
}

/* ---------- Chat widget (inline style attributes need !important) ---------- */
#chatbot-box {
    border: 1px solid var(--mt-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--mt-shadow-lg) !important;
    font-family: var(--mt-font) !important;
}

#chatbot-box > div:first-child {
    background: linear-gradient(135deg, #0b3a75, #1560d9) !important;
}

#chatbot-messages,
#typing-indicator {
    background: var(--mt-surface) !important;
}

#send-btn {
    background: var(--mt-primary-600) !important;
    box-shadow: none !important;
}

#voice-btn {
    color: var(--mt-primary-600) !important;
}

#chatbot-input {
    font-family: inherit !important;
}

body .message-user {
    background: var(--mt-primary-600);
    box-shadow: none;
}

body .message-bot {
    border: 1px solid var(--mt-border);
    box-shadow: none;
    color: var(--mt-ink);
}

body .quick-action-btn {
    border: 1.5px solid var(--mt-border);
    border-radius: 999px;
    background: #fff;
    box-shadow: none;
    color: var(--mt-primary-600);
    font-weight: 600;
}

body .quick-action-btn:hover {
    border-color: #b9cce3;
    background: var(--mt-accent-soft);
    box-shadow: none;
    color: var(--mt-primary-700);
    transform: none;
}

/* ---------- Cookie banner ---------- */
body #cookieConsentBanner {
    max-width: 640px;
    padding: 20px 22px;
    border: 1px solid var(--mt-border);
    border-radius: 14px;
    box-shadow: var(--mt-shadow-lg);
    font-family: var(--mt-font);
}

body #cookieConsentBanner .cookie-message {
    color: var(--mt-text);
    line-height: 1.6;
}

body .cookie-preference-link {
    color: var(--mt-primary-600);
    font-weight: 600;
}

body .cookie-btn {
    min-height: 42px;
    border: 1.5px solid transparent;
    border-radius: 10px;
    font-family: var(--mt-font);
    font-weight: 600;
}

body .cookie-btn.primary {
    background: var(--mt-primary-600);
    color: #fff;
}

body .cookie-btn.primary:hover {
    background: var(--mt-primary-700);
}

body .cookie-btn.secondary {
    border-color: var(--mt-border);
    background: #fff;
    color: var(--mt-ink);
}

body #cookiePreferencesContent {
    border-radius: 20px;
    box-shadow: var(--mt-shadow-lg);
    font-family: var(--mt-font);
}

body input:checked + .cookie-slider {
    background-color: var(--mt-primary-600);
}

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
    footer.ultra-compact-footer .top-row {
        gap: 36px;
    }

    footer.ultra-compact-footer .address-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .navbar.navbar-default .container1 {
        width: calc(100% - 20px);
        padding: 0 8px 0 14px;
        border-radius: 16px;
    }

    body .events-hero,
    body .bp-hero,
    body .history-hero {
        padding: calc(44px + var(--mt-header-h)) 0 44px;
    }

    body .events-hero p,
    body .bp-hero .bp-sub,
    body .history-hero p {
        font-size: 16.5px;
    }

    body .breadcrumb {
        padding: 7px 14px;
    }

    body .bp-article,
    body .legal-content,
    body .policy-content {
        padding: 28px 20px;
        border-radius: 16px;
    }

    body .overview,
    body .key-highlights,
    body .padded-content {
        padding: 24px 20px;
    }

    body .career-cta {
        padding: 48px 0;
    }

    body .career-cta > .container {
        width: calc(100% - 32px);
        padding: 40px 22px;
        border-radius: 20px;
    }

    footer.ultra-compact-footer {
        padding: 56px 0 24px;
    }

    footer.ultra-compact-footer .footer-container {
        padding: 0 16px;
    }

    footer.ultra-compact-footer .address-grid {
        grid-template-columns: 1fr;
    }

    body #cookieConsentBanner {
        padding: 16px;
    }
}
