/* Mobility page shell; explorers use industry-patterns.css. */
.mobility-page { color:#14233b; font-family:'Plus Jakarta Sans','Inter',sans-serif; }
.mobility-page [hidden] { display:none!important; }
html:has(.mobility-page) { scroll-behavior:auto; }
#mobility-content { overflow:clip; }
.mobility-page section[id] { scroll-margin-top:130px; }
#mobility-content :is(h1,h2,h3,h4,p) { margin:0; }
#mobility-content h2,.mobility-page .site-faq h2 { font-size:clamp(30px,3.1vw,44px); line-height:1.24; letter-spacing:-1.5px; color:#14233b; font-weight:700; }
#mobility-content p { font-size:16px; line-height:1.85; color:#54647a; }
#mobility-content iconify-icon { display:inline-block; width:1em; height:1em; font-size:22px; flex-shrink:0; vertical-align:middle; }
#mobility-content button { font-family:inherit; cursor:pointer; }
.mobility-page :is(button,a,summary,[tabindex]):focus-visible { outline:3px solid #008c9b; outline-offset:4px; }
#mobility-content .mt-hero { padding:148px 0 80px; background:radial-gradient(ellipse at 95% 30%,#e2edf9,transparent 55%),linear-gradient(120deg,#fff,#f2f6fc); }
#mobility-content .mt-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; }
#mobility-content .mt-hero-copy { min-width:0; }
#mobility-content .mt-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#54647a; font-size:13px; margin-bottom:28px; }
#mobility-content .mt-breadcrumb iconify-icon { font-size:16px; }
#mobility-content .mt-hero h1 { font-size:clamp(40px,4vw,58px); font-weight:700; line-height:1.13; letter-spacing:-2.3px; }
#mobility-content .mt-hero-copy>p { font-size:17px; margin:24px 0 30px; }
#mobility-content .mt-workspace { min-width:0; padding:26px; background:#fff; border:1px solid #cdd9ee; border-radius:22px; box-shadow:0 24px 60px #243e7914; }
#mobility-content .mt-workspace-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
#mobility-content .mt-workspace-top>span { display:flex; align-items:center; gap:9px; font-size:16px; font-weight:700; }
#mobility-content .mt-workspace-top iconify-icon { color:#0041c2; }
#mobility-content .mt-workspace-top small { font-size:12px; color:#54647a; }
#mobility-content .mt-work-panel { padding:26px 0; }
#mobility-content .mt-work-heading { display:flex; align-items:center; gap:13px; margin-bottom:24px; }
#mobility-content .mt-work-heading>iconify-icon { padding:12px; box-sizing:content-box; border-radius:12px; background:#edf3ff; color:#0041c2; }
#mobility-content .mt-work-heading h2 { font-size:19px; line-height:1.5; letter-spacing:-.4px; }
#mobility-content .mt-route { list-style:none; display:grid; gap:14px; padding:0; margin:0; }
#mobility-content .mt-route li { display:flex; align-items:center; gap:14px; position:relative; padding:18px; border:1px solid #d8e4f1; border-radius:12px; background:linear-gradient(120deg,#f5f9ff,#fff); }
#mobility-content .mt-route li+li:before { content:''; position:absolute; height:15px; width:2px; background:#b4c8e5; bottom:100%; left:33px; }
#mobility-content .mt-route li>span { display:grid; place-items:center; width:30px; height:30px; flex-shrink:0; border-radius:8px; color:#0041c2; background:#e7effc; font-size:12px; }
#mobility-content .mt-route li>div { flex:1; min-width:0; }
#mobility-content .mt-route strong { display:block; font-size:15px; line-height:1.6; }
#mobility-content .mt-route small { display:block; font-size:13px; line-height:1.6; color:#54647a; }
#mobility-content .mt-route iconify-icon { font-size:19px; color:#087561; }
#mobility-content .mt-sample-note { font-size:12px; line-height:1.75; margin-top:20px; }
#mobility-content .mt-workspace-foot { display:flex; align-items:center; gap:8px; border-top:1px solid #dce5f1; padding-top:20px; font-size:12px; color:#54647a; line-height:1.7; }
#mobility-content .mt-workspace-foot iconify-icon { font-size:18px; color:#0041c2; }
#mobility-content .mt-section-nav { background:#fff; border-block:1px solid #dce5f1; }
#mobility-content .mt-section-nav>.container { display:flex; justify-content:space-between; gap:26px; overflow-x:auto; }
#mobility-content .mt-section-nav a { display:flex; align-items:center; flex-shrink:0; gap:10px; white-space:nowrap; padding:24px 0; border-bottom:2px solid transparent; color:#43516b; font-size:14px; font-weight:600; }
#mobility-content .mt-section-nav a>span { color:#6c7990; font-size:12px; font-weight:500; }
#mobility-content .mt-section-nav a:hover,#mobility-content .mt-section-nav a[aria-current=location] { color:#0041c2; border-bottom-color:#0041c2; }
#mobility-content .reveal { opacity:1; transform:none; transition:none; }
#mobility-content .cases-section { padding:88px 0; }
#mobility-content .cases-header { margin-bottom:36px; }
#mobility-content .cases-header h2 { margin:15px 0; }
#mobility-content .case-tab-content { max-height:none; opacity:1; transition:none; }
#mobility-content .case-tab { transition:background .14s; }
#mobility-content .case-tab-title:after { content:none; }
#mobility-content button.case-tab-title { display:flex; justify-content:space-between; width:100%; border:0; background:transparent; padding:0; text-align:left; gap:12px; font-family:inherit; }
#mobility-content .case-tab-content p { font-size:14px; margin:14px 0 20px; }
#mobility-content .case-tab-content .btn { margin-bottom:8px; }
#mobility-content .case-image-slide { transition:none; }
#mobility-content .case-image-slide img { object-fit:cover; }
.mobility-page .site-faq h2 { margin-top:0; }
@media(min-width:1700px) { .mobility-page { zoom:1; } }
@media(max-width:1100px) {
 #mobility-content .mt-hero-grid { gap:30px; }
 #mobility-content .mt-hero h1 { font-size:46px; }
 #mobility-content .mt-workspace { padding:22px; }
}
@media(max-width:900px) {
 #mobility-content .mt-hero-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 #mobility-content .mt-workspace { width:100%; max-width:620px; margin:auto; }
}
@media(max-width:600px) {
 #mobility-content .container { padding-left:20px; padding-right:20px; }
 #mobility-content .mt-hero { padding:125px 0 58px; }
 #mobility-content .mt-hero h1 { font-size:38px; letter-spacing:-1.7px; }
 #mobility-content .mt-hero-copy>p { font-size:16px; }
 #mobility-content .mt-workspace { padding:20px 16px; border-radius:18px; }
 #mobility-content .mt-workspace-top>span { font-size:14px; }
 #mobility-content .mt-work-heading { gap:10px; }
 #mobility-content .mt-work-heading h2 { font-size:17px; }
 #mobility-content .mt-route li { padding:16px; gap:10px; }
 #mobility-content .mt-section-nav a { padding:20px 0; }
 #mobility-content .cases-section { padding:60px 0; }
}
@media(prefers-reduced-motion:reduce) {
 #mobility-content *,#mobility-content *:before,#mobility-content *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* Shared Insights layout. */
.mobility-page > .insights-updates { padding:100px 0; background:#f8fafb; }
.mobility-page > .insights-updates .heading { font-size:clamp(2rem,3.5vw,2.8rem); font-weight:700; color:#0f1b2d; line-height:1.25; }
.mobility-page > .insights-updates .d-flex { display:flex; }
.mobility-page > .insights-updates .flex-wrap { flex-wrap:wrap; }
.mobility-page > .insights-updates .gap-20 { gap:20px; }
.mobility-page > .insights-updates .align-item-center { align-items:center; }
.mobility-page > .insights-updates .space-between { justify-content:space-between; }
.mobility-page > .insights-updates .mb-60 { margin-bottom:60px; }
.mobility-page > .insights-updates .d-grid { display:grid; }
.mobility-page > .insights-updates .grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mobility-page > .insights-updates .gap-30 { gap:30px; }
.mobility-page > .insights-updates .blog-card { min-width:0; display:flex; flex-direction:column; background:#fff; border:1px solid #0000000f; border-radius:20px; overflow:hidden; box-shadow:0 4px 20px #0000000a; transition:transform .2s,box-shadow .2s,border-color .2s; }
.mobility-page > .insights-updates .blog-card:hover { transform:translateY(-6px); box-shadow:0 20px 60px #0041c21f; border-color:#0041c21a; }
.mobility-page > .insights-updates .blog-thumb { display:block; overflow:hidden; aspect-ratio:16/10; background:#f8f9fd; }
.mobility-page > .insights-updates .blog-thumb img { width:100%; max-width:none!important; height:100%; object-fit:cover; transition:transform .2s; }
.mobility-page > .insights-updates .blog-card:hover .blog-thumb img { transform:scale(1.04); }
.mobility-page > .insights-updates .blog-card h4 { padding:24px 24px 16px; margin:0; }
.mobility-page > .insights-updates .blog-card h4 a { font-size:1.25rem; font-weight:700; color:#0f1b2d; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mobility-page > .insights-updates .blog-card:hover h4 a { color:#0041c2; }
.mobility-page > .insights-updates .blog-card > .d-flex { margin-top:auto; gap:12px; flex-wrap:wrap; padding:0 24px 24px; }
.mobility-page > .insights-updates .post-date { font-size:.875rem; color:#62718a; font-weight:500; }
.mobility-page > .insights-updates .blog-card .btn-link { gap:4px; padding:0; font-size:.9rem; font-weight:600; color:#0041c2; }
.mobility-page > .insights-updates .btn-link iconify-icon { font-size:1.2rem; }
.mobility-page > .insights-updates a:focus-visible { outline:3px solid #087f9c; outline-offset:4px; }
@media(max-width:1024px) {
 .mobility-page > .insights-updates { padding:70px 0; }
 .mobility-page > .insights-updates .grid-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .mobility-page > .insights-updates { padding:52px 0; }
 .mobility-page > .insights-updates > .container { padding-left:20px; padding-right:20px; }
 .mobility-page > .insights-updates .grid-three { grid-template-columns:1fr; }
 .mobility-page > .insights-updates .mb-60 { margin-bottom:30px; }
 .mobility-page > .insights-updates .blog-card h4 { padding:22px 22px 16px; }
 .mobility-page > .insights-updates .blog-card > .d-flex { padding:0 22px 22px; }
}

/* Original shared stats design, matching the education and service pages. */
#mobility-content .stats-section {
            padding: 100px 0;
            background: linear-gradient(135deg, #f8f9fd 0%, #ffffff 50%, #f5f7fa 100%);
            position: relative;
            overflow: hidden;
        }
#mobility-content .stats-section::before {
            content: '';
            position: absolute;
            top: 20%;
            left: -5%;
            width: 400px;
            height: 400px;
            background: radial-gradient(circle, rgba(0,102,255,0.08) 0%, transparent 70%);
            border-radius: 50%;
            z-index: 1;
        }
#mobility-content .stats-section::after {
            content: '';
            position: absolute;
            bottom: 15%;
            right: -3%;
            width: 350px;
            height: 350px;
            background: radial-gradient(circle, rgba(0,65,194,0.06) 0%, transparent 70%);
            border-radius: 50%;
            z-index: 1;
        }
#mobility-content .stats-section .stats-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 32px;
            margin-bottom: 60px;
            position: relative;
            z-index: 2;
            border:none;
            background:none;
        }
#mobility-content .stats-section .stat-card {
            text-align: center;
            padding: 48px 28px;
            background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(248,250,255,0.98) 100%);
            backdrop-filter: blur(20px);
            border-radius: 24px;
            border: 1px solid rgba(0,65,194,0.1);
            box-shadow: 0 12px 40px rgba(0,0,0,0.08);
            position: relative;
            overflow: hidden;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
#mobility-content .stats-section .stat-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, #0041C2 0%, #0056E0 50%, #0066FF 100%);
            opacity: 0;
            transition: opacity 0.4s ease;
        }
#mobility-content .stats-section .stat-card:hover::before {
            opacity: 1;
        }
#mobility-content .stats-section .stat-card:hover {
            transform: translateY(-12px) scale(1.02);
            box-shadow: 0 24px 60px rgba(0,65,194,0.15);
            border-color: rgba(0,65,194,0.2);
        }
#mobility-content .stats-section .stat-card:nth-child(2) {
            transform: translateY(-20px) scale(1.02);
            background: linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(248,252,255,1) 100%);
            box-shadow: 0 24px 60px rgba(0,65,194,0.15);
            border-color: rgba(0,65,194,0.2);
        }
#mobility-content .stats-section .stat-card:nth-child(2)::before {
            opacity: 1;
        }
#mobility-content .stats-section .stat-card:nth-child(2):hover {
            transform: translateY(-28px) scale(1.03);
            box-shadow: 0 32px 72px rgba(0,65,194,0.2);
        }
#mobility-content .stats-section .stat-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 72px;
            height: 72px;
            background: linear-gradient(135deg, #0041C2 0%, #0056E0 100%);
            border-radius: 50%;
            margin: 0 auto 24px;
            box-shadow: 0 12px 32px rgba(0,65,194,0.3);
        }
#mobility-content .stats-section .stat-icon iconify-icon {
            font-size: 36px;
            color: #ffffff;
        }
#mobility-content .stats-section .stat-number {
            font-size: 3.5rem;
            font-weight: 900;
            background: linear-gradient(135deg, #0041C2 0%, #0056E0 50%, #0066FF 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            line-height: 1;
            margin-bottom: 16px;
            letter-spacing: -0.02em;
        }
#mobility-content .stats-section .stat-label {
            font-size: 1.3rem;
            font-weight: 700;
            color: #0f1b2d;
            margin-bottom: 12px;
            letter-spacing: -0.01em;
        }
#mobility-content .stats-section .stat-desc {
            font-size: 0.95rem;
            color: #6b7a90;
            line-height: 1.7;
        }
@media (max-width: 1199px) {
#mobility-content .stats-section .stats-grid { gap: 28px; }
}
@media (max-width: 1024px) {
#mobility-content .stats-section .stats-grid { gap: 24px; }
#mobility-content .stats-section .stat-card { padding: 40px 24px; }
#mobility-content .stats-section .stats-grid {
      grid-template-columns: repeat(1, 1fr);
  }
#mobility-content .stats-section .stat-card:nth-child(2) {transform: none;}
}
@media (max-width: 768px) {
#mobility-content .stats-section { padding: 70px 0; }
#mobility-content .stats-section .stats-grid { grid-template-columns: 1fr; gap: 50px; }
#mobility-content .stats-section .stat-card:nth-child(2) { transform: translateY(0); }
#mobility-content .stats-section .stat-icon { width: 64px; height: 64px; margin-bottom: 20px; }
#mobility-content .stats-section .stat-icon iconify-icon { font-size: 32px; }
#mobility-content .stats-section .stat-number { font-size: 2.8rem; }
#mobility-content .stats-section .stat-label { font-size: 1.15rem; }
}
@media (max-width: 575px) {
#mobility-content .stats-section { padding: 60px 0; }
#mobility-content .stats-section .stats-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
@media (max-width: 480px) {
#mobility-content .stats-section { padding: 50px 0; }
#mobility-content .stats-section .stat-card { padding: 32px 20px; }
}
#mobility-content .stats-section .text-center { text-align:center; }
