.services-overview-page { --overview-red:#ed1c24; --overview-navy:#000; --overview-copy:#596778; }
.services-overview-hero { position:relative; display:grid; grid-template-columns:minmax(400px,.82fr) minmax(520px,1.18fr); align-items:center; min-height:590px; padding:72px max(28px,calc((100vw - 1320px)/2 + 40px)) 64px; overflow:hidden; background:linear-gradient(135deg,#fff 0 54%,#f6f8fb 54% 100%); }
.services-overview-hero::before { content:"SERVICES"; position:absolute; left:-12px; bottom:-31px; color:#f5f6f8; font-size:clamp(100px,15vw,220px); font-weight:900; letter-spacing:-10px; pointer-events:none; }
.services-hero-copy { position:relative; z-index:2; max-width:650px; }
.services-overview-hero .inner-breadcrumb { margin-bottom:35px; color:#778397; }
.services-overview-hero .inner-breadcrumb a { color:var(--overview-navy); }
.services-overview-hero h1 { margin:0; color:var(--overview-navy); font-size:clamp(42px,4.6vw,60px); line-height:1.05; letter-spacing:-1.6px; }
.services-hero-copy > p:last-of-type { max-width:610px; margin:23px 0 0; color:var(--overview-copy); font-size:16px; line-height:1.75; }
.services-hero-copy > a { display:inline-flex; align-items:center; gap:13px; min-height:49px; margin-top:30px; padding:0 20px; border:1px solid var(--overview-red); border-radius:5px; color:var(--overview-red); font-size:13px; font-weight:820; transition:color .25s ease,background .25s ease,transform .25s ease; }
.services-hero-copy > a:hover { color:#fff; background:var(--overview-red); transform:translateY(-3px); }
.services-hero-visual { position:relative; z-index:1; width:118%; margin-left:-4%; transform:translateY(20px); }
.services-hero-visual img { display:block; width:100%; height:auto; filter:none; }
.service-route-dot { position:absolute; width:13px; height:13px; border:3px solid #fff; border-radius:50%; background:var(--overview-red); box-shadow:0 0 0 1px var(--overview-red),0 0 0 8px rgba(237,28,36,.08); animation:overviewPulse 2.6s ease-in-out infinite; }
.service-route-dot.dot-one { left:26%; bottom:21%; }.service-route-dot.dot-two { left:51%; bottom:20%; animation-delay:.55s; }.service-route-dot.dot-three { left:78%; bottom:21%; animation-delay:1.1s; }
@keyframes overviewPulse { 50% { box-shadow:0 0 0 1px var(--overview-red),0 0 0 14px transparent; transform:scale(1.12); } }
.services-capability-strip { position:relative; z-index:4; display:grid; grid-template-columns:repeat(4,1fr); width:min(1240px,calc(100% - 56px)); margin:-30px auto 0; border:1px solid #e0e5ec; border-radius:11px; background:#fff; box-shadow:0 14px 35px rgba(12,31,69,.07); }
.services-capability-strip article { min-height:115px; padding:25px 28px; border-right:1px solid #e1e6ec; }.services-capability-strip article:last-child { border-right:0; }
.services-capability-strip strong { display:block; color:var(--overview-red); font-size:28px; line-height:1; }.services-capability-strip span { display:block; margin-top:9px; color:#536174; font-size:13px; line-height:1.45; }
.services-portfolio { padding:96px 0; background:#fff; }
.services-portfolio-layout { display:grid; grid-template-columns:330px minmax(0,1fr); gap:70px; align-items:start; }
.services-portfolio-intro { position:sticky; top:120px; }.services-portfolio-intro h2 { margin:0; color:var(--overview-navy); font-size:clamp(34px,4vw,48px); line-height:1.1; letter-spacing:-1.2px; }.services-portfolio-intro > p:not(.inner-red-label) { margin:18px 0 0; color:var(--overview-copy); font-size:14px; line-height:1.75; }
.portfolio-index { display:flex; align-items:center; gap:12px; margin-top:35px; color:#738094; font-size:10px; font-weight:850; }.portfolio-index i { position:relative; width:120px; height:1px; overflow:hidden; background:#d9dfe7; }.portfolio-index i::after { content:""; position:absolute; inset:0; background:var(--overview-red); transform:translateX(-72%); animation:indexTravel 4s ease-in-out infinite; }@keyframes indexTravel { 50% { transform:translateX(72%); } }
.services-overview-list { display:grid; gap:15px; }
.services-overview-card { position:relative; display:grid; grid-template-columns:44px 58px minmax(0,1fr) auto; gap:22px; align-items:start; min-height:210px; padding:30px 30px 27px; overflow:hidden; border:1px solid #e0e5ec; border-radius:12px; color:inherit; background:#fff; transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s ease,box-shadow .3s ease; }
.services-overview-card::after { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--overview-red); transform:scaleY(0); transform-origin:bottom; transition:transform .35s ease; }
.services-overview-card:hover { z-index:2; transform:translateX(-12px); border-color:#efb8bb; box-shadow:0 20px 42px rgba(12,31,69,.09); }.services-overview-card:hover::after { transform:scaleY(1); }
.service-card-number { padding-top:8px; color:#a0a8b4; font-size:11px; font-weight:850; }
.service-card-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:12px; color:var(--overview-red); background:#fff2f2; transition:transform .35s ease,background .3s ease,color .3s ease; }.service-card-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }.services-overview-card:hover .service-card-icon { color:#fff; background:var(--overview-red); transform:rotate(-6deg) scale(1.06); }
.services-overview-card p { margin:0 0 8px; color:var(--overview-red); text-transform:uppercase; letter-spacing:.65px; font-size:10px; font-weight:850; }.services-overview-card h3 { margin:0; color:var(--overview-navy); font-size:23px; line-height:1.25; }.services-overview-card div > span { display:block; max-width:650px; margin-top:10px; color:var(--overview-copy); font-size:13px; line-height:1.65; }.services-overview-card ul { display:flex; flex-wrap:wrap; gap:7px; margin:19px 0 0; padding:0; list-style:none; }.services-overview-card li { padding:6px 9px; border-radius:999px; color:#3f526d; background:#f2f5f8; font-size:10px; font-weight:760; }
.services-overview-card > b { align-self:center; display:flex; align-items:center; gap:9px; color:var(--overview-navy); font-size:11px; white-space:nowrap; }.services-overview-card > b em { color:var(--overview-red); font-size:19px; font-style:normal; transition:transform .3s ease; }.services-overview-card:hover > b em { transform:translateX(5px); }
.service-network-flow { padding:86px 0 96px; background:#f7f9fc; }.service-network-flow .section-heading { margin-bottom:52px; }
.service-flow-track { position:relative; display:grid; grid-template-columns:repeat(5,1fr); padding-top:30px; }.service-flow-track::before { content:""; position:absolute; left:7%; right:7%; top:50px; height:1px; background:linear-gradient(90deg,#ed1c24,#f29b7d,#ed1c24); }.service-flow-step { position:relative; z-index:1; text-align:center; }.service-flow-step i { display:grid; place-items:center; width:42px; height:42px; margin:0 auto 18px; border:8px solid #f7f9fc; border-radius:50%; color:#fff; background:var(--overview-red); box-shadow:0 0 0 1px #ef969a; font-size:10px; font-style:normal; font-weight:900; }.service-flow-step strong { display:block; color:var(--overview-navy); font-size:15px; }.service-flow-step span { display:block; max-width:150px; margin:7px auto 0; color:#687587; font-size:11px; line-height:1.5; }.flow-plane { position:absolute; z-index:3; top:37px; left:7%; color:var(--overview-red); font-size:18px; animation:flowPlane 8s ease-in-out infinite; }@keyframes flowPlane { 0%,8% { left:7%; transform:scale(.8); } 92%,100% { left:92%; transform:scale(1.05); } }
.services-light-cta { padding:62px 0; border-top:1px solid #e1e6ec; background:#fff; }.services-light-cta .inner-container { display:flex; justify-content:space-between; align-items:center; gap:40px; }.services-light-cta h2 { margin:0; color:var(--overview-navy); font-size:clamp(30px,3vw,42px); }.services-light-cta span { display:block; margin-top:11px; color:var(--overview-copy); font-size:14px; }.services-light-cta a { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:0 20px; border-radius:5px; color:#fff; background:var(--overview-red); font-size:12px; font-weight:820; white-space:nowrap; transition:transform .25s ease,background .25s ease; }.services-light-cta a:hover { transform:translateY(-3px); background:#c9141b; }
@media (max-width:1000px) { .services-overview-hero { grid-template-columns:1fr; min-height:auto; padding-top:75px; }.services-hero-visual { width:100%; margin:30px 0 0; }.services-portfolio-layout { grid-template-columns:1fr; gap:38px; }.services-portfolio-intro { position:static; max-width:720px; }.services-capability-strip { grid-template-columns:repeat(2,1fr); }.services-capability-strip article:nth-child(2) { border-right:0; }.services-capability-strip article:nth-child(-n+2) { border-bottom:1px solid #e1e6ec; } }
@media (max-width:680px) { .services-overview-hero { padding:55px 20px 45px; background:#fff; }.services-overview-hero h1 { font-size:38px; letter-spacing:-1.4px; }.services-hero-copy > p:last-of-type { font-size:14px; }.services-hero-visual { width:130%; margin-left:-15%; }.services-capability-strip { width:calc(100% - 36px); margin-top:-10px; }.services-capability-strip article { min-height:100px; padding:20px 17px; }.services-capability-strip strong { font-size:24px; }.services-portfolio { padding:68px 0; }.services-overview-card { grid-template-columns:35px 45px minmax(0,1fr); gap:12px; min-height:0; padding:23px 17px; }.service-card-icon { width:42px; height:42px; }.services-overview-card h3 { font-size:19px; }.services-overview-card > b { grid-column:3; justify-self:start; margin-top:12px; }.services-overview-card:hover { transform:translateY(-5px); }.service-flow-track { grid-template-columns:1fr; gap:24px; padding:0; }.service-flow-track::before { left:20px; right:auto; top:15px; bottom:15px; width:1px; height:auto; }.service-flow-step { display:grid; grid-template-columns:42px 1fr; gap:15px; text-align:left; }.service-flow-step i { grid-row:1/3; margin:0; }.service-flow-step span { max-width:none; margin:3px 0 0; }.flow-plane { display:none; }.services-light-cta .inner-container { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { .service-route-dot,.portfolio-index i::after,.flow-plane { animation:none; } }

.services-overview-card li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.services-overview-card li .service-pill-icon {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  fill: none;
  stroke: var(--overview-red);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
