.pt-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pt-title{min-height:300px;display:grid;place-items:center;background:var(--color-white);padding:var(--frontend-section-y) var(--frontend-page-x);box-sizing:border-box}.pt-title h1{margin:0;font:400 var(--type-display-xl)/.98 var(--font-ma-clayton);letter-spacing:-.025em;color:var(--color-gray-100)}
.pt-hero{position:relative;min-height:min(55vw,700px);display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center}.pt-hero:after{content:"";position:absolute;inset:0;background:rgba(20,18,14,.42)}.pt-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pt-hero>div{position:relative;z-index:1;max-width:680px;padding:40px}.pt-hero h2{font:400 clamp(38px,5vw,72px)/1.05 var(--font-manrope);margin:12px 0 20px}.pt-hero>div>p:last-of-type{font:400 16px/1.7 var(--font-manrope)}.pt-hero .btn{margin-top:18px}.pt-hero--project{min-height:min(48vw,620px)}
.project-test .about-process{background:#fff}.project-test .about-process-header .section-heading{width:min(720px,100%)}
.pt-cases{padding:clamp(75px,8vw,130px) max(28px,6vw);background:var(--color-floralwhite)}.pt-cases>header{max-width:820px;margin-bottom:55px}.pt-cases>header h2{font:400 clamp(35px,4vw,62px)/1.08 var(--font-manrope);margin:12px 0 20px}.pt-cases>header>p:last-child{max-width:650px;line-height:1.7}.pt-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1500px;margin:auto}.pt-case{background:#fff;border:1px solid #e8e3da}.pt-case>img{width:100%;aspect-ratio:4/3;object-fit:cover}.pt-case>div{padding:25px}.pt-case>div>span{font:500 11px var(--font-google-sans-code);text-transform:uppercase}.pt-case h3{font:400 clamp(24px,2.3vw,38px)/1.06 var(--font-manrope);margin:12px 0 18px}.pt-case p{font-size:14px;line-height:1.65}.pt-case dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.pt-case dl div{border-top:1px solid;padding-top:12px}.pt-case dt{font-weight:600}.pt-case dd{margin:4px 0 0;font-size:11px}.pt-case a{display:flex;justify-content:space-between;border-top:1px solid;padding-top:16px;color:inherit;text-decoration:none;font-size:13px}
.pt-wide-image{margin:0;padding:clamp(70px,8vw,120px) max(28px,6vw);border-bottom:1px solid #bbb}.pt-wide-image img{display:block;width:100%;max-width:1500px;height:min(54vw,750px);margin:auto;object-fit:cover}
.service-oem{position:relative;width:calc(100% - (2 * var(--frontend-page-x)));max-width:1500px;min-height:clamp(520px,58vw,760px);margin:var(--frontend-section-y) auto;overflow:hidden;color:var(--color-white)}.service-oem>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5)}.service-oem__content{position:relative;z-index:1;min-height:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;max-width:720px;margin:auto;padding:48px var(--frontend-page-x);text-align:center}.service-oem h2{margin:12px 0 24px;font:400 var(--type-heading-sm)/1.08 var(--font-manrope);color:var(--color-white)}.service-oem__content>p:not(.eyebrow){margin:0;max-width:650px;font:500 20px/1.55 var(--font-manrope)}.service-oem .btn{margin-top:28px}
.pt-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:clamp(75px,8vw,130px) max(28px,6vw);border-bottom:1px solid #bbb}.pt-capabilities article{text-align:center}.pt-capabilities img{width:100%;aspect-ratio:4/3;object-fit:cover}.pt-capabilities h3{font:400 clamp(34px,4vw,62px)/1.05 var(--font-manrope);margin:32px 0 18px}.pt-capabilities p{max-width:530px;margin:auto;line-height:1.7}
.pt-cta{padding:clamp(85px,10vw,155px) 28px;text-align:center}.pt-cta h2{max-width:700px;margin:15px auto 20px;font:400 clamp(36px,4.5vw,68px)/1.08 var(--font-manrope)}.pt-cta>p:not(.eyebrow){max-width:610px;margin:0 auto 30px;line-height:1.65}.pt-cta>div{display:flex;justify-content:center;gap:12px}
@media(max-width:900px){.pt-case-grid{grid-template-columns:1fr}.pt-case{max-width:540px;margin:auto}.pt-capabilities{grid-template-columns:1fr}.pt-title{min-height:230px}.pt-hero{min-height:580px}.project-test .about-process{padding-left:20px;padding-right:20px}.project-test .about-process-grid{gap:65px}.project-test .about-process-steps__left{margin-top:0}.pt-wide-image img{height:65vw;min-height:340px}}
@media(max-width:520px){.pt-hero>div{padding:25px}.pt-cta>div{flex-direction:column;align-items:center}.pt-case>div{padding:20px}.pt-case dl{gap:8px}.pt-capabilities{padding-left:20px;padding-right:20px}}
@media(max-width:700px){.service-oem{width:100%;min-height:620px;margin-block:64px}.service-oem__content>p:not(.eyebrow){font-size:18px}}

/* Canonical static Services page. */
.services-page {
  --service-y: var(--frontend-section-y);
  --service-x: var(--frontend-page-x);
  background: var(--color-white);
  color: var(--color-gray-100);
}

.services-page .about-process,
.services-page .case-studies-inner,
.services-page .pt-capabilities,
.services-page .pt-cta {
  box-sizing: border-box;
  width: 100%;
  max-width: 1680px;
  margin-inline: auto;
  padding: var(--service-y) var(--service-x);
}

.services-page .about-process {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(40px, 5vw, 72px);
  background: var(--color-white);
}

.services-page .about-process-header {
  width: 100%;
  margin: 0;
}

.services-page .about-process-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  align-items: start;
  gap: clamp(48px, 6vw, 96px);
  width: 100%;
}

.services-page .about-process-table-wrap {
  min-width: 0;
  width: 100%;
}

.services-page .about-process-table-scroll {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.services-page .about-process-table {
  width: 100%;
  min-width: 680px;
  table-layout: fixed;
  border-collapse: collapse;
}

.services-page .about-process-table col.col-cap { width: 8%; }
.services-page .about-process-table col.col-mota { width: 50%; }
.services-page .about-process-table col.col-lead { width: 22%; }
.services-page .about-process-table col.col-phi { width: 20%; }

.services-page .about-process-table th,
.services-page .about-process-table td {
  padding: 14px 12px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--Zeus-7);
  overflow-wrap: anywhere;
}

.services-page .about-process-table td strong,
.services-page .about-process-table td span {
  display: block;
}

.services-page .about-process-table td span {
  margin-top: 4px;
}

.services-page .about-process-note {
  margin: 18px 0 0;
  padding: 16px;
  background: var(--color-floralwhite);
}

.services-page .about-process-steps__left {
  min-width: 0;
  margin: 0;
}

.services-page .about-process-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.services-page .about-process-step {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid var(--Zeus-7);
}

.services-page .about-process-step:first-child { padding-top: 0; }
.services-page .about-process-step:last-child { border-bottom: 0; }
.services-page .about-process-step-text { min-width: 0; }

.services-page .pt-hero {
  min-height: clamp(560px, 58vw, 760px);
}

.services-page .pt-hero > div {
  width: min(760px, 100%);
  box-sizing: border-box;
  padding: 48px var(--service-x);
}

.services-page .pt-hero h2,
.services-page .section-heading,
.services-page .service-oem h2,
.services-page .pt-cta h2 {
  font-family: var(--font-manrope);
  font-size: var(--type-heading-sm);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.025em;
}

.services-page .pt-hero h2 { color: var(--color-white); }

.services-page .pt-hero > div > p,
.services-page .section-subtext,
.services-page .service-oem__content > p:not(.eyebrow) {
  font-family: var(--font-manrope);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.55;
}

.services-page .about-process-grid {
  gap: clamp(56px, 7vw, 112px);
}

.services-page .about-process-table-title {
  font: 600 20px/1.4 var(--font-manrope);
}

.services-page .about-process-table th,
.services-page .eyebrow,
.services-page .case-tag {
  font-family: var(--font-google-sans-code);
  font-size: 16px;
  font-weight: 500;
}

.services-page .about-process-table td,
.services-page .about-process-note,
.services-page .about-process-step-desc,
.services-page .case-desc,
.services-page .case-stat-label,
.services-page .pt-capabilities p,
.services-page .pt-cta > p:not(.eyebrow) {
  font-family: var(--font-manrope);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.65;
}

.services-page .about-process-step-title {
  font: 600 20px/1.4 var(--font-manrope);
}

.services-page .about-process-step-number {
  color: var(--color-terracotta);
}

.services-page .case-studies { background: var(--color-floralwhite); }

.services-page .case-grid {
  gap: clamp(24px, 2.5vw, 36px);
}

.services-page .case-card {
  border: 1px solid var(--Zeus-7);
  min-height: 100%;
  border-radius: 0 0 8px 8px;
  overflow: hidden;
  background: var(--color-floralwhite);
  box-shadow: none;
}

.services-page .case-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(30, 34, 43, .08);
}

.services-page .case-card-img-wrap {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  border-radius: 0;
  overflow: hidden;
}

.services-page .case-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.services-page .case-card-body {
  min-height: 0;
  padding: clamp(24px, 2.2vw, 32px);
  gap: 18px;
}

.services-page .case-tag {
  padding: 6px 12px;
  border-radius: 8px;
  background: var(--color-tan);
  color: var(--color-gray-100);
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: .06em;
}

.services-page .case-title {
  margin: 0;
  min-height: 2.5em;
  font: 400 clamp(26px, 2.1vw, 32px)/1.25 var(--font-manrope);
  color: var(--color-gray-100);
}

.services-page .case-desc {
  margin: 0;
  min-height: 6.6em;
  color: var(--color-gray-100);
}

.services-page .case-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 18px 0;
  border-color: var(--Zeus-7);
}

.services-page .case-stat { min-width: 0; }

.services-page .case-stat-value {
  font: 600 20px/1.3 var(--font-manrope);
  color: var(--color-terracotta);
}

.services-page .case-stat-label {
  color: var(--color-gray-100);
}

.services-page .case-link {
  padding-top: 4px;
  color: var(--color-gray-100);
}

.services-page .case-link:hover .case-link-label {
  color: var(--color-terracotta);
  text-decoration: none;
}

.services-page .service-oem {
  width: 100%;
  max-width: none;
  margin-block: 0;
}

.services-page .pt-capabilities {
  max-width: 1440px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(32px, 4vw, 56px);
}

.services-page .pt-capabilities article {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.services-page .pt-capabilities img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.services-page .pt-capabilities h3 {
  width: min(100%, 520px);
  min-height: 2.5em;
  margin: 32px 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 32px/1.25 var(--font-manrope);
  text-wrap: balance;
}

.services-page .pt-capabilities p {
  width: min(100%, 520px);
  margin: 0;
  text-align: center;
  text-wrap: pretty;
}

.services-page .pt-hero > img,
.services-page .case-card-img,
.services-page .service-oem > img,
.services-page .pt-capabilities img {
  border-radius: 0 !important;
}

.services-page .btn {
  font: 500 16px/1.4 var(--font-manrope);
}

@media (max-width: 900px) {
  .services-page .about-process-grid {
    grid-template-columns: 1fr;
  }

  .services-page .case-grid,
  .services-page .pt-capabilities { grid-template-columns: 1fr; }
  .services-page .case-card { max-width: 680px; margin-inline: auto; }
  .services-page .case-title,
  .services-page .case-desc { min-height: 0; }
  .services-page .pt-capabilities article { width: 100%; max-width: 680px; margin-inline: auto; }
  .services-page .pt-capabilities h3 { min-height: 0; }
}

@media (max-width: 700px) {
  .services-page .pt-hero > div > p,
  .services-page .section-subtext,
  .services-page .service-oem__content > p:not(.eyebrow) { font-size: 18px; }
  .services-page .about-process-table th,
  .services-page .eyebrow,
  .services-page .case-tag { font-size: 14px; }
}
