/* Services page — scoped adaptation of the approved static prototype. */
body.services-page {
  margin:0;
  background:#fcfbfa;
  color:#2a2523;
  overflow-x:clip
}
body.services-page .services-page-content {
  --services-paper:#fcfbfa;
  --services-ink:#2a2523;
  --services-muted:#746c64;
  --services-red:#9f001a;
  --services-line:#d7d3d0;
  --services-gutter:5.555556%;
  --services-ease:cubic-bezier(0,0,.58,1);
  color-scheme:light
}
body.services-page .services-page-content * {
  box-sizing:border-box
}

body.services-page .services-page-content {
  margin:0;
  background:var(--services-paper);
  color:var(--services-ink);
  font:400 16px/1.5 "Plus Jakarta Sans",Arial,sans-serif
}
html[lang=fa] body.services-page .services-page-content {
  font-family:"Yekan Bakh FaNum",Arial,sans-serif
}
body.services-page .services-page-content button,
body.services-page .services-page-content input,
body.services-page .services-page-content select,
body.services-page .services-page-content textarea {
  font:inherit
}
body.services-page .services-page-content button,
body.services-page .services-page-content a,
body.services-page .services-page-content input,
body.services-page .services-page-content select,
body.services-page .services-page-content textarea {
  -webkit-tap-highlight-color:transparent
}
body.services-page .services-page-content button,
body.services-page .services-page-content a {
  touch-action:manipulation
}
body.services-page .services-page-content a {
  color:inherit;
  text-decoration:none
}
body.services-page .services-page-content button {
  border:0;
  background:none;
  color:inherit;
  cursor:pointer
}
body.services-page .services-page-content button:disabled {
  cursor:default
}
body.services-page .services-page-content img {
  display:block;
  max-width:100%
}
body.services-page .services-page-content h1,
body.services-page .services-page-content h2,
body.services-page .services-page-content h3,
body.services-page .services-page-content p {
  margin:0
}
body.services-page .services-page-content h1,
body.services-page .services-page-content h2,
body.services-page .services-page-content h3 {
  font-weight:800
}
body.services-page .services-page-content button:focus-visible,
body.services-page .services-page-content a:focus-visible {
  outline:3px solid #e895a4;
  outline-offset:5px
}
body.services-page .services-page-content input:focus,
body.services-page .services-page-content select:focus,
body.services-page .services-page-content textarea:focus {
  outline:none
}
body.services-page .services-page-content button[hidden],
body.services-page .services-page-content [hidden] {
  display:none!important
}
body.services-page .services-page-content .wrap {
  width:calc(100% - var(--services-gutter)*2);
  max-width:none;
  margin-inline:auto
}
body.services-page .services-page-content .section {
  position:relative;
  isolation:isolate;
  overflow:hidden
}
body.services-page .services-page-content .eyebrow {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:18px;
  font-weight:500;
  line-height:26px;
  color:var(--services-red)
}
body.services-page .services-page-content .eyebrow img {
  width:24px;
  height:12px;
  object-fit:contain
}
body.services-page .services-page-content .section-heading h2 {
  font-size:48px;
  line-height:60px
}
body.services-page .services-page-content .section-heading>p:not(.eyebrow) {
  font-size:40px;
  line-height:60px;
  color:#59544c
}
body.services-page .services-page-content .section-heading .eyebrow {
  margin-bottom:16px
}
body.services-page .services-page-content .centered {
  text-align:center
}
body.services-page .services-page-content .centered .eyebrow {
  justify-content:center
}
body.services-page .services-page-content .light {
  font-weight:400
}
body.services-page .services-page-content .sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap
}
body.services-page .services-page-content .skip-link,
body.services-page > .skip-link {
  position:fixed;
  top:8px;
  inset-inline-start:8px;
  padding:12px;
  background:white;
  z-index:100;
  transform:translateY(-160%)
}
body.services-page .services-page-content .skip-link:focus,
body.services-page > .skip-link:focus {
  transform:none
}
/* Hero component: source states 1:22196–1:22548, ease-out at .8/1.2/2.5s. */
body.services-page #page-hero.services-hero {
  height:900px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:white;
  background:#111315
}
body.services-page #page-hero.services-hero.is-section-disabled {
  height:104px
}
body.services-page #page-hero.services-hero > .services-page-content {
  position:relative;
  height:100%;
  background:transparent;
  color:inherit
}
@media (min-width:701px) {
  body.services-page #page-hero.services-hero:not(.is-section-disabled) {
    height:auto;
    aspect-ratio:1440 / 900
  }
  body.services-page #page-hero.services-hero > .services-hero-content {
    --services-gutter:80px;
    position:absolute;
    top:0;
    left:0;
    width:1440px;
    height:900px;
    transform:scale(var(--services-hero-scale, 1));
    transform-origin:top left
  }
}
body.services-page #page-hero.services-hero .services-page-content .hero-scenes,
body.services-page #page-hero.services-hero .services-page-content .hero-shade,
body.services-page #page-hero.services-hero .services-page-content .hero-scene,
body.services-page #page-hero.services-hero .services-page-content .scene-box {
  position:absolute;
  inset:0
}
body.services-page #page-hero.services-hero .services-page-content .hero-scenes {
  z-index:-3
}
body.services-page #page-hero.services-hero .services-page-content .hero-scene {
  opacity:0;
  transition:opacity .8s var(--services-ease);
  overflow:hidden
}
body.services-page #page-hero.services-hero .services-page-content .hero-scene.active {
  opacity:1
}
body.services-page #page-hero.services-hero .services-page-content .scene-box {
  transform-origin:0 0;
  will-change:transform
}
body.services-page #page-hero.services-hero .services-page-content .scene-box img {
  position:absolute;
  max-width:none;
  width:100%;
  height:100%;
  left:0;
  top:0
}
body.services-page #page-hero.services-hero .services-page-content .hero-shade {
  z-index:-2;
  background:linear-gradient(90deg,rgba(17,19,21,.8),rgba(17,19,21,.6) 25%,rgba(17,19,21,.52) 49.5%,rgba(17,19,21,.6) 75%,rgba(17,19,21,.8))
}

body.services-page .services-page-content .pill {
  display:inline-flex;
  gap:16px;
  align-items:center;
  height:56px;
  border-radius:40px;
  border:4px solid #ffffff66;
  background:white;
  color:var(--services-red);
  padding:4px 4px 4px 24px;
  background-clip:padding-box;
  box-shadow:0 0 0 .5px #ffffff99;
  font-weight:600;
  font-size:16px;
  white-space:nowrap;
  transition:box-shadow .3s,transform .3s
}
body.services-page .services-page-content .pill:hover {
  box-shadow:0 0 0 4px #ffffff40;
  transform:translateY(-2px)
}
body.services-page .services-page-content .arrow-disc {
  --services-arrow-flip:1;
  --services-arrow-turn:0deg;
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  flex:none;
  border-radius:50%;
  background:var(--services-red)
}
body.services-page .services-page-content .arrow-disc svg {
  display:block;
  width:24px;
  height:24px;
  transform:scaleX(var(--services-arrow-flip)) rotate(var(--services-arrow-turn));
  transform-origin:center;
  transition:transform .3s
}
body.services-page .services-page-content .pill:hover .arrow-disc,
body.services-page .services-page-content .pill:focus-visible .arrow-disc {
  --services-arrow-turn:90deg
}

body.services-page #page-hero.services-hero .services-page-content .hero-content {
  position:relative;
  padding-top:417px;
  height:100%
}
body.services-page #page-hero.services-hero .services-page-content .hero-content h1 {
  font-size:56px;
  line-height:72px;
  max-width:620px
}
body.services-page #page-hero.services-hero .services-page-content .hero-content h1 span {
  display:block
}
body.services-page #page-hero.services-hero .services-page-content .hero-progress {
  position:absolute;
  top:600px;
  height:4px;
  background:#ffffff80;
  margin-top:0;
  width:100%;
  overflow:hidden
}
body.services-page #page-hero.services-hero .services-page-content .hero-progress span {
  display:block;
  height:100%;
  width:0;
  background:white
}
body.services-page #page-hero.services-hero .services-page-content .hero-description {
  position:absolute;
  top:629px;
  display:grid;
  grid-template-columns:201px 1fr;
  gap:16px;
  width:560px;
  min-height:95px;
  margin-top:0
}
body.services-page #page-hero.services-hero .services-page-content .hero-description h2 {
  font-size:24px;
  line-height:36px
}
body.services-page #page-hero.services-hero .services-page-content .hero-description p {
  font-size:16px;
  line-height:24px;
  font-weight:500
}
body.services-page #page-hero.services-hero .services-page-content .hero-cta {
  position:absolute;
  top:764px;
  inset-inline-start:0;
  margin-top:0
}
body.services-page #page-hero.services-hero .services-page-content .hero-steps {
  position:absolute;
  inset-inline-end:0;
  top:628px;
  display:grid;
  gap:2px
}
body.services-page #page-hero.services-hero .services-page-content .hero-steps button {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
  opacity:.5;
  font-size:12px;
  line-height:18px;
  padding:0;
  min-height:20px
}
body.services-page #page-hero.services-hero .services-page-content .hero-steps button::after {
  content:'';
  width:40px;
  height:1px;
  background:#fff
}
body.services-page #page-hero.services-hero .services-page-content .hero-steps button[aria-pressed=true] {
  font-weight:800;
  font-size:14px;
  opacity:1
}
body.services-page #page-hero.services-hero .services-page-content .hero-steps button[aria-pressed=true]::after {
  width:48px
}
body.services-page #page-hero.services-hero .services-page-content .motion-toggle {
  position:absolute;
  bottom:20px;
  inset-inline-end:24px;
  font-size:10px;
  color:white;
  background:#11131580;
  border:1px solid #ffffff30;
  border-radius:18px;
  padding:6px 10px
}

body.services-page #page-hero.services-hero.intro .services-page-content h1 span {
  animation:services-hero-title-in .8s var(--services-ease) both
}
body.services-page #page-hero.services-hero.intro .services-page-content h1 span:nth-child(2) {
  animation-name:services-hero-title-in-wide
}
body.services-page #page-hero.services-hero.intro .services-page-content .hero-description,
body.services-page #page-hero.services-hero.intro .services-page-content .hero-cta,
body.services-page #page-hero.services-hero.intro .services-page-content .hero-progress,
body.services-page #page-hero.services-hero.intro .services-page-content .hero-steps {
  animation:services-hero-detail-in 1.2s .8s var(--services-ease) both
}

@keyframes services-hero-title-in {
  from {
    transform:translateX(-1100px)
  }
  to {
    transform:translateX(0)
  }
}
@keyframes services-hero-title-in-wide {
  from {
    transform:translateX(-1850px)
  }
  to {
    transform:translateX(0)
  }
}
@keyframes services-hero-detail-in {
  from {
    opacity:0;
    transform:translateY(100px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@keyframes services-header-in {
  from {
    transform:translateY(-104px)
  }
  to {
    transform:translateY(0)
  }
}
/* Services: desktop art/accordion and the authored 390px stacked layout. */
body.services-page .services-page-content .services {
  min-height:1024px;
  background:var(--services-paper)
}
body.services-page .services-page-content .services-wrap {
  position:relative;
  height:1024px
}
body.services-page .services-page-content .services-heading {
  position:absolute;
  top:120px;
  inset-inline-start:0
}
body.services-page .services-page-content .services-eyebrow {
  position:absolute;
  top:290px;
  inset-inline-start:51%
}
body.services-page .services-page-content .service-list {
  position:absolute;
  inset-inline-start:51%;
  top:461px;
  width:49%
}
body.services-page .services-page-content .service-item {
  border-bottom:1px solid var(--services-line)
}
body.services-page .services-page-content .service-item:last-child {
  border-bottom:0
}
body.services-page .services-page-content .service-toggle {
  width:100%;
  display:grid;
  grid-template-columns:38px 1fr 24px;
  align-items:center;
  gap:14px;
  min-height:59px;
  padding:12px 0
}
body.services-page .services-page-content .service-toggle .number {
  font-size:20px;
  font-weight:800;
  line-height:30px;
  color:var(--services-line);
  text-align:start
}
body.services-page .services-page-content .service-toggle .service-title {
  font-size:20px;
  line-height:30px;
  letter-spacing:0
}
body.services-page .services-page-content .service-toggle img {
  width:24px;
  height:24px
}
body.services-page .services-page-content .service-panel {
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .8s var(--services-ease),opacity .8s;
  opacity:0
}
body.services-page .services-page-content .service-panel>div {
  overflow:hidden
}
body.services-page .services-page-content .service-item.open .service-panel {
  grid-template-rows:1fr;
  opacity:1
}
body.services-page .services-page-content .service-panel p {
  padding:0 0 16px;
  margin:auto;
  max-width:410px;
  text-align:center;
  font-size:14px;
  line-height:20px;
  color:var(--services-muted)
}
body.services-page .services-page-content .service-art {
  position:absolute;
  top:290px;
  inset-inline-start:0;
  width:48%;
  height:558px
}
body.services-page .services-page-content .service-shadows {
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none
}
body.services-page .services-page-content .service-shadow {
  position:absolute;
  top:440px;
  left:5px;
  width:600px;
  height:100px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.52) 0,rgba(0,0,0,0) 100%);
  filter:blur(80px);
  opacity:0;
  transform:translateX(-100%) scale(.01);
  transform-origin:center;
  transition:transform .8s var(--services-ease),opacity .8s var(--services-ease)
}
body.services-page .services-page-content .service-shadow.active {
  opacity:1;
  transform:translateX(0) scale(1)
}
body.services-page .services-page-content .service-shadow[data-index='1'] {
  display:none
}
body.services-page .services-page-content .service-pictures {
  position:absolute;
  inset:0
}
body.services-page .services-page-content .service-image {
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateX(-100%);
  transition:transform .8s var(--services-ease),opacity .8s;
  overflow:hidden
}
body.services-page .services-page-content .service-image.active {
  opacity:1;
  transform:none
}
body.services-page .services-page-content .service-image .crop {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  overflow:hidden
}
body.services-page .services-page-content .service-image img {
  position:absolute;
  max-width:none
}
body.services-page .services-page-content .service-image[data-index='1'] .crop {
  mask-image:linear-gradient(#000 39.7%,rgba(0,0,0,.85) 69.85%,transparent);
  -webkit-mask-image:linear-gradient(#000 39.7%,rgba(0,0,0,.85) 69.85%,transparent)
}
body.services-page .services-page-content .quote-link {
  position:absolute;
  inset-inline-start:0;
  top:872px;
  display:flex;
  align-items:center;
  gap:8px;
  border-bottom:1px solid var(--services-red);
  color:var(--services-red);
  font-weight:600;
  padding-bottom:8px;
  transition:color .3s var(--services-ease),border-color .3s var(--services-ease)
}
body.services-page .services-page-content .quote-link img {
  filter:brightness(0) saturate(100%) invert(10%) sepia(97%) saturate(3932%) hue-rotate(338deg) brightness(78%);
  transform-origin:center;
  transition:transform .3s var(--services-ease),filter .3s var(--services-ease)
}
@media (hover:hover) and (pointer:fine) {
  body.services-page .services-page-content .quote-link:hover {
    color:#56000e;
    border-color:#56000e
  }
  body.services-page .services-page-content .quote-link:hover img {
    filter:brightness(0) saturate(100%) invert(9%) sepia(71%) saturate(3019%) hue-rotate(333deg) brightness(65%);
    transform:rotate(90deg)
  }
}
body.services-page .services-page-content .service-watermark {
  position:absolute;
  z-index:-1;
  width:600px;
  height:316px;
  object-fit:fill;
  opacity:.025;
  max-width:none
}
body.services-page .services-page-content .service-watermark.one {
  inset-inline-start:-127px;
  top:297px
}
body.services-page .services-page-content .service-watermark.two {
  inset-inline-end:-140px;
  top:0
}
body.services-page .services-page-content .services::after,
body.services-page .services-page-content .testimonials::after {
  content:'';
  position:absolute;
  left:0;
  width:100%;
  z-index:-2;
  mask-repeat:no-repeat;
  mask-size:100% 100%
}
body.services-page .services-page-content .services::after {
  bottom:0;
  height:197px;
  background:linear-gradient(to top,#e50328b3,transparent);
  mask-image:var(--services-pattern-image)
}
body.services-page .services-page-content .testimonials::after {
  top:40px;
  height:480px;
  background:linear-gradient(to top,#e503280d,#e5032880,#e5032840);
  mask-image:var(--testimonials-pattern-image);
  transform:rotate(180deg)
}
body.services-page .services-page-content .why {
  min-height:900px;
  background:linear-gradient(160deg,#a6001d 30%,#690817 100%);
  color:white;
  padding:80px 0
}
body.services-page .services-page-content .why .eyebrow,
body.services-page .services-page-content .why .section-heading>p {
  color:white
}
body.services-page .services-page-content .why-mark {
  position:absolute;
  z-index:-1;
  max-width:none;
  width:1000px;
  opacity:.34
}
body.services-page .services-page-content .why-mark.first {
  left:0;
  bottom:-340px
}
body.services-page .services-page-content .why-mark.second {
  right:-200px;
  top:-150px
}
body.services-page .services-page-content .why-layout {
  display:grid;
  grid-template-columns:1fr 496px 1fr;
  gap:32px;
  margin-top:48px;
  align-items:center
}
body.services-page .services-page-content .why-photo {
  height:530px;
  border-radius:16px;
  overflow:hidden;
  background:#ddd;
  position:relative
}
body.services-page .services-page-content .why-photo img {
  position:absolute;
  width:608px;
  max-width:none;
  height:808px;
  object-fit:fill;
  left:-56px;
  top:-88px;
  filter:brightness(.9)
}
body.services-page .services-page-content .why-copy {
  display:grid;
  gap:80px
}
body.services-page .services-page-content .why-copy.left {
  text-align:end
}
body.services-page .services-page-content .why-copy h3 {
  font-size:24px;
  line-height:36px
}
body.services-page .services-page-content .why-copy h3::after {
  content:'';
  display:block;
  width:120px;
  height:1px;
  background:#ffffff70;
  margin:14px 0
}
body.services-page .services-page-content .why-copy.left h3::after {
  margin-inline-start:auto
}
body.services-page .services-page-content .why-copy p {
  font-size:16px;
  line-height:24px;
  font-weight:500
}
body.services-page .services-page-content .industries {
  height:286px;
  padding-top:80px;
  overflow:hidden
}
body.services-page .services-page-content .industries h2 {
  text-align:center;
  font-size:28px;
  line-height:36px;
  margin-bottom:24px
}
body.services-page .services-page-content .marquee {
  position:relative;
  background:#f5f5f4;
  border-block:1px solid #e8e5e3;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent)
}
body.services-page .services-page-content .marquee-track {
  display:flex;
  direction:ltr;
  width:max-content;
  animation:services-marquee 10s linear infinite
}
body.services-page .services-page-content .marquee-set {
  display:flex;
  gap:48px;
  padding-inline-end:48px;
  align-items:center
}
body.services-page .services-page-content .industry {
  display:flex;
  gap:10px;
  align-items:center;
  white-space:nowrap;
  height:88px;
  font-size:24px
}
body.services-page .services-page-content .industry img {
  width:32px;
  height:32px;
  object-fit:contain
}
body.services-page .services-page-content .marquee:hover .marquee-track {
  animation-play-state:paused
}
@keyframes services-marquee {
  to {
    transform:translateX(-50%)
  }
}
body.services-page .services-page-content .testimonials {
  height:900px;
  padding-top:110px
}
body.services-page .services-page-content .testimonial-window {
  margin-top:48px;
  overflow:visible;
  direction:ltr
}
body.services-page .services-page-content .testimonial-track {
  display:flex;
  align-items:flex-start;
  gap:24px;
  width:max-content;
  position:relative;
  left:50%;
  transition:transform .8s var(--services-ease);
  touch-action:pan-y
}
body.services-page .services-page-content .testimonial-card {
  width:800px;
  min-height:360px;
  display:grid;
  grid-template-columns:364px 1fr;
  gap:32px;
  padding:24px;
  border:1px solid #e1dfdc;
  border-radius:24px;
  background:white;
  box-shadow:0 5px 16px #00000008;
  transform:translateY(108px);
  opacity:.55;
  transition:transform .8s var(--services-ease),opacity .8s,box-shadow .3s
}
body.services-page .services-page-content .testimonial-card.active {
  transform:none;
  opacity:1
}
body.services-page .services-page-content .testimonial-card:hover {
  box-shadow:0 12px 30px #0002
}
body.services-page .services-page-content .testimonial-image {
  height:312px;
  border-radius:36px;
  overflow:hidden;
  position:relative
}
body.services-page .services-page-content .testimonial-image>img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
body.services-page .services-page-content .play-button {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#c8cdba70;
  backdrop-filter:blur(10px);
  border:1px solid #ffffff60;
  transition:background .3s,scale .3s
}
body.services-page .services-page-content .play-button img {
  width:32px;
  height:32px
}
body.services-page .services-page-content .play-button:hover {
  background:#9f001ab0;
  scale:1.06
}
body.services-page .services-page-content .testimonial-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:32px;
  padding:16px 0 10px;
  direction:inherit
}
body.services-page .services-page-content .testimonial-tag {
  background:var(--services-red);
  color:white;
  border-radius:40px;
  padding:4px 22px;
  font-size:16px;
  font-weight:600
}
body.services-page .services-page-content .testimonial-copy blockquote {
  margin:0;
  font-size:14px;
  line-height:20px;
  font-weight:500
}
body.services-page .services-page-content .testimonial-person {
  margin-top:auto;
  font-size:16px;
  line-height:24px
}
body.services-page .services-page-content .testimonial-person span {
  display:block;
  font-size:14px;
  line-height:20px;
  color:#59544c
}
body.services-page .services-page-content .slider-controls {
  display:flex;
  direction:ltr;
  justify-content:center;
  gap:12px;
  margin-top:72px
}
body.services-page .services-page-content .slider-controls button {
  position:relative;
  width:50px;
  height:36px;
  padding:0;
  border-radius:40px;
  background:var(--services-red);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  border:0;
  transition:background-color .3s var(--services-ease)
}
body.services-page .services-page-content .slider-controls button::before {
  content:'';
  position:absolute;
  right:2px;
  top:2px;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#fff;
  transition:background-color .3s var(--services-ease)
}
body.services-page .services-page-content .slider-controls .slider-prev {
  justify-content:flex-start
}
body.services-page .services-page-content .slider-controls .slider-prev::before {
  right:auto;
  left:2px
}
body.services-page .services-page-content .slider-controls img {
  position:relative;
  width:24px;
  height:24px;
  margin:0 6px;
  filter:brightness(0) saturate(100%) invert(10%) sepia(97%) saturate(3932%) hue-rotate(338deg) brightness(78%)
}
body.services-page .services-page-content .slider-prev img {
  transform:rotate(180deg)
}
body.services-page .services-page-content .slider-controls button:disabled {
  background:#ffdae0
}
body.services-page .services-page-content .slider-controls button:disabled img {
  filter:none;
  opacity:1
}
@media (hover:hover) {
  body.services-page .services-page-content .slider-controls button:enabled:hover {
    background:#56000e
  }
  body.services-page .services-page-content .slider-controls button:enabled:hover::before {
    background:#ffdae0
  }
}
body.services-page .services-page-content .slider-controls button:enabled:active,
body.services-page .services-page-content .slider-controls button:focus-visible {
  background:#56000e
}
body.services-page .services-page-content .slider-controls button:enabled:active::before,
body.services-page .services-page-content .slider-controls button:focus-visible::before {
  background:#ffdae0
}
body.services-page .services-page-content .process {
  height:900px;
  background:linear-gradient(#11131580,#11131599),var(--process-image) center/cover;
  color:white;
  padding:80px 0
}
body.services-page .services-page-content .process .eyebrow {
  color:white
}
body.services-page .services-page-content .process .section-heading h2 {
  font-size:40px
}
body.services-page .services-page-content .process-cta {
  display:none
}
body.services-page .services-page-content .process-grid {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin:124px 0 0;
  padding:0
}
body.services-page .services-page-content .process-card {
  background:#ffffff1f;
  border:1px solid #ffffff4d;
  border-radius:24px;
  backdrop-filter:blur(10px);
  padding:24px;
  min-height:246px;
  display:flex;
  flex-direction:column
}
body.services-page .services-page-content .process-card:nth-child(1) {
  grid-column:2
}
body.services-page .services-page-content .process-card:nth-child(3) {
  grid-column:1
}
body.services-page .services-page-content .process-number {
  display:grid;
  place-items:center;
  background:white;
  color:var(--services-red);
  border-radius:50%;
  width:42px;
  height:42px;
  font-size:24px;
  font-weight:800;
  margin-bottom:18px
}
body.services-page .services-page-content .process-card h3 {
  font-size:24px;
  line-height:36px;
  margin-bottom:32px
}
body.services-page .services-page-content .process-card p {
  font-size:16px;
  line-height:24px;
  font-weight:500;
  margin-top:auto
}
body.services-page .services-page-content .contact {
  min-height:1024px;
  padding:80px 0 50px
}
body.services-page .services-page-content .contact-top {
  display:flex;
  justify-content:space-between;
  gap:60px
}
body.services-page .services-page-content .contact-heading {
  max-width:560px
}
body.services-page .services-page-content .contact-heading h2 {
  font-size:40px;
  line-height:60px
}
body.services-page .services-page-content .contact-heading h2 span {
  display:block
}
body.services-page .services-page-content .contact-heading.section-heading>p.contact-description {
  font-size:14px;
  line-height:20px;
  font-weight:500;
  margin-top:16px;
  color:#59544c
}
body.services-page .services-page-content .contact-info {
  display:grid;
  align-content:start;
  gap:24px
}
body.services-page .services-page-content .contact-info>div {
  display:flex;
  align-items:flex-start;
  gap:16px
}
body.services-page .services-page-content .contact-info img {
  width:28px;
  height:28px;
  margin-top:3px
}
body.services-page .services-page-content .contact-info strong {
  display:block;
  font-size:20px;
  line-height:30px;
  font-weight:800;
  margin-bottom:8px
}
body.services-page .services-page-content .contact-info span,
body.services-page .services-page-content .contact-info a {
  display:block;
  font-size:18px;
  line-height:26px;
  color:#59544c
}
body.services-page .services-page-content .contact-red {
  position:absolute;
  z-index:-1;
  left:0;
  right:0;
  bottom:0;
  height:361px;
  background:var(--services-red) var(--form-pattern-image) center/cover
}
body.services-page .services-page-content .inquiry-form {
  position:relative;
  background:white;
  border:1px solid #e8e5e3;
  border-radius:16px;
  width:662px;
  max-width:calc(100% - 32px);
  margin:48px auto 0;
  padding:32px
}
body.services-page .services-page-content .fields-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px 16px
}
body.services-page .services-page-content .field {
  position:relative;
  min-width:0
}
body.services-page .services-page-content .field.full {
  grid-column:1/-1
}
body.services-page .services-page-content .field label {
  position:absolute;
  top:17px;
  inset-inline-start:16px;
  font-size:16px;
  line-height:22px;
  color:#aaa09a;
  pointer-events:none;
  transition:top .2s,font-size .2s;
  z-index:1
}
body.services-page .services-page-content .field label b {
  color:#e32424;
  font-weight:500
}
body.services-page .services-page-content .field input,
body.services-page .services-page-content .field select,
body.services-page .services-page-content .field textarea,
body.services-page .services-page-content .phone-control {
  display:block;
  width:100%;
  border:1px solid #e2deda;
  border-radius:16px;
  background:white;
  min-height:56px;
  padding:23px 16px 7px;
  color:var(--services-ink);
  transition:border-color .2s,background .2s
}
body.services-page .services-page-content .field select {
  appearance:none;
  background:white var(--select-chevron-image) no-repeat right 12px center;
  background-size:16px;
  padding-inline-end:36px;
  cursor:pointer
}
body.services-page .services-page-content .field textarea {
  height:140px;
  resize:vertical
}
body.services-page .services-page-content .field:focus-within label,
body.services-page .services-page-content .field.has-value label {
  top:6px;
  font-size:12px;
  line-height:16px
}
body.services-page .services-page-content .field:focus-within input,
body.services-page .services-page-content .field:focus-within select,
body.services-page .services-page-content .field:focus-within textarea,
body.services-page .services-page-content .phone-control:focus-within {
  border-color:#9f001a
}
body.services-page .services-page-content .phone-control {
  display:flex;
  direction:ltr;
  padding:0;
  align-items:stretch;
  overflow:hidden
}
body.services-page .services-page-content .phone-control input {
  border:0;
  border-radius:0;
  min-width:0;
  padding-inline-start:8px;
  background:none;
  line-height:24px;
  direction:ltr;
  text-align:left
}
body.services-page .services-page-content .phone-control select {
  width:70px;
  flex:none;
  border:0;
  border-radius:0;
  padding:23px 18px 7px 12px;
  background-size:12px;
  background-position:right 4px top 29px;
  font-size:12px;
  line-height:24px;
  color:#746c64
}
body.services-page .services-page-content .phone-field label {
  inset-inline-start:90px
}
body.services-page .services-page-content .error {
  display:none;
  color:#e32424;
  font-size:12px;
  line-height:18px;
  padding:6px 16px 0
}
body.services-page .services-page-content .field.invalid .error {
  display:block
}
body.services-page .services-page-content .field.invalid input,
body.services-page .services-page-content .field.invalid select,
body.services-page .services-page-content .field.invalid textarea,
body.services-page .services-page-content .field.invalid .phone-control {
  border-color:#f22;
  background-color:#fff3f3
}
body.services-page .services-page-content .field.invalid .phone-control input,
body.services-page .services-page-content .field.invalid .phone-control select {
  border:0
}
body.services-page .services-page-content .captcha {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-radius:16px;
  background:#f5f5f4;
  min-height:56px;
  padding:10px 16px;
  font-weight:600
}
body.services-page .services-page-content .captcha button {
  padding:4px
}
body.services-page .services-page-content .captcha img {
  width:24px;
  height:24px
}
body.services-page .services-page-content .captcha #security-code {
  width:150px;
  max-width:calc(100% - 40px);
  height:auto;
  border-radius:8px
}
body.services-page .services-page-content .submit-button {
  display:block;
  width:100%;
  background:var(--services-ink);
  border:4px solid white;
  outline:1px solid #d0cac5;
  color:white;
  border-radius:40px;
  min-height:56px;
  font-weight:600;
  font-size:16px;
  transition:background .3s
}
body.services-page .services-page-content .submit-button:hover {
  background:var(--services-red)
}
body.services-page .services-page-content .submit-button:disabled {
  opacity:.65
}
body.services-page .services-page-content .inquiry-form>.submit-button {
  margin-top:24px
}
body.services-page .services-page-content #form-status {
  font-size:14px;
  color:var(--services-red);
  margin-top:8px
}
body.services-page .services-page-content #form-status:empty {
  display:none
}
body.services-page .services-page-content .faq {
  min-height:980px;
  padding:120px 0 117px
}
body.services-page .services-page-content .faq-pattern {
  position:absolute;
  z-index:-1;
  top:76px;
  width:201px;
  height:904px;
  object-fit:fill;
  opacity:.35
}
body.services-page .services-page-content .faq-pattern.left {
  left:0
}
body.services-page .services-page-content .faq-pattern.right {
  right:0
}
body.services-page .services-page-content .faq-tabs {
  display:flex;
  gap:8px;
  background:#ffffff20;
  padding:8px;
  border:1px solid #fff8;
  border-radius:40px;
  box-shadow:0 4px 20px #e503281a;
  width:max-content;
  max-width:100%;
  margin:16px auto 48px
}
body.services-page .services-page-content .faq-tabs button {
  font-size:16px;
  line-height:24px;
  background:var(--services-muted);
  color:white;
  padding:4px 16px;
  border-radius:40px;
  white-space:nowrap;
  font-weight:600
}
body.services-page .services-page-content .faq-tabs button[aria-selected=true] {
  background:var(--services-red);
  box-shadow:0 0 16px #e5032840
}
body.services-page .services-page-content .faq-list {
  max-width:800px;
  margin:auto
}
body.services-page .services-page-content .faq-item {
  border-bottom:1px solid var(--services-line)
}
body.services-page .services-page-content .faq-toggle {
  display:grid;
  grid-template-columns:30px 1fr 24px;
  gap:8px;
  width:100%;
  align-items:center;
  min-height:78px;
  padding:24px 0
}
body.services-page .services-page-content .faq-toggle .number {
  font-size:18px;
  color:var(--services-red);
  text-align:start
}
body.services-page .services-page-content .faq-toggle .faq-question {
  font-size:20px;
  line-height:30px
}
body.services-page .services-page-content .faq-toggle img {
  width:24px;
  height:24px;
  transition:transform .3s
}
body.services-page .services-page-content .faq-item.open .faq-toggle img {
  transform:rotate(45deg)
}
body.services-page .services-page-content .faq-panel {
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transition:grid-template-rows .3s var(--services-ease),opacity .3s
}
body.services-page .services-page-content .faq-panel>div {
  overflow:hidden
}
body.services-page .services-page-content .faq-item.open .faq-panel {
  grid-template-rows:1fr;
  opacity:1
}
body.services-page .services-page-content .faq-panel p {
  font-size:14px;
  font-weight:500;
  line-height:20px;
  color:var(--services-muted);
  text-align:center;
  padding:8px 80px 24px
}

body.services-page .services-page-content .reveal {
  transition:opacity .8s var(--services-ease),translate .8s var(--services-ease)
}
body.services-page .services-page-content .entrance-mask {
  overflow:hidden
}
body.services-page .services-page-content .entrance-line {
  display:block
}
body.services-page .services-page-content .js-reveal:not(.seen) {
  opacity:0;
  translate:0 70px
}
body.services-page .services-page-content .process-card.js-reveal:not(.seen) {
  translate:0 -70px
}
body.services-page .services-page-content dialog {
  border:0;
  border-radius:32px;
  padding:0;
  width:680px;
  max-width:calc(100% - 32px);
  max-height:90dvh;
  background:var(--services-paper);
  color:var(--services-ink);
  box-shadow:0 20px 70px #0004
}
body.services-page .services-page-content dialog::backdrop {
  background:#11131599;
  backdrop-filter:blur(6px)
}
body.services-page .services-page-content dialog[open] {
  animation:services-modal-in .3s var(--services-ease)
}
body.services-page .services-page-content .modal-inner {
  position:relative;
  padding:40px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:28px
}
body.services-page .services-page-content .modal-close {
  position:absolute;
  top:12px;
  inset-inline-end:12px;
  padding:8px
}
body.services-page .services-page-content .modal-close img {
  transform:rotate(45deg)
}
body.services-page .services-page-content .modal-status {
  width:72px;
  height:72px;
  padding:8px;
  border-radius:50%;
  background:#ffeef1
}
body.services-page .services-page-content .modal-status span {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  border-radius:50%;
  background:#ffdae0
}
body.services-page .services-page-content .modal-status img {
  width:36px;
  height:36px
}
body.services-page .services-page-content .modal-inner h2 {
  font-size:32px;
  line-height:1.5
}
body.services-page .services-page-content .modal-inner p {
  font-size:18px;
  line-height:1.6;
  color:#59544c
}
body.services-page .services-page-content .modal-inner #modal-note {
  color:var(--services-red)
}
body.services-page .services-page-content #modal-media:empty {
  display:none
}
body.services-page .services-page-content #modal-media img,
body.services-page .services-page-content #modal-media video {
  max-width:100%;
  max-height:50dvh;
  border-radius:16px
}
body.services-page .services-page-content .modal-inner .submit-button {
  margin-top:8px
}
body.services-page .services-page-content .modal-headline {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  width:100%
}
body.services-page .services-page-content dialog.is-inquiry-success {
  border-radius:24px;
  box-shadow:none
}
body.services-page .services-page-content dialog.is-inquiry-success::backdrop {
  background:rgb(0 0 0 / 25%);
  backdrop-filter:none
}
body.services-page .services-page-content .is-inquiry-success .modal-inner {
  gap:48px
}
body.services-page .services-page-content .is-inquiry-success #modal-body {
  max-width:440px;
  white-space:pre-line;
  overflow-wrap:anywhere;
  font-size:16px;
  line-height:24px
}
body.services-page .services-page-content .is-inquiry-success #modal-note {
  font-size:16px;
  line-height:24px
}
body.services-page .services-page-content .is-inquiry-success .submit-button {
  margin-top:0;
  background:var(--services-ink)
}
body.services-page .services-page-content .modal-inner #modal-reference {
  font:500 12px/20px "Plus Jakarta Sans",Arial,sans-serif;
  overflow-wrap:anywhere
}
@keyframes services-modal-in {
  from {
    opacity:0;
    transform:translateY(24px)
  }
  to {
    opacity:1;
    transform:none
  }
}
body.services-page .services-page-content .no-script,
body.services-page > .no-script {
  position:fixed;
  bottom:0;
  background:white;
  color:var(--services-ink);
  padding:20px;
  z-index:100
}
body.services-page.motion-paused .services-page-content .marquee-track {
  animation-play-state:paused!important
}
html[dir=rtl] body.services-page .services-page-content .pill {
  padding-left:4px;
  padding-right:24px
}
html[dir=rtl] body.services-page .services-page-content .arrow-disc {
  --services-arrow-flip:-1
}
html[dir=rtl] body.services-page .services-page-content .quote-link img {
  transform:scaleX(-1)
}
@media (hover:hover) and (pointer:fine) {
  html[dir=rtl] body.services-page .services-page-content .quote-link:hover img {
    transform:scaleX(-1) rotate(90deg)
  }
}
html[dir=rtl] body.services-page #page-hero.services-hero .services-page-content .hero-content h1 {
  margin-inline-end:0;
  margin-inline-start:auto;
  text-align:right
}
html[dir=rtl] body.services-page #page-hero.services-hero .services-page-content .hero-description {
  margin-inline-start:0
}
html[dir=rtl] body.services-page #page-hero.services-hero .services-page-content .hero-content h1 {
  margin:0
}
html[dir=rtl] body.services-page #page-hero.services-hero .services-page-content .hero-progress span {
  margin-inline-start:0
}
html[dir=rtl] body.services-page .services-page-content .testimonial-copy {
  direction:rtl
}
html[dir=rtl] body.services-page .services-page-content .contact-info a[href^="tel:"] {
  text-align:right
}
html[dir=rtl] body.services-page .services-page-content .field select {
  background-position:left 12px center
}
html[dir=rtl] body.services-page .services-page-content .phone-field label {
  inset-inline-start:16px
}
html[dir=rtl] body.services-page .services-page-content .phone-control select {
  background-position:right 4px top 29px
}
html[dir=rtl] body.services-page .services-page-content .service-toggle .service-title {
  letter-spacing:0
}
html[dir=rtl] body.services-page #page-hero.services-hero.intro .services-page-content h1 span {
  animation-name:services-hero-title-rtl
}
@keyframes services-hero-title-rtl {
  from {
    transform:translateX(1500px)
  }
  to {
    transform:none
  }
}
@media(min-width:1101px) and (max-width:1399px) {
  body.services-page .services-page-content {
    --services-gutter:48px
  }

  body.services-page .services-page-content .why-layout {
    grid-template-columns:1fr 40% 1fr;
    gap:24px
  }
  body.services-page .services-page-content .why-copy h3 {
    font-size:22px
  }
  body.services-page .services-page-content .service-toggle .service-title {
    font-size:20px
  }
  body.services-page .services-page-content .service-panel p {
    font-size:14px;
    padding-inline:16px
  }
}
@media(max-width:1100px) {
  body.services-page .services-page-content {
    --services-gutter:32px
  }

  body.services-page .services-page-content .why-layout {
    grid-template-columns:1fr 40% 1fr;
    gap:20px
  }
  body.services-page .services-page-content .why-copy {
    gap:36px
  }
  body.services-page .services-page-content .why-copy h3 {
    font-size:20px;
    line-height:30px
  }
  body.services-page .services-page-content .why-copy p {
    font-size:14px;
    line-height:22px
  }
  body.services-page .services-page-content .section-heading h2 {
    font-size:40px
  }
  body.services-page .services-page-content .section-heading>p:not(.eyebrow) {
    font-size:32px
  }
  body.services-page .services-page-content .service-toggle .service-title {
    font-size:18px;
    line-height:28px
  }
  body.services-page .services-page-content .service-panel p {
    font-size:14px;
    line-height:20px;
    padding-inline:20px
  }
  body.services-page .services-page-content .service-toggle .number {
    font-size:22px
  }
  body.services-page .services-page-content .service-art {
    height:500px
  }
  body.services-page .services-page-content .service-image .crop {
    transform:translate(-50%,-50%) scale(.8)
  }
  body.services-page .services-page-content .process-card {
    padding:20px
  }
  body.services-page .services-page-content .process-card h3 {
    font-size:20px;
    line-height:28px
  }
  body.services-page .services-page-content .process-grid {
    gap:16px
  }
  body.services-page .services-page-content .contact-heading {
    max-width:52%
  }
  body.services-page .services-page-content .contact-info strong {
    font-size:18px
  }
  body.services-page .services-page-content .contact-info span,
body.services-page .services-page-content .contact-info a {
    font-size:16px
  }

}
@media(min-width:701px) and (max-width:900px) {
  body.services-page .services-page-content .process {
    height:auto;
    min-height:900px
  }
  body.services-page .services-page-content .process-grid {
    margin-top:64px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-description p {
    font-size:14px;
    line-height:20px
  }
}
@media(max-width:700px) {
  html[lang=en] body.services-page .services-page-content {
    font-family:Manrope,Arial,sans-serif
  }
  body.services-page .services-page-content {
    --services-gutter:16px
  }

  body.services-page #page-hero.services-hero.is-section-disabled {
    height:80px
  }

  body.services-page #page-hero.services-hero .services-page-content .hero-content {
    padding-top:436px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-content h1 {
    font-size:24px;
    line-height:30px;
    max-width:300px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-content h1 span+span {
    margin-top:8px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-progress {
    top:548px;
    margin-top:0;
    height:4px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-description {
    top:576px;
    grid-template-columns:120px 1fr;
    gap:16px;
    width:100%;
    min-height:100px;
    margin-top:0
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-description h2 {
    font-size:16px;
    line-height:20px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-description p {
    font-size:12px;
    line-height:18px;
    font-weight:500
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-cta {
    top:714px;
    margin-top:0
  }
  body.services-page .services-page-content .pill {
    height:36px;
    border-width:3px;
    font-size:12px;
    padding:2px 2px 2px 24px;
    gap:16px
  }
  body.services-page .services-page-content .arrow-disc {
    width:24px;
    height:24px
  }
  body.services-page .services-page-content .arrow-disc svg {
    width:16px;
    height:16px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-steps {
    top:419px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-steps button {
    font-size:12px;
    min-height:22px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-steps button::after {
    width:40px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-steps button[aria-pressed=true]::after {
    width:52px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-steps button[aria-pressed=true] {
    font-size:14px
  }
  body.services-page #page-hero.services-hero .services-page-content .motion-toggle {
    bottom:12px;
    inset-inline-end:16px;
    font-size:9px;
    padding:4px 8px
  }

  body.services-page .services-page-content .eyebrow {
    font-size:12px;
    line-height:18px;
    gap:4px
  }
  body.services-page .services-page-content .eyebrow img {
    width:16px;
    height:8px
  }
  body.services-page .services-page-content .section-heading h2 {
    font-size:24px;
    line-height:32px
  }
  body.services-page .services-page-content .section-heading>p:not(.eyebrow) {
    font-size:24px;
    line-height:32px
  }
  body.services-page .services-page-content .section-heading .eyebrow {
    margin-bottom:8px
  }
  body.services-page .services-page-content .services {
    min-height:840px
  }
  body.services-page .services-page-content .services-wrap {
    height:auto;
    min-height:840px;
    padding-top:48px;
    display:flex;
    flex-direction:column
  }
  body.services-page .services-page-content .services-heading {
    position:static;
    order:1
  }
  body.services-page .services-page-content .services-eyebrow {
    position:static;
    order:0;
    margin-bottom:8px
  }
  body.services-page .services-page-content .service-list {
    position:static;
    width:100%;
    order:2;
    margin-top:32px
  }
  body.services-page .services-page-content .service-toggle {
    min-height:48px;
    grid-template-columns:24px 1fr 18px;
    gap:8px;
    padding:12px 0
  }
  body.services-page .services-page-content .service-toggle .number {
    font-size:12px;
    line-height:18px
  }
  body.services-page .services-page-content .service-toggle .service-title {
    font-size:16px;
    line-height:24px;
    letter-spacing:0
  }
  body.services-page .services-page-content .service-toggle img {
    width:16px;
    height:16px
  }
  body.services-page .services-page-content .service-panel p {
    font-size:14px;
    line-height:20px;
    padding:8px 8px 16px
  }
  body.services-page .services-page-content .service-art {
    position:relative;
    inset:auto;
    order:3;
    width:100%;
    height:274px;
    margin-top:24px
  }
  body.services-page .services-page-content .service-image .crop {
    transform:translate(-50%,-50%) scale(.47)
  }
  body.services-page .services-page-content .service-shadow {
    top:219px;
    left:50%;
    width:320px;
    height:48px;
    filter:blur(60px);
    transform:translateX(calc(-50% - 100%)) scale(.01)
  }
  body.services-page .services-page-content .service-shadow.active {
    transform:translateX(-50%) scale(1)
  }
  body.services-page .services-page-content .service-shadow[data-index='4'] {
    width:363px
  }
  body.services-page .services-page-content .quote-link {
    position:relative;
    inset:auto;
    order:4;
    margin:0 auto 20px;
    font-size:12px;
    padding-bottom:2px
  }
  body.services-page .services-page-content .quote-link img {
    width:16px;
    height:16px
  }
  body.services-page .services-page-content .service-watermark,
body.services-page .services-page-content .services::after {
    display:none
  }
  body.services-page .services-page-content .why {
    padding:48px 0;
    min-height:900px
  }
  body.services-page .services-page-content .why-layout {
    display:flex;
    flex-direction:column;
    margin-top:32px;
    gap:32px
  }
  body.services-page .services-page-content .why-photo {
    order:0;
    width:100%;
    height:236px;
    flex:none
  }
  body.services-page .services-page-content .why-photo img {
    width:100%;
    height:474px;
    left:0;
    top:-73px;
    object-fit:cover
  }
  body.services-page .services-page-content .why-copy {
    display:contents
  }
  body.services-page .services-page-content .why-copy article {
    width:100%;
    text-align:center!important;
    order:1
  }
  body.services-page .services-page-content .why-copy.right article {
    order:2
  }
  body.services-page .services-page-content .why-copy h3 {
    font-size:16px;
    line-height:24px
  }
  body.services-page .services-page-content .why-copy h3::after {
    width:100%;
    margin:6px 0!important;
    opacity:.25
  }
  body.services-page .services-page-content .why-copy p {
    font-size:14px;
    line-height:20px
  }
  body.services-page .services-page-content .why-mark {
    width:800px
  }
  body.services-page .services-page-content .industries {
    height:198px;
    padding-top:48px
  }
  body.services-page .services-page-content .industries h2 {
    font-size:16px;
    line-height:24px;
    margin-bottom:24px
  }
  body.services-page .services-page-content .industry {
    font-size:16px;
    height:70px;
    gap:8px
  }
  body.services-page .services-page-content .industry img {
    width:24px;
    height:24px
  }
  body.services-page .services-page-content .marquee-set {
    gap:24px;
    padding-inline-end:24px
  }
  body.services-page .services-page-content .testimonials {
    height:762px;
    padding-top:48px
  }
  body.services-page .services-page-content .testimonials .section-heading {
    max-width:358px
  }
  body.services-page .services-page-content .testimonial-window {
    margin-top:32px
  }
  body.services-page .services-page-content .testimonial-track {
    gap:16px
  }
  body.services-page .services-page-content .testimonial-card {
    width:358px;
    min-height:468px;
    grid-template-columns:1fr;
    gap:16px;
    padding:16px;
    border-radius:24px;
    transform:translateY(30px)
  }
  body.services-page .services-page-content .testimonial-image {
    height:232px;
    border-radius:24px
  }
  body.services-page .services-page-content .testimonial-copy {
    padding:0;
    gap:16px
  }
  body.services-page .services-page-content .testimonial-tag {
    font-size:12px;
    line-height:18px;
    padding:4px 12px
  }
  body.services-page .services-page-content .testimonial-copy blockquote {
    font-size:14px;
    line-height:20px
  }
  body.services-page .services-page-content .testimonial-person {
    font-size:16px;
    line-height:24px
  }
  body.services-page .services-page-content .testimonial-person span {
    font-size:12px;
    line-height:18px
  }
  body.services-page .services-page-content .play-button {
    width:56px;
    height:56px
  }
  body.services-page .services-page-content .play-button img {
    width:24px;
    height:24px
  }
  body.services-page .services-page-content .slider-controls {
    margin-top:32px
  }
  body.services-page .services-page-content .testimonials::after {
    display:none
  }
  body.services-page .services-page-content .process {
    height:auto;
    min-height:1058px;
    padding:48px 0;
    background-position:63% center
  }
  body.services-page .services-page-content .process .section-heading h2 {
    font-size:24px;
    line-height:32px
  }
  body.services-page .services-page-content .process .section-heading h2 span {
    display:block
  }
  body.services-page .services-page-content .process-cta {
    display:inline-flex;
    margin-top:16px
  }
  body.services-page .services-page-content .process-grid {
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-top:32px
  }
  body.services-page .services-page-content .process-card {
    min-height:184px;
    border-radius:20px;
    padding:16px
  }
  body.services-page .services-page-content .process-number {
    width:36px;
    height:36px;
    font-size:18px;
    margin-bottom:16px
  }
  body.services-page .services-page-content .process-card h3 {
    font-size:16px;
    line-height:24px;
    margin-bottom:32px
  }
  body.services-page .services-page-content .process-card p {
    font-size:14px;
    line-height:20px
  }
  body.services-page .services-page-content .contact {
    min-height:1110px;
    padding:48px 0
  }
  body.services-page .services-page-content .contact-top {
    display:flex;
    flex-direction:column;
    gap:24px
  }
  body.services-page .services-page-content .contact-heading {
    max-width:100%
  }
  body.services-page .services-page-content .contact-heading h2 {
    font-size:24px;
    line-height:30px
  }
  body.services-page .services-page-content .contact-heading.section-heading>p.contact-description {
    font-size:14px;
    line-height:20px;
    margin-top:8px
  }
  body.services-page .services-page-content .contact-info {
    gap:16px
  }
  body.services-page .services-page-content .contact-info>div {
    gap:12px
  }
  body.services-page .services-page-content .contact-info img {
    width:24px;
    height:24px;
    margin:0
  }
  body.services-page .services-page-content .contact-info strong {
    font-size:16px;
    line-height:24px;
    margin-bottom:4px
  }
  body.services-page .services-page-content .contact-info span,
body.services-page .services-page-content .contact-info a {
    font-size:12px;
    line-height:18px
  }
  body.services-page .services-page-content .contact-red {
    height:327px;
    background-image:none
  }
  body.services-page .services-page-content .inquiry-form {
    width:358px;
    padding:16px;
    margin-top:80px;
    border-radius:16px
  }
  body.services-page .services-page-content .fields-grid {
    display:flex;
    flex-direction:column;
    gap:16px
  }
  body.services-page .services-page-content .field input,
body.services-page .services-page-content .field select,
body.services-page .services-page-content .field textarea,
body.services-page .services-page-content .phone-control {
    min-height:48px;
    border-radius:12px;
    padding-top:20px;
    padding-bottom:5px
  }
  body.services-page .services-page-content .field label {
    font-size:14px;
    top:13px;
    line-height:20px;
    inset-inline-start:16px
  }
  body.services-page .services-page-content .field:focus-within label,
body.services-page .services-page-content .field.has-value label {
    font-size:10px;
    top:3px
  }
  body.services-page .services-page-content .field textarea {
    height:98px
  }
  body.services-page .services-page-content .phone-control {
    padding:0
  }
  body.services-page .services-page-content .phone-control input {
    border-radius:0
  }
  body.services-page .services-page-content .phone-control select {
    padding-block:20px 5px;
    background-position:right 4px top 26px
  }
  html[dir=rtl] body.services-page .services-page-content .phone-control select {
    background-position:right 4px top 26px
  }
  body.services-page .services-page-content .phone-field label {
    inset-inline-start:65px
  }
  body.services-page .services-page-content .phone-control select {
    width:55px;
    padding-left:10px
  }
  body.services-page .services-page-content .captcha {
    min-height:56px
  }
  body.services-page .services-page-content .submit-button {
    min-height:36px;
    font-size:12px;
    border-width:3px
  }
  body.services-page .services-page-content .inquiry-form>.submit-button {
    margin-top:24px
  }
  body.services-page .services-page-content .faq {
    min-height:771px;
    padding:48px 0 64px
  }
  body.services-page .services-page-content .faq-tabs {
    flex-direction:column;
    width:290px;
    gap:8px;
    padding:4px;
    margin:20px auto 32px;
    border-radius:20px
  }
  body.services-page .services-page-content .faq-tabs button {
    font-size:12px;
    line-height:18px;
    padding:3px 12px
  }
  body.services-page .services-page-content .faq-toggle {
    min-height:72px;
    grid-template-columns:24px 1fr 18px;
    padding:20px 0;
    gap:4px
  }
  body.services-page .services-page-content .faq-toggle .number {
    font-size:12px;
    line-height:18px
  }
  body.services-page .services-page-content .faq-toggle .faq-question {
    font-size:14px;
    line-height:20px
  }
  body.services-page .services-page-content .faq-toggle img {
    width:16px;
    height:16px
  }
  body.services-page .services-page-content .faq-panel p {
    font-size:12px;
    line-height:18px;
    padding:8px 10px 24px
  }
  body.services-page .services-page-content .faq-pattern {
    width:140px;
    height:780px;
    top:20px;
    opacity:.35
  }
  body.services-page .services-page-content .faq-pattern.left {
    left:-78px
  }
  body.services-page .services-page-content .faq-pattern.right {
    right:-76px
  }

  body.services-page .services-page-content .modal-inner {
    padding:40px 24px 24px;
    gap:24px
  }
  body.services-page .services-page-content .modal-inner h2 {
    font-size:24px
  }
  body.services-page .services-page-content .modal-inner p {
    font-size:14px
  }
  body.services-page .services-page-content .modal-status {
    width:56px;
    height:56px
  }
  html[dir=rtl] body.services-page .services-page-content .phone-field label {
    inset-inline-start:16px
  }
  html[dir=rtl] body.services-page .services-page-content .pill {
    padding-right:24px;
    padding-left:2px
  }
}
@media(max-width:374px) {
  body.services-page #page-hero.services-hero .services-page-content .hero-content h1 {
    font-size:22px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-description {
    grid-template-columns:100px 1fr;
    gap:12px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-description p {
    font-size:11px
  }

  body.services-page .services-page-content .testimonial-card {
    width:calc(100vw - 32px)
  }
  body.services-page .services-page-content .section-heading h2,
body.services-page .services-page-content .section-heading>p:not(.eyebrow) {
    font-size:22px
  }
  body.services-page .services-page-content .service-toggle .service-title {
    font-size:14px
  }
  body.services-page .services-page-content .faq-toggle .faq-question {
    font-size:12px
  }
  body.services-page #page-hero.services-hero .services-page-content .hero-steps {
    top:412px
  }
}
@media(prefers-reduced-motion:reduce) {

  body.services-page .services-page-content *,
body.services-page .services-page-content *::before,
body.services-page .services-page-content *::after {
    animation:none!important;
    transition:none!important
  }
  body.services-page .services-page-content .js-reveal:not(.seen) {
    opacity:1;
    translate:none
  }
  body.services-page #page-hero.services-hero .entry-header {
    animation:none!important;
    transform:none!important
  }
}
@media(min-width:701px) {
  body.services-page #page-hero.services-hero[data-active-slide="0"] .services-page-content .hero-description p {
    font-size:14px;
    line-height:20px
  }
  body.services-page #page-hero.services-hero[data-active-slide="4"] .services-page-content .hero-progress {
    top:587px
  }
}

/* Match the home header's 1440px canvas without scaling the services content. */
body.services-page .services-header-canvas {
  display:contents;
}

@media (min-width:900px) {
  body.services-page .services-header-canvas {
    display:block;
    position:absolute;
    z-index:50;
    top:0;
    left:0;
    width:1440px;
    height:104px;
    transform:scale(var(--services-hero-scale, 1));
    transform-origin:top left;
    pointer-events:none;
  }

  body.services-page .services-header-canvas .header {
    pointer-events:auto;
  }

  body.services-page #page-hero.services-hero.intro .entry-header {
    animation:services-header-in 2.5s 2s cubic-bezier(0,0,.58,1) both;
  }
}

@media (max-width:899px) {
  body.services-page #page-hero.services-hero .entry-header {
    animation:none;
    transform:none;
  }
}
