.services-container {width:min(1180px,100%);margin:0 auto;}
.services-hero,.services-offer,.services-process,.services-contact {padding:82px 5vw;}
.services-hero {color:#fff;background:var(--track);}
.services-label {margin:0 0 14px;color:var(--electric);font-size:.78rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;}
.services-hero .services-label,.services-process .services-label {color:#7ed3c6;}
.services-hero h1 {max-width:1000px;font-size:clamp(2.8rem,6vw,5.8rem);line-height:1.06;margin:0 0 30px;}
.services-intro {max-width:700px;color:rgba(255,255,255,.76);font-size:1.15rem;line-height:1.75;margin:0 0 30px;}
.services-button {display:inline-block;padding:14px 22px;background:var(--signal);color:#fff;text-decoration:none;font-weight:900;}
.services-button:hover {background:#a92f27;}
.services-heading {max-width:780px;margin-bottom:34px;}
.services-heading h2,.services-contact h2 {font-size:clamp(2rem,4vw,3.4rem);margin:0 0 20px;}
.services-heading > p:last-child,.service-card > p,.services-contact > div > p:not(.services-label) {color:#626d72;line-height:1.75;}
.services-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.service-card {min-width:0;padding:32px;background:#fff;border-top:4px solid var(--electric);}
.service-number {display:block;color:var(--electric);font-size:.8rem;font-weight:900;margin-bottom:26px;}
.service-card h3 {font-size:1.65rem;margin:0 0 14px;}
.service-card .service-lead {color:var(--text);font-weight:800;}
.service-card ul {padding-left:20px;margin:24px 0 0;color:#626d72;line-height:1.8;}
.services-process {background:var(--electric);color:#fff;}
.services-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;counter-reset:step;padding:0;margin:0;}
.services-steps li {counter-increment:step;border-top:1px solid rgba(255,255,255,.35);padding-top:22px;}
.services-steps li::before {content:'0' counter(step);color:#a9efe5;font-weight:900;}
.services-steps h3 {font-size:1.2rem;margin:16px 0 12px;}
.services-steps p {color:rgba(255,255,255,.78);line-height:1.75;}
.services-contact {background:#fff;}
.services-contact p {max-width:650px;}
.services-page .performance-header nav [aria-current=page] {color:#fff;text-decoration:underline;text-underline-offset:6px;}
@media(max-width:700px) {.services-grid,.services-steps {grid-template-columns:1fr;}.services-hero,.services-offer,.services-process,.services-contact {padding:56px 5vw;}.service-card {padding:26px;}}

.services-testimonials { padding: 82px 5vw; background: var(--electric); color: #fff; }
.services-testimonials .services-label { color: #a9efe5; }
.testimonial-placeholder-note { color: rgba(255,255,255,.7); font-size: .85rem; }
.testimonial-slide { margin: 0; min-height: 190px; padding: 32px 0; max-width: 950px; }
.testimonial-slide[hidden] { display: none; }
.testimonial-slide blockquote { margin: 0 0 24px; font-family: Georgia, serif; font-size: clamp(1.5rem,3vw,2.5rem); line-height: 1.4; }
.testimonial-slide figcaption { color: #a9efe5; font-weight: 800; }
.testimonial-controls { display: flex; gap: 20px; align-items: center; }
.testimonial-controls button { border: 1px solid rgba(255,255,255,.4); border-radius: 50%; width: 44px; height: 44px; background: rgba(17,21,25,.3); color: #fff; font-size: 28px; cursor: pointer; }
.testimonial-controls button:hover { background: rgba(17,21,25,.6); }
.testimonial-controls button:focus-visible { outline: 3px solid #a9efe5; outline-offset: 3px; }
@media(max-width:700px) { .services-testimonials { padding: 56px 5vw; } }

.testimonial-carousel { position: relative; padding: 0 64px 36px; }
.testimonial-slide { max-width: none; text-align: center; }
.testimonial-arrow { position: absolute; top: calc((100% - 36px) / 2); transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(17,21,25,.65); color: #fff; font: 32px/1 Georgia, serif; cursor: pointer; display: grid; place-items: center; padding: 0 0 4px; }
.testimonial-prev { left: 0; } .testimonial-next { right: 0; }
.testimonial-arrow:hover { background: rgba(17,21,25,.9); }
.testimonial-arrow:focus-visible { outline: 3px solid #a9efe5; outline-offset: 3px; }
.testimonial-counter { display: block; text-align: center; color: #a9efe5; font-size: .8rem; }
@media(max-width:700px) { .testimonial-carousel { padding-inline: 50px; } }

/* Training video with one readable service at a time. */
.services-offer { padding: 72px 0 0; }
.services-offer > .services-container { padding: 0 5vw; }
.services-video-frame {
  position: relative;
  isolation: isolate;
  container-type: size;
  height: clamp(680px, 56.25vw, 960px);
  overflow: hidden;
  display: grid;
  place-items: center;
  background: var(--track);
}
.services-background-video {
  position: absolute;
  z-index: -2;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: max(100cqw, 177.78cqh);
  height: max(100cqh, 56.25cqw);
  border: 0;
  pointer-events: none;
}
.services-video-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(17, 21, 25, .25);
}
.services-carousel { position: relative; width: min(860px, 90%); padding: 0 64px 36px; touch-action: pan-y; }
.services-slides { min-width: 0; }
.services-carousel .service-card {
  padding: 36px 40px;
  background: rgba(17, 21, 25, .50);
  color: #fff;
  border-top: 3px solid #7ed3c6;
  box-shadow: 0 16px 60px rgba(0, 0, 0, .2);
}
.services-carousel .service-card[hidden] { display: none; }
.services-carousel .service-number { color: #a9efe5; margin-bottom: 18px; }
.services-carousel .service-card h3 { font-size: clamp(1.65rem, 3vw, 2.4rem); color: #fff; }
.services-carousel .service-card > p, .services-carousel .service-card ul { color: rgba(255,255,255,.84); }
.services-carousel .service-card .service-lead { color: #a9efe5; }
.service-arrow {
  position: absolute; top: calc((100% - 36px) / 2); transform: translateY(-50%);
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.35); background: rgba(17,21,25,.65);
  color: #fff; font: 32px/1 Georgia, serif; cursor: pointer;
  display: grid; place-items: center; padding: 0 0 4px;
}
.service-prev { left: 0; } .service-next { right: 0; }
.service-arrow:hover { background: rgba(17,21,25,.9); }
.service-arrow:focus-visible { outline: 3px solid #a9efe5; outline-offset: 3px; }
.service-counter { position: absolute; bottom: 0; left: 0; width: 100%; text-align: center; color: #fff; font-size: .8rem; }
@media(max-width:700px) {
  .services-offer { padding: 56px 0 0; }
  .services-video-frame { height: 800px; }
  .services-carousel { width: 100%; padding: 0 48px 36px; }
  .services-carousel .service-card { padding: 24px 20px; }
  .service-prev { left: 4px; } .service-next { right: 4px; }
  .service-arrow { width: 38px; height: 38px; }
}
