
/* FINAL CONTENT + VISUAL POLISH — 9.7 target */
.visual-story{background:linear-gradient(180deg,#fff 0%,#f7f9fb 100%);}
.vs-diagram{min-height:390px;border-radius:2px;background:#071521;box-shadow:0 24px 60px rgba(5,20,35,.18);padding:26px;}
.visual-canvas{position:relative;width:100%;height:100%;min-height:338px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 72% 18%,rgba(196,30,43,.18),transparent 30%),linear-gradient(145deg,#0c2030,#071521 70%);}
.visual-canvas:before,.visual-canvas:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.visual-canvas:before{width:330px;height:330px;right:-150px;top:-150px}.visual-canvas:after{width:220px;height:220px;left:-130px;bottom:-120px}
.vnode{position:absolute;z-index:2;width:170px;min-height:92px;padding:15px 16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.075);backdrop-filter:blur(5px);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.vnode b{display:block;font-size:10px;letter-spacing:.15em;color:#ff737d;margin-bottom:9px}.vnode strong{display:block;font-size:15px;line-height:1.25}.vnode small{display:block;margin-top:7px;color:#b9c7d3;line-height:1.35;font-size:11px}
.vline{position:absolute;height:1px;background:linear-gradient(90deg,#c41e2b,rgba(255,255,255,.15));transform-origin:left center;z-index:1}
.vdot{position:absolute;width:9px;height:9px;background:#d22a38;border-radius:50%;box-shadow:0 0 0 6px rgba(210,42,56,.12);z-index:3}
.visual-caption{position:absolute;left:20px;bottom:18px;right:20px;color:#9fb0be;font-size:11px;letter-spacing:.03em;z-index:3}
.viz-home .vnode:nth-child(1){left:5%;top:17%}.viz-home .vnode:nth-child(2){left:30%;top:45%}.viz-home .vnode:nth-child(3){right:6%;top:17%}.viz-home .vnode:nth-child(4){right:13%;bottom:10%}
.viz-home .vline.l1{left:24%;top:35%;width:135px;transform:rotate(24deg)}.viz-home .vline.l2{left:53%;top:50%;width:130px;transform:rotate(-25deg)}.viz-home .vline.l3{left:65%;top:55%;width:120px;transform:rotate(43deg)}
.viz-about .vnode:nth-child(1){left:8%;top:19%}.viz-about .vnode:nth-child(2){left:33%;top:43%}.viz-about .vnode:nth-child(3){right:8%;top:20%}.viz-about .vnode:nth-child(4){right:25%;bottom:10%}
.viz-about .vline.l1{left:25%;top:35%;width:125px;transform:rotate(22deg)}.viz-about .vline.l2{left:54%;top:50%;width:120px;transform:rotate(-24deg)}.viz-about .vline.l3{left:67%;top:56%;width:95px;transform:rotate(40deg)}
.viz-services .vnode:nth-child(1){left:7%;top:17%}.viz-services .vnode:nth-child(2){left:33%;top:43%}.viz-services .vnode:nth-child(3){right:8%;top:17%}.viz-services .vnode:nth-child(4){right:22%;bottom:10%}
.viz-services .vline.l1{left:25%;top:35%;width:125px;transform:rotate(23deg)}.viz-services .vline.l2{left:54%;top:50%;width:120px;transform:rotate(-24deg)}.viz-services .vline.l3{left:67%;top:56%;width:100px;transform:rotate(38deg)}
.viz-industries .vnode:nth-child(1){left:6%;top:12%}.viz-industries .vnode:nth-child(2){left:35%;top:42%}.viz-industries .vnode:nth-child(3){right:6%;top:12%}.viz-industries .vnode:nth-child(4){right:23%;bottom:8%}
.viz-industries .vline.l1{left:24%;top:31%;width:135px;transform:rotate(24deg)}.viz-industries .vline.l2{left:55%;top:48%;width:120px;transform:rotate(-24deg)}.viz-industries .vline.l3{left:67%;top:55%;width:95px;transform:rotate(39deg)}
.viz-insights .signal-chart{position:absolute;left:8%;right:8%;top:18%;height:180px;border-left:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.viz-insights .signal-chart:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0 43px,rgba(255,255,255,.06) 44px)}
.viz-insights .signal-line{position:absolute;left:3%;right:3%;bottom:30px;height:90px;border-top:2px solid #e14a56;transform:skewY(-14deg) rotate(-4deg);filter:drop-shadow(0 5px 9px rgba(196,30,43,.3))}
.viz-insights .signal-label{position:absolute;top:12px;left:14px;color:#9fb0be;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.viz-insights .vnode{min-height:auto}.viz-insights .vnode:nth-of-type(1){left:8%;bottom:10%}.viz-insights .vnode:nth-of-type(2){left:35%;bottom:10%}.viz-insights .vnode:nth-of-type(3){right:8%;bottom:10%}
.viz-careers .vstep{position:absolute;left:10%;right:10%;height:54px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);padding:15px 18px;color:#fff}.viz-careers .vstep:nth-child(1){bottom:31%}.viz-careers .vstep:nth-child(2){bottom:46%;left:18%;right:18%}.viz-careers .vstep:nth-child(3){bottom:61%;left:26%;right:26%}.viz-careers .vstep:nth-child(4){bottom:76%;left:34%;right:34%}.viz-careers .vstep b{color:#ff737d;margin-right:14px}.viz-careers .career-arrow{position:absolute;bottom:18%;left:50%;width:1px;height:64%;background:linear-gradient(#d22a38,transparent)}
.viz-contact .vnode:nth-child(1){left:7%;top:18%}.viz-contact .vnode:nth-child(2){right:7%;top:18%}.viz-contact .vnode:nth-child(3){left:18%;bottom:11%}.viz-contact .vnode:nth-child(4){right:18%;bottom:11%}.viz-contact .vline.l1{left:26%;top:31%;width:160px;transform:rotate(0deg)}.viz-contact .vline.l2{left:52%;top:31%;width:160px;transform:rotate(0deg)}.viz-contact .vline.l3{left:38%;top:56%;width:125px;transform:rotate(0deg)}
.viz-location .region-ring{position:absolute;left:50%;top:44%;width:210px;height:210px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018)}
.viz-location .region-core{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:#c41e2b;box-shadow:0 0 0 12px rgba(196,30,43,.14),0 0 40px rgba(196,30,43,.28)}
.viz-location .city{position:absolute;z-index:3;padding:8px 11px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#dfe7ee;font-size:11px}.viz-location .city:nth-of-type(1){left:9%;top:18%}.viz-location .city:nth-of-type(2){right:9%;top:18%}.viz-location .city:nth-of-type(3){left:10%;bottom:16%}.viz-location .city:nth-of-type(4){right:10%;bottom:16%}
@media(max-width:720px){.vs-diagram{min-height:360px}.vnode{width:135px}.visual-caption{font-size:10px}.viz-home .vnode:nth-child(1),.viz-about .vnode:nth-child(1),.viz-services .vnode:nth-child(1),.viz-industries .vnode:nth-child(1){left:3%}.viz-home .vnode:nth-child(3),.viz-about .vnode:nth-child(3),.viz-services .vnode:nth-child(3),.viz-industries .vnode:nth-child(3){right:3%}}
@media(max-width:520px){.vs-diagram{padding:12px}.visual-canvas{min-height:330px}.vnode{width:112px;padding:11px}.vnode strong{font-size:12px}.vnode small{font-size:9px}.viz-home .vline,.viz-about .vline,.viz-services .vline,.viz-industries .vline{display:none}.viz-location .region-ring{width:170px;height:170px}.viz-careers .vstep{font-size:11px}}

.page-explainer{padding:0 0 clamp(50px,6vw,88px);background:#f7f9fb}
.page-explainer .pe-wrap{width:min(1180px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:stretch}
.pe-card{background:#fff;border:1px solid rgba(8,27,43,.1);padding:28px;box-shadow:0 14px 40px rgba(8,27,43,.06)}
.pe-card.dark{background:#0b1724;color:#fff;border-color:transparent}.pe-kicker{margin:0 0 9px;color:#c41e2b;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.pe-card.dark .pe-kicker{color:#ff737d}.pe-card h3{margin:0 0 12px;font-size:clamp(1.35rem,2vw,1.8rem);letter-spacing:-.025em}.pe-card p{margin:0;color:#596877;line-height:1.7}.pe-card.dark p{color:#c6d1db}.pe-list{display:grid;gap:11px;margin-top:18px}.pe-list div{display:flex;gap:12px;align-items:flex-start}.pe-list b{font-size:11px;color:#c41e2b;min-width:24px}.pe-list span{color:#465665;font-size:.94rem;line-height:1.5}.pe-card.dark .pe-list span{color:#d5dee6}
@media(max-width:760px){.page-explainer .pe-wrap{grid-template-columns:1fr}.pe-card{padding:23px}.clarity-wrap,.visual-story .vs-wrap{width:min(100% - 30px,1180px)}}

/* FINAL COLOR OVERRIDE */
header, .header, #header,
footer, .footer, #footer {
  background-color: #7A0F16;
}
/* Keep Job Posting / job-posting tabs blue */
.job-posting, .job-posting-tab, .job-posting-btn,
.job-posting a, a.job-posting, button.job-posting {
  background-color: #0B63CE;
  border-color: #0B63CE;
  color: #FFFFFF;
}
.job-posting-tab.active, .job-posting.active {
  background-color: #0B63CE;
  color: #FFFFFF;
}
