/* Services presentation; the requested editorial type is scoped to its hero. */
.services-page { background: white; color: var(--medium-gray); font-family: var(--font-body); }
.services-page .services-container { max-width: 1160px; width: calc(100% - 80px); margin-inline: auto; }
.services-page .services-section { padding: 80px 0; }
.services-page .services-hero + .services-section { padding-top: 40px; }
.services-page .services-tint { background: var(--bg); }
.services-page .services-split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.services-page h1 { color: #0E2A47; font-family: 'Playfair Display', Georgia, serif; font-size: 52px; line-height: 1.18; letter-spacing: normal; font-weight: 500; margin-bottom: 24px; max-width: 560px; }
.services-page h1 span { color: var(--gold); font-style: italic; }
.services-page h3 { color: var(--navy); font-family: var(--font-heading); font-size: 16px; line-height: 1.35; font-weight: 700; }
.services-page p { font-size: 15px; line-height: 1.7; }
.services-page .how-it-works-eyebrow { font-size: 12px; }
.services-page .section-title { font-size: 32px; line-height: 1.2; margin-bottom: 16px; }
.services-page .services-heading > p:last-child { max-width: 540px; }
.services-page .services-heading span { color: var(--teal); }
.services-page .services-centered { text-align: center; margin: 0 auto 40px; max-width: 720px; }
.services-page .services-centered > p:last-child { margin-inline: auto; }
.services-page ul, .services-page ol { list-style: none; padding: 0; margin: 0; }
.services-page .services-hero { padding: 64px 0; }
.services-page .services-hero-copy > p:not(.how-it-works-eyebrow) { max-width: 430px; margin-bottom: 28px; }
.services-page .services-photo { display: block; min-width: 0; aspect-ratio: 3 / 2; border-radius: 14px; overflow: hidden; }
.services-page .services-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.services-page .services-hero-photo { aspect-ratio: 4 / 3; border-top-left-radius: 120px; }
.services-page .services-hero-photo img { object-position: 50% 35%; }
.services-page .services-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.services-page .services-icon { color: var(--teal); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.services-page .services-icon-circle { width: 44px; height: 44px; border-radius: 50%; background: var(--bg); border: 1px solid var(--light-gray); }
.services-page .services-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.services-page .services-overview .services-icon { margin-bottom: 24px; }
.services-page .services-overview .solution-desc { margin-bottom: 0; }
.services-page .services-overview .solution-title { font-size: 19px; }
.services-page .services-image-first .services-copy { grid-column: 2; grid-row: 1; }
.services-page .services-image-first .services-photo { grid-column: 1; grid-row: 1; }
.services-page .services-copy { position: relative; }
.services-page .services-legacy-anchor { position: absolute; top: 0; width: 1px; height: 1px; }
.services-page section[id], .services-page .services-legacy-anchor { scroll-margin-top: 100px; }
.services-page .services-mini-process { margin-top: 28px; gap: 14px; text-align: center; }
.services-page .services-mini-process h3 { font-size: 14px; margin-top: 10px; }
.services-page .services-chips { margin-top: 24px; }
.services-page .services-chips .trust-pill { background: white; }
.services-page .services-rpo-process { text-align: center; max-width: 900px; margin: 0 auto; }
.services-page .services-rpo-process h3 { margin-top: 10px; }
.services-page .services-rpo-process p { font-size: 13px; margin-top: 4px; }
.services-page #rpo { padding-block: 40px; }
.services-page #rpo .services-centered { margin-bottom: 24px; }
.services-page .services-training-list { margin-top: 24px; display: grid; gap: 16px; }
.services-page .services-training-list li { display: flex; gap: 14px; align-items: center; }
.services-page .services-training-list .services-step-number { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 32px; height: 32px; font-size: 14px; font-weight: 700; border-radius: 50%; background: var(--teal); color: white; }
.services-page .services-training-list h3 { font-size: 15px; }
.services-page .services-training-list p { font-size: 13px; }
.services-page .services-why { padding-bottom: 56px; }
.services-page .services-why-items li { display: flex; align-items: flex-start; gap: 12px; }
.services-page .services-why-items h3 { font-size: 15px; margin-bottom: 4px; }
.services-page .services-why-items p { font-size: 13px; }
.services-page .services-industries-section { padding-block: 48px; border-top: 1px solid var(--light-gray); }
.services-page .services-industries { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 24px; text-align: center; }
.services-page .services-industries h3 { font-size: 12px; margin-top: 16px; }
.services-page .services-industries .services-icon-circle { background: white; }
.services-page .services-closing { background: var(--navy); text-align: left; padding: 56px 0; }
.services-page .services-closing .cta-band-inner { margin: 0; }
.services-page .services-closing .cta-band-bg { left: 45%; overflow: hidden; }
.services-page .services-closing .cta-band-bg::after { background: linear-gradient(90deg, var(--navy), transparent); }
.services-page .services-closing .services-photo { height: 100%; width: 100%; aspect-ratio: auto; border-radius: 0; }
.services-page .services-closing .cta-band-headline { font-size: 32px; max-width: 560px; }
.services-page .services-closing p { max-width: 440px; margin-bottom: 24px; }
.services-page .btn { min-height: 44px; min-width: 44px; }
.services-page a:focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) {
  .services-page [data-animate].in-view { animation: services-reveal 420ms ease-out; }
  .services-page [data-animate]:nth-child(2) { animation-delay: 40ms; }
  .services-page [data-animate]:nth-child(3) { animation-delay: 80ms; }
  .services-page [data-animate]:nth-child(4) { animation-delay: 120ms; }
}
@keyframes services-reveal { from { opacity: .5; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1024px) {
  .services-page .services-split { gap: 40px; }
  .services-page h1 { font-size: 40px; }
  .services-page .section-title { font-size: 28px; }
  .services-page .services-row, .services-page .services-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-page .services-mini-process { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .services-page .services-mini-process h3 { font-size: 12px; }
  .services-page .services-industries { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .services-page #rpo { padding-block: 32px; }
  .services-page #rpo .services-centered { margin-bottom: 20px; }
  .services-page .services-container { width: calc(100% - 48px); }
  .services-page .services-section { padding-block: 48px; }
  .services-page .services-split { grid-template-columns: 1fr; gap: 32px; }
  .services-page .services-hero { padding-block: 40px; }
  .services-page h1 { font-size: 36px; max-width: 540px; }
  .services-page .services-image-first .services-copy, .services-page .services-image-first .services-photo { grid-column: auto; grid-row: auto; }
  .services-page .services-photo { max-height: 360px; }
  .services-page .services-hero-photo { aspect-ratio: 3 / 2; border-top-left-radius: 80px; }
  .services-page .services-centered { margin-bottom: 28px; }
  .services-page .services-closing { padding-block: 40px; }
  .services-page .services-closing .cta-band-bg { left: 35%; }
  .services-page .services-closing .services-photo { max-height: none; }
}
@media (max-width: 480px) {
  .services-page .services-container { width: calc(100% - 40px); }
  .services-page .services-overview { grid-template-columns: 1fr; gap: 16px; }
  .services-page .services-overview .solution-body { padding: 24px; }
  .services-page .services-row { gap: 24px 16px; }
  .services-page .services-mini-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-page .services-mini-process h3 { font-size: 14px; }
  .services-page .services-why-items li { flex-direction: column; }
  .services-page .services-industries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-page .services-closing .cta-band-headline { font-size: 28px; }
  .services-page .services-closing .cta-band-bg { left: 0; opacity: .2; }
}
@media (prefers-reduced-motion: reduce) {
  .services-page [data-animate], .services-page .solution-card, .services-page .btn { animation: none; transition: none; }
  .services-page .solution-card:hover, .services-page .btn:hover { transform: none; }
}

/* Avoid stacking large blank gutters between consecutive service sections. */
.services-page .services-section{padding-top:56px;padding-bottom:56px}
.services-page .services-hero+.services-section{padding-top:32px}
.services-page #rpo{padding-top:32px;padding-bottom:32px}
.services-page .services-industries-section{padding-top:40px;padding-bottom:40px}
@media(max-width:768px){
 .services-page .services-hero{padding-top:28px;padding-bottom:28px}
 .services-page .services-section{padding-top:32px;padding-bottom:32px}
 .services-page .services-hero+.services-section{padding-top:24px}
 .services-page #rpo{padding-top:28px;padding-bottom:28px}
 .services-page .services-closing{padding-top:32px;padding-bottom:32px}
}
