/* Independent V4 direction. Every visual change is scoped to this page. */
.index-v4 { --paper:#fff; --ink:#111214; --ink-2:#5c6065; --hair:#e3e5e6; --v4-content-width:1280px; --pad:clamp(22px,5vw,72px); background:#fff; }
.index-v4 .wrap { width:min(var(--v4-content-width),calc(100% - 2 * var(--pad))); }
.index-v4 .topbar { background:#101114; }
.index-v4 .topbar .wrap { height:34px; }
@media (min-width:761px) { .index-v4 .tb-l a:nth-child(2) { display:inline; } }
@media (min-width:1001px) { .index-v4 .tb-l a:nth-child(3) { display:inline; } }
.index-v4 .v4-compare { font-size:11px; color:#fff; }
.index-v4 .tb-r { gap:24px; }
/* Keep the original V3 navigation header on every V4 layout. */
.index-v4 .hd { --pad:clamp(20px,4vw,64px); background:transparent; border-bottom:1px solid transparent; backdrop-filter:none; }
.index-v4 .hd::before { background:rgba(244,244,242,.78); }
.index-v4 .hd .wrap { width:min(1280px,calc(100% - 2 * var(--pad))); }
.index-v4 .hd > .wrap { height:64px; border-bottom:0; }
.index-v4 .hd.line { border-bottom-color:var(--hair); box-shadow:none; }
.index-v4 .hd .right .btn-pill { min-height:0; padding:9px 18px; font-size:13.5px; gap:10px; }
@media(max-width:520px) {
 .index-v4 .hd > .wrap { gap:16px; }
 .index-v4 .hd .mx-logo { width:160px; }
 .index-v4 .hd .right .btn-pill { padding:8px 14px; font-size:12.5px; }
}
.index-v4 .btn-pill { min-height:48px; padding:13px 23px; font-size:13px; gap:16px; background:#111214; color:#fff; }
.index-v4 .btn-pill:hover { background:#32353a; }
.index-v4 .v4-text-link { display:inline-flex; align-items:center; gap:14px; font-size:13px; font-weight:600; padding:10px 0; text-underline-offset:5px; }
.index-v4 .v4-text-link:hover { text-decoration:none; }
.index-v4 .v4-text-link > span[aria-hidden] { transition:transform .2s; }
.index-v4 .v4-text-link:hover > span[aria-hidden] { transform:translate(2px,-2px); }
.index-v4 :is(h1,h2,h3,h4) { font-family:var(--font-d); font-weight:500; }
.index-v4 :is(button,a):focus-visible { outline:2px solid #1f4eaa; outline-offset:5px; }
.index-v4 .v4-eyebrow { display:block; font-size:12px; font-weight:600; line-height:1.5; margin-bottom:25px; }
.index-v4 .v4-hero { padding:92px 0 0; text-align:center; }
.index-v4 .v4-hero h1 { font-size:clamp(46px,6.2vw,88px); letter-spacing:-.063em; line-height:1.015; max-width:1000px; margin:0 auto; }
.index-v4 .v4-hero > .wrap > p { margin:32px auto 0; max-width:57ch; font-size:17px; line-height:1.6; color:var(--ink-2); }
.index-v4 .v4-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px 32px; margin-top:34px; }
.index-v4 .v4-hero-note { display:flex; align-items:center; justify-content:space-between; margin-top:78px; padding:18px 0; font-size:11px; color:var(--ink-2); }
.index-v4 .v4-image-story { padding:0; }
.index-v4 .v4-image-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; }
.index-v4 .v4-image-grid a { position:relative; overflow:hidden; background:#eee; }
.index-v4 .v4-image-grid img { width:100%; height:clamp(220px,22vw,345px); object-fit:cover; transition:transform .65s; }
.index-v4 .v4-image-grid a:hover img { transform:scale(1.035); }
@media (prefers-reduced-motion:reduce) {
 .index-v4 .v4-image-grid img { transition:none; }
}
.index-v4 .v4-image-grid a::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#0007); pointer-events:none; }
.index-v4 .v4-image-grid a > span { position:absolute; z-index:1; left:26px; right:26px; bottom:20px; display:flex; justify-content:space-between; color:#fff; font-size:14px; }
.index-v4 .v4-image-grid b { font-weight:400; }
/* Keep the original image grid available while the moving strip is trialled. */
.index-v4 .v4-image-story [hidden] { display:none !important; }
.index-v4 .v4-hero-carousel { --hero-card-gap:3px; overflow:hidden; touch-action:pan-y pinch-zoom; scrollbar-width:none; overscroll-behavior-x:contain; container-type:inline-size; }
.index-v4.v4-spacing .v4-hero-carousel { --hero-card-gap:4px; }
.index-v4 .v4-hero-carousel::-webkit-scrollbar { display:none; }
.index-v4 .v4-image-story[data-reveal="waiting"] > :is(.v4-image-grid,.v4-hero-carousel,.v4-hero-card-controls) { visibility:hidden; }
.index-v4 .v4-hero-track { display:flex; width:max-content; gap:var(--hero-card-gap); position:relative; will-change:transform; }
.index-v4 .v4-hero-card-group { display:flex; flex:none; gap:var(--hero-card-gap); }
.index-v4 .v4-hero-card-group a { display:block; flex:0 0 calc((100cqw - 3 * var(--hero-card-gap))/4); width:calc((100cqw - 3 * var(--hero-card-gap))/4); }
.index-v4 .v4-hero-card-group img { display:block; }
.index-v4 .v4-hero-card-group a > span { align-items:end; gap:20px; font-size:14px; line-height:1.35; font-weight:500; }
.index-v4 .v4-hero-card-group a:focus-visible { outline-offset:-5px; outline-color:#fff; }
.index-v4 .v4-hero-card-controls { position:relative; display:flex; justify-content:center; align-items:center; gap:24px; min-height:48px; }
.index-v4 .v4-hero-card-controls button { border:0; padding:12px 0; background:transparent; font:500 11px/1.5 var(--font); color:var(--ink-2); cursor:pointer; }
.index-v4 .v4-hero-card-controls button:is(:hover,:focus-visible) { color:var(--ink); }
.index-v4 .v4-hero-card-controls button:is(:hover,:focus-visible) .link-underline { background-size:100% 1px; }
@media(max-width:900px) {
 .index-v4 .v4-hero-card-group a { flex-basis:calc((100cqw - var(--hero-card-gap))/2); width:calc((100cqw - var(--hero-card-gap))/2); }
}
@media(max-width:650px) {
 .index-v4 .v4-hero-card-group a > span { font-size:12px; }
}
.index-v4 .v4-network { padding:94px 0 108px; text-align:center; }
.index-v4 .v4-network-top { display:flex; justify-content:space-between; text-align:left; }
.index-v4 .v4-network-top .v4-eyebrow { margin:0; }
.index-v4 .v4-kicker { font-size:11px; color:var(--ink-2); }
.index-v4 .v4-globe { width:min(650px,100%); height:470px; position:relative; margin:22px auto 28px; isolation:isolate; }
.index-v4 .v4-globe canvas { display:block; width:100%; height:100%; position:relative; z-index:1; touch-action:pan-y; cursor:grab; }
.index-v4 .v4-globe canvas:active { cursor:grabbing; }
.index-v4 .v4-earth-fallback { position:absolute; width:66%; aspect-ratio:1; max-height:88%; border-radius:50%; left:50%; top:47%; transform:translate(-50%,-50%); background:radial-gradient(circle at 32% 23%,transparent 25%,#00172a33 66%,#071928a3 99%),url('../assets/globe/earth-atmosphere.jpg') 27% center / auto 100%; box-shadow:inset -14px -9px 28px #00172a44; display:none; }
/* Reserve the scene's space, but reveal nothing until its first complete frame. */
.index-v4 .v4-globe > :is(canvas,.v4-globe-labels,.v4-globe-tools) { visibility:hidden; opacity:0; pointer-events:none; }
.index-v4 .v4-globe[data-globe-state="ready"] > :is(canvas,.v4-globe-labels,.v4-globe-tools) { visibility:visible; opacity:1; }
.index-v4 .v4-globe[data-globe-state="ready"] > :is(canvas,.v4-globe-tools) { pointer-events:auto; }
.index-v4 .v4-globe[data-globe-state="fallback"] .v4-earth-fallback { display:block; }
.index-v4 .v4-globe-labels { position:absolute; inset:0; pointer-events:none; z-index:2; overflow:hidden; }
.index-v4 .v4-globe-labels [data-globe-label] { position:absolute; display:none; white-space:nowrap; padding:4px 9px; border:1px solid #cdd2d8; border-radius:20px; background:#fffffff2; color:#111; font-size:10px; line-height:1.4; box-shadow:0 2px 8px #163b5120; }
.index-v4 .v4-globe-tools { position:absolute; z-index:3; bottom:0; left:0; right:0; display:flex; justify-content:center; gap:25px; }
.index-v4 .v4-globe-tools button { font:inherit; font-size:10px; color:#62686d; border:0; background:transparent; padding:9px 0; cursor:pointer; }
.index-v4 .v4-globe-tools button:hover { color:#101114; }
.index-v4 .v4-network h2 { margin:30px auto 0; font-size:clamp(34px,4vw,56px); line-height:1.08; letter-spacing:-.05em; }
.index-v4 .v4-network-copy { max-width:60ch; margin:24px auto 0; font-size:16px; color:var(--ink-2); }
.index-v4 .v4-location-tabs { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:30px 0 15px; }
.index-v4 .v4-location-tabs button,.index-v4 .v4-service-filters button { font:500 12px/1.5 var(--font); cursor:pointer; border:1px solid var(--hair); border-radius:30px; background:#fff; color:#51555a; padding:9px 17px; transition:background .2s,color .2s,border-color .2s; }
.index-v4 :is(.v4-location-tabs,.v4-service-filters) button[aria-pressed="true"] { background:#111214; border-color:#111214; color:#fff; }
.index-v4 :is(.v4-location-tabs,.v4-service-filters) button:hover:not([aria-pressed="true"]) { background:#f3f4f4; border-color:#b9bfc4; }
.index-v4 .v4-location-copy { font-size:12px; color:var(--ink-2); min-height:2em; max-width:65ch; margin:0 auto 10px; }
.index-v4 .feat { padding:104px 0; }
.index-v4 #services { background:#fff; }
.index-v4 .feat-head { grid-template-columns:1.2fr 1fr; align-items:end; margin-bottom:38px; }
.index-v4 .feat-head h3 { font-size:clamp(34px,4vw,54px); line-height:1.08; letter-spacing:-.05em; }
.index-v4 .feat-intro { font-size:15px; max-width:48ch; padding:0; }
.index-v4 .feat .lbl { font-size:12px; margin-bottom:25px; }
.index-v4 .v4-service-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 24px; }
.index-v4 #serviceFilterCount { margin-left:auto; font-size:11px; color:#73777c; }
.index-v4 #services .app-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--hair); }
.index-v4 #services .acard { min-height:295px; padding:28px 25px; border:0; border-bottom:1px solid var(--hair); border-right:1px solid var(--hair); background:transparent; transition:background .2s; }
.index-v4 #services .acard:nth-child(4n+1) { border-left:1px solid var(--hair); }
.index-v4 #services .acard:hover { background:#f6f7f7; }
.index-v4 #services .acard[hidden] { display:none; }
.index-v4 #services .acard .no { height:32px; margin-bottom:40px; }
.index-v4 #services .acard .no svg { width:27px; height:27px; color:#111214; }
.index-v4 #services .acard h4 { font-size:21px; line-height:1.15; margin-bottom:13px; }
.index-v4 #services .acard p { font-size:12px; line-height:1.75; max-width:none; }
.index-v4 #services .service-card-actions { padding-top:28px; }
.index-v4 #services .svc-cards-wrap { display:none !important; }
.index-v4 #services.cards-mode .app-cards { display:grid; }
.index-v4 #products { --product-text-inset:52px; }
@media(min-width:901px) { .index-v4 #products .feat-head h3 { font-size:clamp(30px,2.8vw,40px); } }
.index-v4 #products .feat-media { margin-top:0; }
.index-v4 #products .frame { border-radius:12px; box-shadow:none; }
.index-v4 #products .mono img { filter:saturate(.7); }
.index-v4 #products .mini-card { position:static; border:0; padding:20px 0 0; margin:0; width:auto; max-width:none; background:transparent; color:var(--ink); box-shadow:none; }
.index-v4 #products .mini-card .lbl,.index-v4 #products .mini-card > span { color:var(--ink-2); }
.index-v4 #products .row { background:transparent; }
.index-v4 #products .row button { padding:22px 0; }
.index-v4 #products .row .tt { font-size:19px; }
.index-v4 #products .row .bd p { font-size:14px; }
.index-v4 .v4-program { padding:110px 0; }
.index-v4 .v4-program-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(55px,9vw,145px); align-items:start; }
.index-v4 .v4-program h2 { font-size:clamp(36px,4vw,56px); line-height:1.08; letter-spacing:-.05em; margin:0 0 26px; }
.index-v4 .v4-program-intro p { max-width:45ch; font-size:15px; color:var(--ink-2); margin-bottom:25px; }
.index-v4 .v4-program-steps article { display:grid; grid-template-columns:32px 1fr; gap:22px; padding:28px 0; border-top:1px solid var(--hair); }
.index-v4 .v4-program-steps article:first-child { border-top:0; }
.index-v4 .v4-program-steps svg { width:27px; height:27px; margin-top:2px; }
.index-v4 .v4-program-steps h3 { font-size:24px; letter-spacing:-.035em; line-height:1.2; margin-bottom:12px; }
.index-v4 .v4-program-steps p { font-size:14px; color:var(--ink-2); max-width:46ch; }
.index-v4 .certs { padding:32px 0; border:0; }
.index-v4 .certs img { mix-blend-mode:multiply; filter:grayscale(1); }
.index-v4 .front { padding:100px 0; }
.index-v4 .front-head { grid-template-columns:1.2fr 1fr; align-items:end; margin-bottom:54px; }
.index-v4 .front-head h2 { max-width:none !important; font-size:clamp(34px,4vw,54px); line-height:1.08; letter-spacing:-.05em; }
.index-v4 .front-head p { justify-self:start; max-width:42ch; font-size:15px; }
.index-v4 .front-cols { gap:45px; }
.index-v4 .fcol { padding:25px 0 0; border:0; }
.index-v4 .fc-top { border:0; }
.index-v4 .fc-top .idx,.index-v4 .fc-facts { display:none; }
.index-v4 .fcol h4 { font-size:27px; margin:18px 0; }
.index-v4 .fcol > p { font-size:14px; max-width:52ch; min-height:96px; }
.index-v4 .fc-img { display:block; height:300px; margin-top:28px; border-radius:10px; overflow:hidden; }
.index-v4 .fc-img img { width:100%; height:100%; object-fit:cover; }
.index-v4 .fcol > .v4-text-link { margin-top:16px; }
.index-v4 .news { padding:95px 0; }
.index-v4 .news-head h2 { font-size:clamp(34px,4vw,54px); line-height:1.08; letter-spacing:-.05em; }
.index-v4 .news-card { border-radius:0; box-shadow:none; background:#fff; border:0; border-top:1px solid var(--hair); padding:25px 0 12px; }
.index-v4 .news-card:hover { background:transparent; transform:none; }
.index-v4 .news-card h4 { font-size:25px; }
.index-v4 .ft { background:#fff !important; color:var(--ink); padding-top:100px; }
.index-v4 .ft-bg,.index-v4 .ft-shade,.index-v4 .ft-dots { display:none; }
.index-v4 .v4-footer-intro { text-align:center; cursor:default; }
.index-v4 .v4-footer-intro h2 { font-size:clamp(40px,5vw,72px); line-height:1.05; letter-spacing:-.055em; }
.index-v4 .v4-footer-intro p { color:var(--ink-2); font-size:16px; margin:25px 0; }
.index-v4 .v4-footer-intro .btn-pill { margin-right:22px; }
.index-v4 .ft-cols { border-color:var(--hair); margin-top:90px; }
.index-v4 .ft .mx-logo { background-color:#111214; }
.index-v4 .ft :is(.ft-brand p,.ft-cols h5,.ft-base) { color:#6b7075; }
.index-v4 .ft-cols a { color:#33383c; }
.index-v4 .ft-cols a:hover { color:#000; }
.index-v4 .ft-base { gap:24px; }
/* Keep only the main section dividers, on the same grid as the content. */
.index-v4 :is(#services,#products,.ft) { position:relative; border-top:0; }
.index-v4 :is(#services,#products,.ft)::before {
 content:""; position:absolute; top:0; left:50%;
 width:min(var(--v4-content-width),calc(100% - 2 * var(--pad)));
 border-top:1px solid var(--hair); transform:translateX(-50%); pointer-events:none;
}
@media(min-width:1600px) { .index-v4 .v4-hero { padding-top:110px; } }
@media(max-width:900px) {
 .index-v4 .v4-hero { padding-top:65px; }
 .index-v4 .v4-hero h1 { font-size:clamp(43px,7.5vw,70px); }
 .index-v4 .v4-hero > .wrap > p { font-size:15px; }
 .index-v4 .v4-hero-note { margin-top:54px; }
 .index-v4 .v4-image-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .index-v4 .v4-image-grid img { height:240px; }
 .index-v4 .v4-network { padding:64px 0 75px; }
 .index-v4 .v4-globe { height:440px; }
 .index-v4 .feat,.index-v4 .v4-program,.index-v4 .front,.index-v4 .news { padding:72px 0; }
 .index-v4 #services .app-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .index-v4 #services .acard:nth-child(2n+1) { border-left:1px solid var(--hair); }
 .index-v4 .v4-program-grid { gap:45px; }
 .index-v4 .v4-program-steps h3 { font-size:22px; }
 .index-v4 .front-cols { gap:25px; }
 .index-v4 .fc-img { height:230px; }
 .index-v4 .fcol > p { min-height:0; }
}
@media(max-width:650px) {
 .index-v4 { --pad:24px; }
 .index-v4 .topbar .wrap { height:32px; }
 .index-v4 .tb-l { display:none; }
 .index-v4 .tb-r { width:100%; justify-content:space-between; }
 .index-v4 .v4-compare { font-size:10px; }
 .index-v4 .v4-hero { padding:51px 0 0; }
 .index-v4 .v4-hero .v4-eyebrow { font-size:11px; margin-bottom:24px; }
 .index-v4 .v4-hero h1 { font-size:clamp(38px,9.5vw,57px); letter-spacing:-.055em; }
 .index-v4 .v4-hero > .wrap > p { font-size:14px; margin-top:24px; }
 .index-v4 .v4-actions { margin-top:26px; gap:9px 22px; }
 .index-v4 .v4-actions .btn-pill { font-size:12px; }
 .index-v4 .v4-hero-note { margin-top:38px; font-size:9px; gap:15px; text-align:left; }
 .index-v4 .v4-hero-note span:last-child { text-align:right; }
 .index-v4 .v4-image-grid img { height:185px; }
 .index-v4 .v4-image-grid a > span { left:16px; right:16px; bottom:13px; font-size:12px; }
 .index-v4 .v4-network { padding-top:50px; }
 .index-v4 .v4-network-top { gap:20px; }
 .index-v4 .v4-kicker { display:none; }
 .index-v4 .v4-globe { height:350px; margin:8px auto 25px; }
 .index-v4 .v4-globe-labels [data-globe-label] { font-size:9px; padding:3px 7px; }
 .index-v4 .v4-network h2 { font-size:35px; }
 .index-v4 .v4-network-copy { font-size:14px; }
 .index-v4 .v4-location-tabs { gap:6px; }
 .index-v4 .v4-location-tabs button { padding:8px 11px; font-size:10px; }
 .index-v4 .v4-location-copy { min-height:3.6em; }
 .index-v4 .feat-head,.index-v4 .front-head,.index-v4 .v4-program-grid { grid-template-columns:minmax(0,1fr); gap:25px; }
 .index-v4 .feat-head { margin-bottom:28px; }
 .index-v4 .feat-intro,.index-v4 .front-head p { font-size:14px; }
 .index-v4 .v4-service-filters { gap:6px; }
 .index-v4 .v4-service-filters button { font-size:10px; padding:8px 12px; }
 .index-v4 #serviceFilterCount { flex-basis:100%; margin:6px 0 0; }
 .index-v4 #services .acard { padding:23px 16px; min-height:285px; }
 .index-v4 #services .acard h4 { font-size:19px; }
 .index-v4 #services .acard p { font-size:11px; }
 .index-v4 #services .acard .no { margin-bottom:27px; }
 .index-v4 #services .service-card-link { font-size:11px; }
 .index-v4 .v4-program-grid { gap:38px; }
 .index-v4 .front-cols { grid-template-columns:minmax(0,1fr); gap:45px; }
 .index-v4 .fc-img { height:245px; }
 .index-v4 .news-grid { grid-template-columns:minmax(0,1fr); gap:25px; }
 .index-v4 .ft { padding-top:68px; }
 .index-v4 .v4-footer-intro .btn-pill { margin:0 12px 5px; }
 .index-v4 .v4-footer-intro p { font-size:14px; }
 .index-v4 .ft-cols { gap:35px 22px; }
 .index-v4 .ft-base { align-items:start; flex-direction:column; }
}
@media(max-width:370px) {
 .index-v4 { --pad:20px; }
 .index-v4 .v4-globe { height:310px; }
 .index-v4 #services .app-cards { grid-template-columns:minmax(0,1fr); }
 .index-v4 #services .acard { min-height:240px; border-left:1px solid var(--hair); padding:25px; }
 .index-v4 #services .acard p { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
 .index-v4 * { scroll-behavior:auto !important; }
 .index-v4 [data-r] { opacity:1; transform:none; transition:none; }
 .index-v4 .v4-image-grid img { transition:none; }
}

.index-v4 [hidden] { display:none !important; }
@media(max-width:520px) {
 .index-v4 #services .app-cards { grid-template-columns:minmax(0,1fr); }
 .index-v4 #services .acard { min-height:245px; padding:27px; border-left:1px solid var(--hair); }
 .index-v4 #services .acard h4 { font-size:23px; }
 .index-v4 #services .acard p { font-size:13px; }
 .index-v4 #services .acard .no { margin-bottom:29px; }
}

.index-v4 section { scroll-margin-top:90px; }
.index-v4 .v4-balanced-heading > span { display:block; text-wrap:balance; }
.index-v4 #facilities .front-cols { grid-template-columns:repeat(2,minmax(0,1fr)); }
.index-v4 .fcol { min-width:0; }
.index-v4 .fcol .fc-img { width:100%; min-width:0; }
@media(max-width:900px) { .index-v4 #facilities .front-cols { grid-template-columns:minmax(0,1fr); } }

.index-v4 .v4-compare > span { margin-left:5px; }

.index-v4 #services .app-cards { border-left:1px solid var(--hair); }
.index-v4 #services .app-cards > .acard { border-left:0; }

/* The logo switches the V4 preview between its white and Matrix-blue palettes. */
.index-v4 #brandLogo { display:inline-flex; align-items:center; flex-shrink:0; min-height:44px; border:0; padding:0; background:transparent; cursor:pointer; color:inherit; }
.index-v4.navy-mode .topbar { background:var(--navy); }
.index-v4.navy-mode #brandLogo .mx-logo { background-color:var(--navy); }
/* Keep titles dark on white surfaces; blue belongs to labels and accents. */
.index-v4.navy-mode :is(.v4-eyebrow,.v4-program-steps svg) { color:var(--navy); }
.index-v4.navy-mode .btn-pill { background:var(--navy); color:#fff; }
.index-v4.navy-mode .btn-pill:hover { background:#173b82; }
.index-v4.navy-mode :is(.v4-location-tabs,.v4-service-filters) button[aria-pressed="true"] { background:var(--navy); border-color:var(--navy); color:#fff; }
.index-v4.navy-mode :is(.v4-location-tabs,.v4-service-filters) button:hover:not([aria-pressed="true"]) { background:#eef3fc; border-color:#a9bce2; }
.index-v4.navy-mode #products .mini-card.dark { background:transparent; }
.index-v4.navy-mode .news-card:hover { background:transparent; border-color:var(--navy); }
.index-v4.navy-mode .news-card:hover :is(.date,.read) { color:var(--navy); }
/* Blue mode keeps the homepage's light footer palette; only accents turn blue. */
.index-v4.navy-mode .ft { --ink:#101114; --ink-2:#5c5e63; --hair:#e0e0dc; background:#fff !important; color:var(--ink); }
.index-v4.navy-mode .ft .v4-eyebrow { color:var(--navy); }
.index-v4.navy-mode .ft .mx-logo { background-color:var(--ink); }
.index-v4.navy-mode .ft :is(.ft-brand p,.ft-cols h5,.ft-base) { color:#6b7075; }
.index-v4.navy-mode .ft-cols a { color:var(--ink-2); }
.index-v4.navy-mode .ft-cols a:hover { color:var(--ink); }
.index-v4.navy-mode .ft .btn-pill { background:var(--navy); color:#fff; }
.index-v4.navy-mode .ft .btn-pill:hover { background:#173b82; }
.index-v4.navy-mode .ft :is(button,a):focus-visible { outline-color:var(--navy); }

/* Two clearly named previews share the same content and interactions. */
.index-v4 .v4-preview-switch { display:flex; align-items:center; gap:16px; font-size:11px; white-space:nowrap; }
.index-v4 .v4-preview-switch > span { color:#ffffffb3; }
.index-v4 .v4-preview-switch a { color:#ffffffc7; line-height:1.5; padding:5px 0; border-bottom:1px solid transparent; }
.index-v4 .v4-preview-switch a[aria-current="page"] { color:#fff; }
.index-v4 .v4-preview-switch a[aria-current="page"] > .link-underline { background-size:100% 1px; }
.index-v4 .v4-preview-switch a:hover { color:#fff; }
.index-v4 .v4-preview-switch a:focus-visible { outline-color:#fff; outline-offset:2px; }
@media(max-width:650px) {
 .index-v4 .v4-preview-switch { font-size:10px; gap:12px; }
 .index-v4 .v4-preview-switch > span { display:none; }
}

/* V4 news cards are intentionally text-only; keep every hover state readable. */
.index-v4 #news .news-card { min-height:248px; }
.index-v4 #news .news-card h4 { margin:40px 0 20px; padding-top:0; }
.index-v4 #news .news-card .nc-meta { margin-top:auto; }
.index-v4 #news .news-card .nc-meta b { color:var(--ink); }
.index-v4 #news .news-card:is(:hover,:focus-visible) { background:#f8f8f7; box-shadow:none; border-color:var(--ink); }
.index-v4 #news .news-card:is(:hover,:focus-visible) :is(.nc-tag,h4) { color:var(--ink); }
.index-v4 #news .news-card:is(:hover,:focus-visible) .nc-meta { color:var(--ink-2); }
.index-v4.navy-mode #news .news-card:is(:hover,:focus-visible) { border-color:var(--navy); }
.index-v4.navy-mode #news .news-card:is(:hover,:focus-visible) .nc-tag { color:var(--navy); }
.index-v4 .v4-globe-labels [data-globe-label] { padding:3px 10px; border:1px solid #d8dee5; background:#fff; color:#101114; font-size:12px; font-weight:500; line-height:1.2; box-shadow:0 1px 4px #1c304326; }
.index-v4 .v4-earth-fallback { filter:brightness(1.18); }
.index-v4 .v4-earth-fallback::after { content:""; position:absolute; inset:0; border-radius:inherit; background:url('../assets/globe/earth-clouds.png') 27% center / auto 100%; opacity:.9; }
.index-v4 .v4-animated-link { text-decoration:none !important; }
.index-v4 .v4-animated-link > .link-underline { text-decoration:none; }
.index-v4 .service-overview-trigger:focus-visible { text-decoration:none; }
.index-v4 .service-overview-trigger:focus-visible > .link-underline { background-size:100% 1px; }
@media(max-width:650px) {
 .index-v4 #news .news-card { min-height:220px; }
 .index-v4 #news .news-card h4 { margin-top:32px; }
 .index-v4 .v4-globe-labels [data-globe-label] { padding:3px 8px; font-size:11px; }
}

/* Drag the Services moving cards without lifting an image or selecting text. */
.services-overview-v4 .v4-hero-carousel { user-select:none; cursor:grab; }
.services-overview-v4 .v4-hero-carousel a { cursor:inherit; -webkit-user-drag:none; }
.services-overview-v4 .v4-hero-carousel img { -webkit-user-drag:none; }
.services-overview-v4 .v4-hero-carousel.is-dragging { cursor:grabbing; }

/* Contact actions replace the duplicate facility selectors below the map. */
.index-v4 .v4-network-contact { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px; margin-top:32px; }
.index-v4 .v4-network-contact .btn-pill.ghost { background:transparent; color:var(--ink); border:1px solid var(--hair); }
.index-v4 .v4-network-contact .btn-pill.ghost:hover { background:#f5f5f5; border-color:#b9bfc4; }
.index-v4.navy-mode .v4-network-contact .btn-pill.ghost { color:var(--navy); }
.index-v4 .v4-globe[data-globe-state="ready"] [data-globe-label] { pointer-events:auto; cursor:pointer; font-family:var(--font); }
@media (max-width:600px) {
 .index-v4 .v4-network-contact { margin-top:24px; gap:10px; }
 .index-v4 .v4-network-contact .btn-pill { padding-inline:18px; font-size:12px; gap:10px; }
}

/* V4 content disclosures use plus/minus, including during animated closing. */
body.index-v4 .service-capability > summary .cap-toggle,
body.index-v4 .service-capability:is([open], .is-expanded, [data-accordion-managed]) > summary .cap-toggle,
body.index-v4 :is(.all-service-disclosure, .sim-method) > summary > span[aria-hidden="true"] {
  display:inline-grid; place-items:center; flex:0 0 24px; width:24px; height:24px;
  font-size:0; line-height:1; transform:none;
}
body.index-v4 .service-capability > summary .cap-toggle::before,
body.index-v4 :is(.all-service-disclosure, .sim-method) > summary > span[aria-hidden="true"]::before {
  content:'+'; font-size:25px; font-weight:300; line-height:1;
}
body.index-v4 .service-capability:is([open]:not([data-accordion-managed]), .is-expanded) > summary .cap-toggle::before,
body.index-v4 :is(.all-service-disclosure, .sim-method)[open] > summary > span[aria-hidden="true"]::before {
  content:'\2212';
}
@media (max-width:900px) {
  body.index-v4 .feat .row.open button::after { content:'\2212'; transform:translateY(-50%); }
}

/* Keep Pause motion centered independently of the layout alternative. */
.index-v4 .v4-hero-card-controls #heroCardsLayout { position:absolute; right:0; }
